:root{--bg: #fbf8f3;--fg: #1d1f21;--muted: #5b6168;--rule: #e3ddd2;--accent: #b85c2c;--accent-soft: #f3e3d4;--code-bg: #1f2933;--code-fg: #f5f1e7;--max: 60rem;--serif: "Iowan Old Style", "Palatino Linotype", "URW Palladio L", P052, Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono: ui-monospace, SFMono-Regular, "JetBrains Mono", "Fira Code", Menlo, monospace}@media(prefers-color-scheme:dark){:root{--bg: #14161a;--fg: #ece8e0;--muted: #9aa0a8;--rule: #2b2f36;--accent: #e89464;--accent-soft: #2d231b;--code-bg: #0d1117;--code-fg: #e6e1d6}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--serif);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}main{max-width:var(--max);margin:0 auto;padding:2.5rem 1.25rem 4rem}.ai-notice{max-width:var(--max);margin:0 auto;padding:.5rem 1.25rem 0;font-family:var(--sans);font-size:.72rem;line-height:1.4}.ai-notice .inner{background:var(--accent-soft);color:var(--muted);border:1px solid var(--rule);border-radius:4px;padding:.35rem .75rem}.ai-notice strong{color:var(--accent);font-weight:600}header.site{border-bottom:1px solid var(--rule);background:var(--bg)}header.site .inner{max-width:var(--max);margin:0 auto;padding:1.25rem;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}header.site a.brand{font-family:var(--serif);font-weight:700;font-size:1.25rem;text-decoration:none;color:var(--fg)}header.site a.brand em{color:var(--accent);font-style:normal}header.site nav{display:flex;gap:1.25rem;font-family:var(--sans);font-size:.95rem}header.site nav a{color:var(--muted);text-decoration:none}header.site nav a:hover{color:var(--fg)}footer.site{border-top:1px solid var(--rule);color:var(--muted);font-family:var(--sans);font-size:.9rem}footer.site .inner{max-width:var(--max);margin:0 auto;padding:1.5rem 1.25rem}h1,h2,h3{font-family:var(--serif);line-height:1.25;margin:2.2rem 0 1rem}h1{font-size:2.2rem;margin-top:.5rem}h2{font-size:1.4rem}h3{font-size:1.15rem}p{margin:1rem 0}ul,ol{padding-left:1.4rem}li{margin:.35rem 0}blockquote{border-left:3px solid var(--accent);margin:1.5rem 0;padding:.25rem 1rem;color:var(--muted);font-style:italic}code{font-family:var(--mono);font-size:.92em;background:var(--accent-soft);padding:.1em .35em;border-radius:3px}pre{background:var(--code-bg);color:var(--code-fg);padding:1rem;border-radius:6px;overflow-x:auto;font-size:.9rem;line-height:1.55}pre code{background:transparent;padding:0;color:inherit}pre.mermaid{background:transparent;color:var(--muted);font-family:var(--mono);font-size:.8rem;white-space:pre-wrap;opacity:.4}figure.mermaid-rendered{margin:1.5rem 0;padding:0;text-align:center;overflow-x:auto}figure.mermaid-rendered svg{max-width:100%;height:auto}pre.mermaid-error{background:var(--accent-soft);color:var(--accent);opacity:1}hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}abbr[title],dfn[title]{position:relative;text-decoration:underline dotted;text-underline-offset:3px;cursor:help;font-style:inherit}abbr[title]:hover:after,abbr[title]:focus:after,dfn[title]:hover:after,dfn[title]:focus:after{content:attr(title);position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%);background:var(--code-bg);color:var(--code-fg);font-family:var(--sans);font-style:normal;font-size:.85rem;line-height:1.45;padding:.5em .7em;border-radius:6px;width:max-content;max-width:min(22rem,80vw);white-space:normal;text-align:left;z-index:10;pointer-events:none;box-shadow:0 4px 14px #0000002e}abbr[title],dfn[title]{-webkit-tap-highlight-color:transparent}.meta{font-family:var(--sans);font-size:.9rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.5rem}.badge{display:inline-block;font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:.15rem .55rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);text-decoration:none}.badge.outline{background:transparent;border:1px solid var(--rule);color:var(--muted);font-weight:500}.post-list{list-style:none;padding:0;margin:1rem 0}.post-list li{padding:1rem 0;border-bottom:1px solid var(--rule)}.post-list a{font-family:var(--serif);font-size:1.2rem;text-decoration:none;color:var(--fg)}.post-list a:hover{color:var(--accent)}.post-list .desc{display:block;color:var(--muted);font-size:.95rem;margin-top:.25rem}.domain-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin:1rem 0 2rem;padding:0;list-style:none}.domain-grid li{margin:0}.domain-grid a{display:block;border:1px solid var(--rule);border-radius:8px;padding:.85rem 1rem;text-decoration:none;color:var(--fg);font-family:var(--sans);font-size:.95rem;transition:border-color .15s,color .15s}.domain-grid a:hover{border-color:var(--accent);color:var(--accent)}.domain-grid .count{display:block;color:var(--muted);font-size:.8rem;margin-top:.2rem}.lede{font-size:1.15rem;color:var(--muted);margin:.5rem 0 2rem}.prerequisites{margin:0 0 2rem;padding:0;font-family:var(--sans);font-size:.9rem;color:var(--muted)}.prerequisites .label{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600;margin-right:.5rem}.prerequisites ul{display:inline;list-style:none;padding:0;margin:0}.prerequisites li{display:inline;margin:0}.prerequisites li:not(:last-child):after{content:", ";color:var(--muted)}.prerequisites a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.related-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--rule);font-family:var(--sans);font-size:.95rem}.related-footer h3{font-family:var(--sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .6rem}.related-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.related-footer li{margin:0}.related-footer a{display:inline-block;padding:.25rem .7rem;border:1px solid var(--rule);border-radius:999px;text-decoration:none;color:var(--fg);font-size:.85rem}.related-footer a:hover{border-color:var(--accent);color:var(--accent)}header.site nav button#search-open{font:inherit;font-family:var(--sans);font-size:.95rem;color:var(--muted);background:transparent;border:1px solid var(--rule);border-radius:6px;padding:.2rem .55rem;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;line-height:1.2}header.site nav button#search-open:hover{color:var(--fg);border-color:var(--accent)}kbd{font-family:var(--mono);font-size:.78em;background:var(--accent-soft);color:var(--muted);border:1px solid var(--rule);border-radius:4px;padding:.05em .4em;line-height:1}.kbd-hint{color:var(--accent)}dialog#search-dialog{width:min(36rem,92vw);max-height:min(70vh,40rem);padding:0;border:1px solid var(--rule);border-radius:10px;background:var(--bg);color:var(--fg);box-shadow:0 12px 40px #00000047;margin:12vh auto auto}dialog#search-dialog::backdrop{background:#0006;backdrop-filter:blur(2px)}.search-form{margin:0;padding:.85rem 1rem;border-bottom:1px solid var(--rule)}#search-input{width:100%;font:inherit;font-family:var(--serif);font-size:1.1rem;color:var(--fg);background:transparent;border:0;outline:none;padding:.25rem 0}#search-input::placeholder{color:var(--muted)}#search-results{list-style:none;margin:0;padding:.35rem 0;max-height:50vh;overflow-y:auto}#search-results li{margin:0;padding:0}#search-results li a{display:block;padding:.6rem 1rem;text-decoration:none;color:inherit;border-left:2px solid transparent}#search-results li[aria-selected=true] a{background:var(--accent-soft);border-left-color:var(--accent)}#search-results .r-title{display:block;font-family:var(--serif);font-size:1.02rem;color:var(--fg)}#search-results .r-desc{display:block;font-family:var(--sans);font-size:.85rem;color:var(--muted);margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#search-results .r-meta{display:block;font-family:var(--sans);font-size:.78rem;color:var(--muted);margin-top:.3rem}.search-empty{padding:1.25rem 1rem;font-family:var(--sans);font-size:.9rem;color:var(--muted);text-align:center}.search-hints{display:flex;gap:1rem;flex-wrap:wrap;padding:.55rem 1rem;border-top:1px solid var(--rule);font-family:var(--sans);font-size:.78rem;color:var(--muted)}.search-hints kbd{margin-right:.25rem}.decode-loop{--cycle: 10s;margin:1.75rem 0;padding:1rem;border:1px solid var(--rule);border-radius:8px;background:var(--bg)}.decode-loop__stage{display:grid;grid-template-columns:2rem 1fr;gap:.85rem;align-items:start;padding:.65rem .85rem;border:1px solid var(--rule);border-radius:6px;background:transparent;margin-bottom:.4rem}.decode-loop__stage:last-of-type{margin-bottom:0}.decode-loop__stage--input{animation:decode-pulse-1 var(--cycle) infinite both}.decode-loop__stage--embed{animation:decode-pulse-2 var(--cycle) infinite both}.decode-loop__stage--attn{animation:decode-pulse-3 var(--cycle) infinite both}.decode-loop__stage--dist{animation:decode-pulse-4 var(--cycle) infinite both}.decode-loop__stage--sample{animation:decode-pulse-5 var(--cycle) infinite both}.decode-loop__num{display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-family:var(--sans);font-weight:700;font-size:.78rem;line-height:1}.decode-loop__col{min-width:0}.decode-loop__cap{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .25rem;line-height:1.3}.decode-loop__hint{font-family:var(--sans);font-size:.82rem;color:var(--muted);margin:0 0 .55rem;line-height:1.5}.decode-loop__context{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;min-height:1.6rem}.decode-loop__tok{display:inline-block;font-family:var(--mono);font-size:.85rem;padding:.18rem .5rem;background:var(--accent-soft);color:var(--fg);border-radius:4px;line-height:1.3}.decode-loop__tok--new{background:var(--accent);color:var(--bg);animation:decode-tok-append var(--cycle) infinite both ease-out}.decode-loop__embed{display:flex;gap:.5rem;align-items:flex-start;justify-content:space-around}.decode-loop__pair{display:flex;flex-direction:column;align-items:center;gap:.3rem;flex:0 1 auto;animation:decode-pair-appear var(--cycle) infinite both ease-out}.decode-loop__pair-tok{font-family:var(--mono);font-size:.78rem;padding:.08rem .4rem;background:var(--accent-soft);color:var(--fg);border-radius:3px;white-space:nowrap;line-height:1.3}.decode-loop__pair-vec{display:flex;flex-direction:column;gap:.16rem;width:1.7rem}.decode-loop__pair-vec i{display:block;height:.38rem;background:var(--accent);border-radius:1px}.decode-loop__pair-vec i:nth-child(1){opacity:.4}.decode-loop__pair-vec i:nth-child(2){opacity:.85}.decode-loop__pair-vec i:nth-child(3){opacity:.55}.decode-loop__pair-vec i:nth-child(4){opacity:.75}.decode-loop__attn{display:block;width:100%;height:3.4rem;overflow:visible;color:var(--accent)}.decode-loop__attn-inputs circle{fill:currentColor;opacity:.55}.decode-loop__attn-lines{opacity:0;animation:decode-attn-fade var(--cycle) infinite both ease-out}.decode-loop__attn-lines path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:400;animation:decode-attn-draw var(--cycle) infinite both ease-out}.decode-loop__attn-out{fill:currentColor;opacity:0;animation:decode-attn-out var(--cycle) infinite both ease-out}.decode-loop__dist{display:flex;flex-direction:column;gap:.3rem;font-family:var(--mono);font-size:.82rem}.decode-loop__bar{display:grid;grid-template-columns:3rem 1fr 2.2rem;align-items:center;gap:.55rem;color:var(--muted);animation:decode-row var(--cycle) infinite both}.decode-loop__bar--picked{color:var(--fg);animation-name:decode-row-picked}.decode-loop__label,.decode-loop__prob{text-align:right}.decode-loop__track{position:relative;height:.65rem;background:var(--rule);border-radius:2px;overflow:hidden}.decode-loop__track:after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--p, 0) * 100%);background:var(--accent-soft);transform:scaleX(0);transform-origin:left;animation:decode-fill var(--cycle) infinite both ease-out}.decode-loop__bar--picked .decode-loop__track:after{animation-name:decode-fill-picked}.decode-loop__sample{display:flex;align-items:center;gap:.65rem;font-family:var(--sans);font-size:.85rem;color:var(--muted);animation:decode-sample-show var(--cycle) infinite both ease-out}.decode-loop__sample-tok{display:inline-block;padding:.18rem .55rem;background:var(--accent);color:var(--bg);border-radius:4px;font-family:var(--mono);font-size:.85rem}@keyframes decode-pulse-1{0%,3%{border-color:var(--rule);background:transparent}6%,16%{border-color:var(--accent);background:var(--accent-soft)}19%,79%{border-color:var(--rule);background:transparent}82%,92%{border-color:var(--accent);background:var(--accent-soft)}96%,to{border-color:var(--rule);background:transparent}}@keyframes decode-pulse-2{0%,17%{border-color:var(--rule);background:transparent}20%,31%{border-color:var(--accent);background:var(--accent-soft)}34%,to{border-color:var(--rule);background:transparent}}@keyframes decode-pulse-3{0%,32%{border-color:var(--rule);background:transparent}36%,49%{border-color:var(--accent);background:var(--accent-soft)}52%,to{border-color:var(--rule);background:transparent}}@keyframes decode-pulse-4{0%,50%{border-color:var(--rule);background:transparent}53%,70%{border-color:var(--accent);background:var(--accent-soft)}73%,to{border-color:var(--rule);background:transparent}}@keyframes decode-pulse-5{0%,71%{border-color:var(--rule);background:transparent}74%,92%{border-color:var(--accent);background:var(--accent-soft)}96%,to{border-color:var(--rule);background:transparent}}@keyframes decode-pair-appear{0%,17%{opacity:0;transform:translateY(-.3rem)}24%,91%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.3rem)}}@keyframes decode-attn-fade{0%,33%{opacity:0}44%,91%{opacity:1}to{opacity:0}}@keyframes decode-attn-draw{0%,33%{stroke-dashoffset:400}46%,to{stroke-dashoffset:0}}@keyframes decode-attn-out{0%,44%{opacity:0}50%,91%{opacity:1}to{opacity:0}}@keyframes decode-row{0%,50%{opacity:0}58%,70%{opacity:1}76%,91%{opacity:.45}to{opacity:0}}@keyframes decode-row-picked{0%,50%{opacity:0}58%,91%{opacity:1}to{opacity:0}}@keyframes decode-fill{0%,50%{transform:scaleX(0)}64%,91%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes decode-fill-picked{0%,50%{transform:scaleX(0);background:var(--accent-soft)}64%{transform:scaleX(1);background:var(--accent-soft)}70%,91%{transform:scaleX(1);background:var(--accent)}to{transform:scaleX(0);background:var(--accent)}}@keyframes decode-sample-show{0%,70%{opacity:0;transform:translate(-.4rem)}76%,91%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-.4rem)}}@keyframes decode-tok-append{0%,78%{opacity:0;transform:translateY(.8rem) scale(.85)}84%,92%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(.8rem) scale(.85)}}.decode-loop figcaption{margin-top:.85rem;padding-top:.7rem;border-top:1px solid var(--rule);font-family:var(--sans);font-size:.82rem;color:var(--muted);line-height:1.5}.decode-loop figcaption code{font-size:.85em}@media(prefers-reduced-motion:reduce){.decode-loop__stage,.decode-loop__tok--new,.decode-loop__pair,.decode-loop__attn-lines,.decode-loop__attn-lines path,.decode-loop__attn-out,.decode-loop__bar,.decode-loop__bar--picked,.decode-loop__track:after,.decode-loop__sample{animation:none}.decode-loop__attn-lines{opacity:1}.decode-loop__attn-lines path{stroke-dashoffset:0}.decode-loop__attn-out{opacity:1}.decode-loop__track:after{transform:scaleX(1)}.decode-loop__bar--picked .decode-loop__track:after{background:var(--accent)}.decode-loop__bar{opacity:.55}.decode-loop__bar--picked{opacity:1}.decode-loop__tok--new,.decode-loop__sample,.decode-loop__pair{opacity:1;transform:none}}@media(max-width:30rem){.decode-loop{padding:.7rem}.decode-loop__stage{grid-template-columns:1.6rem 1fr;gap:.55rem;padding:.55rem .6rem}.decode-loop__num{width:1.4rem;height:1.4rem;font-size:.72rem}.decode-loop__bar{grid-template-columns:2.5rem 1fr 2rem}.decode-loop__embed{gap:.25rem}.decode-loop__pair{gap:.22rem}.decode-loop__pair-vec{width:1.4rem}.decode-loop__pair-tok{font-size:.72rem;padding:.08rem .3rem}.decode-loop__attn{height:2.6rem}}
