
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Outfit:wght@300;400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--bg:#0a0a0b;--surface:#111113;--raised:#17171a;--line:#26262b;--text:#e8e8ea;--muted:#a1a1a9;--dim:#8d8d96;--silver:#c9c9cf;--body:Outfit,system-ui,sans-serif;--head:'Space Grotesk',Outfit,sans-serif;--mono:'JetBrains Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-weight:350;font-size:17px;line-height:1.72}a{color:inherit}a:focus-visible{outline:2px solid #c9c9cf;outline-offset:3px}p,li{color:var(--muted)}h1,h2,h3{font-family:var(--head);line-height:1.23;letter-spacing:-.025em}h1{font-size:clamp(2.4rem,5vw,4.4rem);margin:.6rem 0 1.3rem}h2{font-size:clamp(1.28rem,2vw,1.55rem);margin:2.9rem 0 .85rem;color:var(--text);scroll-margin-top:110px}h3{font-size:1.12rem}strong{color:#f0f0f1;font-weight:600}code,pre{font-family:var(--mono)}code{font-size:.85em;color:#dedee5}pre{padding:19px;background:#151518;border:1px solid #2b2b30;border-radius:10px;overflow-x:auto;line-height:1.65;font-size:13.5px;color:#e8e8eb}pre code{font-size:inherit;color:inherit}blockquote{border-left:3px solid #8c8c92;margin:2rem 0;padding:.3rem 1rem;background:#111113}blockquote p{margin:.5rem 0}table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;margin:1.5rem 0}th,td{border-bottom:1px solid var(--line);padding:.7rem 1rem;text-align:left;vertical-align:top}th{color:var(--text)}.header{position:sticky;top:0;z-index:20;background:rgba(10,10,11,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.wrap{max-width:1100px;padding:0 22px;margin:auto}.headbar{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-family:var(--head);font-size:21px;font-weight:700;text-decoration:none}.header nav{display:flex;gap:1.5rem;flex-wrap:wrap}.header nav a{color:var(--muted);font-size:14px;text-decoration:none}.header nav a:hover{color:#fff}.skip{position:absolute;left:-10000px;top:0}.skip:focus{left:12px;background:white;color:black;padding:6px}.eyebrow,.mono{font:12px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--dim)}.landing{padding:80px 0 40px;border-bottom:1px solid var(--line)}.landing h1{max-width:900px}.lead{font-size:21px;line-height:1.6;max-width:790px}.meta{display:flex;flex-wrap:wrap;gap:15px;color:var(--dim);font-size:13px;margin:22px 0}.action{display:inline-block;border:1px solid var(--text);border-radius:7px;background:var(--text);color:var(--bg);padding:10px 17px;text-decoration:none;font-weight:600;margin:8px 8px 8px 0}.action.ghost{background:transparent;color:var(--text);border-color:#424248}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:15px;margin:35px 0}.chapter-card{border:1px solid var(--line);border-radius:12px;padding:21px;background:var(--surface);text-decoration:none;display:block;min-height:165px}.chapter-card:hover{border-color:#6a6a73}.chapter-card h2{font-size:20px;margin:13px 0 10px;scroll-margin:0}.chapter-card p{font-size:14px;margin:0}.article-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:48px;align-items:start;max-width:1200px;margin:auto;padding:40px 22px 70px}.sidebar{position:sticky;top:92px;max-height:calc(100vh - 110px);overflow:auto;border-right:1px solid var(--line);padding-right:19px;font-size:13px}.sidebar h3{font-size:14px;margin:10px 0}.sidebar a{display:block;text-decoration:none;color:var(--muted);padding:5px 0}.sidebar a:hover,.sidebar a.current{color:var(--text)}.prose{max-width:760px;min-width:0}.prose>p:first-of-type{font-size:19px;color:#d3d3d8}.prose p{margin:0 0 18px}.prose li{margin-bottom:7px}.prose a:not(.action){text-decoration:underline;text-underline-offset:3px;text-decoration-color:#858590}.prose a:not(.action):hover{text-decoration-color:white}.article-top{border-bottom:1px solid var(--line);margin-bottom:35px;padding-bottom:20px}.article-top h1{font-size:clamp(2.1rem,4vw,3.25rem)}.chapter-nav{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.chapter-nav a{text-decoration:none;color:var(--text);max-width:46%}.diagram{margin:25px 0 29px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.diagram img{display:block;width:100%;height:auto}.diagram figcaption{padding:10px 15px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}.figure-print{display:none!important}.references{margin:40px 0;padding:17px;border:1px solid var(--line);border-radius:10px}.references h2{margin:0 0 12px;font-size:19px}.references ul{font-size:14px;margin:0}.references li{overflow-wrap:anywhere}.sitefooter{border-top:1px solid var(--line);padding:24px 0;color:var(--dim);font-size:13px}.sitefooter a{color:inherit}.chapter-summary{border-top:1px solid var(--line);padding-top:25px}.landing-reference{max-width:850px;padding:0 0 65px}.landing-reference li{margin-bottom:8px}.source-note{font-size:14px;color:var(--muted)}
@media(max-width:800px){.article-layout{display:block;padding:20px 18px 50px}.sidebar{position:relative;top:0;max-height:none;border-right:none;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:27px}.sidebar .chapter-list{display:flex;gap:12px;flex-wrap:wrap}.sidebar .chapter-list a{padding:3px}.sidebar .section-list{display:none}.headbar{min-height:60px}.header nav{gap:14px}.header nav a{font-size:12px}.landing{padding:48px 0}.cards{grid-template-columns:1fr}.prose h2{margin-top:2rem}.lead{font-size:18px}}
@media print{
 @page{size:A4;margin:19mm 17mm 18mm 17mm;@top-left{content:'MACHINE LEARNING TO ADVANCED TRANSFORMERS';font:8pt 'DejaVu Sans';color:#666}@top-right{content:'ENGINEERING JOURNAL';font:8pt 'DejaVu Sans';color:#666}@bottom-right{content:'PAGE ' counter(page);font:8pt 'DejaVu Sans';color:#666}}
 *{box-sizing:border-box}body{background:#fff!important;color:#191919!important;font-family:'DejaVu Sans',sans-serif;font-size:9.5pt;line-height:1.57}h1,h2,h3{font-family:'DejaVu Sans',sans-serif;color:#111!important}h1{font-size:22pt;line-height:1.22}h2{font-size:12.6pt;margin:16pt 0 7pt;break-after:avoid}strong,code{color:#161616!important}p,li{color:#303030!important}p{orphans:3;widows:3}pre{background:#f2f4f5!important;color:#222!important;border:1px solid #d7dce0!important;font-size:8pt;white-space:pre-wrap;overflow-wrap:anywhere;break-inside:avoid;padding:10pt}pre code{color:#222!important}.header,.sidebar,.sitefooter,.action,.chapter-nav,.hide-print,.skip,.meta .web-only{display:none!important}.article-layout{display:block;width:auto;padding:0;margin:0}.prose{max-width:none}.article-top{margin:0 0 15pt;border-bottom:1px solid #ccc}.article-top .eyebrow{color:#444}.diagram{border:1px solid #ccc;break-inside:avoid;margin:11pt 0 14pt;background:white}.figure-screen{display:none!important}.figure-print{display:block!important}.diagram figcaption{color:#484848!important;font-size:8pt;border-color:#ccc}.references{border:1px solid #ddd;break-before:auto}.references a,.prose a{color:#075885!important}a{overflow-wrap:anywhere}h2,figure{break-inside:avoid}.landing{display:none!important}
}

/* ---- additions for long-form notes ---- */
.prose h3{margin:2rem 0 .6rem;color:var(--text);font-size:1.12rem;scroll-margin-top:100px}
.prose h4{margin:1.5rem 0 .4rem;color:var(--silver);font-size:1rem;font-family:var(--head)}
.prose ul,.prose ol{padding-left:1.35rem;margin:0 0 20px}
.prose li>ul,.prose li>ol{margin:7px 0 4px}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.2rem 0}
.prose em{color:#cfcfd6}
.prose code{background:#17171a;border:1px solid #26262b;border-radius:5px;padding:1px 6px}
.prose pre code{background:none;border:0;padding:0}
.prose table{font-size:15px}
.prose td,.prose th{min-width:90px}
.prose thead th{border-bottom:1px solid #4a4a52}
.katex{font-size:1.06em;color:#ececf0}
.katex-display{margin:1.15rem 0;overflow-x:auto;overflow-y:hidden;padding:4px 0}
.callout{margin:1.6rem 0;padding:14px 18px 6px;border:1px solid var(--line);border-left:3px solid var(--silver);border-radius:10px;background:var(--surface)}
.callout::before{display:block;font:11.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}
.callout p,.callout li{color:#c3c3ca}
.callout.key{border-left-color:#84c3bb}.callout.key::before{content:"Key idea";color:#84c3bb}
.callout.analogy{border-left-color:#e3b869}.callout.analogy::before{content:"Everyday analogy";color:#e3b869}
.callout.note{border-left-color:#8fb4f5}.callout.note::before{content:"Good to know";color:#8fb4f5}
.callout.math{border-left-color:#b9a3f2}.callout.math::before{content:"In plain English";color:#b9a3f2}
.callout.warn{border-left-color:#e08fa3}.callout.warn::before{content:"Watch out";color:#e08fa3}
.callout.example{border-left-color:#a3d68f}.callout.example::before{content:"Worked example";color:#a3d68f}
.callout.recap{border-left-color:#c9c9cf}.callout.recap::before{content:"Chapter recap";color:#c9c9cf}
.diagram.light{background:#fff}.diagram.light img{background:#fff}.diagram.light figcaption{background:var(--surface)}
.diagram figcaption{line-height:1.5}
.diagram.small{max-width:560px}
.sidebar .section-list a.active{color:#fff}
.chapter-card .eyebrow{display:block}
.toc-note{font-size:14px;color:var(--dim)}
.howto{max-width:850px}
@media(max-width:800px){.callout{padding:12px 14px 4px}.prose table{font-size:14px}}
