:root{--ad-slot-sidebar-h: 600px;--ad-slot-inline-h: 250px;--ad-slot-footer-h: 90px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:0}.ad-slot{display:block}.ad-slot--sidebar{min-height:var(--ad-slot-sidebar-h)}.ad-slot--inline{min-height:var(--ad-slot-inline-h)}.ad-slot--footer{min-height:var(--ad-slot-footer-h)}.exercise__editor{min-height:8rem}.exercise__fallback{width:100%;min-height:8rem;font-family:monospace}.result{overflow-x:auto;max-height:28rem;overflow-y:auto}.result-table{border-collapse:collapse}.result-table th,.result-table td{border:1px solid;padding:.15rem .4rem;text-align:left;white-space:pre}.cell--null{font-style:italic}.output__error,.output__stdout{white-space:pre-wrap}@font-face{font-family:Figtree;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/figtree-latin.woff2) format("woff2")}@font-face{font-family:Unbounded;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/unbounded-500-latin.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-latin.woff2) format("woff2")}@font-face{font-family:Figtree Fallback;src:local("Arial"),local("Helvetica");size-adjust:97%;ascent-override:98%;descent-override:26%;line-gap-override:0%}@font-face{font-family:Unbounded Fallback;src:local("Arial Black"),local("Arial");size-adjust:112%;ascent-override:88%;descent-override:22%;line-gap-override:0%}:root{color-scheme:dark;--c-page: #2A2F5B;--c-panel: #383E73;--c-panel-2: #313768;--c-band: #242850;--c-editor: #1F2347;--c-glass: rgba(31, 35, 71, .78);--c-chip: rgba(31, 35, 71, .7);--c-moon: #EEF0FF;--c-soft: #D9DCF5;--c-code: #C9CDF0;--c-muted: #AEB3DB;--c-dim: #6E74B0;--c-gutter: #5E64A0;--c-line: rgba(174, 179, 219, .18);--c-line-strong: rgba(174, 179, 219, .25);--c-ink: #2A2348;--c-plum: #5B3B6E;--c-rose: #C2668A;--c-teal: #3C7F8C;--c-peach: #F4B183;--c-gold: #FFD166;--c-gold-rim: #C9962E;--c-gold-lip: #A8791C;--c-warm: #F79D65;--c-mint: #7FE0C2;--c-pink: #FF9EC7;--c-coral: #FF8A7A;--c-ghost: #383E73;--c-ghost-rim: #4A5190;--c-ghost-lip: #262A52;--c-chapter-1: var(--c-gold);--c-chapter-2: var(--c-mint);--c-chapter-3: var(--c-pink);--c-chapter-4: var(--c-warm);--f-display: "Unbounded", "Unbounded Fallback", system-ui, sans-serif;--f-ui: "Figtree", "Figtree Fallback", system-ui, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--w-regular: 500;--w-bold: 700;--w-display: 500;--t-hero: clamp(2.25rem, 1.35rem + 3.6vw, 3.5rem);--t-h1: clamp(1.75rem, 1.3rem + 1.8vw, 2.5rem);--t-h2: clamp(1.375rem, 1.15rem + .9vw, 1.75rem);--t-level: 1.625rem;--t-card: 1.375rem;--t-lead: clamp(1.125rem, 1.05rem + .3vw, 1.3125rem);--t-body: 1.0625rem;--t-ui: 1rem;--t-small: .9375rem;--t-btn: 1.125rem;--t-code: .9375rem;--t-editor: 1.0625rem;--lh-tight: 1.1;--lh-ui: 1.45;--lh-body: 1.6;--track-display: -.01em;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 28px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--s-20: 80px;--s-24: 96px;--gutter: clamp(16px, 4.5vw, 64px);--section: clamp(56px, 7vw, 104px);--max: 1312px;--measure: 68ch;--r-xs: 6px;--r-sm: 12px;--r-chip: 14px;--r-btn: 18px;--r-bubble: 20px;--r-card: 22px;--r-pill: 999px;--sh-gold: 0 4px 0 var(--c-gold-lip), 0 10px 28px rgba(255, 209, 102, .22);--sh-gold-pressed: 0 0 0 var(--c-gold-lip), 0 4px 14px rgba(255, 209, 102, .18);--sh-ghost: 0 4px 0 var(--c-ghost-lip);--sh-ghost-pressed: 0 0 0 var(--c-ghost-lip);--sh-card: 0 18px 40px rgba(20, 16, 50, .28);--sh-mote: drop-shadow(0 18px 30px rgba(20, 16, 50, .45));--glow-gold: 0 0 8px var(--c-gold);--glow-lit: 0 0 18px rgba(255, 209, 102, .8);--ring-now: 0 0 0 5px rgba(255, 209, 102, .15);--focus: 0 0 0 3px var(--c-page), 0 0 0 5px var(--c-gold);--blur-glass: blur(6px);--btn-h: 56px;--btn-h-sm: 44px;--btn-press: 4px;--d-instant: 80ms;--d-fast: .15s;--d-base: .24s;--d-slow: .42s;--d-reward: .9s;--d-drift: 9s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-quint: cubic-bezier(.22, 1, .36, 1);--z-world: 0;--z-content: 1;--z-header: 10;--z-overlay: 20;--z-toast: 30;--header-h: 96px;--ad-banner-h: 100px;--ad-rail-h: 100px;--ad-box-h: 250px}@media(min-width:768px){:root{--ad-banner-h: 90px;--ad-rail-h: 600px}}@media(max-width:720px){:root{--header-h: 72px}}@media(prefers-reduced-motion:reduce){:root{--d-base: 0ms;--d-slow: 0ms;--d-reward: 0ms}}:root[data-motion=reduce]{--d-base: 0ms;--d-slow: 0ms;--d-reward: 0ms}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{background:var(--c-page);color:var(--c-moon);font-family:var(--f-ui);font-weight:var(--w-regular);font-size:100%;line-height:var(--lh-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%;scroll-padding-top:var(--s-6)}body{min-height:100vh;min-height:100dvh;overflow-x:clip;background:var(--c-page)}b,strong{font-weight:var(--w-bold)}img,svg,video,canvas,picture{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}ul[role=list],ol[role=list]{list-style:none}table{border-collapse:collapse}:where(h1,h2,h3,h4){font-weight:var(--w-bold);line-height:1.2;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}a:where(:not(.btn):not(.chip)){transition:color var(--d-fast) var(--ease-out)}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-xs)}code,kbd,pre,samp{font-family:var(--f-mono);font-weight:500}:not(pre)>code{font-size:.92em;background:var(--c-editor);color:var(--c-soft);padding:2px 7px;border-radius:var(--r-xs);overflow-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone}.display{font-family:var(--f-display);font-weight:var(--w-display);letter-spacing:var(--track-display);line-height:var(--lh-tight)}.btn{--btn-bg: var(--c-ghost);--btn-fg: var(--c-moon);--btn-rim: var(--c-ghost-rim);--btn-sh: var(--sh-ghost);--btn-sh-press: var(--sh-ghost-pressed);position:relative;top:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--btn-h);padding:0 26px;border-radius:var(--r-btn);border:2px solid var(--btn-rim);background:var(--btn-bg);color:var(--btn-fg);box-shadow:var(--btn-sh);font:var(--w-bold) var(--t-btn)/1 var(--f-ui);white-space:nowrap;cursor:pointer;user-select:none;transition:top var(--d-instant) var(--ease-out),box-shadow var(--d-instant) var(--ease-out),filter var(--d-fast) var(--ease-out)}.btn:hover{filter:brightness(1.05)}.btn:active{top:var(--btn-press);box-shadow:var(--btn-sh-press)}.btn:focus-visible{box-shadow:var(--btn-sh),var(--focus);border-radius:var(--r-btn)}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;top:0}.btn--gold{--btn-bg: var(--c-gold);--btn-fg: var(--c-ink);--btn-rim: var(--c-gold-rim);--btn-sh: var(--sh-gold);--btn-sh-press: var(--sh-gold-pressed)}.btn--sm{min-height:var(--btn-h-sm);padding:0 18px;font-size:var(--t-ui);border-radius:var(--r-chip)}.btn--sm:focus-visible{border-radius:var(--r-chip)}.btn--block{width:100%}.chip{display:inline-flex;align-items:center;gap:var(--s-2);min-height:var(--btn-h-sm);padding:0 var(--s-4);border-radius:var(--r-chip);background:var(--c-chip);border:1px solid var(--c-line-strong);color:var(--c-moon);font-size:var(--t-ui);white-space:nowrap;-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass)}.chip:focus-visible{border-radius:var(--r-chip)}.chip__muted{color:var(--c-muted)}.firefly-dot{display:inline-block;flex:none;width:9px;height:9px;border-radius:50%;background:var(--c-gold);box-shadow:var(--glow-gold)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:var(--s-4);top:-100px;z-index:var(--z-toast);padding:var(--s-3) var(--s-4);border-radius:var(--r-chip);background:var(--c-moon);color:var(--c-ink);font-weight:var(--w-bold)}.skip-link:focus,.skip-link:focus-visible{top:var(--s-4)}.container{width:100%;max-width:calc(var(--max) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}html[data-ads=off] .ad-slot,html[data-ads=off] .ad{display:none!important}.ad{display:block;width:100%;margin-block:var(--s-8)}.ad--banner{min-height:var(--ad-banner-h);max-width:728px;margin-inline:auto}.ad--rail{min-height:var(--ad-rail-h)}.ad--box{min-height:var(--ad-box-h);max-width:300px}.page{position:relative;isolation:isolate}.world-band{position:absolute;inset:0 0 auto;height:var(--band-h, 300px);z-index:-1;background:var(--band) center 58% / max(1440px,100%) auto no-repeat,var(--c-page);overflow:hidden}@media(max-width:800px){.world-band{background-image:var(--band-sm);background-size:max(1440px,100%) auto}}.world-band:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,47,91,.5) 0%,rgba(42,47,91,.1) 38%,rgba(42,47,91,.35) 70%,var(--c-page) 100%)}.world-band__flies{position:absolute;inset:0}body:has(.lv-band) .world-band{height:var(--band-h, 380px)}.page--band .lv-band{background:transparent}.page--band .lv-band:after{content:none}.page--plain{background:radial-gradient(120% 60% at 80% 0%,#3a3470 0%,var(--c-page) 60%) no-repeat,var(--c-page)}.fireflies{position:absolute;inset:0;pointer-events:none;z-index:1}.fireflies span{position:absolute;width:var(--fs);height:var(--fs);border-radius:50%;background:var(--c-gold);box-shadow:0 0 calc(var(--fs) * 2) #ffd166b3;opacity:.75;animation:drift var(--fd) var(--ease-in-out) var(--fdelay) infinite alternate}@keyframes drift{0%{transform:translate(0);opacity:.25}50%{opacity:.9}to{transform:translate(var(--fdx),var(--fdy));opacity:.35}}:root[data-motion=reduce] .fireflies span{animation:none}.site-header{position:absolute;inset:0 0 auto;z-index:var(--z-header)}.site-header__inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.logo{display:inline-flex;align-items:center;gap:var(--s-3);flex:none;min-height:44px;border-radius:var(--r-sm)}.logo__mark{width:auto;height:44px;flex:none;margin-block:-6px}.logo__word{height:21px;width:auto}.logo__lockup{height:30px;width:auto}.logo__mark--solo{display:none}.site-header__right{display:flex;align-items:center;gap:var(--s-3);min-width:0}.site-nav__links{display:flex;gap:var(--s-8);align-items:center;margin-right:var(--s-4)}.site-nav__links a{color:var(--c-muted);font-size:var(--t-ui);display:inline-flex;align-items:center;min-height:44px}.site-nav__links a:hover,.site-nav__switch b,.site-nav__switch:hover .chip__muted{color:var(--c-moon)}.site-header__xp b{font-weight:var(--w-bold)}.site-header__streak{display:inline-flex;align-items:center;gap:6px}.site-header__streak[hidden]{display:none}.site-header__flame{width:14px;height:14px;color:var(--c-warm)}.site-header__sound-icon{width:18px;height:18px;flex:none}.site-header__sound[data-muted=true] .wave,.site-header__sound:not([data-muted=true]) .cross{display:none}.site-header__menu{display:none}.site-header__menu svg{width:20px;height:20px}.site-menu{display:none}.site-menu__xp a{gap:var(--s-2);font-weight:var(--w-regular);color:var(--c-soft)}.storage-banner{margin-top:var(--s-2);padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);background:var(--c-editor);border:1px solid var(--c-coral);color:var(--c-moon);font-size:var(--t-small)}.storage-banner a{color:var(--c-gold)}@media(max-width:1180px){.site-nav__links{gap:var(--s-5);margin-right:0}.site-nav__links li:last-child{display:none}.site-header__sound [data-sound-label]{display:none}.site-header__sound{width:44px;padding:0;justify-content:center}}@media(max-width:900px){.site-nav{display:none}.site-header__menu{display:inline-flex;width:44px;padding:0;justify-content:center}.site-menu{position:absolute;left:0;right:0;top:calc(var(--header-h) - var(--s-2))}.site-menu[data-open=true]{display:block}.site-menu ul{display:grid;gap:var(--s-1);padding:var(--s-2);border-radius:var(--r-card);background:var(--c-editor);border:1px solid var(--c-line-strong);box-shadow:var(--sh-card)}.site-menu a{display:flex;align-items:center;min-height:48px;padding:0 var(--s-4);border-radius:var(--r-sm);font-weight:var(--w-bold)}.site-menu a:hover{background:var(--c-panel)}}@media(min-width:721px){.site-menu__continue{display:none}}@media(max-width:720px){.site-header__continue,.site-header__sound [data-sound-label]{display:none}.site-header__sound{width:44px;padding:0;justify-content:center}.site-header__right{gap:var(--s-2)}}@media(max-width:560px){.site-header__xp{display:none}.logo__word{height:17px}.logo__mark{height:38px}}@media(min-width:561px){.site-menu__xp{display:none}}@media(max-width:359px){.logo__word{height:14px}}.site-main{padding-top:var(--header-h);overflow-x:clip}.page--hero .site-main{padding-top:0}.section{padding-block:var(--section)}.section--band{background:var(--c-band);border-block:1px solid var(--c-line)}.section__title{font-size:var(--t-h2)}.section__lead{color:var(--c-soft);font-size:var(--t-body);line-height:var(--lh-body);max-width:60ch}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:end;gap:var(--s-3) var(--s-12)}.section-head .section__lead{justify-self:end}@media(max-width:860px){.section-head{grid-template-columns:minmax(0,1fr)}.section-head .section__lead{justify-self:start}}.page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--s-8);padding-top:clamp(64px,9vw,120px)}.page-head__kicker{color:var(--c-soft);font-size:var(--t-ui)}.page-head__title{font-size:var(--t-h1);margin-top:var(--s-3);max-width:22ch}.page-head__lead{margin-top:var(--s-4);font-size:var(--t-lead);line-height:var(--lh-ui);color:var(--c-soft);max-width:58ch}.page-head__sub{margin-top:var(--s-3);color:var(--c-muted);max-width:62ch;line-height:var(--lh-body)}.page-head .btn{margin-top:var(--s-6)}.page-head__mote{margin-bottom:calc(-1 * var(--s-6))}@media(max-width:760px){.page-head{grid-template-columns:1fr;padding-top:var(--s-12)}.page-head__mote{display:none}.page-head .btn{width:100%;white-space:normal;text-align:center;padding-block:var(--s-3)}}.mote-art{--mote-w: var(--mote-base);width:var(--mote-w);max-width:100%;flex:none}.mote-art img{width:100%;height:auto}.hero{position:relative;min-height:min(900px,max(760px,100svh));padding-top:calc(var(--header-h) + clamp(32px,7vw,94px));padding-bottom:var(--s-16);background:var(--hero) center 62% / cover no-repeat,var(--c-page);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#2a2f5bb8,#2a2f5b59 42%,#2a2f5b00 62%)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(180deg,rgba(42,47,91,0),var(--c-page))}.hero__inner>*{min-width:0}.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);gap:var(--s-8);align-items:start}.hero__title{font-size:var(--t-hero);width:min(820px,calc(100vw - 2 * var(--gutter)))}.hero__title em{font-style:normal;color:var(--c-gold)}.hero__promise{margin-top:22px;font-size:var(--t-lead);line-height:var(--lh-ui);color:var(--c-soft);max-width:520px}.hero__tracks{margin-top:var(--s-10);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.play-card{display:flex;flex-direction:column;background:var(--c-glass);border:1px solid rgba(174,179,219,.22);border-radius:var(--r-card);padding:22px 22px 24px;-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);min-width:0}.play-card__top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.play-card__name{font:var(--w-bold) var(--t-card)/1 var(--f-ui)}.play-card__count{font-size:var(--t-small);color:var(--c-muted)}.play-card__code{margin:var(--s-4) 0 var(--s-5);font:500 var(--t-code)/1.6 var(--f-mono);color:var(--c-code);background:var(--c-editor);border-radius:var(--r-sm);padding:var(--s-3) 14px;min-height:70px;overflow:hidden;white-space:pre}.play-card__code .k,.lesson .k{color:var(--c-peach)}.play-card__code .s{color:var(--c-mint)}.play-card .btn{margin-top:auto}.hero__fine{margin-top:var(--s-5);display:flex;flex-wrap:wrap;gap:var(--s-2) 22px;font-size:var(--t-small);color:var(--c-muted);list-style:none}.hero__fine li:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c-gold);margin-right:9px;vertical-align:2px;box-shadow:var(--glow-gold)}.hero__mote{justify-self:center;align-self:center;width:min(var(--mote-w),100%)}@media(max-width:1180px){.hero__inner{grid-template-columns:minmax(0,600px) minmax(0,1fr)}}@media(max-width:960px){.hero{min-height:0;background-position:78% 100%;background-size:auto 100%}.hero:before{background:linear-gradient(180deg,#2a2f5bd1,#2a2f5b8c 55%,#2a2f5b40)}.hero__inner{grid-template-columns:minmax(0,1fr);gap:0}.hero__mote{margin-top:var(--s-8)}}@media(max-width:640px){.hero{background-image:var(--hero-sm)}.hero__tracks{grid-template-columns:minmax(0,1fr);gap:var(--s-4);margin-top:var(--s-8)}.play-card .btn{white-space:normal}}@media(max-height:500px)and (orientation:landscape){.hero{min-height:0}.hero__mote{display:none}}.continue{padding-bottom:0}.continue__list{margin-top:var(--s-6);display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-4)}.continue__row{display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-5);background:var(--c-panel);border-radius:var(--r-card)}.continue__row[hidden]{display:none}.continue__text{display:grid;gap:2px;min-width:0}.continue__track{color:var(--c-muted);font-size:var(--t-small)}.continue__title{font-weight:var(--w-bold);font-size:var(--t-body);line-height:1.35;padding-block:4px}.continue__title:hover{color:var(--c-gold)}.continue__meta{color:var(--c-soft);font-size:var(--t-small)}.continue__row .btn{margin-top:auto;align-self:stretch}.continue__review{margin-top:var(--s-4);color:var(--c-soft)}.continue__review a{color:var(--c-gold);display:inline-block;padding-block:12px}.how__steps{margin-top:var(--s-8);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5);list-style:none}.how__step{background:var(--c-panel);border-radius:var(--r-card);padding:var(--s-6)}.how__n{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--c-gold);color:var(--c-ink);font:var(--w-bold) 17px/1 var(--f-ui)}.how__step h3{margin-top:var(--s-5);font-size:var(--t-btn)}.how__step p{margin-top:var(--s-2);color:var(--c-soft);line-height:var(--lh-body)}@media(max-width:860px){.how__steps{grid-template-columns:minmax(0,1fr);gap:var(--s-3)}.how__step{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:var(--s-4);padding:var(--s-5)}.how__n{grid-row:span 2}.how__step h3{margin-top:6px}.how__step p{grid-column:2}}.tracks__grid{margin-top:var(--s-8);display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}.track-card{display:flex;flex-direction:column;background:var(--c-panel);border-radius:var(--r-card);padding:var(--s-6);min-width:0}.track-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2) var(--s-4);flex-wrap:wrap}.track-card__name{font:var(--w-bold) var(--t-card)/1.1 var(--f-ui)}.track-card__name a{display:inline-flex;align-items:center;min-height:44px}.track-card__name a:hover{color:var(--c-gold)}.track-card__count{color:var(--c-muted);font-size:var(--t-small)}.track-card__outcome{margin-top:var(--s-3);color:var(--c-soft);line-height:var(--lh-body)}.track-card__chapters{margin:var(--s-5) 0 var(--s-6);display:grid}.track-card__chapters li{display:flex;align-items:center;gap:var(--s-3);min-height:48px;border-top:1px solid var(--c-line)}.track-card__chapters li:last-child{border-bottom:1px solid var(--c-line)}.track-card__chapters a{flex:1;min-width:0;padding-block:var(--s-3)}.track-card__chapters a:hover{color:var(--c-gold)}.track-card__n{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:9px;border:2px solid var(--cc);color:var(--c-moon);font-size:13px;font-weight:var(--w-bold)}.track-card__chapters li[data-done=true] .track-card__n{background:var(--cc);color:var(--c-ink)}.track-card__lv{color:var(--c-muted);font-size:var(--t-small);flex:none}.track-card__bar{height:8px;border-radius:var(--r-pill);background:var(--c-editor);overflow:hidden;margin-bottom:var(--s-5)}.track-card__bar span{display:block;height:100%;width:calc(var(--p) * 100%);background:var(--c-gold);border-radius:inherit}.track-card__btn{margin-top:auto;align-self:stretch}.track-card--cases{grid-column:1 / -1}.cases{margin-top:var(--s-5);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 var(--s-8);border-top:1px solid var(--c-line)}.case{display:grid;gap:var(--s-1);align-content:start;padding-block:var(--s-4)}.case__lock{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--c-muted);font-size:var(--t-small)}.case__lock svg{width:14px;height:14px}.case[data-open=true] .case__lock{color:var(--c-mint)}.case[data-open=true] .case__lock svg{display:none}.case__title{font-weight:var(--w-bold);font-size:var(--t-body);display:inline-flex;align-items:center;min-height:44px}.case__title:hover{color:var(--c-gold)}.case__needs{color:var(--c-muted);font-size:var(--t-small);line-height:var(--lh-ui)}@media(max-width:900px){.cases{grid-template-columns:1fr;border-top:0}.case{border-top:1px solid var(--c-line)}}@media(max-width:720px){.tracks__grid{grid-template-columns:1fr}}@media(max-width:480px){.track-card{padding:var(--s-5)}.track-card__btn{align-self:stretch}}.dataset__tables{margin-top:var(--s-8);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-6) var(--s-8)}.dataset__table{border-top:1px solid var(--c-line-strong);padding-top:var(--s-4)}.dataset__table dt{display:grid;gap:var(--s-1)}.dataset__table dt code{justify-self:start;font-size:var(--t-code)}.dataset__table dt span{color:var(--c-muted);font-size:var(--t-small)}.dataset__table dd{margin-top:var(--s-2);color:var(--c-soft);line-height:var(--lh-ui);font-size:var(--t-small)}@media(max-width:1024px){.dataset__tables{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.dataset__tables{grid-template-columns:1fr}}.faq__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s-8)}.faq__item{border-top:1px solid var(--c-line-strong)}.faq__item:last-child{border-bottom:1px solid var(--c-line-strong)}.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:60px;padding-block:var(--s-3);font-weight:var(--w-bold);font-size:var(--t-body);cursor:pointer;list-style:none}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";flex:none;font-size:22px;color:var(--c-gold);transition:transform var(--d-fast) var(--ease-out)}.faq__item[open] summary:after{transform:rotate(45deg)}.faq__item p{padding-bottom:var(--s-5);color:var(--c-soft);line-height:var(--lh-body);max-width:65ch}@media(max-width:860px){.faq__inner{grid-template-columns:1fr;gap:var(--s-4)}}.track-head__cta{margin-top:var(--s-6);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-5)}.track-head__cta .btn{margin-top:0}.track-head__progress{color:var(--c-muted);font-size:var(--t-small)}.track-page__body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-8);padding-block:var(--s-12) var(--section)}.track-page__rail .ad{width:300px;margin:0;position:sticky;top:var(--s-6)}@media(max-width:1024px){.track-page__body{grid-template-columns:1fr}.track-page__rail .ad{width:100%}}.map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-6);flex-wrap:wrap;padding-top:clamp(96px,12vw,150px)}.map-head__title{font-size:clamp(2rem,1.4rem + 2.4vw,2.75rem);line-height:1.05}.map-head__sum{margin-top:var(--s-3);font-size:var(--t-btn);color:var(--c-soft)}.map-head__sum b{color:var(--c-gold)}.seg-switch{display:flex;gap:var(--s-1);padding:5px;border-radius:16px;background:#1f2347cc;border:1px solid var(--c-line-strong);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass)}.seg-switch a{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-5);border-radius:var(--r-sm);color:var(--c-soft)}.seg-switch a:hover{color:var(--c-moon)}.seg-switch a:focus-visible{box-shadow:none;outline:2px solid var(--c-gold);outline-offset:2px}.seg-switch small{font-size:14px;color:var(--c-muted);font-weight:var(--w-regular)}.map-intro{margin-top:var(--s-6);display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);max-width:1000px;color:var(--c-muted);font-size:var(--t-small);line-height:var(--lh-body)}@media(max-width:760px){.map-head{padding-top:var(--s-16)}.seg-switch{width:100%}.seg-switch a{flex:1;justify-content:center;padding:0 var(--s-2)}.map-intro{grid-template-columns:1fr;gap:var(--s-2)}}.map{--label: 330px;--turn: 72px;--lan-w: 40px;--lan-h: 50px;position:relative}.map__chapter{position:relative;display:grid;grid-template-columns:var(--label) minmax(0,1fr);align-items:start;padding-top:44px}.map__chapter:first-child{padding-top:24px}.map__label{padding-top:0;min-width:0;padding-right:var(--s-4)}.map__n{color:var(--c-muted);font-size:var(--t-small)}.map__title{margin-top:2px;font:var(--w-display) 1.5rem/1.2 var(--f-display);text-wrap:balance}.map__title a{display:inline-block;padding-block:8px}.map__title a:hover{color:var(--c-gold)}.map__meta{margin-top:2px;font-size:var(--t-ui);color:var(--c-soft)}.map__meta b{color:var(--c-gold)}.map__chapter[data-state=ahead] .map__title,.map__chapter[data-state=ahead] .map__meta{color:var(--c-muted)}.map__row{position:relative;height:var(--row-h);padding-inline:var(--turn)}.map__inner{position:relative;height:100%}.map__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.map__line{fill:none;stroke:#eef0ff47;stroke-width:3;stroke-dasharray:2 12;stroke-linecap:round}.map__line.is-lit{stroke:var(--c-gold);stroke-width:3.5;stroke-dasharray:none;filter:drop-shadow(0 0 6px rgba(255,209,102,.8))}.map__turn{position:absolute;width:var(--turn);border:3px dotted rgba(238,240,255,.28);pointer-events:none}.map__turn--right{right:0;border-left:0}.map__turn--left{left:var(--label);border-right:0}.map__turn--out{top:calc(100% - var(--after, 0px) - var(--row-h) + var(--line) - 1.5px);bottom:0;border-bottom:0}.map__turn--in{top:0;height:calc(100% - var(--row-h) + var(--line) + 1.5px);border-top:0}.map__turn--out.map__turn--right{border-top-right-radius:var(--turn)}.map__turn--in.map__turn--right{border-bottom-right-radius:var(--turn)}.map__turn--out.map__turn--left{border-top-left-radius:var(--turn)}.map__turn--in.map__turn--left{border-bottom-left-radius:var(--turn)}.map__turn.is-lit{border-style:solid;border-color:var(--c-gold);filter:drop-shadow(0 0 6px rgba(255,209,102,.8))}.map__nodes{position:absolute;inset:0}.node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,calc(var(--lan-h) / -2));display:flex;flex-direction:column;align-items:center}.node__link{display:flex;flex-direction:column;align-items:center;min-width:44px;min-height:44px;border-radius:var(--r-sm)}.node__link:focus-visible{box-shadow:var(--focus)}.lan{width:var(--lan-w);height:var(--lan-h);transition:transform var(--d-fast) var(--ease-out)}.node__link:hover .lan,.node__link:hover .lh{transform:translateY(-2px)}.lan__f{stroke:var(--c-dim)}.lan__fill{fill:var(--c-dim)}.lan__glass{fill:var(--c-editor)}.lan__bar{fill:var(--c-panel)}.lan__flame{fill:none}.node[data-status=in-progress] .lan__f{stroke:var(--c-gold)}.node[data-status=in-progress] .lan__fill{fill:var(--c-gold)}.node[data-status=solved] .lan__f{stroke:var(--c-gold)}.node[data-status=solved] .lan__fill{fill:var(--c-gold)}.node[data-status=solved] .lan__glass{fill:#fff3cc}.node[data-status=solved] .lan__bar{fill:none}.node[data-status=solved] .lan{filter:drop-shadow(0 0 10px rgba(255,209,102,.55))}.node[data-next=true] .lan__f{stroke:var(--c-gold)}.node[data-next=true] .lan__fill{fill:var(--c-gold)}.node[data-next=true] .lan__bar{fill:none}.node[data-next=true] .lan__flame{fill:#fff3cc}.node[data-next=true] .lan{filter:drop-shadow(0 0 16px rgba(255,209,102,.75))}.node[data-next=true] .node__link:before{content:"";position:absolute;top:calc(var(--lan-h) / 2 - 38px);left:50%;width:76px;height:76px;margin-left:-38px;border-radius:50%;border:2px dashed rgba(255,209,102,.8);pointer-events:none}.lh{width:44px;height:66px;margin-top:-16px}.lh__beam{fill:none}.lh__body{fill:var(--c-dim)}.lh__band{fill:var(--c-ghost-rim)}.lh__lamp{fill:var(--c-panel);stroke:var(--c-dim)}.node[data-status=solved] .lh__body,.node[data-next=true] .lh__body{fill:var(--c-moon)}.node[data-status=solved] .lh__band,.node[data-next=true] .lh__band{fill:var(--c-coral)}.node[data-status=solved] .lh__lamp{fill:var(--c-gold);stroke:var(--c-moon)}.node[data-status=solved] .lh__beam{fill:#ffd16659}.node[data-status=solved] .lh{filter:drop-shadow(0 0 14px rgba(255,209,102,.7))}.node__stars{display:none;gap:3px;margin-top:6px}.node[data-status=solved] .node__stars{display:flex}.node__stars i{width:14px;height:14px;background:var(--c-ghost-rim);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.node__stars[data-stars="1"] i:nth-child(-n+1),.node__stars[data-stars="2"] i:nth-child(-n+2),.node__stars[data-stars="3"] i{background:var(--c-gold)}.node__tag{margin-top:4px;font-size:14px;color:var(--c-muted)}.node[data-status=solved] .node__tag{display:none}.node__label{position:absolute;top:100%;margin-top:6px;width:max-content;max-width:170px;text-align:center;font-size:var(--t-small);line-height:1.3;color:var(--c-moon);background:var(--c-editor);padding:6px 10px;border-radius:var(--r-sm);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity var(--d-fast) var(--ease-out),transform var(--d-fast) var(--ease-out);z-index:2}.node__link:hover .node__label,.node__link:focus-visible .node__label{opacity:1;transform:none}.node[data-next=true] .node__label{opacity:1;transform:none;background:none;padding:0;font-weight:var(--w-bold);margin-top:10px}.node[data-next=true] .node__label{max-width:250px;text-wrap:balance}@media(max-width:900px){.node[data-next=true] .node__label{white-space:normal;max-width:150px}.node:not([data-flip])[data-edge=start] .node__label,.node[data-flip][data-edge=end] .node__label{left:-6px;text-align:left}.node:not([data-flip])[data-edge=end] .node__label,.node[data-flip][data-edge=start] .node__label{right:-6px;text-align:right}}.node__next{display:none}.say{--sx: 50;grid-column:2;justify-self:start;max-width:100%;display:flex;align-items:flex-start;gap:var(--s-3);margin:36px 0 -8px;padding-inline:var(--turn)}.say__mote{width:110px;flex:none;margin-top:-8px}.say__bubble{width:min(340px,100%);background:var(--c-panel);border-radius:6px 18px 18px;padding:14px 16px 16px;font-size:var(--t-ui);line-height:var(--lh-ui);box-shadow:0 14px 34px #0a081e59}.say__from{font-size:14px;color:var(--c-muted);margin-bottom:4px}.say__bubble .btn{margin-top:var(--s-3)}@media(min-width:1181px){.map{--label: 390px}.map__title{font-size:1.3125rem}}@media(max-width:1100px){.map{--label: 260px;--turn: 56px}}@media(max-width:900px){.map{--turn: 40px;--lan-w: 34px;--lan-h: 42px}.map__chapter{grid-template-columns:1fr;padding-top:32px}.map__label{padding-inline:0}.map__turn--left{left:calc(6px - var(--gutter));width:calc(var(--turn) + var(--gutter) - 6px)}.map__turn--right{right:calc(6px - var(--gutter));width:calc(var(--turn) + var(--gutter) - 6px)}.say{grid-column:1;margin-left:0!important}.lh{width:38px;height:56px;margin-top:-12px}}@media(max-width:520px){.map{--turn: 28px;--lan-w: 30px;--lan-h: 38px}.map__title{font-size:1.25rem}.node__stars i{width:11px;height:11px}.node__stars{gap:2px}.lh{width:32px;height:48px;margin-top:-8px}.node[data-next=true] .node__link:before{width:60px;height:60px;margin-left:-30px;top:calc(var(--lan-h) / 2 - 30px)}.say{flex-direction:column;align-items:stretch;padding-inline:var(--turn)}.say__mote{width:84px;margin:0 0 -20px var(--s-4);position:relative;z-index:1}.say__bubble{width:100%}}.map__type[data-type=boss]{color:var(--c-warm)}.map__next{display:inline-flex;align-items:center;height:24px;padding:0 var(--s-2);border-radius:var(--r-xs);background:var(--c-gold);color:var(--c-ink);font-weight:var(--w-bold);font-size:13px}.lock{margin-top:var(--s-4);padding:var(--s-4) var(--s-5);border-radius:var(--r-bubble);background:var(--c-editor)}.lock__head{display:flex;align-items:center;gap:var(--s-2);font-weight:var(--w-bold);font-size:var(--t-small)}.lock__head svg{width:14px;height:14px;flex:none}.lock__list{margin-top:var(--s-2);display:grid;gap:var(--s-1);font-size:var(--t-small)}.lock__list li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);min-height:44px}.lock__list a{display:inline-flex;align-items:center;min-height:44px}.lock__list a{color:var(--c-moon);text-decoration:underline;text-decoration-color:var(--c-line-strong);text-underline-offset:3px}.lock__mark{width:18px;height:18px;border-radius:6px;border:2px solid var(--c-dim);flex:none;position:relative}.lock__list li[data-done=true] .lock__mark{background:var(--c-mint);border-color:var(--c-mint)}.lock__list li[data-done=true] .lock__mark:after{content:"";position:absolute;left:4px;top:2px;width:5px;height:8px;border:solid var(--c-ink);border-width:0 2px 2px 0;transform:rotate(45deg)}.lock__state{color:var(--c-muted)}.map__chapter[data-locked=false] .lock__head svg{display:none}.lock--panel{margin-top:var(--s-6);max-width:720px}.stars{display:inline-flex;align-items:center;gap:var(--s-2)}.stars__icons{display:inline-flex;gap:3px}.stars__icons i{width:13px;height:13px;background:var(--c-dim);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.stars[data-stars="1"] i:nth-child(-n+1),.stars[data-stars="2"] i:nth-child(-n+2),.stars[data-stars="3"] i{background:var(--c-gold)}.stars[data-status=solved] .stars__text{position:static!important;width:auto;height:auto;clip:auto;clip-path:none;white-space:nowrap;color:var(--c-soft)}.difficulty{display:inline-flex;align-items:center}.difficulty__dots{display:inline-flex;gap:3px}.difficulty__dots i{width:6px;height:6px;border-radius:50%;border:1px solid var(--c-muted)}.difficulty__dots i.on{background:var(--c-muted)}.crumbs{padding-top:var(--s-10)}.crumbs ol{display:flex;flex-wrap:wrap;gap:var(--s-2);color:var(--c-soft);font-size:var(--t-small)}.crumbs li+li:before{content:"›";margin-right:var(--s-2);color:var(--c-muted)}.crumbs a{display:inline-flex;align-items:center;min-height:44px}.crumbs a:hover{color:var(--c-gold)}.crumbs li{display:inline-flex;align-items:center}.crumbs+.page-head{padding-top:var(--s-8)}.chapter-page__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-12);padding-block:var(--s-12) var(--section);align-items:start}.chapter-page__h2{font:var(--w-display) var(--t-card)/1.2 var(--f-display);margin-bottom:var(--s-4)}.level-rows{display:grid}.level-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:var(--s-4);align-items:start;padding-block:var(--s-4);border-top:1px solid var(--c-line)}.level-row:last-child{border-bottom:1px solid var(--c-line)}.level-row__n{display:grid;place-items:center;width:30px;height:36px;border-radius:10px;border:2px solid rgba(238,240,255,.6);font-weight:var(--w-bold);font-size:var(--t-small);margin-top:2px}.level-row[data-status=solved] .level-row__n{background:var(--c-gold);border-color:var(--c-gold);color:var(--c-ink);box-shadow:var(--glow-lit)}.level-row[data-status=in-progress] .level-row__n{border-color:var(--c-gold)}.level-row--boss .level-row__n{border-color:var(--c-warm)}.level-row__title{font-weight:var(--w-bold);font-size:var(--t-body);display:inline-block;padding-block:10px;margin-top:-8px;line-height:1.35}.level-row__title:hover{color:var(--c-gold)}.level-row__from{color:var(--c-soft);font-size:var(--t-small)}.level-row__concepts{color:var(--c-muted);font-size:var(--t-small);margin-top:2px}.level-row__meta{margin-top:var(--s-2);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-5);color:var(--c-muted);font-size:var(--t-small);min-height:24px}@media(min-width:961px){.chapter-page__intro{position:sticky;top:var(--s-6)}}@media(max-width:960px){.chapter-page__grid{grid-template-columns:1fr;gap:var(--s-8)}}.pager{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);margin-top:var(--s-8)}.pager__link{display:grid;gap:2px;padding:var(--s-4) var(--s-5);border-radius:var(--r-bubble);background:var(--c-panel);font-weight:var(--w-bold);min-height:44px}.pager__link span{color:var(--c-muted);font-weight:var(--w-regular);font-size:var(--t-small)}.pager__link:hover{color:var(--c-gold)}.pager__link--next{text-align:right}@media(max-width:520px){.pager{grid-template-columns:1fr}.pager__link--next{text-align:left}}.lesson{color:var(--c-soft);font-size:var(--t-body);line-height:var(--lh-body);max-width:var(--measure)}.lesson>*+*{margin-top:var(--s-4)}.lesson h2,.lesson h3{color:var(--c-moon);margin-top:var(--s-8);font-size:var(--t-btn)}.lesson strong{color:var(--c-moon)}.lesson a{color:var(--c-gold);text-decoration:underline;text-underline-offset:3px}.lesson ul,.lesson ol{padding-left:1.3em}.lesson li+li{margin-top:var(--s-2)}.lesson pre{background:var(--c-editor);border-radius:var(--r-sm);padding:var(--s-4);overflow-x:auto;font-size:var(--t-code);line-height:1.6;color:var(--c-code)}.lesson pre code{background:none;padding:0}@media(min-width:560px){.chapter-page__intro :not(pre)>code{white-space:nowrap}}.lesson table{width:100%;font-size:var(--t-small);display:block;overflow-x:auto}.lesson th,.lesson td{text-align:left;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--c-line)}.progress-page{padding-bottom:var(--section);display:grid;gap:var(--s-5)}.progress-page .page-head{padding-bottom:var(--s-4)}.panel{background:var(--c-panel);border-radius:var(--r-card);padding:var(--s-6);min-width:0}.panel__title{font-size:var(--t-btn)}.panel__text{margin-top:var(--s-2);color:var(--c-soft);line-height:var(--lh-ui);max-width:60ch}.panel .btn,.panel .file-btn{margin-top:var(--s-5)}.panel__status{margin-top:var(--s-3);color:var(--c-soft);font-size:var(--t-small)}.panel__status:empty{display:none}.progress-page__pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);align-items:start}.stats__grid{margin-top:var(--s-5);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-5) var(--s-6)}.stats__grid dt{color:var(--c-muted);font-size:var(--t-small)}.stats__grid dd{margin-top:var(--s-1);font:var(--w-display) var(--t-card)/1.2 var(--f-display)}.review-list{margin-top:var(--s-4);display:grid}.review-list li{display:grid;gap:2px;padding-block:var(--s-3);border-top:1px solid var(--c-line)}.review-list a{font-weight:var(--w-bold);display:inline-flex;align-items:center;min-height:44px}.review-list a:hover{color:var(--c-gold)}.review-list__meta{color:var(--c-muted);font-size:var(--t-small)}.file-btn{position:relative}.file-btn:focus-within{box-shadow:var(--sh-ghost),var(--focus)}.import-preview{margin-top:var(--s-4);padding:var(--s-4);border-radius:var(--r-bubble);background:var(--c-editor)}.import-preview__actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-3)}.import-preview__actions .btn{margin-top:0}.settings{margin-top:var(--s-5);display:grid;gap:var(--s-5) var(--s-12)}@media(min-width:860px){.settings{grid-template-columns:repeat(3,max-content);align-items:start}.settings>:last-child{grid-column:1 / -1}.settings>.check{align-self:end;padding-bottom:var(--s-2)}}.settings__group{border:0;display:grid;gap:var(--s-2)}.settings__group legend{color:var(--c-soft);font-size:var(--t-small);margin-bottom:var(--s-2)}.seg{display:inline-flex;flex-wrap:wrap;gap:var(--s-2)}.seg label{position:relative}.seg input{position:absolute;opacity:0;inset:0;cursor:pointer}.seg span{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s-4);border-radius:var(--r-chip);border:2px solid var(--c-ghost-rim);background:var(--c-editor);cursor:pointer}.seg input:checked+span{border-color:var(--c-gold);color:var(--c-gold);font-weight:var(--w-bold)}.seg input:focus-visible+span{box-shadow:var(--focus)}.check{display:inline-flex;align-items:center;gap:var(--s-3);min-height:44px;cursor:pointer}.check input{width:24px;height:24px;accent-color:var(--c-gold)}.btn--danger{--btn-bg: var(--c-coral);--btn-fg: var(--c-ink);--btn-rim: #d96a5c;--btn-sh: 0 4px 0 #b4544a;--btn-sh-press: 0 0 0 #b4544a}.dialog{margin:auto;border:1px solid var(--c-line-strong);border-radius:var(--r-card);background:var(--c-panel);color:var(--c-moon);padding:0;width:min(440px,calc(100vw - 32px));box-shadow:var(--sh-card)}.dialog::backdrop{background:#14103299}.dialog__body{padding:var(--s-6);display:grid;gap:var(--s-4)}.dialog__body p{color:var(--c-soft);line-height:var(--lh-ui)}.dialog__body .btn{margin-top:0}.field{display:grid;gap:var(--s-2);font-size:var(--t-small);color:var(--c-soft)}.field input{min-height:48px;padding:0 var(--s-4);border-radius:var(--r-sm);border:2px solid var(--c-ghost-rim);background:var(--c-editor);font-size:16px;color:var(--c-moon)}.field input:focus-visible{border-color:var(--c-gold)}.dialog__actions{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:flex-end}@media(max-width:860px){.stats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-page__pair{grid-template-columns:1fr}}@media(max-width:480px){.panel{padding:var(--s-5)}}.notfound{display:flex;align-items:center;gap:var(--s-10);padding-block:clamp(64px,10vw,140px) var(--section)}.notfound__links{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-8)}@media(max-width:720px){.notfound{flex-direction:column;align-items:flex-start;gap:var(--s-6)}.notfound__mote{width:160px}}.site-footer{border-top:1px solid var(--c-line);padding-block:var(--s-16) var(--s-8);margin-top:var(--s-8)}.site-footer__inner{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:var(--s-8)}.site-footer__brand p{margin-top:var(--s-4);color:var(--c-soft);font-size:var(--t-small);line-height:var(--lh-ui);max-width:36ch}.site-footer__note a{color:var(--c-gold);display:inline-block;padding-block:12px;margin-block:-12px}.site-footer__col h2{font-size:var(--t-ui)}.site-footer__col h2 a{display:inline-flex;min-height:44px;align-items:center}.site-footer__col ul{margin-top:var(--s-2);display:grid}.site-footer__col li a{display:inline-block;padding-block:11px;line-height:1.45;color:var(--c-muted);font-size:var(--t-small)}.site-footer__col ul{gap:0}.site-footer a:hover{color:var(--c-moon)}.site-footer__base{margin-top:var(--s-12);padding-top:var(--s-6);border-top:1px solid var(--c-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-3);color:var(--c-muted);font-size:var(--t-small)}.site-footer__base a{display:inline-block;padding-block:12px;margin-block:-12px;color:var(--c-soft);text-decoration:underline;text-underline-offset:3px}@media(max-width:960px){.site-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__brand{grid-column:1 / -1}}@media(max-width:520px){.site-footer__inner{grid-template-columns:1fr}}.mote-art .mote{--mote-size: var(--mote-w);max-width:100%}@media(max-width:1180px){.hero__mote{--mote-w: 280px}}@media(max-width:960px){.hero__mote{--mote-w: min(230px, 58vw)}}@media(max-width:520px){.say__mote{--mote-w: 84px}}@media(max-width:359px){.play-card__code{font-size:12.5px;padding-inline:12px}}@media(max-width:1180px){.play-card__code{font-size:14px;padding-inline:12px}}@media(max-width:1100px)and (min-width:641px){.play-card__code{font-size:13px}}@media(max-width:960px){.hero{padding-bottom:0}}.due-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;border-radius:var(--r-pill);background:var(--c-gold);color:var(--c-ink);font-size:12px;font-weight:var(--w-bold)}.due-badge[hidden]{display:none}.review-page{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-5);padding-bottom:var(--section)}.review-filter{justify-self:start}.review-items{margin-top:var(--s-4);display:grid}.review-items li{display:grid;gap:2px;padding-block:var(--s-2) var(--s-3);border-top:1px solid var(--c-line)}.review-items li:last-child{border-bottom:1px solid var(--c-line)}.review-items a{display:inline-flex;align-items:center;min-height:44px;font-weight:var(--w-bold)}.review-items a{color:var(--c-moon)}.review-items a:hover{color:var(--c-gold)}.review-items__meta{color:var(--c-muted);font-size:var(--t-small)}.review-state .btn{margin-top:var(--s-5)}.review-state__links{display:flex;flex-wrap:wrap;gap:var(--s-3)}.review-state--art{display:grid;grid-template-columns:auto 1fr;column-gap:var(--s-8);align-content:center;padding-block:var(--s-8)}.review-state--art>:not(.review-state__mote){grid-column:2}.review-state__mote{grid-row:1 / span 3;align-self:center;width:150px}@media(max-width:560px){.review-state--art{grid-template-columns:1fr}.review-state--art>:not(.review-state__mote){grid-column:1}.review-state__mote{grid-row:auto;width:110px}}.review-page__note{color:var(--c-muted);font-size:var(--t-small)}.review-bar{position:fixed;z-index:calc(var(--z-toast) + 10);left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(640px,calc(100vw - 32px));display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-5);border-radius:var(--r-card);background:var(--c-editor);border:1px solid var(--c-line-strong);box-shadow:var(--sh-card)}.review-bar[hidden]{display:none}.review-bar__text{flex:1;min-width:0;font-size:var(--t-small);color:var(--c-soft)}.review-bar__text b{color:var(--c-moon)}@media(max-width:560px){.review-bar{flex-wrap:wrap}.review-bar__text{flex-basis:100%}.review-bar .btn{flex:1}.review-filter{width:100%}}@media(max-width:400px){.review-filter{display:grid;grid-template-columns:1fr 1fr}.review-filter a{padding:0 var(--s-2);justify-content:center}}@media(max-width:480px){.lv-crumbs .breadcrumb__item[aria-current=page]{display:none}}
