@font-face{font-family:Determination;src:url(/fonts/Determination.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#0f141b;--bg-panel:#151b24;--bg-elev:#1c232e;--border:#29323f;--border-bright:#3a4553;--fg:#a7aeb8;--fg-dim:#79808c;--muted:#545b66;--font-display:"Determination", ui-monospace, "JetBrains Mono", monospace;--accent:#4bd6a0;--accent-dim:#1f6b50;--amber:#e0b24d;--bad:#f0655c;--good:#4bd6a0;--warn:#e0b24d;--code-bg:#0b0f15;--glow-accent:0 0 4px #4bd6a038;--glow-text:none;--radius:0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:ui-monospace,JetBrains Mono,Fira Code,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px}*{box-sizing:border-box}:where(*):not(.rounded-keep){border-radius:0!important}html,body,#root{height:100%;margin:0}@keyframes lll-flicker{0%,96%,to{opacity:1}97%{opacity:.86}98%{opacity:.97}99%{opacity:.9}}@media (prefers-reduced-motion:reduce){body:after{animation:none}}code,pre,kbd,samp{font-family:ui-monospace,JetBrains Mono,Fira Code,SFMono-Regular,Menlo,Consolas,monospace}button,input,select,textarea{color:inherit;font-family:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-synthesis:none;text-shadow:var(--glow-text);letter-spacing:.02em;font-weight:400}a{color:var(--accent);text-shadow:var(--glow-text);text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}::selection{background:var(--accent);color:#041a11;text-shadow:none}*{scrollbar-width:thin;scrollbar-color:var(--accent-dim) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--accent-dim);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.term-cursor:after{content:"█";color:var(--accent);text-shadow:var(--glow-accent);margin-left:.1em;animation:1.05s step-end infinite lll-blink;display:inline-block}@keyframes lll-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.term-cursor:after{animation:none}}.term-prompt:before{content:"root@lll:~$ ";color:var(--accent);text-shadow:var(--glow-accent);white-space:pre}.glitch:hover{animation:.24s steps(2,end) lll-glitch}@keyframes lll-glitch{0%{transform:translate(0)}25%{transform:translate(-1px,1px)}50%{transform:translate(1px,-1px)}75%{transform:translate(-1px)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.glitch:hover{animation:none}}@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-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--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-outline-style:solid;--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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-mono:ui-monospace, "JetBrains Mono", "Fira Code", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-bg:#0f141b;--color-panel:#151b24;--color-elev:#1c232e;--color-line:#29323f;--color-fg:#e6ebf2;--color-fg-dim:#9aa7b8;--color-muted:#616f82;--color-accent:#4bd6a0;--color-amber:#e0b24d;--color-bad:#f0655c;--color-warn:#e0b24d;--color-code-bg:#0b0f15;--font-display:"Determination", ui-monospace, "JetBrains Mono", monospace}}@layer base,components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.-top-16{top:calc(var(--spacing) * -16)}.top-4{top:calc(var(--spacing) * 4)}.-right-16{right:calc(var(--spacing) * -16)}.right-4{right:calc(var(--spacing) * 4)}.z-50{z-index:50}.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}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-48{height:calc(var(--spacing) * 48)}.h-full{height:100%}.min-h-\[30vh\]{min-height:30vh}.min-h-\[40vh\]{min-height:40vh}.min-h-screen{min-height:100vh}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-48{width:calc(var(--spacing) * 48)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[1100px\]{max-width:1100px}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:var(--spacing)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent\/30{border-color:#4bd6a04d}@supports (color:color-mix(in lab, red, red)){.border-accent\/30{border-color:color-mix(in oklab, var(--color-accent) 30%, transparent)}}.border-accent\/40{border-color:#4bd6a066}@supports (color:color-mix(in lab, red, red)){.border-accent\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-accent\/60{border-color:#4bd6a099}@supports (color:color-mix(in lab, red, red)){.border-accent\/60{border-color:color-mix(in oklab, var(--color-accent) 60%, transparent)}}.border-amber\/30{border-color:#e0b24d4d}@supports (color:color-mix(in lab, red, red)){.border-amber\/30{border-color:color-mix(in oklab, var(--color-amber) 30%, transparent)}}.border-bad\/30{border-color:#f0655c4d}@supports (color:color-mix(in lab, red, red)){.border-bad\/30{border-color:color-mix(in oklab, var(--color-bad) 30%, transparent)}}.border-line{border-color:var(--color-line)}.border-line\/60{border-color:#29323f99}@supports (color:color-mix(in lab, red, red)){.border-line\/60{border-color:color-mix(in oklab, var(--color-line) 60%, transparent)}}.border-warn\/30{border-color:#e0b24d4d}@supports (color:color-mix(in lab, red, red)){.border-warn\/30{border-color:color-mix(in oklab, var(--color-warn) 30%, transparent)}}.border-warn\/40{border-color:#e0b24d66}@supports (color:color-mix(in lab, red, red)){.border-warn\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.bg-accent{background-color:var(--color-accent)}.bg-accent\/10{background-color:#4bd6a01a}@supports (color:color-mix(in lab, red, red)){.bg-accent\/10{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.bg-accent\/15{background-color:#4bd6a026}@supports (color:color-mix(in lab, red, red)){.bg-accent\/15{background-color:color-mix(in oklab, var(--color-accent) 15%, transparent)}}.bg-amber\/10{background-color:#e0b24d1a}@supports (color:color-mix(in lab, red, red)){.bg-amber\/10{background-color:color-mix(in oklab, var(--color-amber) 10%, transparent)}}.bg-bad\/10{background-color:#f0655c1a}@supports (color:color-mix(in lab, red, red)){.bg-bad\/10{background-color:color-mix(in oklab, var(--color-bad) 10%, transparent)}}.bg-bg\/40{background-color:#0f141b66}@supports (color:color-mix(in lab, red, red)){.bg-bg\/40{background-color:color-mix(in oklab, var(--color-bg) 40%, transparent)}}.bg-bg\/60{background-color:#0f141b99}@supports (color:color-mix(in lab, red, red)){.bg-bg\/60{background-color:color-mix(in oklab, var(--color-bg) 60%, transparent)}}.bg-bg\/70{background-color:#0f141bb3}@supports (color:color-mix(in lab, red, red)){.bg-bg\/70{background-color:color-mix(in oklab, var(--color-bg) 70%, transparent)}}.bg-code-bg{background-color:var(--color-code-bg)}.bg-elev{background-color:var(--color-elev)}.bg-elev\/95{background-color:#1c232ef2}@supports (color:color-mix(in lab, red, red)){.bg-elev\/95{background-color:color-mix(in oklab, var(--color-elev) 95%, transparent)}}.bg-panel{background-color:var(--color-panel)}.bg-panel\/40{background-color:#151b2466}@supports (color:color-mix(in lab, red, red)){.bg-panel\/40{background-color:color-mix(in oklab, var(--color-panel) 40%, transparent)}}.bg-transparent{background-color:#0000}.bg-warn\/10{background-color:#e0b24d1a}@supports (color:color-mix(in lab, red, red)){.bg-warn\/10{background-color:color-mix(in oklab, var(--color-warn) 10%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-accent\/10{--tw-gradient-from:#4bd6a01a}@supports (color:color-mix(in lab, red, red)){.from-accent\/10{--tw-gradient-from:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.from-accent\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-accent\/\[0\.12\]{--tw-gradient-from:#4bd6a01f}@supports (color:color-mix(in lab, red, red)){.from-accent\/\[0\.12\]{--tw-gradient-from:color-mix(in oklab, var(--color-accent) 12%, transparent)}}.from-accent\/\[0\.12\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-elev{--tw-gradient-via:var(--color-elev);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-panel{--tw-gradient-to:var(--color-panel);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-0{padding:0}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:var(--spacing)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.font-\[inherit\]{font-family:inherit}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-\[\#06231a\]{color:#06231a}.text-\[\#06231a\]\!{color:#06231a!important}.text-accent{color:var(--color-accent)}.text-amber{color:var(--color-amber)}.text-bad{color:var(--color-bad)}.text-black{color:var(--color-black)}.text-fg{color:var(--color-fg)}.text-fg-dim{color:var(--color-fg-dim)}.text-line{color:var(--color-line)}.text-muted{color:var(--color-muted)}.text-muted\/50{color:#616f8280}@supports (color:color-mix(in lab, red, red)){.text-muted\/50{color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}.text-warn{color:var(--color-warn)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.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,)}.no-underline\!{text-decoration-line:none!important}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(90\,209\,160\,0\.15\)\,0_12px_40px_-16px_rgba\(90\,209\,160\,0\.35\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#5ad1a026), 0 12px 40px -16px var(--tw-shadow-color,#5ad1a059);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_8px_30px_-12px_rgba\(90\,209\,160\,0\.7\)\]{--tw-shadow:0 8px 30px -12px var(--tw-shadow-color,#5ad1a0b3);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--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)}.shadow-black\/50{--tw-shadow-color:#00000080}@supports (color:color-mix(in lab, red, red)){.shadow-black\/50{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 50%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-accent\/40{--tw-ring-color:#4bd6a066}@supports (color:color-mix(in lab, red, red)){.ring-accent\/40{--tw-ring-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.ring-line{--tw-ring-color:var(--color-line)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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,-webkit-backdrop-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))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[font-synthesis\:none\]{font-synthesis:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:-translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-accent:is(:where(.group):hover *){color:var(--color-accent)}}.placeholder\:text-muted::placeholder{color:var(--color-muted)}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-accent\/40:hover{border-color:#4bd6a066}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.hover\:border-accent\/50:hover{border-color:#4bd6a080}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/50:hover{border-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\:border-accent\/60:hover{border-color:#4bd6a099}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/60:hover{border-color:color-mix(in oklab, var(--color-accent) 60%, transparent)}}.hover\:bg-elev:hover{background-color:var(--color-elev)}.hover\:bg-white\/\[0\.07\]:hover{background-color:#ffffff12}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.07\]:hover{background-color:color-mix(in oklab, var(--color-white) 7.0%, transparent)}}.hover\:text-fg:hover{color:var(--color-fg)}.hover\:text-fg-dim:hover{color:var(--color-fg-dim)}.hover\:shadow-\[0_12px_40px_-16px_rgba\(0\,0\,0\,0\.7\)\]:hover{--tw-shadow:0 12px 40px -16px var(--tw-shadow-color,#000000b3);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-\[0_16px_50px_-20px_rgba\(90\,209\,160\,0\.4\)\]:hover{--tw-shadow:0 16px 50px -20px var(--tw-shadow-color,#5ad1a066);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);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,)}.hover\:brightness-125:hover{--tw-brightness:brightness(125%);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,)}}.focus\:border-accent\/50:focus{border-color:#4bd6a080}@supports (color:color-mix(in lab, red, red)){.focus\:border-accent\/50:focus{border-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.focus\:ring-1:focus{--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)}.focus\:ring-accent\/30:focus{--tw-ring-color:#4bd6a04d}@supports (color:color-mix(in lab, red, red)){.focus\:ring-accent\/30:focus{--tw-ring-color:color-mix(in oklab, var(--color-accent) 30%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=40rem){.sm\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.app{background:0 0;grid-template-rows:minmax(0,1fr);grid-template-columns:300px minmax(0,1fr) minmax(420px,44%);height:100vh;display:grid;overflow:hidden}@media (width<=1100px){.app{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.app .sidebar{display:none}.main,.rightpane{grid-column:1}.app.m-steps .rightpane,.app.m-env .main,.app.m-env .mobile-tabs{display:none}}.mobile-tabs,.tab-steps{display:none}@media (width<=1100px){.rightpane .tab-steps{display:inline-flex}.mobile-tabs{background:#0b0f15;border-bottom:1px solid #4bd6a02e;align-items:stretch;gap:.25rem;padding:.4rem .5rem;display:flex}.mobile-tabs .mtab{appearance:none;color:#9fb0c3;font:inherit;cursor:pointer;background:0 0;border:1px solid #4bd6a02e;border-radius:.5rem;flex:1;padding:.55rem .5rem;font-size:.9rem;font-weight:600}.mobile-tabs .mtab.active{color:#d3dbe6;background:#4bd6a01f;border-color:#4bd6a080}.mobile-tabs .mtab-exit{appearance:none;color:#9fb0c3;font:inherit;cursor:pointer;background:0 0;border:1px solid #4bd6a02e;border-radius:.5rem;padding:0 .85rem;font-size:1.1rem;line-height:1}}.rotate-hint{display:none}@media (width<=1100px) and (orientation:portrait){.term .rotate-hint{color:#e0b24d;background:#e0b24d14;border-bottom:1px solid #e0b24d2e;margin:0;padding:.4rem .75rem;font-size:.8rem;display:block}}.loading,.error-screen{height:100vh;color:var(--fg-dim);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.error-screen h2{color:var(--fg)}.sidebar{background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;padding:1.25rem 1rem;display:flex;overflow-y:auto}.reset-link{color:var(--muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-top:auto;padding:.9rem .2rem .1rem;font-size:.78rem}.reset-link:hover{color:#e5534b}.modal-overlay{z-index:10001;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;width:100%;max-width:26rem;padding:1.25rem 1.25rem 1rem;box-shadow:0 18px 50px #00000080}.modal h3{color:var(--fg);margin:0 0 .5rem}.modal p{color:var(--fg-dim);margin:0 0 1.1rem;font-size:.9rem;line-height:1.5}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.brand{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);justify-content:space-between;align-items:center;font-size:.78rem;font-weight:600;display:flex}.tier{background:var(--accent-dim);color:#d7fff0;border-radius:999px;padding:.1rem .55rem;font-size:.66rem}.ch-title{margin:.9rem 0 .5rem;font-size:1.3rem;line-height:1.2}.difficulty{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);color:var(--fg-dim);border-radius:4px;padding:.12rem .5rem;font-size:.7rem;display:inline-block}.difficulty.medium{color:var(--warn)}.difficulty.hard,.difficulty.insane{color:var(--bad)}.summary{color:var(--fg-dim);margin:.75rem 0 1rem;font-size:.85rem;line-height:1.5}.score{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;margin-bottom:1.2rem;padding:.7rem .8rem}.score-row{color:var(--fg-dim);justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;display:flex}.score-row strong{color:var(--fg)}.bar{background:#0c0f17;border-radius:999px;height:6px;overflow:hidden}.bar-fill{background:linear-gradient(90deg, var(--accent-dim), var(--accent));height:100%;transition:width .4s}.rail ol{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.rail-item{cursor:pointer;text-align:left;width:100%;color:var(--fg-dim);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.6rem;padding:.55rem .6rem;display:flex}.rail-item:hover:not(:disabled){background:var(--bg-elev)}.rail-item.selected{background:var(--bg-elev);border-color:var(--border)}.rail-item:disabled{cursor:default;opacity:.55}.rail-item.passed .rail-title{color:var(--fg)}.marker{border:1px solid var(--border);height:1.5rem;color:var(--fg-dim);background:#0c0f17;border-radius:50%;flex:0 0 1.5rem;place-items:center;font-size:.78rem;display:grid}.marker.active{border-color:var(--accent);color:var(--accent)}.marker.passed{background:var(--accent-dim);border-color:var(--accent);color:#d7fff0}.rail-text{flex-direction:column;display:flex}.rail-title{font-size:.9rem}.rail-meta{color:var(--muted);font-size:.7rem}.main{padding:1.5rem 2rem 4rem;overflow-y:auto}body{background:0 0}body:before{content:"";z-index:-1;pointer-events:none;background-color:var(--bg);background-image:radial-gradient(58rem 40rem at 12% -8%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 55%), radial-gradient(52rem 42rem at 108% 4%, #58a6ff12, transparent 55%), linear-gradient(#ffffff06 1px, transparent 1px), linear-gradient(90deg, #ffffff06 1px, transparent 1px);background-size:100% 100%,100% 100%,34px 34px,34px 34px;animation:30s ease-in-out infinite alternate lll-bg-drift;position:fixed;inset:0}@keyframes lll-bg-drift{0%{background-position:0 0,100% 0,0 0,0 0}to{background-position:7% 5%,94% 4%,0 0,0 0}}@media (prefers-reduced-motion:reduce){body:before{animation:none}}.panel{max-width:760px;margin:0 auto}.panel-head{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.panel-head h2{margin:0;font-size:1.5rem}.status-pill{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);color:var(--fg-dim);border-radius:999px;padding:.15rem .55rem;font-size:.68rem}.status-pill.active{color:var(--accent);border-color:var(--accent-dim)}.status-pill.passed{color:#d7fff0;background:var(--accent-dim);border-color:var(--accent)}.markdown{line-height:1.65}.markdown :is(h1,h2,h3,h4){color:#eaf6f0;line-height:1.3}.markdown :is(h1,h2){border-bottom:1px solid var(--border);padding-bottom:.3rem}.markdown h3{color:var(--accent)}.markdown a{color:var(--accent);border-bottom:1px solid var(--accent-dim);text-decoration:none}.markdown a:hover{border-bottom-color:var(--accent)}.markdown strong{color:#f2f7ff;font-weight:650}.markdown em{color:var(--warn)}.markdown code{background:var(--code-bg);border:1px solid var(--border);color:var(--accent);border-radius:4px;padding:.05rem .35rem;font-size:.85em}.markdown pre{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:.9rem 1rem;overflow-x:auto}.markdown pre code{color:var(--fg);background:0 0;border:none;padding:0}.markdown :is(ul,ol){padding-left:1.3rem}.markdown li{margin:.2rem 0}.markdown li::marker{color:var(--accent)}.markdown hr{border:none;border-top:1px solid var(--border);margin:1.4rem 0}.markdown blockquote{border-left:3px solid var(--accent-dim);color:var(--fg-dim);margin:1rem 0;padding:.3rem 0 .3rem 1rem}.markdown table{border-collapse:collapse;margin:1rem 0;font-size:.92em}.markdown :is(th,td){border:1px solid var(--border);text-align:left;padding:.35rem .7rem}.markdown th{background:var(--bg-elev);color:var(--accent)}.markdown .callout{--callout:var(--accent);border:1px solid var(--border);border-left:3px solid var(--callout);background:linear-gradient(0deg, color-mix(in srgb, var(--callout) 7%, transparent), transparent), var(--bg-panel);border-radius:8px;margin:1.1rem 0;padding:.7rem 1rem}.markdown .callout>:first-child{margin-top:0}.markdown .callout>:last-child{margin-bottom:0}.markdown .callout-title{letter-spacing:.04em;text-transform:uppercase;color:var(--callout);align-items:center;gap:.45rem;margin:0 0 .4rem;font-size:.82rem;font-weight:650;display:flex}.markdown .callout :is(p,ul,ol){color:var(--fg)}.markdown .callout code{color:var(--callout)}.markdown .callout-note,.markdown .callout-info{--callout:#58a6ff}.markdown .callout-tip,.markdown .callout-success{--callout:var(--good)}.markdown .callout-important{--callout:#c08bff}.markdown .callout-warning,.markdown .callout-caution{--callout:var(--warn)}.markdown .callout-danger{--callout:var(--bad)}.hints{border-top:1px solid var(--border);margin-top:1.75rem;padding-top:1rem}.hints h3{color:var(--fg-dim);margin:0 0 .6rem;font-size:.95rem}.hints ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.hint-reveal{background:var(--bg-elev);border:1px dashed var(--border);color:var(--fg-dim);cursor:pointer;border-radius:8px;padding:.55rem .8rem;font-size:.85rem}.hint-reveal:hover:not(:disabled){border-color:var(--accent-dim);color:var(--fg)}.hint-reveal:disabled{opacity:.5;cursor:not-allowed}.hint.revealed .hint-body{background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid var(--warn);border-radius:6px;padding:.2rem .9rem;font-size:.9rem}.action{margin-top:1.75rem}button.primary{background:var(--accent);color:#06241a;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.1rem;font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.08)}button.primary:disabled{opacity:.45;cursor:not-allowed}button.ghost{border:1px solid var(--border);color:var(--fg-dim);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem .9rem;font-size:.85rem}button.ghost:hover:not(:disabled){border-color:var(--accent-dim);color:var(--fg)}button.ghost:disabled{opacity:.4;cursor:not-allowed}.submit label{color:var(--fg-dim);margin-bottom:.4rem;font-size:.8rem;display:block}.submit-row{gap:.5rem;display:flex}.submit-row input{background:var(--code-bg);border:1px solid var(--border);color:var(--fg);border-radius:8px;flex:1;padding:.6rem .8rem;font-family:ui-monospace,monospace}.submit-row input:focus{border-color:var(--accent-dim);outline:none}.choices{border:none;flex-direction:column;gap:.4rem;margin:0 0 .6rem;padding:0;display:flex}.choices:disabled{opacity:.6}.choice{background:var(--code-bg);border:1px solid var(--border);cursor:pointer;color:var(--fg);border-radius:8px;align-items:flex-start;gap:.55rem;padding:.55rem .7rem;font-size:.9rem;transition:border-color .12s;display:flex}.choice:hover{border-color:var(--accent-dim)}.choice.sel{border-color:var(--accent);background:#5ad1a014}.choice input[type=radio]{accent-color:var(--accent);flex:none;margin-top:.15rem}.fill{color:var(--fg);margin-bottom:.6rem;font-size:.92rem;line-height:2.2}.fill-seg{white-space:pre-wrap}.fill-input{background:var(--code-bg);border:none;border-bottom:2px solid var(--accent-dim);width:8ch;color:var(--accent);text-align:center;border-radius:4px 4px 0 0;flex:none;margin:0 .25rem;padding:.1rem .4rem;font-family:ui-monospace,monospace}.fill-input:focus{border-bottom-color:var(--accent);background:#5ad1a00f;outline:none}.submit-meta{gap:1rem;margin-top:.55rem;font-size:.82rem;display:flex}.good{color:var(--good)}.bad{color:var(--bad)}.muted{color:var(--muted)}.done{color:var(--good);font-weight:600}.continue-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.monitor{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:1rem}.monitor-status{color:var(--fg);align-items:center;gap:.6rem;display:flex}.monitor .muted{margin:.5rem 0 1rem;font-size:.82rem}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.completion{background:var(--accent-dim);color:#eafff7;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:760px;margin:0 auto 1.25rem;padding:.8rem 1rem;display:flex}.completion-actions .primary{color:#0a2a20;cursor:pointer;white-space:nowrap;background:#eafff7;border:none;border-radius:6px;padding:.45rem .9rem;font-weight:600}.completion-actions .primary:hover{background:#fff}.rating-box{border-top:1px solid #eafff740;flex-direction:column;flex-basis:100%;align-items:flex-start;gap:.45rem;padding-top:.7rem;display:flex}.rating-prompt{font-size:.9rem;font-weight:600}.rating-comment{color:#eafff7;width:100%;max-width:420px;font:inherit;resize:vertical;background:#00000040;border:1px solid #eafff74d;border-radius:6px;padding:.4rem .55rem;font-size:.85rem}.rating-comment::placeholder{color:#eafff78c}.rating-error{color:#ffd7d7;font-size:.82rem}.rating-submit{align-self:flex-start;padding:.35rem .75rem;font-size:.82rem}.star-rating{gap:.15rem;display:inline-flex}.star{cursor:pointer;color:#eafff759;background:0 0;border:none;padding:0 .05rem;font-size:1.4rem;line-height:1;transition:color .1s,transform .1s}.star.on{color:#ffd049}.star:hover{transform:scale(1.12)}.stars-static{color:var(--muted);letter-spacing:1px}.stars-static .on{color:#ffd049}.error-bar{max-width:760px;color:var(--bad);background:#2a1417;border:1px solid #5a2a2f;border-radius:8px;margin:0 auto 1rem;padding:.6rem 1rem;font-size:.85rem}.paywall-guard{position:relative}.paywall-guard>[inert]{opacity:.55;filter:grayscale(.3)}.paywall-overlay{z-index:5;cursor:pointer;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.term{border-left:1px solid var(--border);background:#0d1018;flex-direction:column;min-width:0;display:flex}.term-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);justify-content:space-between;align-items:center;padding:.55rem .8rem;display:flex}.term-title{color:var(--fg-dim);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.env-dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.env-label{text-transform:none;letter-spacing:0;color:var(--muted);font-size:.72rem}.term-actions button{padding:.35rem .7rem;font-size:.78rem}.term-idle{color:var(--fg-dim);padding:1.5rem}.term-idle .muted{font-size:.85rem;line-height:1.5}.xterm-host{flex:1;min-height:0;padding:.4rem .2rem .2rem .6rem}.xterm-host .xterm{height:100%}.catalog-page,.page-with-nav{flex-direction:column;min-height:100vh;display:flex}.catalog{max-width:1100px;margin:0 auto;padding:2.5rem 2rem 4rem}.catalog-head{margin-bottom:2rem}.catalog-head h1{margin:.4rem 0 .2rem;font-size:2rem}.catalog-head .brand{align-items:center;gap:.5rem;display:inline-flex}.brand-logo{color:var(--accent);flex:none;font-size:22px}.brand-logo.sm{font-size:16px}.brand-name{align-items:center;gap:.4rem;display:inline-flex}.cat-group{margin-bottom:2.25rem}.cat-title{color:var(--fg);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.05rem;display:flex}.cat-count{color:var(--muted);background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;padding:.05rem .5rem;font-size:.72rem}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.card{text-align:left;background:var(--bg-panel);border:1px solid var(--border);cursor:pointer;color:var(--fg);border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem 1.1rem .9rem;transition:border-color .15s,transform .1s;display:flex}.card:hover{border-color:var(--accent-dim);transform:translateY(-2px)}.card-top{align-items:center;gap:.5rem;display:flex}.card-title{margin:0;font-size:1.05rem}.card-summary{color:var(--fg-dim);flex:1;margin:0;font-size:.85rem;line-height:1.5}.card-meta{color:var(--muted);border-top:1px solid var(--border);gap:.9rem;padding-top:.6rem;font-size:.74rem;display:flex}.catalog-intro h1{margin:0 0 .2rem;font-size:1.9rem}.catalog-intro{margin-bottom:1.25rem}.chapter-grid{flex-direction:column;gap:.75rem;max-width:640px;display:flex}.chapter-card{text-align:left;background:var(--bg-panel);border:1px solid var(--border);cursor:pointer;color:var(--fg);border-radius:12px;align-items:center;gap:1rem;padding:1.1rem 1.2rem;transition:border-color .15s,transform .1s,background .15s;display:flex}.chapter-card:hover{border-color:var(--accent-dim);background:var(--bg-elev);transform:translateY(-2px)}.chapter-num{background:var(--bg-elev);border:1px solid var(--border);width:2.4rem;height:2.4rem;color:var(--fg-dim);font-variant-numeric:tabular-nums;border-radius:10px;flex:none;place-items:center;font-size:1rem;font-weight:700;display:grid}.chapter-card:hover .chapter-num{color:var(--accent);border-color:var(--accent-dim)}.chapter-card-body{flex:1;min-width:0}.chapter-card-title{align-items:center;gap:.4rem;margin:0 0 .2rem;font-size:1.1rem;display:flex}.chapter-done-badge{color:var(--green,#4caf50);flex:none;font-size:.85rem;font-weight:700}.chapter-card-blurb{color:var(--fg-dim);margin:0 0 .5rem;font-size:.85rem;line-height:1.45}.chapter-card-meta{color:var(--muted);align-items:center;gap:.6rem;font-size:.74rem;display:flex}.chapter-card-meta .dot-sep{opacity:.6;margin:0 -.2rem}.chapter-arrow{color:var(--muted);flex:none;font-size:1.2rem;transition:transform .15s,color .15s}.chapter-card:hover .chapter-arrow{color:var(--accent);transform:translate(3px)}.catalog-cols{align-items:flex-start;gap:1.75rem;display:flex}.catalog-cols .chapter-grid-wrap{flex:1;min-width:0}.journey-rail{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:stretch;gap:.75rem;margin-bottom:2rem;display:grid}.rail-card{background:var(--bg-panel);border:1px solid var(--border);color:var(--fg);border-radius:10px;padding:.7rem .8rem}.rail-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:.68rem;font-weight:600}.rail-sub{margin-top:.15rem;font-size:.74rem}.rail-row{justify-content:space-between;align-items:baseline;display:flex}.rail-bar{background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;height:6px;margin:.4rem 0 0;display:block;overflow:hidden}.rail-bar-fill{background:var(--accent);height:100%;transition:width .4s;display:block}.rail-empty{font-size:.82rem}.rail-continue{text-align:left;cursor:pointer;width:100%;color:var(--fg);font:inherit;background:0 0;border:0;flex-direction:column;gap:.2rem;padding:0;display:flex}.rail-continue-title{font-weight:600}.rail-continue:hover .rail-continue-title{color:var(--accent)}.rail-streak-num{align-items:baseline;gap:.4rem;display:flex}.rail-streak-num strong{font-size:1.4rem}.day-dots{gap:.3rem;margin:.5rem 0 .1rem;display:flex}.day-dots .dot{background:var(--bg-elev);border:1px solid var(--border);border-radius:50%;width:.7rem;height:.7rem}.day-dots .dot.on{background:var(--accent);border-color:var(--accent)}.rail-rank{text-align:left;cursor:pointer;width:100%;font:inherit;flex-direction:column;gap:.1rem;transition:border-color .15s;display:flex}.rail-rank:hover{border-color:var(--accent-dim)}.rail-rank-num{font-size:1.5rem;font-weight:700}.rail-badge{align-items:center;gap:.6rem;display:flex}.rail-badge-name{font-size:.85rem;font-weight:600}@media (width<=900px){.catalog-cols{flex-direction:column}.journey-rail{flex-basis:auto;width:100%;position:static}}.chapter-detail{max-width:760px}.chapter-detail .back-link{margin-bottom:1rem}.chapter-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.chapter-title{margin:0 0 .2rem;font-size:1.6rem}.chapter-header .muted{margin:0}.lesson-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.lesson-row{position:relative}.lesson-row:not(:last-child):after{content:"";background:var(--border);z-index:0;width:2px;height:calc(100% + .75rem);position:absolute;top:1.8rem;left:1.95rem}.lesson-btn{z-index:1;text-align:left;background:var(--bg-panel);border:1px solid var(--border);cursor:pointer;width:100%;color:var(--fg);border-radius:10px;align-items:flex-start;gap:.9rem;padding:.85rem 1rem;transition:border-color .15s,background .15s;display:flex;position:relative}.lesson-btn:hover{border-color:var(--accent-dim);background:var(--bg-elev)}.lesson-num{font-variant-numeric:tabular-nums;width:1.9rem;height:1.9rem;color:var(--fg-dim);background:var(--bg-elev);border:1px solid var(--border);border-radius:50%;flex:0 0 1.9rem;place-items:center;font-size:.85rem;font-weight:700;display:grid}.lesson-btn:hover .lesson-num{color:var(--accent);border-color:var(--accent-dim)}.lesson-main{flex:1;min-width:0}.lesson-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.kind-pill{border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-size:.66rem;font-weight:600}.kind-pill.lesson{color:#9fd0ff;background:#118ab229;border-color:#118ab266}.kind-pill.challenge{color:var(--warn);background:#e0b34124;border-color:#e0b34166}.author-index{max-width:760px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.author-head{margin-bottom:1.25rem}.author-head h1{margin:.6rem 0 .2rem;font-size:1.6rem}.author-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.author-row{text-align:left;background:var(--bg-panel);border:1px solid var(--border);cursor:pointer;width:100%;color:var(--fg);border-radius:10px;align-items:center;gap:.75rem;padding:.6rem .85rem;display:flex}.author-row:hover{border-color:var(--accent-dim);background:var(--bg-elev)}.author-row-main{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.author-row-top{align-items:center;gap:.5rem;display:flex}.author-row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.author-row-meta{font-size:.78rem}.author-row-go{color:var(--muted);white-space:nowrap;font-size:.8rem}.author-editor{flex-direction:column;height:100vh;display:flex}.author-editor-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;gap:.75rem;padding:.5rem .9rem;display:flex}.author-editor-id{color:var(--fg-dim);font-family:ui-monospace,monospace;font-size:.85rem}.author-spacer{flex:1}.author-savestatus{font-size:.8rem}.author-valid{font-size:.78rem;font-weight:600}.author-valid.ok{color:var(--good)}.author-valid.bad{color:var(--bad)}.author-editor-bar .back-link{margin:0;padding:0}.author-split{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid}.author-pane{min-width:0;overflow:auto}.author-pane+.author-pane{border-left:1px solid var(--border)}.author-edit-pane{flex-direction:column;min-height:0;display:flex;overflow:hidden}.author-edit-pane .editor-wrap{flex:1}.author-preview{padding:1.25rem}.author-preview-head{align-items:baseline;gap:.75rem;margin-bottom:.75rem;display:flex}.author-preview-head strong{font-size:1.05rem}.author-note{margin:0 0 .75rem}.author-parse-error{padding:1.25rem}.author-parse-error h3{color:var(--bad);margin:0 0 .5rem}.author-parse-error pre{white-space:pre-wrap;background:var(--code-bg);border:1px solid var(--border);color:var(--warn);border-radius:8px;padding:.75rem;font-size:.82rem}.author-rail{flex-direction:column;gap:.25rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.author-rail-step{cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.85rem;display:flex}.author-rail-step:hover{background:var(--bg-elev)}.author-rail-step.sel{background:var(--bg-elev);outline:1px solid var(--accent-dim)}.author-rail-step .num{border:1px solid var(--border);width:1.4rem;height:1.4rem;color:var(--fg-dim);border-radius:50%;flex:0 0 1.4rem;place-items:center;font-size:.72rem;display:grid}.author-rail-step.passed .num{color:var(--good);border-color:var(--accent-dim)}.author-rail-step .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}@media (width<=900px){.author-split{grid-template-columns:1fr}.author-pane+.author-pane{border-left:0;border-top:1px solid var(--border)}}.cov-panel{flex-direction:column;height:100%;min-height:0;display:flex}.cov-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;gap:.75rem;padding:.5rem .8rem;display:flex}.cov-spacer{flex:1}.cov-pct{color:var(--fg-dim);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.cov-pct-track{background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;width:90px;height:7px;overflow:hidden}.cov-pct-fill{background:var(--good);height:100%;transition:width .4s;display:block}.cov-msg{padding:0 .8rem}.cov-empty{text-align:center;color:var(--fg-dim);padding:2.5rem 1.25rem}.cov-empty p{margin:.25rem 0}.cov-files{padding:.75rem .8rem 2rem;overflow:auto}.cov-legend{color:var(--fg-dim);gap:1.1rem;margin-bottom:.6rem;font-size:.74rem;display:flex}.cov-key{align-items:center;gap:.35rem;display:inline-flex}.cov-key .cov-swatch{border-radius:3px;width:.8rem;height:.8rem}.cov-key.cov .cov-swatch{background:#5ad1a059}.cov-key.unc .cov-swatch{background:#ff6b6b4d}.cov-file{border:1px solid var(--border);border-radius:8px;margin-bottom:1.1rem;overflow:hidden}.cov-file-head{background:var(--bg-elev);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.4rem .7rem;font-size:.82rem;display:flex}.cov-file-name{font-family:ui-monospace,monospace;font-weight:600}.cov-file-pct{color:var(--fg-dim);font-size:.72rem}.cov-file-pct.full{color:var(--good)}.cov-file-pct.none{color:var(--bad)}.cov-src{background:var(--code-bg);margin:0;font-family:ui-monospace,JetBrains Mono,monospace;font-size:12px;line-height:1.5;overflow-x:auto}.cov-line{white-space:pre;display:flex}.cov-line code{font:inherit;background:0 0;flex:1;padding:0}.cov-line.cov{background:#5ad1a021}.cov-line.unc{background:#ff6b6b21}.cov-line.cov .cov-gutter{border-left:2px solid var(--good)}.cov-line.unc .cov-gutter{border-left:2px solid var(--bad)}.cov-line.nc .cov-gutter{border-left:2px solid #0000}.cov-gutter{text-align:right;color:var(--muted);-webkit-user-select:none;user-select:none;flex:0 0 2.6rem;padding:0 .5rem 0 .4rem}.cov-hits{text-align:right;color:var(--fg-dim);-webkit-user-select:none;user-select:none;flex:0 0 3.2rem;padding-right:.7rem;font-size:.85em}.author-live{z-index:60;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.author-live-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;gap:1rem;padding:.4rem .9rem;font-size:.82rem;display:flex}.author-live-bar .back-link{margin:0;padding:0}.author-live-screen{flex:1;min-height:0}.author-live-screen .app{height:100%}.lesson-title{font-weight:600}.lesson-done{color:var(--green,#4caf50);flex:none;font-size:.8rem;font-weight:700}.lesson-summary{color:var(--fg-dim);margin:.3rem 0 0;font-size:.85rem;line-height:1.5}.lesson-meta{color:var(--muted);gap:.9rem;margin-top:.5rem;font-size:.74rem;display:flex}.lesson-go{color:var(--muted);flex:none;align-self:center}.lesson-row.locked .lesson-btn{opacity:.8}.lesson-row.locked .lesson-btn:hover{opacity:1}.lesson-btn.disabled{cursor:default;opacity:.55}.lesson-btn.disabled:hover{border-color:var(--border)}.chapter-card.locked{opacity:.62;cursor:not-allowed}.chapter-card.locked:hover{border-color:var(--border);background:var(--bg);transform:none}.chapter-card.locked:hover .chapter-arrow,.chapter-card.locked:hover .chapter-num{color:inherit;border-color:inherit;transform:none}.chapter-card.locked:hover{opacity:.85}.tier.locked-pill{background:var(--bg-elev);color:var(--fg-dim);border-color:var(--border)}.back-link{color:var(--fg-dim);cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0 0 .75rem;font-size:.82rem;line-height:1;display:inline-flex}.back-link:before{content:"←";font-size:1.05em;line-height:1}.back-link:hover{color:var(--accent)}.legend{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.1rem;padding:.6rem .8rem;font-size:.82rem;display:flex}.legend-title{color:var(--fg-dim)}.legend-item{color:var(--fg);align-items:center;gap:.4rem;display:inline-flex}.legend-swatch{border-radius:3px;width:.85rem;height:.85rem;display:inline-block}.hl-warn .legend-swatch{background:#d7a300}.hl-good .legend-swatch{background:#2faf6b}.hl-info .legend-swatch{background:#2bb3c0}.hl-bad .legend-swatch{background:#d24b4b}.rightpane{border-left:1px solid var(--border);background:#0d1018;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.tabbar{background:var(--bg-panel);border-bottom:1px solid var(--border);gap:.2rem;padding:.35rem .5rem 0;display:flex}.tabbar .tab{color:var(--fg-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;padding:.4rem .9rem;font-size:.8rem}.tabbar .tab:hover{color:var(--fg)}.tabbar .tab.active{border-color:var(--border);color:var(--accent);background:#0d1018}.tabbar .tab-reset{color:var(--muted);border-radius:6px;align-self:center;margin-left:auto;padding:.25rem .6rem;font-size:.75rem}.tabbar .tab-reset:hover{color:var(--fg)}.tabbody{flex:1;min-height:0;position:relative}.tabpane{height:100%;min-height:0}.tabpane.hidden{display:none}.term{border-left:none;height:100%}.code{flex-direction:column;height:100%;min-height:0;display:flex}.code-empty{color:var(--fg-dim);padding:1.5rem;font-size:.9rem}.code-files{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-wrap:wrap;gap:.25rem;padding:.5rem .6rem;display:flex}.code-file{background:var(--bg-elev);border:1px solid var(--border);color:var(--fg-dim);cursor:pointer;border-radius:6px;padding:.25rem .6rem;font-family:ui-monospace,monospace;font-size:.76rem}.code-file.active{color:var(--fg);border-color:var(--accent-dim)}.code-view{flex:1;min-height:0;padding:.4rem 0;font-family:ui-monospace,JetBrains Mono,monospace;font-size:12.5px;line-height:1.55;overflow:auto}.code-line{white-space:pre;align-items:baseline;display:flex}.code-line .code-gutter{font:inherit;line-height:inherit;cursor:default;-webkit-user-select:none;user-select:none;background:0 0;border:none;flex:0 0 3.6rem;align-items:baseline;gap:.15rem;padding:0 .8rem 0 .25rem;display:flex}.code-line .bp-dot{text-align:center;color:#0000;flex:0 0 .7rem}.code-line .code-ln{text-align:right;color:var(--muted);flex:1}.code-line code.hljs{white-space:pre;background:0 0;padding:0}.code-line.cur{box-shadow:inset 2px 0 0 var(--accent);background:#5ad1a021}.code-line.cur .code-ln{color:var(--accent)}.code-dbgbar{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-wrap:wrap;align-items:center;gap:.3rem;padding:.4rem .6rem;display:flex}.code-dbgbar button{background:var(--bg-elev);border:1px solid var(--border);color:var(--fg);cursor:pointer;border-radius:5px;padding:.18rem .55rem;font-family:ui-monospace,monospace;font-size:.74rem}.code-dbgbar button:hover:not(:disabled){border-color:var(--accent-dim)}.code-dbgbar button:disabled{opacity:.4;cursor:not-allowed}.code-dbgbar button.primary{background:var(--accent-dim);border-color:var(--accent-dim);color:var(--bg)}.code-dbghint{color:var(--muted);margin-left:.3rem;font-size:.7rem}.code-dbgstatus{color:var(--fg-dim);margin-left:auto;font-family:ui-monospace,monospace;font-size:.72rem}.code-view.breakable .code-line .code-gutter:not(:disabled){cursor:pointer}.code-view.breakable .code-line:not(.bp):hover .bp-dot:before{content:"●";color:#e5534b73}.code-line.cur:not(.bp) .bp-dot:before{content:"▸";color:var(--accent)}.code-line.bp .bp-dot:before{content:"●";color:#e5534b}.code-line.bp{background:#e5534b14;box-shadow:inset 2px 0 #e5534b}.code-view.breakable .code-line:hover{background:#ffffff08}.editor{flex-direction:column;height:100%;min-height:0;display:flex}.editor-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;gap:.4rem;padding:.4rem .6rem;display:flex}.editor-files{flex-wrap:wrap;gap:.25rem;display:flex}.editor-title{color:var(--fg);font-family:ui-monospace,monospace;font-size:.78rem}.editor-status{color:var(--fg-dim);margin-left:auto;font-family:ui-monospace,monospace;font-size:.72rem}.editor-bar .ghost,.editor-run button{padding:.2rem .6rem;font-size:.74rem}.editor-wrap{background:var(--code-bg);flex:1;min-height:6rem;position:relative;overflow:hidden}.editor-hl,.editor-area{tab-size:4;white-space:pre;word-wrap:normal;border:0;margin:0;padding:.6rem .8rem;font-family:ui-monospace,JetBrains Mono,monospace;font-size:12.5px;line-height:1.55;overflow:auto}.editor-hl{pointer-events:none;z-index:0;background:0 0;position:absolute;inset:0}.editor-hl code{font:inherit;background:0 0;padding:0}.editor-area{resize:none;color:#0000;caret-color:var(--accent);z-index:1;background:0 0;outline:none;position:absolute;inset:0}.editor-area::selection{background:#5ad1a040}.editor-run{border-top:1px solid var(--border);background:var(--bg-panel);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.editor-run code{background:var(--code-bg);border:1px solid var(--border);color:var(--accent);border-radius:5px;padding:.15rem .5rem;font-family:ui-monospace,monospace;font-size:.8rem}.editor-run .run-btn{margin-left:auto}.editor-run .run-btns{align-items:center;gap:.4rem;display:inline-flex}.editor-hint{padding:0 .6rem .5rem;font-size:.75rem}.editor-out{resize:vertical;height:16rem;min-height:6rem;max-height:70%;color:var(--fg);white-space:pre-wrap;word-break:break-word;background:#0a0d13;flex:none;margin:0;padding:.5rem .8rem;font-family:ui-monospace,monospace;font-size:12.5px;line-height:1.5;overflow:auto}.editor-out:focus{box-shadow:inset 0 0 0 1px var(--accent-dim);outline:none}.editor-out-head{border-top:1px solid var(--border);background:var(--bg-panel);color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem .5rem .3rem .8rem;font-size:.72rem;display:flex}.editor-out-head .ghost{padding:.15rem .5rem;font-size:.72rem}button.danger{color:#ff9a93;cursor:pointer;background:#3a1518;border:1px solid #e5534b;border-radius:6px;padding:.2rem .7rem;font-size:.74rem}button.danger:hover{background:#4a1a1e}.code-file .lock{margin-right:.3rem;font-size:.7rem}.code-locked{color:var(--fg-dim);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:2rem;display:flex}.code-locked .lock-big{opacity:.7;font-size:2rem}.code-locked em{color:var(--accent);font-style:normal}.auth{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:360px;padding:1.6rem 1.5rem;display:flex}.auth-card h1{margin:.6rem 0 1.1rem;font-size:1.3rem}.auth-card label{color:var(--fg-dim);margin:.6rem 0 .3rem;font-size:.78rem}.auth-card input{background:var(--code-bg);border:1px solid var(--border);color:var(--fg);border-radius:8px;padding:.6rem .8rem}.auth-card input:focus{border-color:var(--accent-dim);outline:none}.auth-card .primary{margin-top:1.1rem}.auth-error{color:var(--bad);background:#2a1417;border:1px solid #5a2a2f;border-radius:8px;margin-top:.8rem;padding:.5rem .7rem;font-size:.82rem}.link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0}.link:hover{text-decoration:underline}.catalog-top{justify-content:space-between;align-items:center;display:flex}.account{align-items:center;gap:.7rem;font-size:.82rem;display:flex}.dbg-idle{color:var(--fg-dim);flex-direction:column;align-items:flex-start;gap:.8rem;padding:1.5rem;display:flex}.dbg{flex-direction:column;height:100%;min-height:0;display:flex}.dbg-toolbar{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-wrap:wrap;align-items:center;gap:.3rem;padding:.5rem .6rem;display:flex}.dbg-toolbar button{background:var(--bg-elev);border:1px solid var(--border);color:var(--fg);cursor:pointer;border-radius:6px;padding:.3rem .55rem;font-size:.78rem}.dbg-toolbar button:hover:not(:disabled){border-color:var(--accent-dim)}.dbg-toolbar button:disabled{opacity:.4;cursor:not-allowed}.dbg-status{color:var(--muted);margin-left:auto;font-size:.74rem}.dbg-grid{flex:1;grid-template-columns:1fr 1fr;align-content:start;gap:.6rem;min-height:0;padding:.6rem;display:grid;overflow:auto}.dbg-pane{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;min-width:0;padding:.5rem .6rem}.dbg-pane h4{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);margin:0 0 .4rem;font-size:.72rem}.dbg-pane table{border-collapse:collapse;width:100%;font-family:ui-monospace,monospace;font-size:11.5px}.dbg-pane td{white-space:nowrap;padding:1px 4px}.dbg-empty{color:var(--muted);margin:.2rem 0;font-size:.8rem}.dbg-source{grid-column:1/-1}.dbg-source .srcline{align-items:baseline;gap:.8rem;display:flex}.dbg-source .loc{color:var(--accent);font-family:ui-monospace,monospace;font-size:.78rem}.dbg-source code{white-space:pre;font-family:ui-monospace,monospace;font-size:12px}.dbg-regs td.rn{color:var(--fg-dim)}.dbg-regs td.rv{color:var(--fg)}.dbg-regs tr.key td.rn{color:var(--accent)}.dbg-stack td.addr,.dbg-disasm td.addr{color:var(--muted)}.dbg-stack td.val{color:var(--fg)}.dbg-stack td.tag{color:var(--warn)}.dbg-stack tr.tagged td.val{color:var(--accent)}.dbg-disasm td.ins{color:var(--fg);white-space:pre}.dbg-disasm tr.current{background:#5ad1a01f}.dbg-disasm tr.current td.ins{color:var(--accent)}.dbg-disasm td.cur{color:var(--accent);width:1rem}.dbg-bt ol{margin:0;padding-left:1.1rem;font-family:ui-monospace,monospace;font-size:11.5px}.dbg-bt .fn{color:var(--fg)}.dbg-bt .pc{color:var(--muted)}.dbg-output{grid-column:1/-1}.dbg-output pre{white-space:pre-wrap;color:var(--fg-dim);max-height:120px;margin:0;font-size:11.5px;overflow:auto}.memlink{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:1px dotted #0000;padding:0}.memlink:hover{color:var(--accent);border-bottom-color:var(--accent-dim)}.dbg-mem{grid-column:1/-1}.mem-bar{gap:.4rem;margin-bottom:.5rem;display:flex}.mem-bar input{background:var(--code-bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;flex:1;padding:.3rem .5rem;font-family:ui-monospace,monospace;font-size:12px}.mem-bar input:focus{border-color:var(--accent-dim);outline:none}.mem-bar button{background:var(--bg-elev);border:1px solid var(--border);color:var(--fg);cursor:pointer;border-radius:6px;padding:.3rem .7rem;font-size:.78rem}.hexdump{font-family:ui-monospace,monospace;font-size:11.5px;overflow-x:auto}.hexrow{white-space:pre;gap:.8rem;display:flex}.hexrow .hoff{color:var(--muted)}.hexrow .hbytes{color:var(--fg)}.hexrow .hascii{color:var(--fg-dim)}.gef{background:#0a0d13;flex-direction:column;height:100%;min-height:0;display:flex}.gef-remote{border-bottom:1px solid var(--border);color:var(--fg-dim);background:#5ad1a014;padding:.4rem .6rem;font-size:.74rem;line-height:1.4}.gef-remote strong{color:var(--accent)}.gef-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-wrap:wrap;align-items:center;gap:.25rem;padding:.45rem .55rem;display:flex}.gef-bar button{background:var(--bg-elev);border:1px solid var(--border);color:var(--fg);cursor:pointer;border-radius:5px;padding:.25rem .5rem;font-family:ui-monospace,monospace;font-size:.74rem}.gef-bar button:hover:not(:disabled){border-color:var(--accent-dim)}.gef-bar button:disabled{opacity:.4;cursor:not-allowed}.gef-status{color:var(--muted);margin-left:auto;font-size:.72rem}.gef-ctx{flex:1;min-height:0;padding:.4rem .7rem 1rem;font-family:ui-monospace,JetBrains Mono,monospace;font-size:12px;line-height:1.5;overflow:auto}.gef-empty{color:var(--muted);margin:.2rem 0}.gef-sep{color:var(--accent);letter-spacing:.04em;align-items:center;gap:.5rem;margin:.7rem 0 .3rem;font-size:.74rem;font-weight:600;display:flex}.gef-sep:before{content:"──";color:var(--border)}.gef-sep:after{content:"";border-top:1px solid var(--border);flex:1}.gef-regs{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 1.2rem;display:grid}.gef-reg{white-space:nowrap}.gef-reg .rn{cursor:pointer;font:inherit;color:var(--warn);text-align:left;background:0 0;border:none;width:4.2em;padding:0;display:inline-block}.gef-reg .rn.key{color:#7dd3fc;font-weight:600}.gef-reg .rn:hover{text-decoration:underline}.gef-reg .rv{color:var(--fg)}.gef-reg.chg .rv{color:var(--bad);font-weight:600}.gef-reg.eflags .rn{color:var(--fg-dim)}.gef-reg.eflags .rv{color:var(--warn)}.gef-srow{white-space:nowrap;gap:.6rem;display:flex}.gef-srow .addr,.gef-code .addr,.gef-trace .pc{font:inherit;color:#7dd3fc;cursor:pointer;background:0 0;border:none;padding:0}.gef-srow .addr:hover,.gef-srow .val:hover{text-decoration:underline}.gef-srow .off{color:var(--muted)}.gef-srow .val{font:inherit;color:var(--fg);cursor:pointer;background:0 0;border:none;padding:0}.gef-srow .arrow{color:var(--accent)}.gef-srow.tag .val{color:#7dd3fc}.gef-ins{white-space:pre;gap:.6rem;display:flex}.gef-ins .arr{color:var(--accent);width:1ch}.gef-ins .addr{color:var(--muted)}.gef-ins .txt{color:var(--fg)}.gef-ins.cur{background:#5ad1a021;border-radius:3px}.gef-ins.cur .txt{color:var(--accent);font-weight:600}.gef-ins.cur .addr{color:var(--accent)}.gef-src{white-space:pre;align-items:baseline;gap:.5rem;display:flex}.gef-src .loc{color:#7dd3fc}.gef-src .arr{color:var(--accent)}.gef-src code{color:var(--fg);font:inherit}.gef-frame{white-space:nowrap;gap:.5rem;display:flex}.gef-frame .lvl{color:var(--muted)}.gef-frame .arr{color:var(--accent)}.gef-frame .fn{color:var(--warn)}.gef-membar{gap:.4rem;margin:.2rem 0 .4rem;display:flex}.gef-membar input{background:var(--code-bg);border:1px solid var(--border);color:var(--fg);border-radius:5px;flex:1;padding:.25rem .5rem;font-family:ui-monospace,monospace;font-size:12px}.gef-membar input:focus{border-color:var(--accent-dim);outline:none}.gef-membar button{background:var(--bg-elev);border:1px solid var(--border);color:var(--fg);cursor:pointer;border-radius:5px;padding:.25rem .6rem;font-size:.74rem}.gef-hex .hexrow{white-space:pre;gap:.8rem;display:flex}.gef-hex .hoff{color:var(--muted)}.gef-hex .hbytes{color:var(--fg)}.gef-hex .hascii{color:var(--fg-dim)}.gef-out{white-space:pre-wrap;color:var(--fg-dim);max-height:140px;margin:.3rem 0 0;font-size:11.5px;overflow:auto}.gef-cli{margin:.3rem 0 0;font-family:ui-monospace,monospace}.gef-cli-log{background:var(--code-bg);border:1px solid var(--border);border-bottom:0;border-radius:5px 5px 0 0;max-height:150px;padding:.4rem .55rem;font-size:11.5px;line-height:1.55;overflow:auto}.gef-cli-hint{color:var(--muted)}.gef-cli-hint code{background:var(--bg-elev);color:var(--fg-dim);border-radius:3px;padding:0 .25rem}.gef-cli .cli-line{white-space:pre-wrap;word-break:break-word}.gef-cli .cli-in{color:var(--fg)}.gef-cli .cli-out{color:var(--accent)}.gef-cli .cli-err{color:#e5786d}.gef-cli-bar{background:var(--code-bg);border:1px solid var(--border);border-radius:0 0 5px 5px;align-items:center;gap:.4rem;padding:.3rem .55rem;display:flex}.gef-cli-bar:focus-within{border-color:var(--accent-dim)}.gef-cli-bar .cli-prompt{color:var(--accent);-webkit-user-select:none;user-select:none}.gef-cli-bar input{color:var(--fg);background:0 0;border:0;outline:none;flex:1;font-family:ui-monospace,monospace;font-size:12px}.gef-cli-bar input::placeholder,.gef-cli-bar input:disabled{color:var(--muted)}.streak{color:var(--muted);background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;padding:.1rem .55rem;font-size:.82rem}.streak.on{color:var(--warn);border-color:#5a4a1f}.badges{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.9rem;display:flex}.badges-count{color:var(--muted);margin-right:.3rem;font-size:.75rem}.badge{border:1px solid var(--border);background:var(--bg-panel);cursor:default;border-radius:8px;place-items:center;width:1.9rem;height:1.9rem;font-size:1rem;display:inline-grid}.badge.locked{filter:grayscale();opacity:.35}.badge.earned{border-color:var(--accent-dim);background:var(--bg-elev);box-shadow:0 0 0 1px var(--accent-dim) inset}.toasts{z-index:50;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.toast{background:var(--bg-elev);border:1px solid var(--accent-dim);border-left:3px solid var(--accent);border-radius:8px;align-items:center;gap:.7rem;padding:.6rem .9rem;animation:.25s toastin;display:flex;box-shadow:0 6px 20px #0006}@keyframes toastin{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast-icon{font-size:1.5rem}.toast-text{flex-direction:column;font-size:.85rem;display:flex}.landing{flex-direction:column;height:100vh;display:flex;overflow:hidden}.navbar{border-bottom:1px solid var(--border);background:var(--bg-panel);justify-content:space-between;align-items:center;padding:.9rem 1.5rem;display:flex}.nav-brand{color:var(--fg);align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;display:flex}.nav-brand.link{cursor:pointer;background:0 0;border:none}.nav-actions{gap:.5rem;display:flex}.app-navbar{z-index:50;box-shadow:0 1px 0 var(--border), 0 6px 16px #00000040;flex-wrap:wrap;gap:1rem;position:sticky;top:0}.app-navbar .nav-left{align-items:center;gap:1.75rem;min-width:0;display:flex}.app-navbar .nav-brand{white-space:nowrap;text-decoration:none}.nav-brand-name{white-space:nowrap}.nav-links{flex-wrap:wrap;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.nav-link{color:var(--fg-dim);white-space:nowrap;border-radius:7px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.nav-link:hover{color:var(--fg);background:#5ad1a014}.nav-link.active{color:var(--accent);background:#5ad1a01a}.nav-link.active:before{content:"▸";color:var(--accent);font-size:.9em;line-height:1}.app-navbar .nav-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.7rem;font-size:.82rem;display:flex}.community-body{max-width:880px;margin:0 auto;padding:2.5rem 1.5rem}.community-body h1{margin:0 0 .4rem}.community-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.75rem;display:grid}.community-card{border:1px solid var(--border);background:var(--bg-panel);color:var(--fg);border-radius:10px;flex-direction:column;gap:.4rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.community-card:hover{border-color:var(--accent);transform:translateY(-2px)}.community-icon{font-size:1.6rem}.community-name{font-weight:700}.community-blurb{color:var(--fg-dim);font-size:.9rem}.landing-nav{background:0 0;border-bottom:none;justify-content:space-between}.landing-nav .brand{text-transform:none;letter-spacing:0;color:var(--fg);justify-content:flex-start;gap:.5rem;font-size:1.05rem;font-weight:700}.hero-grid{flex:1;grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem;width:100%;max-width:1120px;min-height:0;margin:0 auto;padding:1.5rem 2rem;display:grid}.hero-left{max-width:540px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.9rem;font-size:.72rem;display:inline-block}.hero-left h1{margin:0 0 1rem;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.08}.hero-left h1 .accent{color:var(--accent)}.hero-sub{color:var(--fg-dim);margin:0 0 1.6rem;font-size:1.05rem;line-height:1.6}.hero-cta{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem;display:flex}.primary.big,.ghost.big{padding:.7rem 1.3rem;font-size:1rem}.hero-points{flex-direction:column;gap:.5rem;margin:1.6rem 0 0;padding:0;list-style:none;display:flex}.hero-points li{color:var(--fg-dim);padding-left:1.4rem;font-size:.9rem;position:relative}.hero-points li:before{content:"›";color:var(--accent);font-weight:700;position:absolute;left:.3rem}.hero-right{justify-content:center;min-width:0;display:flex}.term-mock{border:1px solid var(--border);background:#0a0d13;border-radius:12px;width:100%;max-width:480px;overflow:hidden;box-shadow:0 24px 60px #00000073}.term-mock-bar{background:var(--bg-panel);border-bottom:1px solid var(--border);align-items:center;gap:.4rem;padding:.55rem .8rem;display:flex}.term-mock-bar .dot{border-radius:50%;width:.66rem;height:.66rem}.term-mock-bar .dot.r{background:#ef4444}.term-mock-bar .dot.y{background:#eab308}.term-mock-bar .dot.g{background:#22c55e}.term-mock-title{color:var(--muted);margin-left:.6rem;font-size:.74rem}.term-mock-tabs{gap:.15rem;margin-left:.5rem;display:flex}.tm-tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.12rem .5rem;font-size:.72rem}.tm-tab:hover{color:var(--fg-dim)}.tm-tab.active{color:var(--fg);background:var(--bg-elev)}.term-mock-body{color:var(--fg-dim);white-space:pre-wrap;min-height:12.2em;margin:0;padding:1rem 1.1rem;font-family:ui-monospace,JetBrains Mono,monospace;font-size:12.5px;line-height:1.7}.term-mock-body .l{display:inline}.term-mock-body .prompt{color:var(--fg)}.term-mock-body .dim{color:var(--muted)}.term-mock-body .ok{color:var(--accent)}.term-mock-body .flag{color:#ffd166;font-weight:600}.term-mock-body .caret{color:var(--accent);animation:1.1s step-end infinite blink}.term-mock-body .regk{color:var(--muted)}.term-mock-body .regv{color:var(--fg)}.term-mock-body .sep{color:var(--muted)}.term-mock-body .cur{color:var(--accent)}.term-mock-body .ln{color:var(--muted);-webkit-user-select:none;user-select:none}.term-mock-body .kw{color:#c792ea}.term-mock-body .str{color:#ecc48d}.term-mock-body .num{color:#f78c6b}.term-mock-body .fn{color:#82aaff}@keyframes blink{50%{opacity:0}}@media (width<=1024px){.landing{height:auto;min-height:100vh;overflow:visible}.hero-grid{grid-template-columns:1fr;align-items:start;gap:2rem;padding:2rem 1.25rem}.hero-left{max-width:none}.hero-right{justify-content:flex-start}.term-mock{max-width:none}}@media (width<=560px){.landing-nav{padding:.75rem 1rem}.hero-grid{gap:1.5rem;padding:1.5rem 1rem 2.5rem}.eyebrow{letter-spacing:.08em;margin-bottom:.7rem;font-size:.66rem}.hero-left h1{font-size:clamp(1.85rem,8vw,2.4rem)}.hero-sub{margin-bottom:1.25rem;font-size:.97rem}.hero-cta{margin-top:1.5rem}.primary.big{width:100%;max-width:20rem;padding:.85rem 1rem}.hero-points{margin-top:1.25rem}.term-mock-body{padding:.85rem .9rem;font-size:11.5px}.landing-footer{flex-wrap:wrap;justify-content:center;gap:.75rem 1rem}}.auth-modal{max-width:24rem}.auth-modal h3{margin:0 0 1rem}.auth-form{flex-direction:column;display:flex}.auth-form label{color:var(--fg-dim);margin:.6rem 0 .3rem;font-size:.8rem}.auth-form input{background:var(--code-bg);border:1px solid var(--border);color:var(--fg);border-radius:8px;padding:.6rem .7rem}.auth-form input:focus{border-color:var(--accent-dim);outline:none}.auth-form .primary{margin-top:1rem}.turnstile{justify-content:center;min-height:65px;margin-top:.9rem;display:flex}.auth-error{color:var(--bad);margin-top:.6rem;font-size:.85rem}.auth-toggle{color:var(--fg-dim);margin:.9rem 0 0;font-size:.85rem}.oauth-buttons{flex-direction:column;gap:.5rem;display:flex}.oauth-btn{text-align:center;border:1px solid var(--border);background:var(--bg-elev);color:var(--fg);border-radius:8px;padding:.6rem;font-size:.9rem;text-decoration:none;display:block}.oauth-btn:hover{border-color:var(--accent-dim)}.oauth-github{background:#1b1f27}.oauth-google{color:#202124;background:#fff;border-color:#fff}.oauth-divider{text-align:center;border-bottom:1px solid var(--border);margin:.9rem 0 .4rem;line-height:.1em}.oauth-divider span{background:var(--bg-panel);color:var(--muted);padding:0 .6rem;font-size:.78rem}.account-link{color:var(--fg);cursor:pointer;font:inherit;background:0 0;border:none;align-items:center;gap:.4rem;display:inline-flex}.account-link:hover{color:var(--accent)}.avatar-sm{object-fit:cover;border-radius:50%;width:1.5rem;height:1.5rem}.avatar-lg{object-fit:cover;border-radius:50%;width:5rem;height:5rem}.avatar-fallback{background:var(--accent-dim);color:var(--bg);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.avatar-lg.avatar-fallback{font-size:2rem}.profile-page{flex-direction:column;min-height:100vh;display:flex}.profile-body{grid-template-columns:280px 1fr;gap:1.5rem;width:100%;max-width:920px;margin:1.5rem auto;padding:0 1.5rem;display:grid}@media (width<=720px){.profile-body{grid-template-columns:1fr}}.profile-card{background:var(--bg-panel);border:1px solid var(--border);text-align:center;border-radius:12px;align-self:start;padding:1.3rem}.profile-card h2{margin:.7rem 0 .3rem}.profile-bio{color:var(--fg-dim);font-size:.88rem;line-height:1.5}.profile-facts{text-align:left;margin:1rem 0 0;font-size:.84rem}.profile-facts div{border-top:1px solid var(--border);justify-content:space-between;gap:.5rem;padding:.25rem 0;display:flex}.profile-facts dt{color:var(--muted);margin:0}.profile-facts dd{color:var(--fg);text-align:right;word-break:break-word;margin:0}.profile-stats{justify-content:space-around;margin-top:1rem;display:flex}.profile-stats .stat{flex-direction:column;display:flex}.profile-stats .stat strong{color:var(--accent);font-size:1.3rem}.profile-stats .stat span{color:var(--muted);font-size:.72rem}.profile-form{flex-direction:column;display:flex}.profile-form h1{margin:0 0 1rem;font-size:1.4rem}.profile-form label{color:var(--fg-dim);margin:.7rem 0 .3rem;font-size:.8rem}.profile-form input,.profile-form textarea{background:var(--code-bg);border:1px solid var(--border);color:var(--fg);resize:vertical;border-radius:8px;padding:.6rem .7rem;font-family:inherit}.profile-form input:focus,.profile-form textarea:focus{border-color:var(--accent-dim);outline:none}.profile-actions{align-items:center;gap:1rem;margin-top:1.2rem;display:flex}.pricing-page{flex-direction:column;min-height:100vh;display:flex}.pricing-body{text-align:center;width:100%;max-width:760px;margin:auto;padding:1.5rem}.pricing-body h1{margin:0 0 .3rem}.plans{text-align:left;grid-template-columns:1fr 1fr;align-items:stretch;gap:1.25rem;margin:1.8rem 0 1rem;display:grid}@media (width<=640px){.plans{grid-template-columns:1fr}}.plan{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;padding:1.4rem;display:flex;position:relative}.plan.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.plan.current{outline:1px dashed var(--accent-dim)}.plan h2{margin:0 0 .3rem}.plan .price{color:var(--fg);margin-bottom:.8rem;font-size:2rem;font-weight:700}.plan .price span{color:var(--muted);font-size:.9rem;font-weight:400}.plan ul{flex-direction:column;gap:.4rem;margin:0 0 1.2rem;padding:0;list-style:none;display:flex}.plan li{color:var(--fg-dim);font-size:.88rem}.plan button{margin-top:auto}.plan-badge{background:var(--accent);color:var(--bg);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.15rem .5rem;font-size:.66rem;font-weight:700;position:absolute;top:-.7rem;right:1rem}.pricing-note{margin-top:1rem;font-size:.8rem}.upgrade-link{color:var(--accent);font-weight:600}.catalog-left{align-items:center;gap:.9rem;display:flex}.upgrade-btn{background:var(--accent-dim);color:#e2e2e2;cursor:pointer;border:none;border-radius:999px;padding:.32rem .85rem;font-size:.78rem;font-weight:700}.upgrade-btn:hover{background:var(--accent);color:#1f1f1f}.card.locked-card{opacity:.78}.card.locked-card:hover{opacity:1;border-color:var(--accent-dim)}.card-lock{color:var(--accent);border-top:1px solid var(--border);margin-top:.6rem;padding-top:.5rem;font-size:.72rem}.billing-section{border-top:1px solid var(--border);text-align:left;margin-top:1.2rem;padding-top:.9rem}.billing-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .5rem;font-size:.78rem}.billing-portal-btn{text-align:left;width:100%;font-size:.85rem}.billing-portal-err{margin:.4rem 0 0;font-size:.82rem}.connections{border-top:1px solid var(--border);text-align:left;margin-top:1.2rem;padding-top:.9rem}.connections h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .5rem;font-size:.78rem}.conn-btn{text-align:center;border-radius:8px;padding:.5rem;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.conn-btn.discord{color:#fff;background:#5865f2}.conn-btn.discord:hover{background:#4752c4}.conn-row{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.conn-row .conn-handle{color:var(--accent);font-family:ui-monospace,monospace}.conn-row .conn-relink{color:var(--muted);margin-left:auto;font-size:.75rem}.leaderboard-page{max-width:960px;min-height:100vh;margin:0 auto;padding:1.5rem 1.25rem 4rem}.lb-head{margin-bottom:1.5rem}.lb-head h1{margin:.8rem 0 .2rem;font-size:1.6rem}.lb-empty{text-align:center;border:1px dashed var(--border);border-radius:12px;padding:4rem 1rem}.lb-empty p{margin:.2rem 0}.lb-podium{grid-template-columns:repeat(3,1fr);align-items:end;gap:.75rem;margin-bottom:1.75rem;display:grid}.podium-card{text-align:center;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;gap:.3rem;padding:1rem .5rem;display:flex}.podium-card.place-1{border-color:var(--warn);order:2;transform:translateY(-14px)}.podium-card.place-2{order:1}.podium-card.place-3{order:3}.podium-card.me{outline:2px solid var(--accent)}.podium-avatar{border-radius:50%;width:4.5rem;height:4.5rem;padding:3px;position:relative}.podium-avatar img,.podium-avatar .avatar-fallback{object-fit:cover;background:var(--accent-dim);width:100%;height:100%;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:1.6rem;font-weight:700;display:flex}.ring-gold{background:conic-gradient(#ffd76b,#b8860b,#ffd76b)}.ring-silver{background:conic-gradient(#e7ecf3,#97a0ad,#e7ecf3)}.ring-bronze{background:conic-gradient(#e3a36b,#8c5a2b,#e3a36b)}.podium-medal{filter:drop-shadow(0 1px 2px #0009);font-size:1.4rem;position:absolute;bottom:-6px;right:-6px}.podium-name{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;font-weight:600;display:flex}.podium-score{color:var(--accent);font-weight:700}.podium-sub{font-size:.78rem}.podium-card.podium-empty{background:0 0;border-style:dashed}.podium-card.podium-empty .podium-avatar .avatar-fallback{background:var(--bg-elev);color:var(--muted)}.lb-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.lb-row{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;align-items:center;gap:.75rem;padding:.55rem .85rem;display:flex}.lb-row.me{outline:2px solid var(--accent)}.lb-rank{text-align:center;font-variant-numeric:tabular-nums;width:1.8rem;color:var(--fg-dim);font-weight:600}.lb-name{flex:1;align-items:center;gap:.4rem;min-width:0;font-weight:500;display:flex}.lb-you-tag{background:var(--accent);color:var(--bg);text-transform:uppercase;border-radius:999px;padding:.05rem .45rem;font-size:.62rem;font-weight:700}.lb-solved{white-space:nowrap;font-size:.8rem}.lb-score{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.lb-body{grid-template-columns:1fr 240px;align-items:start;gap:1.5rem;display:grid}.lb-body:not(:has(.lb-sidebar)){grid-template-columns:1fr}.lb-sidebar{flex-direction:column;gap:1rem;display:flex}@media (width<=700px){.lb-body{grid-template-columns:1fr}}.lb-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-dim);align-items:center;gap:.5rem;margin:0 0 .6rem;font-size:.7rem;font-weight:700;display:flex}.lb-live-dot{background:var(--fg-dim);border-radius:50%;width:6px;height:6px;display:inline-block}.lb-live-dot.on{background:var(--accent);box-shadow:0 0 5px var(--accent)}.lb-live-dot.off{background:var(--fg-dim)}.lb-daily{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem}.lb-daily-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.lb-daily-row{align-items:center;gap:.55rem;display:flex}.lb-daily-rank{text-align:center;width:1.2rem;color:var(--fg-dim);font-size:.8rem;font-weight:700}.lb-daily-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;font-weight:500;overflow:hidden}.lb-daily-count{color:var(--accent);white-space:nowrap;font-size:.8rem;font-weight:600}.lb-feed{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;overflow:hidden}.lb-feed-empty{margin:0;font-size:.85rem}.lb-feed-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.lb-feed-row{align-items:center;gap:.5rem;animation:.25s feed-in;display:flex}@keyframes feed-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.lb-feed-body{flex:1;min-width:0;font-size:.85rem;overflow:hidden}.lb-feed-who{font-weight:600}.lb-feed-action{color:var(--fg-dim)}.lb-feed-chall{font-weight:500}.lb-feed-time{white-space:nowrap;font-size:.75rem}.legal-page{max-width:760px;min-height:100vh;margin:0 auto;padding:1.5rem 1.25rem 5rem}.legal-head{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.legal-nav{gap:1rem;display:flex}.legal-nav a{color:var(--fg-dim);padding-bottom:2px;text-decoration:none}.legal-nav a.on{color:var(--accent);border-bottom:2px solid var(--accent)}.legal-body h1{margin:0 0 1rem;font-size:1.8rem}.legal-body h2{color:var(--fg);margin:1.75rem 0 .5rem;font-size:1.1rem}.legal-body p,.legal-body li{color:var(--fg-dim);line-height:1.65}.legal-body ul{padding-left:1.2rem}.legal-body li{margin:.3rem 0}.legal-body a{color:var(--accent)}.legal-updated{color:var(--muted);border-top:1px solid var(--border);margin-top:2.5rem;padding-top:1rem;font-size:.8rem}.landing-footer{color:var(--muted);justify-content:center;align-items:center;gap:1.25rem;padding:1.25rem;font-size:.82rem;display:flex}.landing-footer a{color:var(--fg-dim);text-decoration:none}.landing-footer a:hover{color:var(--accent)}.auth-consent{color:var(--muted);text-align:center;margin:.6rem 0 0;font-size:.76rem;line-height:1.5}.auth-consent a{color:var(--fg-dim)}.lb-you{margin-top:1.5rem}.lb-you-label{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-dim);margin-bottom:.4rem;font-size:.72rem;display:block}@keyframes lll-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes lll-fade{0%{opacity:0}to{opacity:1}}@keyframes lll-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.catalog,.leaderboard-page,.pricing-body,.legal-page,.landing{animation:.3s cubic-bezier(.16,1,.3,1) both lll-rise}.app,.profile-page{animation:.28s ease-out both lll-fade}.panel{animation:.28s cubic-bezier(.16,1,.3,1) both lll-rise}.chapter-grid-wrap,.chapter-detail{animation:.26s cubic-bezier(.16,1,.3,1) both lll-rise}.completion{animation:.32s cubic-bezier(.16,1,.3,1) both lll-rise}.modal-overlay{animation:.18s ease-out both lll-fade}.modal{animation:.22s cubic-bezier(.16,1,.3,1) both lll-pop}@media (prefers-reduced-motion:reduce){.catalog,.leaderboard-page,.profile-page,.pricing-body,.legal-page,.landing,.app,.panel,.chapter-grid-wrap,.chapter-detail,.completion,.modal-overlay,.modal,.toast{animation:none!important}}button.podium-card{font:inherit;cursor:pointer}button.podium-card:hover{border-color:var(--accent)}.lb-name.link{color:var(--fg);font-weight:500}.lb-name.link:hover{color:var(--accent)}.lb-fb{white-space:nowrap}.profile-page.upublic{max-width:760px;margin:0 auto;padding:1.5rem 1rem 4rem}.upub-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;margin-top:.5rem;padding:1.4rem}.upub-id{align-items:flex-start;gap:1.1rem;display:flex}.upub-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;place-items:center;width:72px;height:72px;font-size:1.8rem;display:grid}.upub-meta{min-width:0}.upub-meta h1{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .3rem;font-size:1.5rem;display:flex}.upub-facts{flex-wrap:wrap;gap:.2rem .9rem;margin:0;font-size:.85rem;display:flex}.upub-facts a{color:var(--accent);text-decoration:none}.upub-bio{color:var(--fg);white-space:pre-wrap;margin:.7rem 0 0;line-height:1.55}.upub-stats{grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:1.3rem;display:grid}.upub-stat{background:var(--bg-elev);border:1px solid var(--border);text-align:center;border-radius:10px;padding:.7rem .5rem}.upub-stat.accent{border-color:var(--accent-dim)}.upub-stat-val{color:var(--fg);font-size:1.35rem;font-weight:650;display:block}.upub-stat.accent .upub-stat-val{color:var(--accent)}.upub-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.72rem}.upub-section{margin-top:1.8rem}.upub-section h2{margin:0 0 .7rem;font-size:1.05rem}.upub-badges{flex-wrap:wrap;gap:.5rem;display:flex}.upub-badge{background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.85rem;display:inline-flex}.upub-badge-icon{font-size:1rem}.upub-solved{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.upub-solved-row{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.7rem;padding:.55rem .8rem;display:flex}.upub-solved-row.fb{border-color:var(--accent-dim);background:linear-gradient(0deg, color-mix(in srgb, var(--bad) 6%, transparent), transparent), var(--bg-panel)}.upub-solved-title{flex:1;align-items:center;gap:.4rem;min-width:0;font-weight:500;display:flex}.upub-fb{flex-shrink:0}.upub-solved-cat{font-size:.8rem}.upub-solved-pts{font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap;font-size:.85rem}@media (width<=560px){.upub-stats{grid-template-columns:repeat(2,1fr)}.upub-solved-cat{display:none}}.broadcast-page,.ratings-page{max-width:720px;margin:0 auto;padding:1.5rem 1rem 4rem}.ratings-list{flex-direction:column;gap:1rem;display:flex}.ratings-card{border:1px solid var(--border);background:var(--bg-panel);border-radius:10px;overflow:hidden}.ratings-card-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .9rem;display:flex}.ratings-title{font-weight:700}.ratings-avg{align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.ratings-comments{margin:0;padding:0;list-style:none}.ratings-comment{border-top:1px solid var(--border);padding:.6rem .9rem}.ratings-comment:first-child{border-top:none}.ratings-comment-head{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.ratings-who{font-weight:600}.ratings-when{margin-left:auto}.ratings-text{color:var(--fg-dim);margin:.3rem 0 0;font-size:.9rem}.locks-page{max-width:720px;margin:0 auto;padding:1.5rem 1rem 4rem}.locks-section{margin-top:1.5rem}.locks-section h2{margin:0 0 .6rem;font-size:1.05rem}.locks-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.locks-row{border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;display:flex}.locks-row.locked{border-color:var(--accent-dim)}.lesson-row.hidden-row{opacity:.6}.hidden-pill{color:#d4a017;letter-spacing:.03em;background:#3a2a00;border-radius:999px;padding:.15em .55em;font-size:.72rem;font-weight:700}.admin-prop-row{flex-wrap:wrap;gap:.4rem;padding-top:.5rem;display:flex}.locks-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.locks-cat,.locks-note{font-size:.85rem}.lock-toggle{cursor:pointer;border:1px solid var(--border);background:var(--bg-elev);color:var(--fg-dim);border-radius:999px;flex:none;padding:.3rem .7rem;font-size:.82rem;font-weight:600}.lock-toggle.on,.tier-toggle.on{border-color:var(--accent-dim);color:var(--accent)}.tier-toggle.off{color:#5cb85c;border-color:#2a6a2a}.tier-toggle.inherit,.hidden-toggle.inherit{opacity:.5}.hidden-toggle.on{color:#d4a017;border-color:#7a5a00}.lock-toggle:hover:not(:disabled){border-color:var(--accent)}.lock-toggle:disabled{opacity:.6;cursor:default}.bc-audience{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;margin:.6rem 0 1rem;padding:.6rem .9rem;font-size:.9rem}.bc-form{flex-direction:column;gap:1rem;display:flex}.bc-form label{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500;display:flex}.bc-form input,.bc-form textarea{font:inherit;background:var(--code-bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:.55rem .7rem}.bc-form textarea{resize:vertical;font-family:ui-monospace,JetBrains Mono,monospace;font-size:.85rem;line-height:1.5}.bc-form input:focus,.bc-form textarea:focus{border-color:var(--accent);outline:none}.bc-actions{justify-content:flex-end;gap:.7rem;display:flex}.admin-page,.admin-analytics{max-width:760px;margin:0 auto;padding:1.5rem 1rem 4rem}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin-top:1rem;display:grid}.admin-card{text-align:left;background:var(--bg-panel);border:1px solid var(--border);cursor:pointer;font:inherit;color:var(--fg);border-radius:12px;flex-direction:column;gap:.35rem;padding:1.1rem;transition:border-color .12s;display:flex}.admin-card:hover{border-color:var(--accent)}.admin-card-icon{font-size:1.6rem}.admin-card-title{font-size:1.05rem;font-weight:650}.admin-card-desc{font-size:.85rem;line-height:1.45}.feed-status{border:1px solid var(--border);border-radius:999px;padding:.2rem .6rem;font-size:.82rem;font-weight:600}.feed-status.on{color:#5cb85c;border-color:#2a6a2a}.feed-status.off{color:var(--fg-dim)}.feed-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.feed-row{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.65rem 0;animation:.2s feed-in;display:flex}.feed-icon{text-align:center;flex:none;width:1.4rem;font-size:1rem}.feed-body{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.feed-label{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-dim);flex:none;font-size:.78rem;font-weight:600}.feed-challenge{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.feed-cat{font-size:.82rem}.feed-time{white-space:nowrap;flex:none;font-size:.78rem}.feed-solve .feed-icon{color:#f5c842}.feed-step .feed-icon{color:#5cb85c}.feed-start .feed-icon{color:var(--accent)}.feed-hint .feed-icon{color:#d4a017}.an-note{margin:-.3rem 0 .7rem;font-size:.82rem}.an-funnel{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.7rem;display:grid}.an-stage{background:var(--bg-elev);border:1px solid var(--border);text-align:center;border-radius:10px;flex-direction:column;gap:.15rem;padding:.8rem .6rem;display:flex}.an-stage-val{color:var(--accent);font-size:1.4rem;font-weight:650}.an-stage-label{font-size:.8rem}.an-stage-rate{font-size:.72rem}.cf-sort{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.7rem;font-size:.82rem;display:flex}.cf-chip{font:inherit;color:var(--fg-dim);background:var(--bg-elev);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:.2rem .7rem;font-size:.78rem;transition:border-color .12s,color .12s}.cf-chip:hover{border-color:var(--accent)}.cf-chip.active{color:var(--accent);border-color:var(--accent)}.cf-table{border-collapse:collapse;width:100%;font-size:.85rem}.cf-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-dim);border-bottom:1px solid var(--border);padding:0 .5rem .4rem;font-size:.72rem;font-weight:600}.cf-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.5rem}.cf-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cf-title{align-items:center;gap:.35rem;font-weight:600;display:flex}.cf-lock{font-size:.75rem}.cf-meta{margin-top:.1rem;font-size:.72rem}.cf-bar-wrap{background:var(--bg-elev);border-radius:4px;min-width:90px;height:18px;position:relative;overflow:hidden}.cf-bar{background:var(--accent);border-radius:4px;position:absolute;inset:0 auto 0 0}.cf-bar.mid{background:#d6a72a}.cf-bar.low{background:#c8472f}.cf-bar-label{font-variant-numeric:tabular-nums;color:var(--fg);justify-content:center;align-items:center;font-size:.72rem;font-weight:600;display:flex;position:absolute;inset:0}.an-counts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.3rem 1rem;margin:0;padding:0;list-style:none;display:grid}.an-counts li{border-bottom:1px solid var(--border);justify-content:space-between;padding:.35rem .6rem;font-size:.88rem;display:flex}.an-count-name{color:var(--fg-dim);font-family:ui-monospace,JetBrains Mono,monospace}.an-count-n{font-variant-numeric:tabular-nums;font-weight:600}.an-recent{flex-direction:column;gap:.2rem;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.an-recent li{border-bottom:1px solid var(--border);align-items:baseline;gap:.6rem;padding:.3rem 0;display:flex}.an-recent-time{font-variant-numeric:tabular-nums;flex-shrink:0}.an-recent-name{color:var(--accent);font-family:ui-monospace,JetBrains Mono,monospace}.an-recent-props{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:ui-monospace,JetBrains Mono,monospace;overflow:hidden}.users-search{background:var(--panel,#14161c);border:1px solid var(--border,#2a2e39);width:100%;max-width:420px;color:inherit;border-radius:8px;margin:0 0 18px;padding:10px 14px;font-size:14px}.users-table{border-collapse:collapse;width:100%;font-size:14px}.users-table th{text-align:left;color:var(--muted,#8b93a7);border-bottom:1px solid var(--border,#2a2e39);padding:8px 12px;font-weight:600}.users-table td{border-bottom:1px solid var(--border,#20242e);padding:10px 12px}.users-row{cursor:pointer}.users-row:hover td{background:var(--panel-hover,#1b1e26)}.users-email{color:var(--muted,#8b93a7)}.tier-pill{border:1px solid var(--border,#2a2e39);text-transform:lowercase;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.tier-pill.pro{color:var(--accent,#6ea8fe);border-color:var(--accent,#6ea8fe)}.users-pager{align-items:center;gap:14px;margin-top:18px;display:flex}.user-stats{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:8px 0 28px;display:grid}.user-stat{background:var(--panel,#14161c);border:1px solid var(--border,#2a2e39);border-radius:10px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.user-stat-value{font-size:20px;font-weight:700}.user-stat-label{font-size:12px}.user-edit,.user-danger{border-top:1px solid var(--border,#2a2e39);margin-top:24px;padding-top:18px}.user-edit label{max-width:360px;color:var(--muted,#8b93a7);margin:10px 0;font-size:13px;display:block}.user-edit input,.user-edit select{background:var(--panel,#14161c);border:1px solid var(--border,#2a2e39);width:100%;color:inherit;border-radius:8px;margin-top:4px;padding:8px 12px;font-size:14px;display:block}.user-edit-actions{align-items:center;gap:12px;margin-top:12px;display:flex}.saved-note{color:#4ade80;font-size:13px}.form-error{color:#f87171;margin-top:10px;font-size:13px}.user-danger .danger{margin-top:8px}.live-dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-left:8px;display:inline-block}.live-dot.on{background:#4ade80;animation:2s infinite live-pulse;box-shadow:0 0 #4ade80b3}.live-dot.stale{background:#f59e0b}@keyframes live-pulse{0%{box-shadow:0 0 #4ade8099}70%{box-shadow:0 0 0 8px #4ade8000}to{box-shadow:0 0 #4ade8000}}.health-headline{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:8px 0 22px;display:grid}.health-big{background:var(--panel,#14161c);border:1px solid var(--border,#2a2e39);border-radius:12px;flex-direction:column;gap:2px;padding:18px 20px;display:flex}.health-big-value{color:var(--accent,#6ea8fe);font-size:40px;font-weight:800;line-height:1}.health-big-label{margin-top:6px;font-size:14px;font-weight:600}.health-big-sub{font-size:12px}.health-indicators{flex-wrap:wrap;gap:14px;margin-bottom:22px;display:flex}.health-indicator{background:var(--panel,#14161c);border:1px solid var(--border,#2a2e39);border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:inline-flex}.health-status-dot{border-radius:50%;width:9px;height:9px}.health-indicator.ok .health-status-dot{background:#4ade80}.health-indicator.down{border-color:#f87171}.health-indicator.down .health-status-dot{background:#f87171}.health-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.health-cell{background:var(--panel,#14161c);border:1px solid var(--border,#2a2e39);border-radius:10px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.health-cell-value{word-break:break-word;font-size:18px;font-weight:700}.health-cell-label{font-size:12px}.health-chart-card{background:var(--panel,#14161c);border:1px solid var(--border,#2a2e39);border-radius:12px;margin:4px 0 22px;padding:14px 16px}.health-chart-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.health-chart-title{color:var(--muted,#8b93a7);font-size:13px;font-weight:600}.health-chart-now{color:var(--accent,#6ea8fe);font-size:22px;font-weight:800}.health-chart{width:100%;height:120px;display:block}.health-chart-grid{stroke:var(--border,#2a2e39);stroke-width:1px;stroke-dasharray:3 3}.health-chart-area{fill:#6ea8fe26;stroke:none}.health-chart-line{fill:none;stroke:var(--accent,#6ea8fe);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.health-chart-empty{justify-content:center;align-items:center;height:120px;font-size:13px;display:flex}.admin-page,.admin-analytics,.broadcast-page,.health-page,.locks-page,.ratings-page,.users-page,.user-detail{box-sizing:border-box;width:100%;max-width:1000px;margin:0 auto;padding:2rem 1.75rem 3rem}.admin-page .lb-head,.health-page .lb-head,.locks-page .lb-head,.ratings-page .lb-head,.users-page .lb-head,.user-detail .lb-head,.admin-analytics .lb-head,.broadcast-page .lb-head{margin-bottom:1.5rem}.health-charts{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:4px 0 22px;display:grid}.health-charts .health-chart-card{margin:0}.health-chart-of{color:var(--muted,#8b93a7);font-size:14px;font-weight:600}.health-chart-line.mem{stroke:#2dd4bf}.notes{flex-direction:column;height:100%;min-height:0;display:flex}.notes-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.notes-title{color:var(--fg-dim);font-size:.8rem;font-weight:500}.notes-status{margin-left:auto;font-size:.75rem}.notes-count{color:var(--fg-dim);font-variant-numeric:tabular-nums;font-size:.72rem}.notes-count-over{color:#f87171}.notes-area{resize:none;min-height:0;color:var(--fg);box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;width:100%;padding:.75rem;font-family:ui-monospace,monospace;font-size:.85rem;line-height:1.6}.notes-area::placeholder{color:var(--fg-dim);opacity:.6}.notes-empty{color:var(--fg-dim);padding:1.5rem;font-size:.9rem}.health-chart-area.mem{fill:#2dd4bf26}.jobs-page{max-width:860px;margin:0 auto;padding:2.5rem 1.5rem}.jobs-header{margin-bottom:1.75rem}.jobs-title{margin:0 0 .3rem;font-size:1.6rem;font-weight:700}.jobs-subtitle{color:var(--fg-dim);margin:0;font-size:.95rem;line-height:1.5}.jobs-toolbar{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.jobs-search{background:var(--bg-panel);border:1px solid var(--border);color:var(--fg);border-radius:8px;outline:none;flex:1;padding:.5rem .75rem;font-size:.9rem;transition:border-color .15s}.jobs-search:focus{border-color:var(--accent)}.jobs-count{color:var(--fg-dim);white-space:nowrap;font-size:.85rem}.jobs-loading,.jobs-empty,.jobs-error{color:var(--fg-dim);padding:2rem 0;font-size:.95rem}.jobs-error{color:#f87171}.jobs-list{flex-direction:column;gap:1rem;display:flex}.job-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.6rem;padding:1.25rem 1.4rem;transition:border-color .15s;display:flex}.job-card:hover{border-color:var(--accent-dim)}.job-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.job-card-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.job-company{font-size:.95rem;font-weight:600}.job-posted{color:var(--fg-dim);white-space:nowrap;font-size:.8rem}.job-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.job-badge--remote{color:#4ade80;background:#4ade8026;border:1px solid #4ade804d}.job-badge--source{background:var(--bg-elev);color:var(--fg-dim);border:1px solid var(--border)}.job-title{margin:0;font-size:1rem;font-weight:600}.job-tags{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.job-tag{background:var(--accent-dim);color:var(--accent);border:1px solid #0000;border-radius:4px;padding:.15rem .5rem;font-size:.75rem}.job-description{color:var(--fg-dim);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.6;display:-webkit-box;overflow:hidden}.job-apply-link{color:var(--accent);align-self:flex-start;font-size:.875rem;font-weight:600;text-decoration:none;transition:opacity .15s}.job-apply-link:hover{opacity:.8}.ghidra-panel{box-sizing:border-box;flex-direction:column;gap:1.5rem;height:100%;padding:1.25rem;display:flex;overflow-y:auto}.ghidra-section{flex-direction:column;gap:.75rem;display:flex}.ghidra-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);margin:0;font-size:.8rem;font-weight:600}.ghidra-downloads{flex-wrap:wrap;gap:.75rem;display:flex}.ghidra-btn{border:1px solid var(--border);background:var(--bg-panel);color:var(--fg);cursor:pointer;border-radius:6px;align-items:center;gap:.35rem;padding:.45rem .9rem;font-family:ui-monospace,monospace;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.ghidra-btn:hover{background:var(--bg-hover,#ffffff0f);border-color:var(--accent);color:var(--accent)}.ghidra-steps{color:var(--fg);flex-direction:column;gap:.6rem;margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.6;display:flex}.ghidra-steps li{padding-left:.25rem}.ghidra-cmd-block{border:1px solid var(--border);border-radius:6px;align-items:stretch;gap:0;display:flex;overflow:hidden}.ghidra-cmd{background:var(--bg-code,#00000040);color:var(--fg);white-space:pre;border:none;border-radius:0;flex:1;margin:0;padding:.6rem .75rem;font-family:ui-monospace,monospace;font-size:.78rem;overflow-x:auto}.ghidra-copy-btn{background:var(--bg-panel);border:none;border-left:1px solid var(--border);color:var(--fg-dim);cursor:pointer;flex-shrink:0;padding:0 .9rem;font-size:.78rem;font-weight:500;transition:background .15s,color .15s}.ghidra-copy-btn:hover:not(:disabled){background:var(--bg-hover,#ffffff0f);color:var(--accent)}.ghidra-copy-btn:disabled{opacity:.4;cursor:default}.ghidra-pair-header{justify-content:space-between;align-items:center;margin-bottom:.1rem;display:flex}.ghidra-regen-btn{color:var(--fg-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:.78rem;transition:color .15s}.ghidra-regen-btn:hover{color:var(--accent)}.ghidra-hash{margin-top:.4rem;font-size:.75rem}.ghidra-statusbar{background:var(--bg-code,#0003);border-radius:6px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.45rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.ghidra-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.ghidra-status-waiting{background:var(--fg-dim);opacity:.4}.ghidra-status-connected{background:#4ade80;box-shadow:0 0 5px #4ade8080}.ghidra-sep{color:var(--fg-dim);opacity:.5;font-size:.7rem}.ghidra-loc-addr{color:var(--accent);font-family:ui-monospace,monospace;font-size:.78rem}.ghidra-loc-func{color:var(--fg);font-family:ui-monospace,monospace;font-size:.78rem}.rp{flex-direction:column;gap:1.25rem;width:100%;max-width:1100px;margin:0 auto;padding:1.75rem 2rem 2.5rem;display:flex}.rp-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.rp-head h1{margin:0;font-size:1.4rem}.rp-sub{color:var(--fg-dim);margin:.2rem 0 0;font-size:.85rem}.rp-score{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:center;min-width:92px;padding:.5rem .9rem;display:flex}.rp-score.done{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim) inset}.rp-score-num{color:var(--accent);font-size:1.7rem;font-weight:700;line-height:1}.rp-score-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:.25rem;font-size:.7rem}.rp-body{grid-template-columns:280px minmax(0,1fr);gap:1.25rem;display:grid}@media (width<=800px){.rp-body{grid-template-columns:1fr}}.rp-rail{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;align-self:start;padding:.75rem}.rp-rail .rail-item{cursor:default}.rp-rail .rail-item.selected{border-color:var(--accent)}.rp-stage{flex-direction:column;gap:1rem;min-width:0;display:flex}.rp-caption{background:var(--bg-panel);border:1px solid var(--border);border-left-width:4px;border-radius:12px;align-items:center;gap:.9rem;padding:1rem 1.1rem;display:flex}.rp-caption.good{border-left-color:var(--good)}.rp-caption.bad{border-left-color:var(--bad)}.rp-caption.warn{border-left-color:var(--warn)}.rp-caption.neutral{border-left-color:var(--muted)}.rp-caption-icon{background:var(--bg-elev);border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-size:1.3rem;display:grid}.rp-caption-body{flex-direction:column;gap:.15rem;min-width:0;display:flex}.rp-caption-body strong{color:var(--fg)}.rp-caption-meta{color:var(--fg-dim);font-size:.78rem}.rp-delta{font-variant-numeric:tabular-nums;border-radius:999px;padding:.1rem .45rem;font-size:.8rem;font-weight:600}.rp-delta.big{margin-left:auto;font-size:.95rem}.rp-delta.pos{color:var(--good);background:#5ad1a01f}.rp-delta.neg{color:var(--warn);background:#e0b3411f}.rp-timeline{flex-direction:column;gap:.25rem;max-height:340px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.rp-tl-item{cursor:pointer;text-align:left;width:100%;color:var(--fg-dim);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.7rem;padding:.45rem .6rem;font-size:.85rem;display:flex}.rp-tl-item:hover{background:var(--bg-elev)}.rp-tl-item.past{color:var(--muted)}.rp-tl-item.active{background:var(--bg-elev);border-color:var(--accent);color:var(--fg)}.rp-tl-time{font-variant-numeric:tabular-nums;color:var(--muted);flex:0 0 3rem;font-size:.75rem}.rp-tl-icon{text-align:center;flex:0 0 1.1rem}.rp-tl-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.rp-transport{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.rp-btn{background:var(--bg-elev);border:1px solid var(--border);color:var(--fg);cursor:pointer;border-radius:8px;place-items:center;width:2.2rem;height:2.2rem;font-size:.9rem;display:grid}.rp-btn:hover{border-color:var(--accent)}.rp-play{background:var(--accent-dim);border-color:var(--accent)}.rp-scrub{accent-color:var(--accent);cursor:pointer;flex:auto}.rp-pos{font-variant-numeric:tabular-nums;color:var(--fg-dim);flex:none;font-size:.78rem}.rp-speeds{gap:.2rem;display:flex}.rp-speed{background:var(--bg-elev);border:1px solid var(--border);color:var(--fg-dim);cursor:pointer;border-radius:6px;padding:.25rem .45rem;font-size:.75rem}.rp-speed.active{border-color:var(--accent);color:var(--accent)}.user-replays{margin-top:2rem}.user-replays h2{margin-bottom:.75rem}.replays-table .replay-open{color:var(--accent);white-space:nowrap;font-size:.82rem}.rp-tabs{background:var(--bg-panel);border:1px solid var(--border);border-radius:9px;gap:.25rem;margin-left:auto;margin-right:1rem;padding:.2rem;display:flex}.rp-tab{color:var(--fg-dim);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:.35rem .85rem;font-size:.82rem}.rp-tab.active{background:var(--bg-elev);color:var(--fg)}.tr{flex-direction:column;gap:1rem;display:flex}.tr-screen{border:1px solid var(--border);background:#0d1018;border-radius:12px;padding:.75rem;overflow:auto}.tr-screen .xterm{padding:0}.spotlight{z-index:9000;pointer-events:none;position:fixed;inset:0}.spotlight-mask{pointer-events:auto;cursor:pointer;background:#060a0fcc;animation:.16s ease-out lll-spot-fade;position:absolute}.spotlight-mask-full{width:100%;height:100%;inset:0}@keyframes lll-spot-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.spotlight-mask{animation:none}}.spotlight-ring{pointer-events:none;border:2px solid var(--accent);position:absolute;box-shadow:0 0 0 1px #060a0f99,0 0 18px 2px #4bd6a059,inset 0 0 12px #4bd6a01f}.spotlight-callout{background:var(--bg-elev);border:1px solid var(--border-bright);pointer-events:auto;width:320px;max-width:calc(100vw - 24px);padding:.85rem .95rem .7rem;transition:opacity .12s;position:absolute;box-shadow:0 18px 50px #0009}.spotlight-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.2rem .3rem;font-size:.85rem;line-height:1;position:absolute;top:.35rem;right:.4rem}.spotlight-close:hover{color:var(--fg)}.spotlight-title{color:var(--accent);margin:0 1.2rem .4rem 0;font-size:.98rem}.spotlight-body{color:var(--fg);font-size:.86rem;line-height:1.5}.spotlight-body :first-child{margin-top:0}.spotlight-body :last-child{margin-bottom:0}.spotlight-nav{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.spotlight-dots{gap:4px;display:inline-flex}.spotlight-dot{background:var(--border-bright);width:6px;height:6px;border-radius:999px!important}.spotlight-dot.on{background:var(--accent);box-shadow:var(--glow-accent)}.spotlight-count{color:var(--muted);margin-left:auto;font-size:.72rem}.spotlight-btn{appearance:none;border:1px solid var(--border-bright);color:var(--fg);font:inherit;cursor:pointer;background:#ffffff0a;padding:.3rem .6rem;font-size:.78rem}.spotlight-btn:hover{border-color:var(--accent)}.spotlight-btn.primary{background:var(--accent);border-color:var(--accent);color:#06231a;font-weight:600}.spotlight-btn.primary:hover{filter:brightness(1.08)}.spotlight-replay{appearance:none;border:1px solid var(--border-bright);color:var(--accent);font:inherit;cursor:pointer;background:#4bd6a00f;align-self:flex-start;margin:0 0 .6rem;padding:.25rem .6rem;font-size:.75rem}.spotlight-replay:hover{border-color:var(--accent);background:#4bd6a01f}body:before{background-color:var(--bg);background-image:radial-gradient(60rem 42rem at 10% -10%,#4bd6a00f,#0000 55%),radial-gradient(54rem 44rem at 106% 2%,#e0b24d0a,#0000 55%),linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px)!important;background-size:100% 100%,100% 100%,40px 40px,40px 40px!important}.navbar{background:color-mix(in srgb, var(--bg-panel) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border-bright)}.app-navbar{box-shadow:0 1px 0 var(--border-bright), 0 0 24px #00000080!important}.app-navbar:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.28;pointer-events:none;height:1px;position:absolute;bottom:-1px;left:0;right:0}.app-navbar{position:sticky}.brand-logo{filter:drop-shadow(0 0 4px #4bd6a04d)}.nav-brand-name,.brand-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;text-shadow:var(--glow-text);font-weight:400}.card-title,.cat-title,.ch-title,.rating-prompt,.brand,.panel-head h2{font-family:var(--font-display);font-weight:400}.nav-link{text-transform:uppercase;letter-spacing:.06em;border:1px solid #0000;font-size:.78rem}.nav-link:hover{color:var(--accent);border-color:var(--border-bright);text-shadow:var(--glow-text);background:0 0}.nav-link.active{color:var(--accent);border-color:var(--accent-dim);text-shadow:var(--glow-text);background:0 0}.nav-link.active:before{content:">";color:var(--accent);font-weight:700}button.primary{background:var(--accent);color:#041a11;border:1px solid var(--accent);text-transform:uppercase;letter-spacing:.06em;padding:.55rem 1.1rem;font-weight:700;transition:box-shadow .15s,filter .15s;box-shadow:0 0 10px #4bd6a024}button.primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 0 16px #4bd6a042}button.ghost{border:1px solid var(--border-bright);color:var(--fg-dim);text-transform:uppercase;letter-spacing:.06em;background:0 0;font-size:.8rem;transition:color .15s,border-color .15s,box-shadow .15s}button.ghost:hover:not(:disabled){color:var(--accent);border-color:var(--accent);text-shadow:var(--glow-text);box-shadow:0 0 12px #4bd6a01f}.card{background:var(--bg-panel);border:1px solid var(--border);transition:border-color .15s,box-shadow .15s,transform .1s;position:relative}.card:before,.card:after{content:"";border:0 solid var(--border-bright);pointer-events:none;width:10px;height:10px;transition:border-color .15s;position:absolute}.card:before{border-top-width:1px;border-left-width:1px;top:-1px;left:-1px}.card:after{border-bottom-width:1px;border-right-width:1px;bottom:-1px;right:-1px}.card:hover{border-color:var(--border-bright);transform:translateY(-2px);box-shadow:0 0 20px #4bd6a012}.card:hover:before,.card:hover:after{border-color:var(--accent)}.card-title{text-shadow:none}.status-pill,.difficulty,.cat-count,.tier{text-transform:uppercase;letter-spacing:.06em;font-family:inherit;border-radius:0!important}.status-pill.active{color:var(--accent);border-color:var(--accent-dim);text-shadow:var(--glow-text)}.status-pill.passed{color:#041a11;background:var(--accent);border-color:var(--accent);text-shadow:none;box-shadow:0 0 10px #4bd6a02e}.difficulty.easy{color:var(--good);border-color:var(--accent-dim)}.difficulty.medium{color:var(--amber);border-color:color-mix(in srgb, var(--amber) 40%, transparent)}.difficulty.hard,.difficulty.insane{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, transparent)}.tier{border:1px solid var(--accent-dim);color:var(--accent);background:0 0}.event-badge{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-dim);white-space:nowrap;align-items:center;gap:.45em;padding:.16rem .5rem;font-size:.66rem;font-weight:600;line-height:1;display:inline-flex;border-radius:0!important}.event-badge .dot{background:currentColor;width:.5em;height:.5em;border-radius:999px!important}.event-badge.live{color:var(--accent);border-color:var(--accent-dim);text-shadow:var(--glow-text)}.event-badge.live .dot{box-shadow:0 0 6px var(--accent);animation:1.6s ease-in-out infinite lll-pulse}.event-badge.upcoming{color:var(--amber);border-color:color-mix(in srgb, var(--amber) 40%, transparent)}.event-badge.closed{color:var(--muted);border-color:var(--border)}.event-badge.solved{color:var(--accent);border-color:var(--accent-dim)}@keyframes lll-pulse{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.event-badge.live .dot{animation:none}}.card.event-card-live{border-color:var(--accent-dim)}.card.event-card-live:before,.card.event-card-live:after{border-color:var(--accent)}.cat-title{text-transform:uppercase;letter-spacing:.08em;border-bottom-color:var(--border-bright)}.cat-title:before{content:"// ";color:var(--accent)}.bar{background:var(--code-bg);border:1px solid var(--border);height:8px}.bar-fill{background:var(--accent);box-shadow:0 0 6px #4bd6a047}input:focus,textarea:focus,.submit-row input:focus,.fill-input:focus{outline:none;box-shadow:0 0 8px #4bd6a024;border-color:var(--accent)!important}.panel-head h2:before{content:"$";color:var(--accent);text-shadow:var(--glow-accent);margin-right:.5em}.marker.active{color:var(--accent);text-shadow:var(--glow-accent)}.marker.passed{color:var(--accent)}.rail-item.selected{border-color:var(--accent-dim)}.landing .ref-banner{border:1px solid var(--accent-dim);max-width:1240px;color:var(--accent);background:#4bd6a012;margin:1rem auto 0;padding:1.1rem 1.5rem;font-size:1.15rem;line-height:1.4;animation:.5s cubic-bezier(.16,1,.3,1) both ref-banner-in}.landing .ref-banner:before{content:"> ";color:var(--amber)}@keyframes ref-banner-in{0%{opacity:0;transform:translateY(-1.25rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.landing .ref-banner{animation:none}}.eyebrow{color:var(--accent);text-shadow:var(--glow-text)}.eyebrow:before{content:"> ";color:var(--amber)}.hero-left h1{text-shadow:var(--glow-text)}.hero-left h1:after{content:"█";color:var(--accent);text-shadow:var(--glow-accent);margin-left:.12em;animation:1.05s step-end infinite lll-blink}@media (prefers-reduced-motion:reduce){.hero-left h1:after{animation:none}}.hero-left h1 .accent{color:var(--accent);text-shadow:0 0 6px #4bd6a02e}.hero-points li:before{content:">";color:var(--accent);text-shadow:var(--glow-text)}.completion{border-color:var(--accent-dim);box-shadow:0 0 20px #4bd6a014}.term{background:var(--code-bg);border-left:1px solid var(--border-bright)}.term-bar{border-bottom:1px solid var(--border-bright)}.term-title{color:var(--fg-dim);text-shadow:var(--glow-text)}.term-title:before{content:"$";color:var(--accent);text-shadow:var(--glow-accent);margin-right:.5em}.env-dot.running{background:var(--accent);box-shadow:0 0 8px var(--accent)}.xterm-host{box-shadow:inset 0 0 40px #4bd6a008}.rightpane,.tabbar .tab.active,.tr-screen{background:var(--code-bg)}.tabbar .tab.active{color:var(--accent);text-shadow:var(--glow-text)}.landing{--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-family:var(--font-ui)}.landing h1,.landing h2,.landing h3{font-family:var(--font-ui);letter-spacing:-.01em;font-weight:600}.landing .hero-left h1{font-family:var(--font-ui);letter-spacing:-.032em;color:#e9edf3;margin:0 0 1.1rem;font-size:clamp(2.5rem,5vw,3.75rem);font-weight:700;line-height:1.04}.landing .hero-left h1:after{content:none}.landing .hero-left h1 .accent{text-shadow:none}.landing .hero-sub{letter-spacing:-.005em;max-width:34em;font-size:1.15rem;line-height:1.6}.landing .hero-points li{font-size:.95rem;line-height:1.5}.landing .primary.big,.landing .ghost.big{letter-spacing:-.01em;font-weight:600}.landing .eyebrow,.landing .hero-points li:before{font-family:ui-monospace,JetBrains Mono,Fira Code,monospace}.landing .term-mock,.landing code,.landing pre{font-family:ui-monospace,JetBrains Mono,Fira Code,SFMono-Regular,Menlo,Consolas,monospace}.landing .hero-grid{grid-template-columns:1fr 1.15fr;gap:3.5rem;max-width:1240px}.landing .hero-left{max-width:560px}.landing .term-mock{max-width:640px;box-shadow:0 28px 70px #00000080}.landing .term-mock-body{padding:1.15rem 1.3rem;font-size:14px}.landing .term-mock-title{font-size:.78rem}.landing .tm-tab{padding:.16rem .6rem;font-size:.76rem}@media (width<=1024px){.landing .hero-grid{grid-template-columns:1fr;gap:2rem;max-width:none}.landing .hero-left,.landing .term-mock{max-width:none}}@media (width<=560px){.landing .term-mock-body{padding:.9rem 1rem;font-size:12px}}
