/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter var", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Newsreader", ui-serif, Georgia, Cambria, "Times New Roman", serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color-scheme:light;--bg:#f6f5f1;--surface:#fffefb;--elevated:#fff;--border:#e4e1d8;--hairline:#edeae1;--ink:#1f2328;--muted:#5c6169;--faint:#8a8f98;--good:#2f8f5b;--warn:#b7791f;--bad:#c0392b;--accent:#565a86;--accent-ink:#fff;--accent-soft:#eeeef4;--font-scale:1;--content-max:720px;--shadow-1:0 1px 2px #18181c08;--shadow-2:0 8px 24px #18181c12}[data-theme=dark]{color-scheme:dark;--bg:#121316;--surface:#191b1f;--elevated:#1f2228;--border:#2c2f36;--hairline:#23262c;--ink:#e9eaec;--muted:#a2a7b0;--faint:#6f757e;--good:#4cc38a;--warn:#e0a94f;--bad:#e5715f;--accent:#9a9cce;--accent-ink:#14141b;--accent-soft:#23233a;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 10px 30px #0006}html[data-width=full]{--content-max:none}[data-module=welcome]{--accent:#4a4d54;--accent-soft:#ecebe7}[data-theme=dark] [data-module=welcome]{--accent:#c3c6cc;--accent-soft:#26282d}[data-module=python]{--accent:#3f6b8f;--accent-soft:#e9eef3}[data-theme=dark] [data-module=python]{--accent:#7aa6cf;--accent-soft:#182734}[data-module=dsa]{--accent:#6a5a92;--accent-soft:#eeecf4}[data-theme=dark] [data-module=dsa]{--accent:#a596cf;--accent-soft:#211d32}[data-module=ai]{--accent:#3d7d70;--accent-soft:#e7f0ed}[data-theme=dark] [data-module=ai]{--accent:#6fb8a9;--accent-soft:#123029}[data-module=system-design]{--accent:#9c6242;--accent-soft:#f4ece5}[data-theme=dark] [data-module=system-design]{--accent:#cf9370;--accent-soft:#33241a}[data-module=interview]{--accent:#95506d;--accent-soft:#f3ebef}[data-theme=dark] [data-module=interview]{--accent:#cd88a5;--accent-soft:#301b26}[data-module=__review]{--accent:#5b564f;--accent-soft:#edece8}[data-theme=dark] [data-module=__review]{--accent:#c6c2ba;--accent-soft:#2a2824}html{font-size:calc(16px * var(--font-scale));scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.6}::selection{background:var(--accent-soft);color:var(--ink)}@media (prefers-reduced-motion:reduce){html:not([data-motion=on]) *{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}html[data-motion=off] *{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.prose{max-width:100%;color:var(--ink);font-size:1.02rem;line-height:1.68}.prose>*+*{margin-top:1.1em}.prose h1,.prose h2,.prose h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-weight:560;line-height:1.2}.prose h2{border-bottom:1px solid var(--hairline);margin-top:2.2em;padding-bottom:.3em;font-size:1.6rem}.prose h3{margin-top:1.8em;font-size:1.22rem}.prose p,.prose li{color:var(--ink)}.prose a{color:var(--accent);text-underline-offset:2px;text-decoration:underline 1px}.prose strong{font-weight:640}.prose ul,.prose ol{padding-left:1.4em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-top:.4em}.prose code{font-family:var(--font-mono);background:var(--hairline);color:var(--ink);border-radius:4px;padding:.1em .36em;font-size:.86em}.prose pre{border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.15rem;font-size:.86rem;line-height:1.55;overflow-x:auto}.prose pre code{font-size:inherit;color:inherit;background:0 0;padding:0}.prose .astro-code,.prose .astro-code span{color:var(--shiki-light);background-color:var(--shiki-light-bg);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);-webkit-text-decoration:var(--shiki-light-text-decoration);-webkit-text-decoration:var(--shiki-light-text-decoration);text-decoration:var(--shiki-light-text-decoration)}[data-theme=dark] .prose .astro-code,[data-theme=dark] .prose .astro-code span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);-webkit-text-decoration:var(--shiki-dark-text-decoration);-webkit-text-decoration:var(--shiki-dark-text-decoration);text-decoration:var(--shiki-dark-text-decoration)}.prose blockquote{border-left:2px solid var(--border);color:var(--muted);font-family:var(--font-display);margin-left:0;padding:.15em 0 .15em 1.15em;font-size:1.05em;font-style:italic;line-height:1.55}.prose table{border-collapse:collapse;width:100%;font-size:.92rem}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:.5em .7em}.prose th{background:var(--surface);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}@keyframes fade-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.4s cubic-bezier(.22,1,.36,1) both fade-rise}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.app{--sidebar-w:264px;min-height:100vh}.main-col{margin-left:var(--sidebar-w);flex-direction:column;min-height:100vh;transition:margin-left .22s cubic-bezier(.4,0,.2,1);display:flex}.content{width:100%;max-width:var(--content-max);flex:1;margin:0 auto;padding:2.4rem clamp(1.1rem,4vw,3rem) 3rem}.site-foot{color:var(--faint);border-top:1px solid var(--hairline);padding:1.4rem clamp(1.1rem,4vw,3rem);font-size:.8rem}.scroll-fab{z-index:45;border:1px solid var(--border);background:var(--surface);width:42px;height:42px;color:var(--muted);box-shadow:var(--shadow-2);cursor:pointer;border-radius:999px;place-items:center;transition:color .15s,background .15s,border-color .15s,transform .15s;display:grid;position:fixed;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}.scroll-fab:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.scroll-fab:active{transform:translateY(0)}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:40;flex-direction:column;width:264px;transition:width .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;display:flex;position:fixed;inset:0 auto 0 0}.sidebar[data-collapsed=true]{width:68px}.sidebar[data-peek=true]{width:264px;box-shadow:var(--shadow-2)}.sb-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:.4rem;height:58px;padding:0 .7rem 0 .85rem;display:flex}.brand{color:var(--ink);align-items:center;gap:.55rem;min-width:0;text-decoration:none;display:flex}.brand-mark{background:var(--ink);width:29px;height:29px;color:var(--bg);letter-spacing:.01em;border-radius:7px;flex-shrink:0;place-items:center;font-size:.74rem;font-weight:600;display:grid}.brand-text{white-space:nowrap;font-size:.94rem;font-weight:600}.brand-dim{color:var(--muted);font-weight:500}.collapse-btn{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex-shrink:0;place-items:center;display:grid}.collapse-btn:hover{background:var(--hairline);color:var(--ink)}.sb-nav{flex-direction:column;flex:1;gap:.15rem;padding:.7rem .55rem;display:flex;overflow-y:auto}.nav-group{flex-direction:column;display:flex}.nav-top{border-radius:var(--radius-sm);width:100%;color:var(--ink);align-items:center;display:flex;position:relative}.nav-top:hover{background:var(--hairline)}.nav-top[data-active=true]{background:var(--accent-soft)}.nav-top-link{border-radius:var(--radius-sm);min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:.6rem;padding:.5rem .55rem;font-size:.9rem;text-decoration:none;display:flex}.nav-top[data-active=true] .nav-title{color:var(--accent);font-weight:600}.nav-caret-btn{width:30px;color:var(--faint);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;align-self:stretch;place-items:center;display:grid}.nav-caret-btn:hover{color:var(--ink)}.nav-mark{background:var(--bg);border:1px solid var(--border);width:25px;height:25px;color:var(--muted);border-radius:6px;flex-shrink:0;place-items:center;font-size:.7rem;font-weight:600;display:grid}.nav-top[data-active=true] .nav-mark{background:var(--accent);color:var(--accent-ink);border-color:#0000}.nav-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.nav-count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.72rem}.nav-caret{flex-shrink:0;transition:transform .18s}.rail-badge{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:8px}.nav-subs{border-left:1px solid var(--hairline);flex-direction:column;gap:.05rem;margin:.1rem 0 .3rem .85rem;padding-left:.55rem;display:flex}.nav-sub{border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:.5rem;padding:.38rem .5rem;font-size:.845rem;line-height:1.3;text-decoration:none;display:flex}.nav-sub:hover{background:var(--hairline);color:var(--ink)}.nav-sub[data-active=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-sub-lead{width:16px;color:var(--faint);flex-shrink:0;place-items:center;display:grid}.nav-sub-title{text-overflow:ellipsis;overflow:hidden}.dot-todo{border:1.5px solid var(--faint);border-radius:50%;width:7px;height:7px}.dot-done{color:var(--good)}.dot-review{color:var(--warn)}.nav-sub[data-status=done] .nav-sub-title{color:var(--muted)}.nav-review{border-top:1px solid var(--hairline);color:var(--ink);align-items:center;gap:.6rem;margin-top:.4rem;padding:.7rem .55rem .5rem;font-size:.9rem;text-decoration:none;display:flex}.sb-foot{border-top:1px solid var(--hairline);padding:.6rem}.a11y-compact{position:relative}.a11y-trigger{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--muted);cursor:pointer;border-radius:9px;align-items:center;gap:.3rem;padding:.4rem .5rem;display:flex}.a11y-trigger:hover{color:var(--ink);border-color:var(--accent)}.a11y-stat{background:var(--surface);width:24px;height:22px;color:var(--ink);border-radius:6px;place-items:center;font-size:.72rem;font-weight:700;display:grid}.a11y-stat[data-off=true]{color:var(--faint)}.a11y-trigger-label{letter-spacing:0;color:var(--faint);margin-left:auto;font-size:.78rem;font-weight:600}.a11y-compact[data-collapsed=true] .a11y-trigger{flex-direction:column;gap:.25rem;padding:.4rem .2rem}.a11y-popover{background:var(--elevated);border:1px solid var(--border);min-width:218px;box-shadow:var(--shadow-lg,0 12px 30px #0000002e);z-index:50;border-radius:12px;flex-direction:column;gap:.6rem;padding:.75rem;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;right:0}.a11y-compact[data-collapsed=true] .a11y-popover{width:224px;left:0;right:auto}.a11y-popover-head{letter-spacing:-.005em;color:var(--muted);font-size:.8rem;font-weight:600}.a11y-row{flex-direction:column;gap:.3rem;display:flex}.a11y-label{letter-spacing:0;color:var(--muted);font-size:.78rem;font-weight:550}.segmented{background:var(--bg);border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:flex}.seg-btn{height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;place-items:center;font-size:.75rem;font-weight:600;display:grid}.seg-btn:hover{color:var(--ink)}.seg-btn[data-active=true]{background:var(--accent);color:var(--accent-ink)}.topbar{z-index:30;background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:1rem;height:58px;padding:0 clamp(1.1rem,4vw,3rem);display:flex;position:sticky;top:0}.tb-left{align-items:center;gap:.5rem;min-width:0;font-size:.9rem;display:flex}.tb-brand{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;font-weight:680;text-decoration:none}.tb-crumb{min-width:0;color:var(--muted);align-items:center;gap:.5rem;display:flex}.tb-sep{color:var(--faint)}.tb-crumb-link{color:var(--muted);white-space:nowrap;text-decoration:none}.tb-crumb-link:hover{color:var(--accent)}.tb-crumb-cur{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.tb-right{align-items:center;gap:.6rem;display:flex}.prog-pill{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:0 0;align-items:center;gap:.5rem;padding:.3rem .7rem .3rem .4rem;display:flex}.prog-ring .ring-track{fill:none;stroke:var(--hairline);stroke-width:3px}.prog-ring .ring-fill{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;transition:stroke-dashoffset .5s cubic-bezier(.22,1,.36,1)}.prog-text{font-variant-numeric:tabular-nums;color:var(--ink);font-size:.86rem}.prog-slash{color:var(--faint);margin:0 1px}.prog-scope{color:var(--muted);font-size:.8rem}@media (width<=640px){.prog-scope{display:none}}.status-control{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.05rem;display:flex}.sc-label{flex-direction:column;display:flex}.sc-eyebrow{letter-spacing:0;color:var(--faint);font-size:.78rem;font-weight:550}.sc-current{font-size:.98rem;font-weight:600}.sc-buttons{gap:.4rem;display:flex}.sc-btn{border:1px solid var(--border);background:var(--bg);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:.85rem;font-weight:550;display:inline-flex}.sc-btn:hover{color:var(--ink);border-color:var(--muted)}.sc-btn[data-active=true][data-value=done]{background:color-mix(in srgb, var(--good) 14%, var(--surface));border-color:var(--good);color:var(--good)}.sc-btn[data-active=true][data-value=review]{background:color-mix(in srgb, var(--warn) 16%, var(--surface));border-color:var(--warn);color:var(--warn)}.sc-btn[data-active=true][data-value=not_started]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.lesson{flex-direction:column;gap:1.6rem;display:flex}.lesson-head{flex-direction:column;gap:.5rem;display:flex}.eyebrow{letter-spacing:0;color:var(--muted);font-size:.82rem;font-weight:600}.lesson-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.9rem,3.4vw,2.5rem);font-weight:560;line-height:1.1}.lesson-sum{color:var(--muted);font-size:1.08rem}.lesson-meta{color:var(--faint);align-items:center;gap:.9rem;font-size:.82rem;display:flex}.prevnext{border-top:1px solid var(--hairline);justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1.3rem;display:flex}.pn-link{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--ink);background:var(--surface);flex-direction:column;gap:.15rem;max-width:48%;padding:.7rem 1rem;text-decoration:none;display:flex}.pn-link:hover{border-color:var(--accent)}.pn-dir{letter-spacing:0;color:var(--faint);font-size:.78rem}.pn-next{text-align:right;margin-left:auto}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.mod-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);flex-direction:column;gap:.6rem;padding:1.2rem;text-decoration:none;transition:border-color .16s;display:flex}.mod-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.mod-card-top{align-items:center;gap:.7rem;display:flex}.mod-badge{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 16%, transparent);border-radius:9px;place-items:center;font-size:.82rem;font-weight:650;display:grid}.mod-card h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.15rem;font-weight:560}.mod-tagline{color:var(--muted);font-size:.9rem}.mod-bar{background:var(--hairline);border-radius:4px;height:6px;margin-top:auto;overflow:hidden}.mod-bar>span{background:var(--accent);border-radius:4px;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1);display:block}.mod-progress-text{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.78rem}.sub-list{flex-direction:column;gap:.5rem;display:flex}.sub-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);align-items:center;gap:.85rem;padding:.85rem 1rem;text-decoration:none;transition:border-color .16s,background .16s;display:flex}.sub-row:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.sub-row:hover .sub-index{border-color:var(--accent);color:var(--accent)}.sub-index{background:var(--bg);border:1px solid var(--border);width:30px;height:30px;color:var(--muted);border-radius:7px;flex-shrink:0;place-items:center;font-size:.82rem;font-weight:600;transition:border-color .16s,color .16s;display:grid}.sub-main{flex:1;min-width:0}.sub-main h4{font-size:.98rem;font-weight:600}.sub-main p{color:var(--muted);margin-top:.15rem;font-size:.85rem}.sub-status{border-radius:var(--radius-sm);white-space:nowrap;padding:.2rem .55rem;font-size:.74rem;font-weight:600}.sub-status[data-status=done]{background:color-mix(in srgb, var(--good) 16%, transparent);color:var(--good)}.sub-status[data-status=review]{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn)}.sub-status[data-status=not_started]{background:var(--hairline);color:var(--faint)}.hero{border-bottom:1px solid var(--hairline);flex-direction:column;gap:1.1rem;margin-bottom:2rem;padding:1rem 0 2rem;display:flex}.hero h1{font-family:var(--font-display);letter-spacing:-.025em;max-width:20ch;font-size:clamp(2.1rem,5vw,3.3rem);font-weight:560;line-height:1.05}.hero p{color:var(--muted);font-size:1.12rem}.hero-cta{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);align-self:flex-start;align-items:center;gap:.5rem;padding:.65rem 1.1rem;font-size:.92rem;font-weight:550;text-decoration:none;display:inline-flex}.hero-cta:hover{filter:brightness(1.05)}.hero-stats{color:var(--muted);flex-wrap:wrap;gap:1.6rem;font-size:.9rem;display:flex}.hero-stats strong{color:var(--ink);font-size:1.25rem;font-family:var(--font-display);display:block}.section-title{font-family:var(--font-display);margin:1.8rem 0 1rem;font-size:1.4rem;font-weight:560}.module-intro{border-bottom:1px solid var(--hairline);gap:.55rem;margin-bottom:1.9rem;padding-bottom:1.6rem}.module-start{margin-top:.75rem}.danger-zone{border:1px dashed var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding:1rem 1.2rem;display:flex}.btn-danger{border:1px solid color-mix(in srgb, #d33 55%, var(--border));color:#d33;cursor:pointer;background:0 0;border-radius:8px;padding:.5rem 1rem;font-size:.88rem;font-weight:600}.btn-danger:hover{background:#dd33331f}.empty-state{text-align:center;color:var(--muted);padding:3rem 1rem}.empty-state h3{font-family:var(--font-display);color:var(--ink);margin-bottom:.4rem;font-size:1.3rem}@media (width<=720px){.sidebar:not([data-peek=true]){width:68px}.status-control{flex-direction:column;align-items:flex-start}}.viz{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-1);margin:1.8rem 0;overflow:hidden}.viz-cap{border-bottom:1px solid var(--hairline);background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface));justify-content:space-between;align-items:center;padding:.7rem 1rem;display:flex}.viz-title{color:var(--accent);align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;display:inline-flex}.viz-step{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.viz-step strong{color:var(--ink)}.viz-stage{flex-direction:column;align-items:center;gap:1rem;min-height:120px;padding:1.5rem 1.2rem;display:flex}.viz-narration{border-top:1px dashed var(--hairline);color:var(--ink);background:var(--bg);align-items:center;min-height:2.6rem;padding:.8rem 1.1rem;font-size:.9rem;display:flex}.viz-narration code{font-family:var(--font-mono);background:var(--accent-soft);border-radius:4px;padding:.1em .35em;font-size:.82em}.viz-controls{border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:.8rem;padding:.7rem 1rem;display:flex}.viz-transport{gap:.3rem;display:flex}.viz-btn{border:1px solid var(--border);background:var(--bg);width:34px;height:34px;color:var(--ink);cursor:pointer;border-radius:8px;place-items:center;display:grid}.viz-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.viz-btn:disabled{opacity:.4;cursor:not-allowed}.viz-btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.viz-btn-primary:hover:not(:disabled){filter:brightness(1.08);color:var(--accent-ink)}.viz-scrub{min-width:120px;accent-color:var(--accent);cursor:pointer;flex:1;height:4px}.viz-speed{background:var(--bg);border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:flex}.viz-speed-btn{color:var(--muted);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:6px;padding:.28rem .55rem;font-size:.78rem;font-weight:600}.viz-speed-btn[data-active=true]{background:var(--accent);color:var(--accent-ink)}.viz-extra{gap:.4rem;display:flex}.viz-mini-btn{border:1px solid var(--border);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:8px;padding:.35rem .7rem;font-size:.8rem;font-weight:550}.viz-mini-btn:hover{border-color:var(--accent);color:var(--accent)}.viz-legend{border-top:1px solid var(--hairline);color:var(--muted);flex-wrap:wrap;gap:.4rem 1.1rem;padding:.7rem 1rem;font-size:.8rem;display:flex}.viz-legend .key{align-items:center;gap:.4rem;display:inline-flex}.viz-legend .swatch{border-radius:4px;flex-shrink:0;width:12px;height:12px}.arr{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.cell{border:1.5px solid var(--border);background:var(--elevated);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;width:46px;height:46px;font-size:.95rem;font-weight:600;transition:background .35s,border-color .35s,color .35s,transform .35s;display:grid;position:relative}.cell[data-state=active]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.cell[data-state=window]{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 70%, var(--surface))}.cell[data-state=match]{border-color:var(--good);background:color-mix(in srgb, var(--good) 18%, var(--surface));color:var(--good)}.cell[data-state=excluded]{opacity:.4}.cell[data-state=lo],.cell[data-state=hi]{border-color:var(--accent)}.cell[data-state=mid]{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 16%, var(--surface));color:var(--warn)}.cell-idx{color:var(--faint);font-size:.68rem;font-weight:500;position:absolute;top:-1.35rem}.ptr-row{justify-content:center;gap:6px;min-height:1.8rem;display:flex}.ptr{width:46px;color:var(--accent);place-items:center;font-size:.72rem;font-weight:700;animation:.25s both fade-rise;display:grid}.ptr[data-kind=hi],.ptr[data-kind=right],.ptr[data-kind=r]{color:var(--warn)}.bars{align-items:flex-end;gap:5px;height:180px;display:flex}.bar{background:var(--accent-soft);border:1.5px solid var(--accent);width:26px;color:var(--accent);border-bottom:none;border-radius:5px 5px 0 0;justify-content:center;align-items:flex-start;padding-top:3px;font-size:.7rem;font-weight:600;transition:height .35s cubic-bezier(.22,1,.36,1),background .3s,border-color .3s,transform .3s;display:flex}.bar[data-state=compare]{background:color-mix(in srgb, var(--warn) 22%, var(--surface));border-color:var(--warn);color:var(--warn)}.bar[data-state=swap]{background:color-mix(in srgb, var(--warn) 34%, var(--surface));border-color:var(--warn);transform:translateY(-4px)}.bar[data-state=sorted]{background:color-mix(in srgb, var(--good) 20%, var(--surface));border-color:var(--good);color:var(--good)}.growth{width:100%;max-width:560px}.growth svg{width:100%;height:auto;display:block}.growth .axis{stroke:var(--border);stroke-width:1px}.growth .tick{fill:var(--faint);font-size:9px}.growth-curve{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.growth-dot{r:3.5}.vecspace{touch-action:none;width:100%;max-width:460px}.vecspace svg{background:var(--bg);border:1px solid var(--border);border-radius:10px;width:100%;height:auto;display:block}.vec-grid{stroke:var(--hairline);stroke-width:1px}.vec-doc{cursor:default}.vec-query{cursor:grab}.vec-query:active{cursor:grabbing}.pipeline{flex-direction:column;gap:.6rem;width:100%;max-width:560px;display:flex}.pipe-stage{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--elevated);opacity:.45;align-items:flex-start;gap:.8rem;padding:.8rem 1rem;transition:opacity .3s,border-color .3s,background .3s;display:flex}.pipe-stage[data-state=active]{opacity:1;border-color:var(--accent);background:var(--accent-soft)}.pipe-stage[data-state=done]{opacity:1;border-color:var(--good)}.pipe-num{background:var(--accent);width:26px;height:26px;color:var(--accent-ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:.78rem;font-weight:700;display:grid}.pipe-stage[data-state=done] .pipe-num{background:var(--good)}.pipe-body h5{font-size:.92rem;font-weight:650}.pipe-body p{color:var(--muted);margin-top:.15rem;font-size:.82rem}.graph-wrap{width:100%;max-width:460px}.graph-wrap svg{width:100%;height:auto}.g-edge{stroke:var(--border);stroke-width:2px;transition:stroke .3s}.g-edge[data-state=used]{stroke:var(--accent);stroke-width:3px}.g-node circle{fill:var(--elevated);stroke:var(--border);stroke-width:2px;transition:fill .3s,stroke .3s}.g-node[data-state=frontier] circle{stroke:var(--accent);fill:var(--accent-soft)}.g-node[data-state=current] circle{stroke:var(--warn);fill:color-mix(in srgb, var(--warn) 20%, var(--surface));stroke-width:3px}.g-node[data-state=visited] circle{stroke:var(--good);fill:color-mix(in srgb, var(--good) 18%, var(--surface))}.g-node text{fill:var(--ink);text-anchor:middle;dominant-baseline:central;font-size:12px;font-weight:600}.queue-view{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;font-size:.82rem;display:flex}.queue-chip{background:var(--accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;border-radius:6px;padding:.2rem .55rem;font-weight:600}.viz--diagram .viz-stage{min-height:0}.flowdiag{justify-content:center;gap:.2rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.flowdiag--row{flex-flow:wrap;align-items:stretch}.flowdiag--col{flex-direction:column;align-items:stretch;max-width:440px}.flowdiag-node{align-items:center;gap:.2rem;display:flex}.flowdiag--col .flowdiag-node{flex-direction:column}.flowdiag-card{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--elevated);min-height:100%;box-shadow:var(--shadow-1);align-items:center;gap:.55rem;padding:.6rem .8rem;display:flex}.flowdiag--col .flowdiag-card{width:100%}.flowdiag-node[data-tone=accent] .flowdiag-card{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.flowdiag-node[data-tone=good] .flowdiag-card{border-color:color-mix(in srgb, var(--good) 45%, var(--border))}.flowdiag-node[data-tone=warn] .flowdiag-card{border-color:color-mix(in srgb, var(--warn) 45%, var(--border))}.flowdiag-node[data-tone=muted] .flowdiag-card{opacity:.7}.flowdiag-badge{background:var(--accent);width:24px;height:24px;color:var(--accent-ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:.74rem;font-weight:700;display:grid}.flowdiag-node[data-tone=good] .flowdiag-badge{background:var(--good)}.flowdiag-node[data-tone=warn] .flowdiag-badge{background:var(--warn)}.flowdiag-text{flex-direction:column;gap:.1rem;display:flex}.flowdiag-label{color:var(--ink);font-size:.86rem;font-weight:650;line-height:1.2}.flowdiag-detail{color:var(--muted);font-size:.76rem;line-height:1.25}.flowdiag-arrow{color:var(--faint);padding:0 .1rem;font-size:1.1rem}.tradeoff-scroll{width:100%;overflow-x:auto}.tradeoff{border-collapse:separate;border-spacing:0;width:100%;font-size:.84rem}.tradeoff th,.tradeoff td{text-align:left;vertical-align:top;border-bottom:1px solid var(--hairline);padding:.55rem .7rem;transition:opacity .2s,background .2s}.tradeoff-corner{border-bottom:1px solid var(--border);background:0 0}.tradeoff-opt{color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface));border-bottom:1px solid var(--border);cursor:pointer;white-space:nowrap;font-weight:700}.tradeoff-opt:hover{background:var(--accent-soft)}.tradeoff-axis{color:var(--ink);white-space:nowrap;background:var(--bg);font-weight:600}.tradeoff-cell{color:var(--muted)}.tradeoff-cell[data-tone=good]{color:var(--good);background:color-mix(in srgb, var(--good) 8%, transparent)}.tradeoff-cell[data-tone=warn]{color:var(--warn);background:color-mix(in srgb, var(--warn) 8%, transparent)}.tradeoff-cell[data-tone=bad]{color:var(--bad);background:color-mix(in srgb, var(--bad) 8%, transparent)}.tradeoff-opt[data-dim=true],.tradeoff-cell[data-dim=true]{opacity:.32}.barcompare{flex-direction:column;gap:.55rem;width:100%;max-width:620px;display:flex}.barcompare-row{grid-template-columns:minmax(90px,27%) 1fr auto;align-items:center;gap:.7rem;display:grid}.barcompare-label{color:var(--ink);text-align:right;font-size:.82rem;font-weight:550}.barcompare-track{background:var(--hairline);border-radius:5px;height:18px;overflow:hidden}.barcompare-fill{border-radius:5px;min-width:2px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1);display:block}.barcompare-value{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:.4rem;font-size:.8rem;display:flex}.barcompare-note{color:var(--faint);font-size:.72rem;font-style:normal}.tok-input{width:100%;max-width:620px;font-family:var(--font-mono);border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--ink);resize:vertical;padding:.7rem .85rem;font-size:.86rem;line-height:1.5}.tok-input:focus{border-color:var(--accent);outline:none}.tok-out{width:100%;max-width:620px;min-height:2.4rem;font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:3px;display:flex}.tok-chip{border:1px solid var(--border);white-space:pre;border-radius:5px;padding:.12rem .32rem;font-size:.8rem;display:inline-block}.tok-presets{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.sampling-bars{flex-direction:column;gap:.4rem;width:100%;max-width:560px;display:flex}.sampling-row{grid-template-columns:110px 1fr 52px;align-items:center;gap:.7rem;transition:opacity .2s;display:grid}.sampling-row[data-dim=true]{opacity:.4}.sampling-token{font-family:var(--font-mono);color:var(--ink);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.sampling-track{background:var(--hairline);border-radius:4px;height:16px;overflow:hidden}.sampling-fill{border-radius:4px;min-width:2px;height:100%;transition:width .35s,background .2s;display:block}.sampling-pct{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.78rem}.sampling-knob{color:var(--muted);flex-direction:column;flex:1;gap:.3rem;min-width:180px;font-size:.8rem;display:flex}.sampling-knob strong{color:var(--ink);font-variant-numeric:tabular-nums}.agent-loop{grid-template-columns:1fr;gap:.8rem;width:100%;max-width:600px;display:grid}.agent-turn{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--elevated);border-left-width:4px;padding:.7rem .9rem}.agent-turn[data-phase=think]{border-left-color:var(--accent)}.agent-turn[data-phase=act]{border-left-color:var(--warn)}.agent-turn[data-phase=observe]{border-left-color:#2563c9}.agent-turn[data-phase=done]{border-left-color:var(--good)}.agent-phase{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.agent-turn[data-phase=act] .agent-text,.agent-turn[data-phase=observe] .agent-text{font-family:var(--font-mono);font-size:.82rem}.agent-text{color:var(--ink);margin-top:.25rem;font-size:.9rem;line-height:1.4}.agent-scratch{border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--bg);padding:.6rem .9rem}.agent-scratch-title{text-transform:uppercase;letter-spacing:.03em;color:var(--faint);font-size:.7rem;font-weight:600}.agent-scratch ul{flex-direction:column;gap:.15rem;margin:.35rem 0 0;padding-left:1.1rem;display:flex}.agent-scratch li{font-family:var(--font-mono);color:var(--muted);font-size:.8rem}.ctxbar{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--hairline);width:100%;max-width:620px;height:40px;display:flex;position:relative;overflow:hidden}.ctxbar-seg{border-right:1px solid color-mix(in srgb, var(--bg) 40%, transparent);height:100%;transition:width .3s}.ctxbar-over{background:repeating-linear-gradient(45deg, var(--bad), var(--bad) 6px, color-mix(in srgb, var(--bad) 60%, #000) 6px, color-mix(in srgb, var(--bad) 60%, #000) 12px);height:100%}.ctxbar-limit{border-left:2px dashed var(--ink);width:0;position:absolute;top:0;bottom:0}.ctxbar-limit-label{color:var(--ink);font-size:.66rem;font-weight:600;position:absolute;top:-1.1rem;left:2px}.ctx-status{color:var(--muted);text-align:center;max-width:560px;font-size:.82rem}.ctx-status[data-over=true]{color:var(--bad);font-weight:550}.napkin-knobs{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem 1.2rem;width:100%;display:grid}.napkin-knob{grid-template-columns:1fr auto;align-items:baseline;gap:.2rem .6rem;display:grid}.napkin-knob .viz-scrub{grid-column:1/-1;margin-top:.15rem}.napkin-knob-label{color:var(--muted);font-size:.8rem}.napkin-knob-val{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;font-size:.82rem;font-weight:700}.napkin-out{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem;width:100%;display:grid}.napkin-card{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--elevated);flex-direction:column;gap:.1rem;padding:.6rem .7rem;display:flex}.napkin-card[data-tone=accent]{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));background:var(--accent-soft)}.napkin-card[data-tone=warn]{border-color:color-mix(in srgb, var(--warn) 50%, var(--border))}.napkin-card-val{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700;line-height:1.1}.napkin-card[data-tone=accent] .napkin-card-val{color:var(--accent)}.napkin-card[data-tone=warn] .napkin-card-val{color:var(--warn)}.napkin-card-label{color:var(--muted);font-size:.74rem}.napkin-card-hint{color:var(--faint);font-size:.68rem}.cacheflow{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:600px;display:flex}.cf-lane{justify-content:center;align-items:stretch;gap:.4rem;width:100%;display:flex}.cf-node{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--elevated);opacity:.5;flex-direction:column;flex:1;gap:.35rem;max-width:180px;padding:.6rem .7rem;transition:opacity .3s,border-color .3s;display:flex}.cf-node[data-active=true]{opacity:1}.cf-node[data-role=cache][data-active=true]{border-color:var(--good)}.cf-node[data-role=db][data-active=true]{border-color:var(--warn)}.cf-node-title{color:var(--ink);font-size:.82rem;font-weight:650}.cf-node-sub{color:var(--faint);font-size:.72rem}.cf-cache-keys{flex-wrap:wrap;gap:4px;min-height:1.4rem;display:flex}.cf-empty{color:var(--faint);font-size:.72rem;font-style:italic}.cf-key{background:var(--accent-soft);width:22px;height:22px;color:var(--accent);border:1px solid #0000;border-radius:5px;place-items:center;font-size:.76rem;font-weight:700;display:grid}.cf-key[data-hit=true]{background:color-mix(in srgb, var(--good) 20%, var(--surface));color:var(--good);border-color:var(--good)}.cf-arrow{color:var(--faint);align-self:center;font-size:1.1rem;transition:color .3s}.cf-arrow[data-on=true]{color:var(--warn)}.cf-stats{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;display:flex}.cf-stat{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem}.cf-stat strong{color:var(--ink)}.cf-stat[data-tone=good] strong{color:var(--good)}.cf-stat[data-tone=warn] strong{color:var(--warn)}.lb{width:100%;max-width:520px}.lb-servers{justify-content:center;align-items:flex-end;gap:.8rem;min-height:200px;display:flex}.lb-server{flex-direction:column;flex:1;align-items:center;gap:.3rem;max-width:90px;display:flex}.lb-stack{border-radius:var(--radius-md);border:1.5px dashed var(--border);flex-direction:column-reverse;justify-content:flex-start;gap:3px;width:100%;min-height:150px;padding:4px;transition:border-color .25s,background .25s;display:flex}.lb-server[data-target=true] .lb-stack{border-color:var(--accent);background:var(--accent-soft);border-style:solid}.lb-req{background:color-mix(in srgb, var(--accent) 55%, var(--surface));border:1px solid var(--accent);border-radius:3px;height:12px;animation:.25s both fade-rise}.lb-req[data-fresh=true]{background:var(--accent)}.lb-server-label{color:var(--muted);font-size:.72rem;font-weight:600}.lb-server-load{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:700}.dunder-grid{flex-direction:column;gap:4px;width:100%;max-width:560px;margin:0 auto;display:flex}.dunder-row{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--elevated);cursor:pointer;text-align:left;grid-template-columns:1fr auto 1.3fr;align-items:center;gap:.6rem;padding:.4rem .7rem;transition:border-color .2s,background .2s;display:grid}.dunder-row:hover{border-color:var(--accent)}.dunder-row[data-active=true]{border-color:var(--accent);background:var(--accent-soft)}.dunder-syntax{font-family:var(--font-mono);color:var(--ink);font-size:.82rem}.dunder-arrow{color:var(--faint)}.dunder-method{font-family:var(--font-mono);color:var(--muted);font-size:.8rem}.dunder-row[data-active=true] .dunder-method{color:var(--accent);font-weight:600}.dunder-explain{max-width:560px;color:var(--ink);text-align:center;min-height:2.4rem;margin:0 auto;font-size:.86rem}.lazy-cols{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;width:100%;display:grid}.lazy-col{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--elevated);flex-direction:column;gap:.5rem;padding:.8rem;display:flex}.lazy-col-title{color:var(--ink);font-size:.82rem;font-weight:650}.lazy-col-title code{font-family:var(--font-mono);color:var(--muted);font-size:.76rem;font-weight:500}.lazy-src{flex-wrap:wrap;gap:4px;display:flex}.lazy-item{background:var(--hairline);width:28px;height:28px;color:var(--faint);font-variant-numeric:tabular-nums;border:1.5px solid #0000;border-radius:6px;place-items:center;font-size:.78rem;font-weight:600;transition:background .25s,color .25s,border-color .25s;display:grid}.lazy-item[data-touched=true]{background:var(--accent-soft);color:var(--accent)}.lazy-item[data-cursor=true]{border-color:var(--accent)}.lazy-meta{color:var(--muted);font-size:.78rem}.lazy-meta strong{color:var(--ink);font-variant-numeric:tabular-nums}.lazy-out{flex-wrap:wrap;align-items:center;gap:5px;min-height:1.9rem;display:flex}.lazy-out-chip{background:color-mix(in srgb, var(--good) 18%, var(--surface));min-width:30px;height:26px;color:var(--good);border:1.5px solid var(--good);font-variant-numeric:tabular-nums;border-radius:6px;place-items:center;padding:0 6px;font-size:.78rem;font-weight:700;display:grid}.lazy-hint{color:var(--faint);font-size:.74rem;font-style:italic}.lazy-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.lazy-done{color:var(--good);font-size:.78rem}.deco{flex-direction:column;align-items:center;gap:.9rem;width:100%;display:flex}.deco-caller{color:var(--muted);border:1.5px dashed var(--border);border-radius:var(--radius-md);opacity:.5;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.84rem;transition:opacity .25s,border-color .25s;display:flex}.deco-caller[data-active=true]{opacity:1;border-color:var(--accent)}.deco-caller code{font-family:var(--font-mono);color:var(--ink);font-size:.8rem}.deco-badge{color:var(--good);font-size:.78rem;font-weight:700}.deco-onion{flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:420px;display:flex;position:relative}.deco-layer{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);justify-content:space-between;align-items:center;padding:.6rem .8rem;transition:border-color .25s,background .25s,box-shadow .25s;display:flex}.deco-layer[data-kind=core]{background:var(--bg)}.deco-layer[data-passed=true]{border-color:color-mix(in srgb, var(--good) 45%, var(--border))}.deco-layer[data-active=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-1)}.deco-name{font-family:var(--font-mono);color:var(--ink);font-size:.84rem;font-weight:650}.deco-here{color:var(--accent);font-size:.72rem;font-weight:600}.conc-toggle{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-self:center;gap:2px;padding:2px;display:inline-flex}.conc-grid{flex-direction:column;gap:.7rem;width:100%;max-width:600px;margin:0 auto;display:flex}.conc-block{flex-direction:column;gap:.3rem;display:flex}.conc-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.conc-label{font-family:var(--font-mono);color:var(--ink);font-size:.82rem;font-weight:650}.conc-total{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.76rem}.conc-total[data-tone=good]{color:var(--good);font-weight:600}.conc-total[data-tone=warn]{color:var(--warn)}.conc-total[data-tone=bad]{color:var(--bad)}.conc-lanes{flex-direction:column;gap:3px;display:flex}.conc-lane{background:var(--hairline);border-radius:4px;height:16px;position:relative;overflow:hidden}.conc-seg{border-radius:3px;position:absolute;top:0;bottom:0}.conc-seg[data-type=compute]{background:var(--accent)}.conc-seg[data-type=overhead]{background:var(--faint)}.conc-seg[data-type=wait]{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--muted) 22%, var(--surface)), color-mix(in srgb, var(--muted) 22%, var(--surface)) 4px, color-mix(in srgb, var(--muted) 40%, var(--surface)) 4px, color-mix(in srgb, var(--muted) 40%, var(--surface)) 8px)}.conc-swatch-wait{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--muted) 22%, var(--surface)), color-mix(in srgb, var(--muted) 22%, var(--surface)) 3px, color-mix(in srgb, var(--muted) 40%, var(--surface)) 3px, color-mix(in srgb, var(--muted) 40%, var(--surface)) 6px)}.mono-wrap{flex-direction:column;align-items:center;gap:1.4rem;width:100%;display:flex}.mono-cols{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.6rem;display:flex}.mono-cap{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:center;margin-bottom:.4rem;font-size:.72rem}.mono-stack-body{border:1.5px dashed var(--border);border-radius:var(--radius-md);background:var(--bg);flex-direction:column;gap:4px;min-width:92px;min-height:46px;padding:.4rem;display:flex}.mono-item{background:color-mix(in srgb, var(--accent-soft) 70%, var(--surface));border:1.5px solid var(--accent);color:var(--accent-ink,var(--accent));font-variant-numeric:tabular-nums;text-align:center;border-radius:6px;padding:.3rem .5rem;font-size:.78rem;font-weight:600;animation:.2s both fade-rise}.mono-empty{color:var(--faint);text-align:center;font-size:.76rem;font-style:italic}.ll-wrap{width:100%;overflow-x:auto}.ll-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;min-height:60px;display:flex}.ll-seg{align-items:center;gap:4px;display:inline-flex}.ll-node{border:2px solid var(--border);background:var(--elevated);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;width:42px;height:42px;font-weight:700;transition:border-color .25s,background .25s,color .25s;display:grid}.ll-node[data-kind=prev]{border-color:var(--good);background:color-mix(in srgb, var(--good) 15%, var(--surface));color:var(--good)}.ll-node[data-kind=curr]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ll-node[data-kind=next]{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 15%, var(--surface));color:var(--warn)}.ll-arrow{color:var(--faint);font-size:1.1rem}.ll-arrow[data-rev]{color:var(--good)}.ll-cut{color:var(--faint);opacity:.5}.ll-null{font-family:var(--font-mono);color:var(--faint);padding:.2rem .3rem;font-size:.72rem}.iv-wrap{flex-direction:column;gap:.3rem;width:100%;max-width:560px;margin:0 auto;display:flex;position:relative}.iv-lane-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.iv-track{background:var(--bg);border:1px solid var(--hairline);border-radius:6px;height:34px;position:relative}.iv-bar{background:color-mix(in srgb, var(--faint) 30%, var(--surface));border:1.5px solid var(--faint);height:26px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:5px;place-items:center;font-size:.68rem;font-weight:600;transition:left .35s,width .35s;display:grid;position:absolute;top:4px}.iv-bar[data-active=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.iv-bar[data-merged]{background:color-mix(in srgb, var(--good) 18%, var(--surface));border-color:var(--good);color:var(--good)}.iv-axis{height:1.1rem;position:relative}.iv-tick{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.62rem;position:absolute;transform:translate(-50%)}.tt-wrap{flex-direction:column;align-items:center;gap:.8rem;width:100%;display:flex}.tt-svg{width:100%;max-width:340px;height:auto}.tt-edge{stroke:var(--border);stroke-width:1.2px}.tt-node circle{fill:var(--elevated);stroke:var(--border);stroke-width:1.5px;transition:fill .25s,stroke .25s}.tt-node text{fill:var(--ink);text-anchor:middle;font-variant-numeric:tabular-nums;font-size:6px;font-weight:700}.tt-node[data-state=visited] circle{fill:color-mix(in srgb, var(--good) 18%, var(--surface));stroke:var(--good)}.tt-node[data-state=current] circle{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2.2px}.tt-toggle{background:var(--bg);border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.tt-out{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;min-height:1.9rem;display:flex}.tt-out-label{color:var(--muted);font-size:.74rem;font-family:var(--font-mono)}.tt-chip{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border:1.5px solid var(--accent);border-radius:6px;place-items:center;font-size:.78rem;font-weight:700;animation:.2s both fade-rise;display:grid}.tt-hint{color:var(--faint);font-size:.74rem;font-style:italic}.ht-wrap{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.ht-formula{color:var(--ink);text-align:center;font-size:.84rem}.ht-formula code{font-family:var(--font-mono);color:var(--muted)}.ht-bucket-num{color:var(--accent)}.ht-buckets{flex-wrap:wrap;justify-content:center;gap:.6rem;width:100%;display:flex}.ht-bucket{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--bg);flex-direction:column;gap:.4rem;min-width:74px;padding:.4rem;transition:border-color .25s,box-shadow .25s;display:flex}.ht-bucket[data-target=true]{border-color:var(--accent);box-shadow:var(--shadow-1)}.ht-index{font-family:var(--font-mono);color:var(--faint);text-align:center;font-size:.72rem}.ht-chain{flex-direction:column;align-items:center;gap:3px;min-height:34px;display:flex}.ht-chain-item{flex-direction:column;align-items:center;gap:1px;display:flex}.ht-node{background:var(--elevated);border:1.5px solid var(--border);min-width:46px;font-family:var(--font-mono);border-radius:6px;place-items:center;padding:.3rem .5rem;font-size:.78rem;font-weight:600;transition:background .25s,border-color .25s;display:grid}.ht-node[data-fresh=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ht-link{color:var(--faint);font-size:.8rem}.ht-nil{color:var(--faint);font-size:.9rem}.ht-stats{color:var(--muted);gap:1.4rem;font-size:.78rem;display:flex}.ht-stats strong{color:var(--ink)}.pf-wrap{flex-direction:column;align-items:center;gap:1.2rem;width:100%;display:flex}.pf-block{flex-direction:column;align-items:center;gap:.5rem;display:flex}.pf-label{color:var(--muted);font-size:.74rem}.pf-label code{font-family:var(--font-mono);color:var(--faint)}.cell[data-state=lo]{border-color:var(--good);background:color-mix(in srgb, var(--good) 15%, var(--surface));color:var(--good)}.cell[data-state=hi]{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 15%, var(--surface));color:var(--warn)}.pf-calc{flex-direction:column;align-items:center;gap:.3rem;font-size:.86rem;display:flex}.pf-calc code{font-family:var(--font-mono);color:var(--ink)}.pf-check{color:var(--good);font-size:.76rem}.pf-check[data-ok=false]{color:var(--bad)}.pf-slider{color:var(--muted);flex-direction:column;gap:.2rem;font-size:.76rem;display:flex}.rt-wrap{width:100%;overflow-x:auto}.rt-svg{width:100%;min-width:280px;height:auto}.rt-edge{stroke:var(--border);stroke-width:1.4px}.rt-node circle{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.6px;transition:fill .25s,stroke .25s}.rt-node text{fill:var(--accent-ink,var(--ink));text-anchor:middle;font-size:12px;font-weight:700}.rt-node[data-base=true] circle{fill:color-mix(in srgb, var(--good) 16%, var(--surface));stroke:var(--good)}.rt-node[data-cached=true] circle{fill:var(--hairline);stroke:var(--faint);stroke-dasharray:3 2}.rt-node[data-cached=true] text{fill:var(--faint)}.rt-check{color:var(--muted);cursor:pointer;align-items:center;gap:.35rem;font-size:.8rem;display:flex}.hp-wrap{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.hp-svg{width:100%;max-width:320px;height:auto}.hp-edge{stroke:var(--border);stroke-width:1.4px}.hp-node circle{fill:var(--elevated);stroke:var(--border);stroke-width:1.6px;transition:fill .25s,stroke .25s}.hp-node text{fill:var(--ink);text-anchor:middle;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.hp-node[data-active=true] circle{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2.4px}.hp-arr{gap:4px}.dp1-wrap{width:100%;overflow-x:auto}.dp1-row{justify-content:center;gap:6px;min-width:min-content;display:flex}.dp1-cell{border:1.5px solid var(--border);background:var(--elevated);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;min-width:46px;height:52px;font-weight:700;transition:background .3s,border-color .3s,color .3s;display:grid;position:relative}.dp1-cell[data-state=empty]{opacity:.4;color:var(--faint)}.dp1-cell[data-state=active]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.dp1-cell[data-state=source]{border-color:var(--good);background:color-mix(in srgb, var(--good) 15%, var(--surface));color:var(--good)}.dpg-wrap{flex-direction:column;align-items:center;gap:.8rem;display:flex}.dpg-grid{gap:5px;display:grid}.dpg-cell{border:1.5px solid var(--border);background:var(--elevated);font-variant-numeric:tabular-nums;border-radius:8px;place-items:center;height:46px;font-weight:700;transition:background .3s,border-color .3s,color .3s;display:grid}.dpg-cell[data-state=empty]{background:var(--bg);color:var(--faint);border-style:dashed}.dpg-cell[data-state=active]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.dpg-cell[data-state=source]{border-color:var(--good);background:color-mix(in srgb, var(--good) 15%, var(--surface));color:var(--good)}.dpg-caption{color:var(--muted);font-size:.86rem}.dpg-caption strong{color:var(--ink)}.uf-wrap{flex-direction:column;align-items:center;gap:1.2rem;width:100%;display:flex}.uf-sets{flex-wrap:wrap;justify-content:center;gap:.7rem;min-height:48px;display:flex}.uf-set{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--bg);gap:5px;padding:.45rem;display:flex}.uf-chip{font-variant-numeric:tabular-nums;border:1.5px solid;border-radius:7px;place-items:center;width:32px;height:32px;font-weight:700;transition:transform .2s;display:grid}.uf-chip[data-active=true]{box-shadow:var(--shadow-1);transform:translateY(-3px)}.uf-parent{flex-direction:column;align-items:center;gap:.4rem;display:flex}.uf-parent-label{font-family:var(--font-mono);color:var(--muted);font-size:.72rem}.gi-track{flex-direction:column;gap:4px;width:100%;display:flex;position:relative}.gi-lane{background:var(--bg);border:1px solid var(--hairline);border-radius:5px;height:26px;position:relative}.gi-bar{font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--faint) 28%, var(--surface));border:1.5px solid var(--faint);height:20px;color:var(--muted);border-radius:4px;place-items:center;font-size:.66rem;font-weight:600;transition:left .3s,width .3s;display:grid;position:absolute;top:3px}.gi-bar[data-tone=pick]{background:color-mix(in srgb, var(--good) 18%, var(--surface));border-color:var(--good);color:var(--good)}.gi-bar[data-tone=consider]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.gi-bar[data-tone=skip]{background:color-mix(in srgb, var(--bad) 14%, var(--surface));border-color:var(--bad);color:var(--bad)}.gi-bar[data-tone=dim]{opacity:.4}.gi-cursor{border-left:2px dashed var(--accent);pointer-events:none;width:0;position:absolute;top:1.5rem;bottom:.4rem}.qv-wrap{flex-direction:column;align-items:center;gap:1rem;display:flex}.qv-ring{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.qv-slot{border:1.5px solid var(--border);background:var(--elevated);border-radius:10px;place-items:center;width:52px;height:52px;transition:background .3s,border-color .3s;display:grid;position:relative}.qv-slot[data-state=active]{border-color:var(--accent);background:var(--accent-soft)}.qv-val{font-size:1rem;font-weight:700}.qv-ptrs{gap:3px;display:flex;position:absolute;bottom:-1.4rem}.qv-ptr{font-size:.68rem;font-weight:800}.qv-ptr[data-kind=head]{color:var(--good)}.qv-ptr[data-kind=tail]{color:var(--warn)}.qv-meta{color:var(--muted);margin-top:.8rem;font-size:.82rem}.qv-meta strong{color:var(--ink)}.bit-wrap{flex-direction:column;gap:.7rem;width:100%;max-width:460px;margin:0 auto;display:flex}.bit-row{grid-template-columns:2.4rem 1fr 3rem;align-items:center;gap:.6rem;display:grid}.bit-label{font-family:var(--font-mono);color:var(--muted);font-size:.9rem;font-weight:700}.bit-cells{justify-content:center;gap:4px;display:flex}.bit-cell{border:1.5px solid var(--border);background:var(--bg);width:34px;height:34px;color:var(--faint);font-family:var(--font-mono);border-radius:6px;place-items:center;font-size:.9rem;font-weight:700;transition:background .2s,color .2s,border-color .2s;display:grid}button.bit-cell{cursor:pointer}.bit-cell[data-on=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.bit-cell[data-tone=result][data-on=true]{background:color-mix(in srgb, var(--good) 18%, var(--surface));border-color:var(--good);color:var(--good)}.bit-dec{font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;font-weight:700}.bit-ops{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:center;gap:3px;padding:.4rem 0;display:flex}.bit-note{color:var(--muted);text-align:center;font-size:.8rem}.bit-note code{font-family:var(--font-mono);color:var(--ink)}.as-wrap{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.as-msg{color:var(--muted);text-align:center;min-height:1.4rem;font-size:.84rem}button.cell{cursor:pointer;font:inherit}.trie-wrap{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.trie-input{flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;display:flex}.trie-input label{color:var(--muted);align-items:center;gap:.4rem;font-size:.82rem;display:flex}.trie-input input{border:1.5px solid var(--border);background:var(--bg);width:6rem;color:var(--ink);font-family:var(--font-mono);border-radius:7px;padding:.3rem .5rem;font-size:.9rem}.trie-input input:focus{border-color:var(--accent);outline:none}.trie-status{background:var(--hairline);color:var(--muted);border-radius:999px;padding:.2rem .55rem;font-size:.76rem;font-weight:600}.trie-status[data-kind=word]{background:color-mix(in srgb, var(--good) 16%, var(--surface));color:var(--good)}.trie-status[data-kind=prefix]{background:var(--accent-soft);color:var(--accent)}.trie-status[data-kind=miss]{background:color-mix(in srgb, var(--bad) 14%, var(--surface));color:var(--bad)}.trie-tree{flex-direction:column;align-self:flex-start;gap:4px;display:flex}.trie-root{font-family:var(--font-mono);color:var(--faint);font-size:.74rem}.trie-children{border-left:1.5px solid var(--hairline);flex-direction:column;gap:3px;margin-left:.5rem;padding-left:1.1rem;display:flex}.trie-branch{flex-direction:column;gap:3px;display:flex}.trie-node{border:1.5px solid var(--border);background:var(--elevated);min-width:1.9rem;height:1.9rem;font-family:var(--font-mono);border-radius:7px;align-self:flex-start;align-items:center;gap:3px;padding:0 .5rem;font-size:.86rem;font-weight:700;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.trie-node[data-onpath=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.trie-node[data-tip=true]{box-shadow:var(--shadow-1)}.trie-end{color:var(--good);font-size:.6rem}.pm-wrap{flex-direction:column;gap:.7rem;width:100%;display:flex}.pm-search{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--bg);width:100%;color:var(--ink);padding:.55rem .8rem;font-size:.9rem}.pm-search:focus{border-color:var(--accent);outline:none}.pm-tags{flex-wrap:wrap;gap:3px;display:flex}.pm-list{flex-direction:column;gap:5px;max-height:340px;padding-right:2px;display:flex;overflow-y:auto}.pm-row{text-align:left;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--elevated);cursor:pointer;padding:.55rem .7rem;transition:border-color .2s,background .2s}.pm-row:hover{border-color:var(--accent)}.pm-row[data-open=true]{border-color:var(--accent);background:var(--accent-soft)}.pm-head{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.pm-cue{color:var(--ink);font-size:.84rem;line-height:1.35}.pm-tech{color:var(--accent);background:var(--surface);border:1.5px solid var(--accent);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.2rem .6rem;font-size:.76rem;font-weight:700}.pm-why{border-top:1px dashed var(--border);color:var(--muted);margin-top:.5rem;padding-top:.5rem;font-size:.8rem;line-height:1.45}.pm-empty{text-align:center;color:var(--faint);padding:1rem;font-size:.84rem}.sw-wrap{flex-direction:column;gap:1rem;width:100%;display:flex}.sw-levels{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.sw-bars{flex-direction:column;gap:.6rem;display:flex}.sw-bar-row{grid-template-columns:7.5rem 1fr 2.6rem;align-items:center;gap:.7rem;display:grid}.sw-axis{color:var(--muted);text-align:right;font-size:.8rem}.sw-track{background:var(--hairline);border-radius:5px;height:20px;overflow:hidden}.sw-fill{background:var(--accent);border-radius:5px;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1)}.sw-fill[data-key=design]{background:var(--good)}.sw-fill[data-key=ml]{background:var(--warn)}.sw-fill[data-key=behavioral]{background:#8b5cf6}.sw-pct{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:700}.sw-note{color:var(--muted);text-align:center;min-height:2.4rem;margin:0;font-size:.84rem}.th-wrap{flex-direction:column;gap:.8rem;width:100%;display:flex}.th-hist{border-bottom:1.5px solid var(--border);align-items:flex-end;gap:2px;height:150px;padding:0 2px;display:flex;position:relative}.th-col{flex-direction:column-reverse;flex:1;justify-content:flex-start;height:100%;display:flex;position:relative}.th-seg{width:100%;transition:opacity .2s}.th-pos{background:var(--good);border-radius:3px 3px 0 0}.th-neg{background:var(--faint)}.th-seg[data-active=false]{opacity:.4}.th-line{border-left:2px dashed var(--accent);pointer-events:none;width:0;position:absolute;top:-6px;bottom:0}.th-line-label{color:var(--accent);white-space:nowrap;font-size:.64rem;font-weight:600;position:absolute;top:-1.1rem;left:4px}.th-cols{flex-wrap:wrap;justify-content:center;gap:1.2rem;display:flex}.th-matrix{grid-template-columns:repeat(2,62px);grid-auto-rows:44px;gap:4px;display:grid}.th-cell{border:1.5px solid var(--border);color:var(--muted);border-radius:7px;flex-direction:column;justify-content:center;align-items:center;font-size:.64rem;display:flex}.th-cell strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.95rem}.th-cell[data-kind=tp]{background:color-mix(in srgb, var(--good) 15%, var(--surface));border-color:var(--good)}.th-cell[data-kind=tn]{background:color-mix(in srgb, var(--muted) 12%, var(--surface))}.th-cell[data-kind=fp],.th-cell[data-kind=fn]{background:color-mix(in srgb, var(--bad) 12%, var(--surface));border-color:color-mix(in srgb, var(--bad) 50%, var(--border))}.th-metrics{flex-direction:column;flex:1;gap:.5rem;min-width:200px;display:flex}.th-metric-head{color:var(--muted);justify-content:space-between;font-size:.78rem;display:flex}.th-metric-head strong{color:var(--ink);font-variant-numeric:tabular-nums}.th-metric-track{background:var(--hairline);border-radius:4px;height:8px;margin:2px 0;overflow:hidden}.th-metric-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .2s}.th-metric-fill[data-key=recall]{background:var(--good)}.th-metric-fill[data-key=f1]{background:var(--warn)}.th-metric-hint{color:var(--faint);font-size:.68rem}.demo-track{justify-content:center;align-items:center;gap:.5rem;padding:1.75rem .5rem;display:flex}.demo-slot{border-radius:var(--radius-sm);background:var(--accent-soft);place-items:center;width:2.25rem;height:2.25rem;transition:transform .18s,background .18s;display:grid}.demo-slot[data-on=true]{background:color-mix(in srgb, var(--accent) 22%, transparent);transform:translateY(-6px)}.demo-dot{background:0 0;border-radius:50%;width:.85rem;height:.85rem;transition:background .18s,box-shadow .18s}.demo-slot[data-on=true] .demo-dot{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent)}.problem{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:1.05rem 1.2rem 1.15rem}.prose .problem{margin-top:1.7em}.problem-head{flex-direction:column;gap:.5rem;display:flex}.problem-badges{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.problem-source{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);background:var(--bg);border:1px solid var(--hairline);border-radius:5px;padding:.15em .55em;font-size:.72rem}.problem-diff{letter-spacing:0;border:1px solid #0000;border-radius:5px;padding:.18em .6em;font-size:.72rem;font-weight:600}.diff-easy{color:#2f7d52;background:color-mix(in srgb, var(--good) 9%, transparent);border-color:color-mix(in srgb, var(--good) 26%, transparent)}.diff-medium{color:#916012;background:color-mix(in srgb, var(--warn) 10%, transparent);border-color:color-mix(in srgb, var(--warn) 28%, transparent)}.diff-hard{color:#b1303f;background:#c0392b17;border-color:#c0392b42}[data-theme=dark] .diff-easy{color:#6fdca2}[data-theme=dark] .diff-medium{color:#e7b768}[data-theme=dark] .diff-hard{color:#f2879a}.problem-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.12rem;font-weight:560;line-height:1.25}.problem-tags{flex-wrap:wrap;gap:.35rem;display:flex;margin:0!important;padding:0!important;list-style:none!important}.problem-tags li{color:var(--muted);background:var(--hairline);border-radius:4px;padding:.12em .5em;font-size:.7rem;margin:0!important}.problem-body{margin-top:.95rem}.problem-body>*+*{margin-top:.9em}.solution{border-top:1px dashed var(--border);margin-top:1rem;padding-top:.85rem}.solution-summary{cursor:pointer;color:var(--accent);user-select:none;align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;list-style:none;display:inline-flex}.solution-summary::-webkit-details-marker{display:none}.solution-caret{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid;width:0;height:0;transition:transform .15s}.solution[open] .solution-caret{transform:rotate(90deg)}.solution-body{margin-top:.95rem}.solution-body>*+*{margin-top:.9em}.callout{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:.9rem 1.05rem .95rem}.prose .callout{margin-top:1.5em}.callout-head{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.callout-icon{width:16px;height:16px;color:var(--muted);flex:none}.callout-title{font-family:var(--font-display);letter-spacing:-.005em;color:var(--ink);margin:0;font-size:.95rem;font-weight:560;line-height:1.2}.callout-body>*{margin:0}.callout-body>*+*{margin-top:.6em}.callout-pattern,.callout-insight,.callout-variations{background:color-mix(in srgb, var(--accent) 4%, var(--surface))}.callout-pattern .callout-icon,.callout-insight .callout-icon,.callout-variations .callout-icon{color:var(--accent)}.callout-tip{background:color-mix(in srgb, var(--good) 5%, var(--surface))}.callout-tip .callout-icon{color:var(--good)}.callout-pitfall{background:color-mix(in srgb, var(--warn) 6%, var(--surface))}.callout-pitfall .callout-icon{color:var(--warn)}
