:root{--bg:#141416;--surface:#1c1c1f;--surface-2:#26262b;--fg:#f0edf6;--muted:#9e9aa7;--accent:#d08770;--accent-dim:#b06a55;--accent-light:rgba(208, 135, 112, 0.12);--heading:#ffffff;--border:#2a2a30;--border-strong:#383842;--code-bg:#141416;--code-fg:#f0edf6;--scroll-thumb:#383842;--mark:#f0edf6;--faint:#768399;--wip-border:#434c5e;--glow:rgba(208, 135, 112, 0.2);--pop:#d08770;--pop-shadow:rgba(0, 0, 0, 0.4);--ico-color:var(--muted);--ico-border:var(--border);--ico-bg:var(--surface-2)}:root[data-theme=light]{--bg:#eceff4;--surface:#e5e9f0;--surface-2:#d8dee9;--fg:#2e3440;--muted:#4c566a;--accent:#d08770;--accent-dim:#b06a55;--accent-light:rgba(208, 135, 112, 0.12);--heading:#1e2430;--border:#d8dee9;--border-strong:#c4cbd6;--code-bg:#e5e9f0;--code-fg:#3b4252;--scroll-thumb:#8f9db0;--mark:#2e3440;--faint:#7b889e;--wip-border:#c4cbd6;--glow:rgba(208, 135, 112, 0.22);--pop:#d08770;--pop-shadow:rgba(46, 52, 64, 0.22)}header.site-header{background:var(--bg);color:var(--fg);border-bottom:1px solid var(--border)}.brand-bar{display:flex;align-items:center;justify-content:space-between;min-height:3rem;padding:0 1.5rem;border-bottom:1px solid var(--border);gap:.75rem;max-width:100%;box-sizing:border-box}.site-mark{display:inline-flex;align-items:center;gap:.4rem;margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.015em;color:var(--mark);border-bottom:1px solid transparent;padding-bottom:1px;transition:border-bottom-color .18s;flex-shrink:0}.site-mark:hover{text-decoration:none;border-bottom-color:var(--border-strong)}.site-mark:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.site-mark i{color:var(--accent);font-style:normal}.mark-ico{display:block;color:var(--accent);flex-shrink:0}.brand-term{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;font-family:"IBM Plex Mono",monospace;font-size:.82rem;font-weight:500;letter-spacing:.02em;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.22rem .65rem;text-decoration:none;transition:.18s;user-select:none;flex-shrink:1;min-width:0;max-width:100%;white-space:nowrap}.brand-term .bracket{color:var(--accent);font-weight:700;display:inline-block;transition:transform .2s;flex-shrink:0}.brand-term .p-sym{color:var(--accent);font-weight:700;flex-shrink:0}.brand-term .p-cmd{color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.brand-term .term-link{color:var(--fg);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s,border-bottom-color .15s}.brand-term .term-link:hover{color:var(--accent);border-bottom-color:var(--accent);text-decoration:none}.brand-term .term-link:focus-visible{color:var(--accent);border-bottom-color:var(--accent);border-radius:2px;outline:2px solid var(--accent);outline-offset:2px}.brand-term .crumb-compact{display:none}.brand-term .p-cur{color:var(--accent);font-weight:700;animation:1s step-end infinite termBlink;flex-shrink:0}.brand-term:hover{border-color:var(--accent);background:var(--surface-2);transform:translateY(-1px);text-decoration:none}.brand-term:hover .b-left{transform:translateX(-2px)}.brand-term:hover .b-right{transform:translateX(2px)}@media (max-width:700px){.brand-term .crumb-deep{display:none}.brand-term .crumb-compact{display:inline}}@media (max-width:600px){.brand-bar{padding:0 .85rem;gap:.5rem}.site-mark{font-size:1.15rem}.brand-term{padding:.18rem .45rem;font-size:.72rem;max-width:52vw}.brand-term .p-cmd{max-width:32vw}}@media (max-width:380px){.site-mark{font-size:1.05rem}.brand-term{padding:.15rem .35rem;font-size:.68rem;max-width:48vw}.brand-term .p-cmd{max-width:26vw}}@keyframes termBlink{0%,100%{opacity:1}50%{opacity:0}}@keyframes rattleLeft{0%,100%{transform:translateX(0) rotate(0)}30%,8%{transform:translateX(-5px) rotate(0)}33%{transform:translateX(-5px) rotate(-3deg)}36%{transform:translateX(-5.1px) rotate(3deg)}39%{transform:translateX(-5px) rotate(-3.5deg)}42%{transform:translateX(-5.1px) rotate(3.5deg)}45%{transform:translateX(-5px) rotate(-4deg)}48%{transform:translateX(-5.2px) rotate(4deg)}51%,57%,63%,69%,75%,81%,87%{transform:translateX(-5px) rotate(-4.5deg)}54%,60%,66%,72%,78%,84%{transform:translateX(-5.2px) rotate(4.5deg)}92%{transform:translateX(1px) rotate(.5deg)}96%{transform:translateX(-.3px) rotate(-.2deg)}}@keyframes rattleRight{0%,100%{transform:translateX(0) rotate(0)}30%,8%{transform:translateX(5px) rotate(0)}33%{transform:translateX(5px) rotate(3deg)}36%{transform:translateX(5.1px) rotate(-3deg)}39%{transform:translateX(5px) rotate(3.5deg)}42%{transform:translateX(5.1px) rotate(-3.5deg)}45%{transform:translateX(5px) rotate(4deg)}48%{transform:translateX(5.2px) rotate(-4deg)}51%,57%,63%,69%,75%,81%,87%{transform:translateX(5px) rotate(4.5deg)}54%,60%,66%,72%,78%,84%{transform:translateX(5.2px) rotate(-4.5deg)}92%{transform:translateX(-1px) rotate(-.5deg)}96%{transform:translateX(.3px) rotate(.2deg)}}.hero{max-width:calc(1120px + 3rem);margin:0 auto;padding:1.5rem 1.5rem 1.3rem}.hero h1{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.015em;line-height:1.25}.hero-sub{margin:.4rem 0 0;font-size:.88rem;max-width:72ch;color:var(--muted)}.table-of-contents{background:0 0;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;padding:0;margin:0 0 2rem;position:relative;width:100%;max-width:none;box-shadow:none}.notes-toc ul,.table-of-contents ul{list-style:none;margin:0;padding:0}.table-of-contents a{display:flex;align-items:baseline;gap:.4rem;padding:.2rem 0;line-height:1.4;text-decoration:none;color:var(--muted);transition:color 150ms;opacity:.85}.table-of-contents a.is-active,.table-of-contents a:hover{color:var(--accent);opacity:1}.table-of-contents a.is-active{font-weight:600}.toc-num{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.8em;opacity:.6;flex-shrink:0}.table-of-contents a.is-active .toc-num,.table-of-contents a:hover .toc-num{opacity:1}.table-of-contents>ul>li>a{font-size:.95rem;font-weight:500;margin-top:.5rem;color:var(--fg)}.table-of-contents>ul>li:first-child>a{margin-top:0}.table-of-contents>ul>li>ul{margin-top:.15rem;padding-left:.8rem}.table-of-contents ul ul>li{position:relative}.table-of-contents>ul>li>ul>li>a{font-size:.85rem;font-weight:400}.table-of-contents ul ul ul{padding-left:.8rem;margin-top:.15rem}.table-of-contents ul ul ul a{font-size:.8rem;font-weight:400;opacity:.85}.markdown-alert{margin:1.5rem 0;padding:1rem 1.2rem;background:var(--surface);border-left:4px solid var(--accent);border-radius:0 8px 8px 0}.markdown-alert-title{display:flex;align-items:center;font-weight:600;color:var(--accent);margin-bottom:.5rem}.markdown-alert-title svg{margin-right:8px;width:16px;height:16px;fill:currentColor}.markdown-alert.markdown-alert-caution,.markdown-alert.markdown-alert-warning{border-left-color:#f87171}.markdown-alert.markdown-alert-caution .markdown-alert-title,.markdown-alert.markdown-alert-warning .markdown-alert-title{color:#f87171}.skip-link{position:fixed;left:.75rem;top:-5rem;z-index:1000;padding:.65rem 1rem;border-radius:0 0 8px 8px;background:var(--accent);color:#141416;font-weight:600}.skip-link:focus{top:0;text-decoration:none}:where(button,[role=button],summary,a):focus-visible{outline:2px solid var(--accent);outline-offset:3px}:where(#toc-search,.sidebar-search-box,.notes-search-box){color:var(--fg);background:var(--surface-2);border-color:var(--border-strong);border-radius:8px}#toc-search:focus,:where(#toc-search,.sidebar-search-box,.notes-search-box):focus-within{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}@media (max-width:560px),(pointer:coarse){:where(button,[role=button],summary,.toc-filters .chip,.ctrl-btn){min-height:44px}}.foot-contact-link{position:relative}.foot-contact-link::before{content:attr(data-label);position:absolute;left:50%;bottom:calc(100% + .55rem);z-index:10;padding:.3rem .55rem;border:1px solid var(--border-strong);border-radius:6px;color:var(--fg);background:var(--surface-2);box-shadow:0 5px 18px rgba(0,0,0,.28);font-family:"IBM Plex Mono",monospace;font-size:.68rem;font-weight:500;line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .15s,transform .15s}.foot-contact-link:focus-visible::before,.foot-contact-link:hover::before{opacity:1;transform:translate(-50%,0)}*{box-sizing:border-box}html{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::selection{background:var(--accent);color:#000}body.landing{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font-family:"IBM Plex Sans",ui-sans-serif,system-ui,"Segoe UI",sans-serif;font-size:.97rem;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.blog-nav{display:flex;align-items:center;justify-content:space-between;font-size:.82rem;font-weight:500;margin-bottom:.5rem}.blog-nav a{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border-strong);text-decoration-thickness:1px;transition:color .15s,text-decoration-color .15s}.blog-nav a:hover{color:var(--fg);text-decoration-color:var(--accent)}.blog-nav .nav-left,.blog-nav .nav-right{flex:1;display:flex}.blog-nav .nav-right{justify-content:flex-end}.blog-nav .nav-center{flex:0 1 auto}.band{position:relative;overflow:hidden;border-bottom:1px solid var(--border);padding:1.4rem 0 1.1rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.track{display:flex;width:max-content;animation:70s linear infinite roll}.grp{display:flex;flex-shrink:0}.track .word{position:relative;display:inline-block;padding-right:2.6rem;font-size:clamp(2.6rem, 9vw, 6rem);font-weight:700;letter-spacing:-.04em;line-height:1;white-space:nowrap;color:var(--fg)}.track .dot{color:var(--pop);font-style:normal}@keyframes roll{from{transform:translateX(0)}to{transform:translateX(-50%)}}.band:hover .track{animation-play-state:paused}.splash{position:absolute;top:-.15em;right:.15em;color:var(--pop);font-family:"IBM Plex Mono",monospace;font-size:max(.24em, 14px);font-weight:600;transform:rotate(-14deg);transform-origin:center;animation:.9s ease-in-out infinite alternate splash;text-shadow:0 2px 0 var(--pop-shadow);pointer-events:none}@keyframes splash{from{transform:rotate(-14deg) scale(1)}to{transform:rotate(-14deg) scale(1.09)}}.landing-main{flex:1 0 auto;width:100%;max-width:48rem;margin:0 auto;padding:2.2rem 1.25rem 2rem}.blurb{color:var(--muted);margin:0 0 1.6rem;font-size:1.02rem;font-weight:400;line-height:1.55}.cards-list{display:flex;flex-direction:column;gap:.9rem}.card{display:flex;align-items:center;gap:1.1rem;padding:1.1rem 1.25rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;color:inherit;text-decoration:none;transition:border-color .18s,background .18s,transform .18s}.card:hover{text-decoration:none;border-color:var(--accent);background:var(--surface-2);transform:translateY(-2px)}.card-comp{--ico-color:#d97736;--ico-border:rgba(217, 119, 54, 0.22)}.card-notes{--ico-color:#5ba3c6;--ico-border:rgba(91, 163, 198, 0.22)}.card-blog{--ico-color:#62a378;--ico-border:rgba(98, 163, 120, 0.22)}[data-theme=light] .card-comp{--ico-color:#b8581d;--ico-border:rgba(184, 88, 29, 0.22)}[data-theme=light] .card-notes{--ico-color:#2f799d;--ico-border:rgba(47, 121, 157, 0.22)}[data-theme=light] .card-blog{--ico-color:#2d7a48;--ico-border:rgba(45, 122, 72, 0.22)}.card .ico{flex-shrink:0;display:grid;place-items:center;width:62px;height:62px;aspect-ratio:1/1;align-self:center;font-family:"IBM Plex Mono",monospace;font-size:1.18rem;font-weight:700;letter-spacing:-.02em;color:var(--ico-color);background:var(--surface-2);border:1px solid var(--ico-border);border-radius:12px;user-select:none;transition:background .18s,transform .18s}.card:hover .ico{background:var(--surface);transform:scale(1.04)}.card .body{display:block;min-width:0;flex:1}.card-meta{display:inline-block;margin-bottom:.25rem;font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--muted);letter-spacing:.03em;font-weight:500}.card .body b{display:block;font-weight:600;font-size:1.04rem}.card .sub{display:block;font-size:.84rem;color:var(--muted);margin-top:.2rem;line-height:1.45}.card-term{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;font-family:"IBM Plex Mono",monospace;font-size:.82rem;font-weight:500;letter-spacing:.02em;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:.28rem .65rem;transition:border-color .18s,color .18s,background .18s;user-select:none}.card-term .bracket{color:var(--accent);font-weight:700;display:inline-block;transform-origin:center center;transition:transform .22s cubic-bezier(.34, 1.56, .64, 1)}.card-term .p-sym{color:var(--accent);font-weight:700}.card-term .p-cmd{color:var(--fg)}.card-term .p-cur{color:var(--accent);font-weight:700;animation:1s step-end infinite termBlink}.card:hover .card-term{border-color:var(--border-strong);background:var(--surface);color:var(--fg)}.card:hover .card-term .b-left{animation:3s cubic-bezier(.25,1,.5,1) forwards rattleLeft}.card:hover .card-term .b-right{animation:3s cubic-bezier(.25,1,.5,1) forwards rattleRight}.card:active .card-term{transform:translateY(1px)}.card:active .card-term .bracket{animation:none!important;transform:translateX(0) rotate(0)!important}@media (max-width:600px){.card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:.75rem .95rem;padding:.95rem 1rem}.card .ico{grid-row:1/span 2;width:54px;height:54px;min-height:54px;align-self:center;font-size:1.02rem;letter-spacing:-.03em;border-radius:11px}.card .body{grid-column:2;grid-row:1}.card-term{grid-column:2;grid-row:2;margin-left:0;justify-self:start;font-size:.76rem;padding:.22rem .55rem}}.err{text-align:center;padding-top:5rem}.err .code{margin:0;font-family:"IBM Plex Mono",monospace;font-size:clamp(4rem, 18vw, 8rem);font-weight:600;line-height:1;color:var(--accent);text-shadow:0 0 30px var(--glow)}.err h1{margin:.4rem 0 0;font-size:1.3rem;font-weight:600}.err .blurb{margin:.8rem auto 1.8rem;max-width:46ch}.btns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:500;color:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:.5rem 1.05rem;transition:background .18s}.btn:hover{background:var(--accent-light);text-decoration:none}.btn.ghost{color:var(--muted);border-color:var(--border-strong)}.btn.ghost:hover{color:var(--fg);background:var(--surface)}.site-foot{flex-shrink:0;width:100%;box-sizing:border-box;border-top:1px solid var(--border);margin-top:0;clear:both}.foot-in{width:100%;max-width:52rem;margin:0 auto;padding:2rem 1.25rem 2.4rem;text-align:center;box-sizing:border-box}.foot-mark{display:inline-flex;align-items:center;gap:.45rem;font-size:1rem;font-weight:700;letter-spacing:-.015em;color:var(--mark);border-bottom:1px solid transparent;padding-bottom:1px}.foot-mark:hover{text-decoration:none;border-bottom-color:var(--border-strong)}.foot-mark i{color:var(--accent);font-style:normal}.foot-ico{display:block;color:var(--accent);flex-shrink:0}.foot-contact{margin:.9rem 0 0;font-size:.85rem;color:var(--muted)}.foot-contact a{color:var(--accent);font-weight:500}.foot-contact a:hover{text-decoration:underline}.foot-fine{margin:1rem auto 0;font-size:.74rem;color:var(--faint);max-width:52ch}.foot-copy{margin:.4rem 0 0;font-size:.72rem;color:var(--faint)}#theme-toggle{position:fixed;right:1.5rem;bottom:1.5rem;z-index:100;width:46px;height:46px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:var(--accent);cursor:pointer;display:grid;place-items:center;padding:0;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.35);transition:transform .25s,border-color .25s,background-color .3s,box-shadow .25s}#theme-toggle:hover{transform:translateY(-2px) scale(1.06);border-color:var(--accent);box-shadow:0 4px 16px rgba(0,0,0,.4),0 0 0 4px var(--accent-light)}#theme-toggle:active{transform:scale(.94)}#theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#theme-toggle .icon{grid-area:1/1;display:block;transition:transform .45s cubic-bezier(.4, 0, .2, 1),opacity .35s}:root:not([data-theme=light]) #theme-toggle .moon{opacity:1;transform:none}:root:not([data-theme=light]) #theme-toggle .sun{opacity:0;transform:rotate(90deg) scale(.4)}:root[data-theme=light] #theme-toggle .sun{opacity:1;transform:none}:root[data-theme=light] #theme-toggle .moon{opacity:0;transform:rotate(-90deg) scale(.4)}@media (prefers-reduced-motion:reduce){.splash,.track{animation:none}#theme-toggle,#theme-toggle .icon{transition:none}}@media (max-width:700px){#theme-toggle{right:1rem;bottom:1rem;width:42px;height:42px}.hero{padding:1.1rem 1rem .9rem}.hero h1{font-size:1.35rem}.band{padding:1rem 0 .8rem}.track .word{padding-right:2.4rem}.landing-main{padding:1.8rem 1rem 2.2rem}.blurb{font-size:.95rem}.card{padding:.9rem .95rem;gap:.75rem}.card .ico{width:36px;height:36px}.card .ico svg{width:18px;height:18px}.card .sub{font-size:.8rem}.err{padding-top:2.5rem}.foot-in{padding:1.6rem 1rem 2rem}.foot-fine{font-size:.7rem}}@media (max-width:420px){.splash{top:-.05em}.track .word{padding-right:2.9rem}.card{flex-wrap:wrap}.card .go{display:none}.wip{font-size:.58rem;letter-spacing:.1em}}.prose{flex:1 0 auto;width:100%;max-width:54rem;margin:0 auto;padding:2.4rem 1.25rem 1.5rem;min-width:0;box-sizing:border-box}.prose>*{min-width:0;max-width:100%}.prose h1{font-size:clamp(2rem, 5vw, 2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;margin:0 0 1.5rem;color:var(--heading,#fff)}.prose h2{font-size:1.4rem;font-weight:600;line-height:1.3;letter-spacing:-.015em;margin:3rem 0 1.2rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent-dim,rgba(208,135,112,.3));color:var(--heading,#fff)}.prose h3{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:2rem 0 .8rem;color:var(--fg)}.prose h4{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:1.8rem 0 .6rem}.prose h2>a.anchor,.prose h3>a.anchor{opacity:0;margin-left:.4rem;font-weight:400;text-decoration:none}.prose a.anchor:focus-visible,.prose h2:hover>a.anchor,.prose h3:hover>a.anchor{opacity:1}.note-section{content-visibility:auto;contain-intrinsic-size:auto 1500px}.prose li,.prose p{font-size:1rem;line-height:1.72;color:var(--fg)}.prose p{margin:0 0 1.1rem}.prose ol,.prose ul{margin:0 0 1.1rem;padding-left:1.4rem}.prose li{margin:.3rem 0}.prose li::marker{color:var(--muted)}.prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.18em;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}.prose a:hover{text-decoration-color:var(--accent)}.prose strong{color:var(--fg);font-weight:600}.prose em{font-style:italic}.prose hr{border:0;border-top:1px solid var(--border);margin:2.4rem 0}.math-light{font-family:KaTeX_Math,"Times New Roman",serif;font-style:italic;white-space:nowrap}.math-light sub,.math-light sup{font-size:.75em;font-style:italic;margin-left:.05em}.math-light.math-bb{font-family:KaTeX_AMS,sans-serif;font-style:normal}.post-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;margin:0 0 2.2rem;font-size:.82rem;color:var(--faint)}.post-meta time{font-variant-numeric:tabular-nums}.post-meta .tag{border:1px solid var(--border);border-radius:999px;padding:.1rem .6rem;font-size:.74rem;color:var(--muted)}.post-list{list-style:none;margin:0;padding:0}.post-list li{margin:0 0 .4rem}.post-list a{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .9rem;padding:1.1rem 1.2rem;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);text-decoration:none;transition:border-color .18s,background .18s,transform .18s}.post-list a:hover{border-color:var(--accent);background:var(--surface-2);transform:translateY(-2px)}.post-list .t{font-weight:600;color:var(--fg);min-width:0}.post-list time{margin-left:auto;font-size:.78rem;color:var(--faint)}.post-list .sub{flex-basis:100%;font-size:.85rem;line-height:1.5;color:var(--muted)}.prose code{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.prose :not(pre)>code{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;background:var(--code-bg);color:var(--code-fg);padding:.1rem .36rem;border-radius:5px;font-weight:500;overflow-wrap:anywhere}pre.shiki,pre.shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}[data-theme=light] pre.shiki,[data-theme=light] pre.shiki span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important}pre.shiki{background:var(--surface)!important}[data-theme=light] .k-kw{color:#d946ef}[data-theme=light] .k-tp{color:#0284c7}[data-theme=light] .k-fn{color:#2563eb}[data-theme=light] .k-str{color:#16a34a}[data-theme=light] .k-cm{color:#64748b}[data-theme=light] .k-num{color:#d97706}.prose pre{margin:0 0 1.3rem;padding:.95rem 1.05rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;white-space:pre-wrap;overflow-wrap:break-word;overflow-x:auto;line-height:1.6;font-size:.85rem;tab-size:4}.prose pre code{background:0 0;border:0;padding:0;font-size:inherit;overflow-wrap:normal}.prose pre:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.codeblock{margin:.6rem 0 1.3rem}.codeblock>.code-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .85rem;border:1px solid var(--border);border-bottom:0;border-radius:10px 10px 0 0;background:var(--surface-2);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem;color:var(--muted)}.codeblock>.code-head .lang{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600}.codeblock>pre{margin:0!important;border-top:0!important;border-radius:0 0 10px 10px!important}.copy-cmd{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .45rem;color:var(--accent);background:0 0;border:1px solid transparent;border-radius:6px;cursor:pointer;font:inherit;margin-left:auto;transition:background .15s,border-color .15s,color .15s}.copy-cmd:hover{background:var(--accent-light);border-color:var(--accent-dim)}.copy-cmd:active{transform:scale(.94)}.copy-cmd svg{display:block;flex-shrink:0}.copy-done{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .25s,opacity .2s}.copy-cmd.copied .copy-done{max-width:5rem;opacity:1}.copy-cmd.copied{background:var(--accent-light);border-color:var(--accent)}.prose figure{margin:0 0 1.6rem;padding:0}.prose figure img,.prose figure svg{display:block;max-width:100%;height:auto;border-radius:10px}.prose figcaption{margin-top:.6rem;font-size:.82rem;line-height:1.55;color:var(--faint)}.prose figcaption b{color:var(--muted);font-weight:600}.diagram{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:1.1rem;color:var(--fg);overflow-x:auto}.diagram svg{width:100%;height:auto;vector-effect:non-scaling-stroke}.diagram .accent{color:var(--accent)}.diagram text{fill:currentColor;font-family:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;font-size:12px}.diagram .label{fill:var(--muted);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px}.diagram .node{fill:var(--surface-2);stroke:var(--border-strong)}.diagram .edge{stroke:var(--border-strong);fill:none}.callout{margin:0 0 1.4rem;padding:.85rem 1.05rem;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;font-size:.9rem;line-height:1.6}.callout .t{display:block;font-family:"IBM Plex Mono",monospace;font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.25rem}.callout p{margin:0}.callout p+p{margin-top:.4rem}.callout.warn{border-left-color:#f87171}.callout.warn .t{color:#f87171}[data-theme=light] .callout.warn{border-left-color:#dc2626}[data-theme=light] .callout.warn .t{color:#dc2626}.prose blockquote{margin:0 0 1.4rem;padding:.2rem 0 .2rem 1.1rem;border-left:3px solid var(--border-strong);color:var(--muted)}.prose blockquote>:last-child{margin-bottom:0}.table-wrap{margin:0 0 1.4rem;width:100%}.prose table{border-collapse:collapse;width:100%;font-size:.88rem}.prose td,.prose th{text-align:left;padding:.55rem .85rem;border-bottom:1px solid var(--border);vertical-align:top;white-space:normal;overflow-wrap:break-word}.prose th{color:var(--muted);font-weight:600;white-space:nowrap}.prose tbody tr:last-child td{border-bottom:0}@media (max-width:700px){.prose{padding:1.8rem 1rem 3rem}.prose pre{font-size:.8rem}.post-list time{margin-left:0}}.site-version{font-family:inherit;font-size:inherit;color:inherit}.temp-prose h1{color:var(--accent);margin-bottom:.4rem}.temp-prose h2{color:var(--fg);font-size:1.4rem;border-bottom:2px solid var(--border-strong);padding-bottom:.4rem;margin:2.8rem 0 1rem;display:flex;align-items:center;gap:.6rem}.temp-prose h2::before{content:"";display:inline-block;width:8px;height:1.2rem;background:var(--accent);border-radius:3px}.temp-prose h3{color:var(--accent);font-size:1.1rem;margin:1.8rem 0 .4rem}.section-intro{font-size:.88rem;color:var(--muted);margin:0 0 .8rem;line-height:1.55}.q-item{margin:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);opacity:0;transform:translateY(12px);max-height:0;overflow:hidden;padding:0 1.05rem;border-color:transparent;transition:opacity .45s cubic-bezier(.22, 1, .36, 1),transform .45s cubic-bezier(.22, 1, .36, 1),max-height .45s cubic-bezier(.22, 1, .36, 1),padding .3s,margin-bottom .3s,border-color .3s,background .2s}.q-item:hover{border-color:var(--border-strong);background:var(--surface-2)}.q-item .q-head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.4rem}.q-item .q-num{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.72rem;font-weight:600;color:var(--accent);background:var(--accent-light);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:5px;padding:.08rem .45rem;flex-shrink:0;letter-spacing:.03em}.q-item .q-num.hard{color:#e0a03a;background:rgba(224,160,58,.1);border-color:rgba(224,160,58,.25)}:root[data-theme=light] .q-item .q-num.hard{color:#b5730a;border-color:rgba(181,107,10,.3)}.q-item .q-title{font-weight:600;font-size:.95rem;color:var(--fg)}.q-item .q-desc{font-size:.88rem;line-height:1.6;color:var(--muted);margin:0}.q-item .q-desc code{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.86em;font-weight:500;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:5px;padding:.1em .4em;color:var(--accent)}.q-item .codeblock{margin:.65rem 0 0}.q-item pre{margin:0;font-size:.84rem;line-height:1.65;padding:.8rem 1rem}.k-kw{color:#f472b6;font-weight:600}.k-tp{color:#38bdf8;font-weight:600}.k-fn{color:#60a5fa}.k-str{color:#4ade80}.k-cm{color:#9ca3af;font-style:italic}.k-num{color:#fbbf24}:root[data-theme=light] .k-kw{color:#d946ef}:root[data-theme=light] .k-tp{color:#0284c7}:root[data-theme=light] .k-fn{color:#2563eb}:root[data-theme=light] .k-str{color:#16a34a}:root[data-theme=light] .k-cm{color:#64748b}:root[data-theme=light] .k-num{color:#d97706}.q-item.revealed{opacity:1;transform:translateY(0);max-height:850px;padding:.9rem 1.05rem;margin-bottom:.9rem;border-color:var(--border);overflow:visible}.q-item.just-revealed{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 16px var(--glow)}.session-status{display:flex;align-items:center;gap:.7rem;margin:0 0 2.2rem;padding:.75rem 1.1rem;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);font-size:.85rem;color:var(--muted)}.session-status .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 var(--glow)}50%{opacity:.6;box-shadow:0 0 0 5px transparent}}.progress-track{flex:1;height:5px;background:var(--surface-2);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .5s cubic-bezier(.22, 1, .36, 1);width:0%}#to-top{position:fixed;right:1.5rem;bottom:5rem;z-index:100;width:46px;height:46px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:var(--accent);cursor:pointer;display:grid;place-items:center;padding:0;opacity:0;pointer-events:none;transform:translateY(6px);box-shadow:0 2px 10px rgba(0,0,0,.35);transition:opacity .2s,transform .25s,color .2s,border-color .25s,background-color .3s,box-shadow .25s}#to-top.show{opacity:1;pointer-events:auto;transform:none}#to-top:not(.show){transition:opacity .45s,transform .45s}#to-top.show:hover{transform:translateY(-2px) scale(1.06);border-color:var(--accent);box-shadow:0 4px 16px rgba(0,0,0,.4),0 0 0 4px var(--accent-light)}#to-top:active{transform:scale(.94)}#to-top:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#to-top svg{transition:transform .2s}#to-top:hover svg{transform:translateY(-2px)}#to-top.launch svg{animation:.55s cubic-bezier(.4,0,.2,1) launch}@keyframes launch{0%,100%{transform:translateY(0);opacity:1}45%{transform:translateY(-16px);opacity:0}55%{transform:translateY(12px);opacity:0}}@media (prefers-reduced-motion:reduce){#to-top.launch svg{animation:none}}.presenter-prose h1{color:var(--accent)}.control-panel{position:sticky;top:.5rem;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem .85rem;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);box-shadow:0 4px 20px rgba(0,0,0,.45);margin-bottom:1.5rem;backdrop-filter:blur(10px)}.control-left{display:flex;align-items:center;gap:.65rem;min-width:0}.control-badge{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.8rem;font-weight:600;color:var(--accent);background:var(--accent-light);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:5px;padding:.15rem .55rem;white-space:nowrap}.btn-group{display:flex;align-items:center;gap:.4rem}.ctrl-btn{font-family:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;font-size:.82rem;font-weight:600;padding:.35rem .75rem;border-radius:6px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--fg);cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:border-color .15s,background .15s,transform .15s}.ctrl-btn.active,.ctrl-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.ctrl-btn.primary{background:var(--accent);color:#000;border-color:var(--accent)}.ctrl-btn.primary.active,.ctrl-btn.primary:hover{background:var(--accent-dim);color:#000;border-color:var(--accent-dim)}.ctrl-btn.danger{color:#ef4444;border-color:rgba(239,68,68,.3)}.ctrl-btn.danger:hover{background:rgba(239,68,68,.12);border-color:#ef4444}.kbd-hint{font-family:"IBM Plex Mono",monospace;font-size:.7rem;opacity:.7;border:1px solid currentColor;border-radius:3px;padding:0 .25rem;line-height:1.25}.guide-card{margin:1.2rem 0;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.guide-card h4{margin:0 0 .5rem;color:var(--accent);font-size:.92rem;text-transform:uppercase;letter-spacing:.05em}.answer-card{margin:1.2rem 0;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.answer-card .ans-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.6rem;border-bottom:1px solid var(--border-strong);padding-bottom:.4rem}.answer-card .ans-qbadge{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.8rem;font-weight:700;color:var(--accent);background:var(--accent-light);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:5px;padding:.12rem .5rem}.answer-card .ans-qbadge.hard{color:#e0a03a;background:rgba(224,160,58,.1);border-color:rgba(224,160,58,.25)}.answer-card .ans-sec{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.answer-card .ans-title{font-weight:600;font-size:1rem;color:var(--fg);margin-bottom:.5rem}.ans-res{font-family:"IBM Plex Mono",monospace;font-size:.88rem;font-weight:600;color:var(--accent);background:var(--surface-2);border-left:3px solid var(--accent);padding:.4rem .75rem;border-radius:0 6px 6px 0;margin:.5rem 0 .75rem}.ans-ctx{font-size:.88rem;line-height:1.6;color:var(--fg);margin:0}.ans-ctx code{font-family:"IBM Plex Mono",monospace;font-size:.86em;color:var(--accent);background:var(--surface-2);padding:.1em .35em;border-radius:4px}@media (max-width:560px){.control-panel{flex-direction:column;align-items:stretch;gap:.5rem;padding:.6rem .75rem}.btn-group,.control-left{justify-content:space-between}}.priv-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-family:"IBM Plex Mono",monospace;font-weight:500;color:#c026d3;border:1px solid;border-radius:999px;padding:.15rem .6rem .15rem .45rem;background:color-mix(in srgb,#c026d3 10%,transparent);vertical-align:middle;position:relative;top:-.1em}[data-theme=light] .priv-pill{color:#86198f;border-color:color-mix(in srgb,#86198f 40%,transparent);background:color-mix(in srgb,#86198f 8%,transparent)}.priv-pill svg{display:block;flex-shrink:0}.privacy-page{max-width:56rem;padding-top:clamp(2.2rem,6vw,4rem)}.privacy-hero{padding-bottom:2rem;border-bottom:1px solid var(--border-strong)}.privacy-hero h1{margin-bottom:.8rem;font-size:clamp(2.3rem, 7vw, 3.8rem);line-height:1.05}.privacy-lede{max-width:none;margin-bottom:1.2rem!important;color:var(--muted)!important;font-size:clamp(1rem, 2vw, 1.12rem)!important;text-wrap:pretty}.privacy-updated{margin:0!important;color:var(--faint)!important;font-family:"IBM Plex Mono",monospace;font-size:.72rem!important}.privacy-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;margin-top:.75rem}.privacy-section{padding:1.7rem 0;border-bottom:1px solid var(--border)}.privacy-section h2{margin:0 0 .65rem;padding:0;border:0;color:var(--heading);font-size:1.12rem}.privacy-section p{margin:0;color:var(--muted);font-size:.92rem}.privacy-section strong{color:var(--fg)}@media (max-width:700px){#to-top{right:1rem;bottom:4.2rem;width:42px;height:42px}.privacy-page{padding-top:1.5rem}.privacy-details{grid-template-columns:1fr}}