/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.uppercase{text-transform:uppercase}}:root{--bg:#f1f7f4;--surface:#fff;--surface2:#e8f1ee;--ink:#1b2559;--muted:#5a6592;--line:#d5e1e6;--brand:#6b4eff;--brand-ink:#fff;--brand-soft:#e9e5ff;--mint:#7ee0c3;--mint-soft:#d9f6ec;--pink:#ff5c8a;--pink-soft:#ffe3eb;--sun:#ffc93c;--sun-soft:#fff1c7;--sky-soft:#ddf1fd;--good:#12a06e;--bad:#e03b5c;--warn:#b7791f;--codebg:#161b42;--codeink:#e8ebff;--shadow:0 1px 0 #1b25590f,0 10px 24px -14px #1b255940;--fh:"Baloo 2","Trebuchet MS",system-ui,sans-serif;--fb:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;--fm:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1230;--surface:#181e4d;--surface2:#222962;--ink:#eef0ff;--muted:#a8afd8;--line:#2d3571;--brand:#a394ff;--brand-ink:#12163a;--brand-soft:#2b2a66;--mint-soft:#17413f;--pink-soft:#4a2142;--sun-soft:#4a3b17;--sky-soft:#17375a;--good:#3ddc97;--bad:#ff7a93;--warn:#f2c26b;--codebg:#0a0d26;--shadow:0 1px 0 #0000004d,0 10px 24px -14px #0009}}:root[data-theme=dark]{--bg:#0e1230;--surface:#181e4d;--surface2:#222962;--ink:#eef0ff;--muted:#a8afd8;--line:#2d3571;--brand:#a394ff;--brand-ink:#12163a;--brand-soft:#2b2a66;--mint-soft:#17413f;--pink-soft:#4a2142;--sun-soft:#4a3b17;--sky-soft:#17375a;--good:#3ddc97;--bad:#ff7a93;--warn:#f2c26b;--codebg:#0a0d26;--shadow:0 1px 0 #0000004d,0 10px 24px -14px #0009}:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 70px)}*,:before,:after{box-sizing:inherit}body{background:var(--bg);color:var(--ink);font-family:var(--fb);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}h1,h2,h3,h4{font-family:var(--fh);letter-spacing:.1px;margin:0 0 .5em;line-height:1.15}h1{font-size:clamp(1.9rem,4vw,2.6rem)}h2{font-size:1.5rem}h3{font-size:1.2rem}h4{margin-top:1.3em;font-size:1.05rem}p{margin:0 0 .9em}a{color:var(--brand)}code{font-family:var(--fm);background:var(--surface2);border-radius:5px;padding:.08em .38em;font-size:.88em}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:6px}.small{color:var(--muted);font-size:.88rem}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.side{border-right:2px solid var(--line);background:var(--surface);flex-direction:column;align-self:start;gap:6px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0;overflow:auto}.logo{font-family:var(--fh);color:var(--ink);align-items:center;gap:10px;margin:0 8px 14px;font-size:1.35rem;font-weight:800;text-decoration:none;display:flex}.logo svg{width:38px;height:38px}.nav a{color:var(--ink);border-radius:14px;align-items:center;gap:12px;padding:10px 14px;font-weight:700;text-decoration:none;display:flex}.nav a .ic{text-align:center;width:28px;font-size:1.25rem}.nav a:hover{background:var(--surface2)}.nav a[aria-current=page]{background:var(--brand);color:var(--brand-ink)}.me{background:var(--surface2);border-radius:18px;margin-top:auto;padding:14px}.me .lv{font-family:var(--fh);font-size:1.1rem;font-weight:800}.bar{background:var(--line);border-radius:99px;height:10px;margin:8px 0 4px;overflow:hidden}.bar>i{background:linear-gradient(90deg,var(--mint),var(--brand));border-radius:99px;height:100%;transition:width .5s;display:block}.main{width:100%;max-width:980px;margin:0 auto;padding:28px clamp(16px,4vw,48px) 140px}.topbar,.bottom{display:none}@media (width<=899px){.app{display:block}.side{display:none}.topbar{top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;padding:10px 16px;display:flex;position:sticky}.topbar .logo{margin:0;font-size:1.15rem}.topbar .logo svg{width:30px;height:30px}.xpchip{align-items:center;gap:8px;font-size:.9rem;font-weight:800;display:flex}.bottom{z-index:30;background:var(--surface);border-top:2px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom a{color:var(--muted);border-radius:12px;flex-direction:column;align-items:center;gap:0;padding:4px 0;font-size:.68rem;font-weight:800;text-decoration:none;display:flex}.bottom a .ic{font-size:1.3rem}.bottom a[aria-current=page]{color:var(--brand);background:var(--brand-soft)}.main{padding-bottom:170px}}.btn{background:var(--brand);color:var(--brand-ink);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-weight:800;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex;box-shadow:0 4px #1b255947}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(3px);box-shadow:0 1px #1b255947}.btn.sec{background:var(--surface);color:var(--ink);border:2px solid var(--line);box-shadow:0 3px 0 var(--line)}.btn.good{background:var(--good);color:#06281c}.btn.sm{border-radius:11px;padding:8px 14px;font-size:.9rem}.btn[disabled]{opacity:.5;pointer-events:none}.mini{background:var(--mint);color:#0b2b25;border:0;border-radius:99px;padding:5px 11px;font-size:.8rem;font-weight:800}.mini:hover{filter:brightness(1.06)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card{background:var(--surface);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:22px}.card+.card{margin-top:16px}.callout{border-left:6px solid;border-radius:16px;gap:4px;margin:16px 0;padding:14px 16px;display:grid}.callout>b{font-family:var(--fh);font-size:1rem}.callout.bio{background:var(--mint-soft);border-color:var(--good)}.callout.tip{background:var(--brand-soft);border-color:var(--brand)}.callout.trap{background:var(--pink-soft);border-color:var(--pink)}.callout div{font-size:.98rem}.codebox{background:var(--codebg);color:var(--codeink);border:2px solid var(--line);border-radius:14px;margin:14px 0;overflow:hidden}.codebar{color:#b9bfea;font-size:.78rem;font-family:var(--fm);background:#ffffff12;justify-content:space-between;align-items:center;padding:7px 12px;display:flex}.codebox pre{font-family:var(--fm);tab-size:4;margin:0;padding:14px 16px;font-size:.88rem;line-height:1.6;overflow-x:auto}.codebox code{font-size:inherit;color:inherit;background:0 0;padding:0}.codein{color:#b9bfea;background:#ffffff0f;padding:8px 14px;font-size:.8rem}.codein code{color:#fff;background:#ffffff1f}.c-kw{color:#ff9ac1}.c-str{color:#9be7a8}.c-num{color:#ffd479}.c-com{color:#8c94c9;font-style:italic}.c-pre{color:#7dd3fc}.c-fn{color:#b2beff}pre.plain{background:var(--codebg);color:var(--codeink);font-family:var(--fm);border-radius:12px;padding:12px 14px;font-size:.86rem;overflow-x:auto}.term{background:var(--codebg);color:#c8f7dc;font-family:var(--fm);border-radius:14px;padding:14px 16px;font-size:.9rem;line-height:1.8;overflow-x:auto}.term span{color:#8c94c9}.tbl{border-collapse:collapse;width:100%;margin:12px 0;font-size:.95rem;display:block;overflow-x:auto}.tbl th,.tbl td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 12px}.tbl th{background:var(--surface2);font-family:var(--fh)}.tbl.dry td{text-align:center}ol.steps{counter-reset:s;gap:8px;margin:12px 0;padding-left:0;list-style:none;display:grid}ol.steps li{counter-increment:s;align-items:flex-start;gap:12px;display:flex}ol.steps li:before{content:counter(s);background:var(--brand);width:28px;height:28px;color:var(--brand-ink);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:.85rem;font-weight:800;display:grid}.chips{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.chip{font-family:var(--fm);border-radius:99px;padding:6px 12px;font-size:.95rem;font-weight:700}.chip.k{background:var(--pink-soft)}.chip.i{background:var(--sky-soft)}.chip.o{background:var(--sun-soft)}.chip.c{background:var(--mint-soft)}.chip.s{background:var(--brand-soft)}details{margin:10px 0}summary{cursor:pointer;color:var(--brand);font-weight:800}.kw32{font-size:.9rem}.blocks{grid-template-columns:auto auto auto auto auto;justify-content:center;align-items:center;gap:8px 10px;margin:16px 0;display:grid}.blk{border:2px solid var(--ink);text-align:center;background:var(--surface);border-radius:14px;padding:10px 14px;font-weight:800}.blk small{color:var(--muted);font-size:.74rem;font-weight:600;display:block}.blk.bi{background:var(--sky-soft)}.blk.bo{background:var(--sun-soft)}.blk.bc{background:var(--brand-soft)}.blk.bm{background:var(--mint-soft);grid-column:3}.blk .sub{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;display:flex}.blk .sub span{background:var(--surface);border:1.5px solid var(--ink);border-radius:8px;padding:2px 8px;font-size:.78rem}.arr{color:var(--brand);font-size:1.4rem;font-weight:800}@media (width<=560px){.blocks{grid-template-columns:1fr auto 1fr}.blk.bc{order:2;grid-column:1/-1}.arr{display:none}.blk.bm{order:3;grid-column:1/-1}}.ladder{gap:6px;margin:14px 0;display:grid}.ladder div{background:var(--surface2);border:2px solid var(--line);border-radius:12px;padding:9px 14px;font-size:.92rem}.ladder div:first-child{background:var(--sky-soft)}.ladder div:nth-child(2){background:var(--mint-soft)}.ladder div:nth-child(3){background:var(--sun-soft)}.ladder div:nth-child(4){background:var(--pink-soft)}.legend{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:14px 0;font-size:.9rem;display:grid}.legend>div{justify-items:start;gap:8px;display:grid}.flow{border:2px dashed var(--line);background:var(--surface);border-radius:16px;margin:16px 0;padding:12px 4px;overflow-x:auto}.flow figcaption{text-align:center;color:var(--muted);margin-top:8px;font-size:.85rem;font-weight:800}.fc{flex-direction:column;align-items:center;width:100%;min-width:max-content;margin:0 auto;font-size:.86rem;display:flex}.fc-a{background:var(--ink);width:2px;height:16px;position:relative}.fc-a:after{content:"";border:5px solid #0000;border-top:7px solid var(--ink);border-bottom:0;position:absolute;bottom:-2px;left:-4px}.fc-n{text-align:center;max-width:240px;padding:8px 16px;font-weight:800}.fc-t{border:2px solid var(--ink);background:var(--mint-soft);border-radius:99px}.fc-p{border:2px solid var(--ink);background:var(--surface)}.fc-io{border:2px solid var(--ink);background:var(--sun-soft);transform:skew(-14deg)}.fc-io>span{display:inline-block;transform:skew(14deg)}.fc-d{background:var(--ink);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);max-width:none;padding:2px}.fc-d>span{background:var(--pink-soft);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);white-space:nowrap;padding:24px 40px;display:block}.fc-split{justify-content:center;width:100%;display:flex}.fc-col{flex-direction:column;flex:1 1 0;align-items:center;min-width:150px;padding-top:24px;display:flex;position:relative}.fc-col:before{content:"";background:var(--ink);height:2px;position:absolute;top:0}.fc-col:first-child:before{left:50%;right:0}.fc-col:last-child:before{left:0;right:50%}.fc-col:after{content:"";background:var(--ink);width:2px;height:24px;position:absolute;top:0;left:calc(50% - 1px)}.fc-lab{color:var(--brand);z-index:1;font-size:.75rem;font-weight:800;position:absolute;top:3px;left:calc(50% + 6px)}.fc-merge{background:var(--ink);width:2px;height:14px}.fc-back{color:var(--muted);border:1.5px dashed var(--muted);border-radius:99px;margin-top:6px;padding:2px 10px;font-size:.72rem;font-weight:700}.legend .fc-n{max-width:none;display:inline-block}.legend .fc-d{clip-path:none;background:0 0;padding:0}.legend .fc-d>span{clip-path:none;border:2px solid var(--ink);border-radius:6px;padding:6px 14px;transform:rotate(0)}.hero{background:linear-gradient(135deg,var(--mint-soft),var(--brand-soft));border:2px solid var(--line);border-radius:28px;grid-template-columns:auto 1fr;align-items:center;gap:22px;padding:26px;display:grid}.hero .big{width:150px;height:150px}.hero h1{margin-bottom:.25em}.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:18px 0 0;display:grid}.stat{background:var(--surface);border:2px solid var(--line);border-radius:16px;padding:10px 14px}.stat b{font-family:var(--fh);font-size:1.5rem;line-height:1.1;display:block}.stat span{color:var(--muted);font-size:.8rem;font-weight:700}@media (width<=620px){.hero{text-align:center;grid-template-columns:1fr;justify-items:center}.hero .row{justify-content:center}}.ready{margin:22px 0 4px}.ready .bar{height:16px}.trail{margin:10px 0 30px;padding-left:34px;position:relative}.trail:before{content:"";border-left:4px dotted var(--line);position:absolute;top:20px;bottom:20px;left:30px}.node{background:var(--surface);border:2px solid var(--line);color:var(--ink);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:62px 1fr auto;align-items:center;gap:14px;margin:0 0 14px 22px;padding:14px 16px;text-decoration:none;display:grid;position:relative}.node:hover{border-color:var(--brand)}.node:nth-child(2n){margin-left:48px}.node .bub{border:4px solid var(--c,var(--brand));background:var(--surface2);border-radius:50%;place-items:center;width:62px;height:62px;font-size:1.7rem;display:grid}.node.done .bub{background:var(--c);filter:saturate(1.1)}.node b{font-family:var(--fh);font-size:1.12rem;line-height:1.2;display:block}.node small{color:var(--muted);font-size:.86rem;line-height:1.3;display:block}.node .st{background:var(--surface2);border-radius:99px;padding:4px 10px;font-size:.8rem;font-weight:800}.node.done .st{background:var(--good);color:#06281c}.modh{font-family:var(--fh);align-items:center;gap:10px;margin:26px 0 8px;font-size:1.25rem;display:flex}.modh span{background:var(--ink);color:var(--bg);border-radius:99px;padding:2px 12px;font-size:.9rem}@media (width<=560px){.node{grid-template-columns:52px 1fr;margin-left:14px}.node:nth-child(2n){margin-left:14px}.node .st{grid-column:2;justify-self:start}.node .bub{width:52px;height:52px;font-size:1.4rem}}.zones{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.zone{color:var(--ink);border:2px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:22px;padding:18px;text-decoration:none;display:block}.zone:first-child{background:var(--sun-soft)}.zone:nth-child(2){background:var(--mint-soft)}.zone:nth-child(3){background:var(--pink-soft)}.zone b{font-family:var(--fh);font-size:1.15rem;display:block}.zone span{color:var(--muted);font-size:.9rem}.zone:hover{transform:translateY(-2px)}.lhead{align-items:center;gap:16px;margin-bottom:18px;display:flex}.lhead .em{background:var(--c);border:2px solid var(--ink);border-radius:22px;flex:none;place-items:center;width:70px;height:70px;font-size:2.2rem;display:grid}.back{margin-bottom:12px;font-weight:800;text-decoration:none;display:inline-block}.sec{margin-bottom:18px}.sec h2{align-items:center;gap:10px;display:flex}.lnav{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:22px;display:flex}.q{margin-bottom:12px;font-size:1.05rem;font-weight:800}.opts{gap:10px;display:grid}.opt{text-align:left;border:2px solid var(--line);background:var(--surface);box-shadow:0 3px 0 var(--line);border-radius:14px;padding:12px 16px;font-weight:700}.opt:hover{border-color:var(--brand)}.opt.right{background:var(--mint-soft);border-color:var(--good);box-shadow:0 3px 0 var(--good)}.opt.wrong{background:var(--pink-soft);border-color:var(--bad);box-shadow:0 3px 0 var(--bad)}.opt[disabled]{pointer-events:none}.why{background:var(--surface2);border-radius:12px;margin-top:12px;padding:12px 14px;font-size:.95rem}.qdots{gap:6px;margin-bottom:14px;display:flex}.qdots i{background:var(--line);border-radius:99px;width:26px;height:8px}.qdots i.on{background:var(--brand)}.qdots i.ok{background:var(--good)}.qdots i.no{background:var(--bad)}.widget{background:var(--surface2);border-radius:16px;margin:12px 0;padding:14px}.widget input[type=text]{width:100%;font:inherit;font-family:var(--fm);border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 12px}.res{margin-top:10px;font-weight:800}.res.ok{color:var(--good)}.res.no{color:var(--bad)}.filters{flex-wrap:wrap;gap:8px;margin:12px 0 16px;display:flex}.fchip{border:2px solid var(--line);background:var(--surface);border-radius:99px;padding:6px 14px;font-size:.9rem;font-weight:800}.fchip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.search{border:2px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:14px;padding:11px 16px}.qitem{border:2px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;margin-bottom:12px}.qitem>summary{color:var(--ink);align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}.qitem>summary::-webkit-details-marker{display:none}.qitem .tag{background:var(--brand-soft);color:var(--brand);border-radius:99px;flex:none;padding:2px 10px;font-size:.72rem;font-weight:800}.qitem .tt{flex:1;font-weight:800;line-height:1.25}.qitem .ck{border:2px solid var(--line);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.85rem;display:grid}.qitem.done .ck{background:var(--good);border-color:var(--good);color:#06281c}.qbody{border-top:2px dashed var(--line);padding:2px 18px 18px}.qbody .qq{margin:14px 0;font-weight:700}.sol{display:none}.sol.show{display:block}.labgrid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=899px){.labgrid{grid-template-columns:1fr}}.editor{background:var(--codebg);border:2px solid var(--line);border-radius:16px;grid-template-columns:44px 1fr;height:min(62vh,520px);min-height:300px;display:grid;position:relative;overflow:hidden}.gut{color:#6e76b0;text-align:right;font-family:var(--fm);-webkit-user-select:none;user-select:none;background:#ffffff0a;padding:12px 8px 12px 0;font-size:14px;line-height:22px;overflow:hidden}.gut div.err{color:#fff;background:var(--bad)}.ew{position:relative;overflow:hidden}.ew pre,.ew textarea{font-family:var(--fm);tab-size:4;white-space:pre;letter-spacing:0;word-spacing:0;background:0 0;border:0;margin:0;padding:12px 14px;font-size:14px;line-height:22px;position:absolute;inset:0;overflow:auto}.ew pre{color:var(--codeink);pointer-events:none}.ew pre .ln{height:22px}.ew pre .ln.err{box-shadow:inset 3px 0 0 var(--bad);background:#ff5c7847}.ew textarea{color:#0000;caret-color:#fff;resize:none;-webkit-text-fill-color:transparent;outline:none}.ew textarea::selection{-webkit-text-fill-color:transparent;background:#a394ff73}.console{color:#d6f5e3;font-family:var(--fm);white-space:pre-wrap;word-break:break-word;border:2px solid var(--line);background:#0a0d26;border-radius:14px;min-height:110px;max-height:300px;padding:12px 14px;font-size:.88rem;overflow:auto}.console .dim{color:#7c84b8}.lbl{font-family:var(--fh);justify-content:space-between;align-items:center;margin:14px 0 6px;font-weight:700;display:flex}.stdin{width:100%;min-height:62px;font-family:var(--fm);border:2px solid var(--line);background:var(--surface);color:var(--ink);resize:vertical;border-radius:12px;padding:10px 12px;font-size:.9rem}.msg{border:2px solid;border-radius:14px;margin-top:10px;padding:12px 14px;font-size:.93rem}.msg.err{background:var(--pink-soft);border-color:var(--bad)}.msg.warn{background:var(--sun-soft);border-color:var(--sun)}.msg.info{background:var(--sky-soft);border-color:#38bdf8}.msg.ok{background:var(--mint-soft);border-color:var(--good)}.msg b{display:block}.vars{flex-wrap:wrap;gap:8px;display:flex}.var{background:var(--surface2);font-family:var(--fm);border:2px solid #0000;border-radius:12px;padding:6px 12px;font-size:.85rem}.var small{color:var(--muted);font-size:.7rem;display:block}.var.chg{border-color:var(--pink);background:var(--pink-soft)}.task{background:var(--surface);border:2px solid var(--line);border-left:8px solid var(--brand);border-radius:16px;margin-bottom:14px;padding:14px 18px}.stars{color:var(--sun);letter-spacing:2px}.tests{gap:6px;margin-top:10px;display:grid}.test{background:var(--surface2);border-radius:12px;align-items:flex-start;gap:10px;padding:8px 12px;font-size:.9rem;display:flex}.test.p{background:var(--mint-soft)}.test.f{background:var(--pink-soft)}.stepper{border:2px solid var(--brand);background:var(--surface);border-radius:18px;margin-top:14px;padding:14px}.stepper .listing{background:var(--codebg);color:var(--codeink);font-family:var(--fm);border-radius:12px;max-height:260px;padding:8px 0;font-size:.82rem;line-height:1.6;overflow:auto}.stepper .listing div{white-space:pre;padding:0 12px}.stepper .listing div.cur{box-shadow:inset 3px 0 0 var(--sun);background:#ffc93c47}.ctrl{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.ctrl input[type=range]{min-width:120px;accent-color:var(--brand);flex:1}select.sel{font:inherit;border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;max-width:100%;padding:9px 12px}.score{font-family:var(--fh);font-size:3rem;line-height:1}.rv{border-left:5px solid var(--bad);background:var(--surface2);border-radius:0 12px 12px 0;margin:10px 0;padding:8px 12px}.cgrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.cgrid .card+.card{margin-top:0}.celler{display:block;overflow:visible}.celler .pupil{transition:transform .3s}.celler .m{display:none}.celler[data-mood=happy] .m-happy,.celler[data-mood=cheer] .m-cheer,.celler[data-mood=oops] .m-oops,.celler[data-mood=think] .m-think{display:inline}.celler .extra{display:none}.celler[data-mood=cheer] .x-cheer,.celler[data-mood=oops] .x-oops{display:inline}.celler[data-mood=think] .pupil{transform:translateY(-3px)}@media (prefers-reduced-motion:no-preference){.bob{animation:3.4s ease-in-out infinite bob}.celler .eye{transform-box:fill-box;transform-origin:50%;animation:5s infinite blink}.celler[data-mood=cheer]{animation:.5s ease-in-out 3 hop}@keyframes bob{50%{transform:translateY(-4px)}}@keyframes blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}@keyframes hop{50%{transform:translateY(-14px)rotate(-4deg)}}.bubble{animation:.25s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.85)}}}.cfab{right:max(14px,env(safe-area-inset-right,0px));bottom:max(14px,calc(env(safe-area-inset-bottom,0px) + 14px));z-index:40;pointer-events:none;flex-direction:row-reverse;align-items:flex-end;gap:10px;display:flex;position:fixed}.cfab>*{pointer-events:auto}.cbtn{border:3px solid var(--ink);background:var(--surface);width:82px;height:82px;box-shadow:var(--shadow);cursor:pointer;border-radius:50%;padding:4px}.cbtn svg{width:100%;height:100%}.bubble{background:var(--surface);border:2px solid var(--ink);max-width:min(270px,100vw - 130px);box-shadow:var(--shadow);border-radius:18px 18px 4px;margin-bottom:26px;padding:10px 14px;font-size:.9rem;font-weight:600;line-height:1.4;position:relative}.bubble b{font-family:var(--fh);color:var(--brand)}.bubble .x{border:2px solid var(--ink);background:var(--sun);border-radius:50%;width:24px;height:24px;font-size:.7rem;font-weight:800;line-height:1;position:absolute;top:-10px;right:-8px}.bubble[hidden]{display:none}@media (width<=899px){.cfab{bottom:calc(env(safe-area-inset-bottom,0px) + 74px)}.cbtn{width:66px;height:66px}.bubble{margin-bottom:14px}}.cpanel{right:max(14px,env(safe-area-inset-right,0px));bottom:calc(env(safe-area-inset-bottom,0px) + 112px);z-index:50;background:var(--surface);border:3px solid var(--ink);border-radius:24px;flex-direction:column;width:min(420px,100vw - 28px);height:min(580px,100vh - 150px);display:flex;position:fixed;overflow:hidden;box-shadow:0 24px 60px -20px #0a0d268c}.cpanel[hidden]{display:none}@media (width<=899px){.cpanel{bottom:calc(env(safe-area-inset-bottom,0px) + 150px);height:min(490px,100vh - 210px)}}.chead{background:var(--mint);color:#0b2b25;border-bottom:3px solid var(--ink);align-items:center;gap:10px;padding:10px 14px;display:flex}.chead svg{width:40px;height:40px}.chead b{font-family:var(--fh);flex:1;font-size:1.1rem;line-height:1.1}.chead small{font-size:.72rem;font-weight:600;display:block}.chead button{border:2px solid var(--ink);background:var(--surface);color:var(--ink);border-radius:50%;width:32px;height:32px;font-weight:800}.clog{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow:auto}.cm{border-radius:16px;max-width:90%;padding:10px 14px;font-size:.9rem;line-height:1.45}.cm.c{background:var(--surface2);border:1px solid var(--line);border-bottom-left-radius:4px}.cm.u{background:var(--brand);color:var(--brand-ink);border-bottom-right-radius:4px;align-self:flex-end}.cm code{font-size:.85em}.cm p{margin:0 0 .5em}.cm p:last-child{margin-bottom:0}.cm ul,.cm ol{margin:4px 0 8px;padding-left:20px}.cm li{margin-bottom:3px}.cm .codebox{margin:8px 0;font-size:.82rem}.cchips{flex-wrap:wrap;gap:6px;max-height:85px;padding:4px 12px 8px;display:flex;overflow-y:auto}.cchips button{border:2px solid var(--line);background:var(--surface);border-radius:99px;padding:4px 11px;font-size:.76rem;font-weight:800;transition:all .15s}.cchips button:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.cform{border-top:2px solid var(--line);background:var(--surface);gap:8px;padding:10px 12px;display:flex}.cform input{min-width:0;font:inherit;border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;flex:1;padding:9px 12px}.cform input:focus{border-color:var(--brand);outline:none}.toast{left:50%;top:calc(env(safe-area-inset-top,0px) + 16px);background:var(--ink);color:var(--bg);z-index:80;box-shadow:var(--shadow);border-radius:99px;padding:10px 18px;font-weight:800;position:fixed;transform:translate(-50%)}.toast[hidden]{display:none}.confetti{pointer-events:none;z-index:70;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:3px;width:10px;height:14px;animation:1.8s ease-in forwards fall;position:absolute;top:-12px}@keyframes fall{to{opacity:.9;transform:translateY(105vh)rotate(540deg)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}.bar>i{transition:none}}.theme{border:2px solid var(--line);background:var(--surface);border-radius:12px;padding:6px 10px;font-size:.85rem;font-weight:800}.ew pre{overflow:hidden}.stepper .listing{position:relative}.fc-bot{background:var(--ink);width:2px;height:14px}.fc-join{background:var(--ink);width:50%;height:2px}.fc-join.r{align-self:flex-end;width:25%;margin-right:25%}.fc-merge{height:14px}.fc-bot{flex:auto;min-height:14px}
