@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_a4bae9{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_a4bae9{--font-bricolage:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_0d7163{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_0d7163{--font-dm-sans:"DM Sans","DM Sans Fallback"}

/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y: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}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,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;--spacing:.25rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:var(--font-bricolage);--font-text:var(--font-dm-sans)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth}body{font-family:var(--font-text);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700;line-height:.98}}@layer components{.display{letter-spacing:-.02em;font-weight:700;line-height:.98}.display,.eyebrow{font-family:var(--font-display)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.82rem;font-weight:800}.text-soft{color:var(--text-soft)}.outline-word{-webkit-text-stroke:2px var(--rule);color:#0000}.accent-word{color:var(--accent)}.wrap{width:min(var(--maxw),92vw);margin:0 auto}.row{gap:12px}.row,.row-between{align-items:center;display:flex}.row-between{justify-content:space-between;gap:16px}.stack{flex-direction:column;display:flex}.spacer{flex:1}.btn{font-family:var(--font-text);cursor:pointer;border-radius:var(--radius);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:9px;padding:15px 26px;font-size:1rem;font-weight:700;transition:background .16s,color .16s,transform .12s,box-shadow .12s;display:inline-flex}.btn-primary{background:var(--rule);color:var(--bg)}.btn-accent,.btn-primary:hover{background:var(--accent);color:var(--accent-tx)}.btn-accent:hover{background:var(--accent-d)}.btn-out{color:var(--text);border:2px solid var(--rule);background:0 0}.btn-out:hover{background:var(--rule);color:var(--bg)}.btn-ghost{color:var(--text);background:0 0}.btn-ghost:hover{background:var(--accent-sft);color:var(--accent-d)}.btn-sm{padding:9px 16px;font-size:.9rem}.btn-lg{padding:18px 32px;font-size:1.1rem}.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.or-divider{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:14px;margin:20px 0 16px;font-size:.82rem;font-weight:600;display:flex}.or-divider:after,.or-divider:before{content:"";background:var(--rule);opacity:.3;flex:1;height:1px}.logo{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.5rem;font-weight:800;display:flex}.logo .dot{background:var(--accent);border-radius:50%;width:13px;height:13px}.logo em{color:var(--accent);font-style:normal}.chip{border:2px solid var(--rule);background:var(--surface);color:var(--text);border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.chip-accent{background:var(--accent-sft);border-color:var(--accent);color:var(--accent-d)}.chip-soft{border-color:var(--line)}.streak{background:var(--pop-sft);color:#c2185b;border:2px solid var(--pop);border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-size:1rem;display:inline-flex}.badge-num,.streak{font-family:var(--font-display);font-weight:800}.badge-num{border:2px solid var(--rule);background:var(--surface);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.track-bar{background:var(--bg);border:2px solid var(--rule);border-radius:999px;height:10px;overflow:hidden}.track-bar>i{background:var(--accent);border-radius:999px;height:100%;transition:width .5s cubic-bezier(.2,.9,.3,1.2);display:block}.track-bar.thin{height:7px}.card{background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius-lg)}.card-pad{padding:26px}.card-hover{transition:transform .14s,box-shadow .14s}.card-hover:hover{box-shadow:0 12px 0 -4px var(--accent);transform:translateY(-3px)}.nav{border-bottom:2px solid var(--rule);z-index:50;background:var(--bg);position:sticky;top:0}.nav-inner{justify-content:space-between;height:70px}.nav-inner,.nav-links{align-items:center;display:flex}.nav-links{gap:30px;font-weight:600}.nav-links a.t{font-size:.96rem}.nav-links a.active,.nav-links a.t:hover{color:var(--accent)}@media (max-width:760px){.nav-links .t{display:none}}.nav-app .nav-links{gap:14px}.avatar{background:var(--accent-sft);border:2px solid var(--rule);width:38px;height:38px;font-family:var(--font-display);color:var(--accent-d);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}section.sec{border-bottom:2px solid var(--rule);padding:92px 0}.sec-h{grid-template-columns:auto 1fr;align-items:end;gap:40px;margin-bottom:56px;display:grid}.sec-h .idx{font-family:var(--font-display);color:var(--accent);letter-spacing:.1em;font-size:1rem;font-weight:800}.sec-h h2{font-size:clamp(2.2rem,5vw,4rem)}.sec-h .lead{color:var(--text-soft);justify-self:end;max-width:46ch;font-size:1.15rem;font-weight:500}@media (max-width:760px){.sec-h{grid-template-columns:1fr;gap:16px}.sec-h .lead{justify-self:start}}.lesson-bar{align-items:center;gap:12px;font-size:.85rem;font-weight:700;display:flex}.lesson-bar .track-bar{flex:1}.q-meta{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.78rem;font-weight:700}.q-text{font-family:var(--font-display);margin:10px 0 22px;font-size:1.6rem;font-weight:700;line-height:1.12}.opts{gap:12px;display:grid}.opt{text-align:left;font-family:var(--font-text);color:var(--text);background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius);cursor:pointer;align-items:center;gap:13px;padding:15px 17px;font-size:1.04rem;font-weight:600;transition:all .12s;display:flex}.opt .k{font-family:var(--font-display);flex:none;width:24px;font-weight:800}.opt:hover:not(:disabled){background:var(--rule);color:var(--bg)}.opt.correct{background:var(--accent);border-color:var(--accent);color:var(--accent-tx)}.opt.wrong{background:var(--pop);border-color:var(--rule);color:#16130f}.opt:disabled{cursor:default;opacity:1}.fb{border:2px solid var(--rule);border-radius:var(--radius);margin-top:18px;padding:16px 18px;font-weight:600;line-height:1.45;display:none}.fb.show{animation:rise .3s;display:block}.fb.good{background:var(--accent);color:var(--accent-tx);border-color:var(--accent)}.fb.bad{background:var(--pop);color:#16130f;border-color:var(--rule)}.fb b{font-family:var(--font-display);margin-bottom:4px;font-size:1.05rem;display:block}.auth-wrap{place-items:center;min-height:calc(100vh - 70px);padding:48px 0;display:grid}.auth-card{width:min(460px,92vw)}.auth-card h1{margin:6px 0 4px;font-size:2.1rem}.field{flex-direction:column;gap:6px;margin-top:18px;display:flex}.field label{letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.field .hint{color:var(--text-soft);font-size:.82rem;font-weight:500}.input{font-family:var(--font-text);border:2px solid var(--rule);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);padding:13px 15px;font-size:1rem;font-weight:500;transition:border-color .12s,box-shadow .12s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-sft);outline:none}.dash{padding:44px 0 90px}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px;display:flex}.dash-head h1{font-size:clamp(2.1rem,5vw,3.4rem)}.level-strip{margin-top:26px}.level-strip .meta{justify-content:space-between;margin-bottom:7px;font-size:.85rem;font-weight:700;display:flex}.course-card{margin-top:28px;overflow:hidden}.course-head{border-bottom:2px solid var(--rule);flex-wrap:wrap;align-items:center;gap:16px;padding:22px 26px;display:flex}.course-head .emoji{flex:none;font-size:2rem}.course-head h2{font-size:1.5rem}.course-head .desc{width:100%;color:var(--text-soft);font-size:.98rem;font-weight:500}.lesson-row{border-top:2px solid var(--line);align-items:center;gap:16px;padding:17px 26px;transition:all .14s;display:flex}.lesson-row:first-child{border-top:none}.lesson-row:hover{background:var(--accent-sft);padding-left:36px}.lesson-row .t{flex:1;font-size:1.04rem;font-weight:700}.lesson-row .d{color:var(--text-soft);font-size:.88rem;font-weight:500;display:block}.lesson-row .xp{color:var(--accent-d);white-space:nowrap;font-size:.85rem;font-weight:800}.lesson-row .arrow{color:var(--accent);font-weight:800}@media (max-width:640px){.course-head{padding:18px}.lesson-row{padding:15px 18px}.lesson-row:hover{padding-left:26px}}.player{width:min(680px,92vw);margin:0 auto;padding:28px 0 90px}.player-top{align-items:center;gap:14px;margin-bottom:34px;display:flex}.player-top .x{color:var(--text-soft);padding:4px;font-size:1.5rem;font-weight:700;line-height:1}.player-top .x:hover{color:var(--text)}.player-top .track-bar{flex:1}.material-title{margin:10px 0 18px;font-size:clamp(1.7rem,4vw,2.3rem)}.material-body{color:var(--text-soft);white-space:pre-line;font-size:1.08rem;font-weight:500;line-height:1.65}.player-foot{margin-top:30px}.done-screen{text-align:center;padding:56px 0}.done-screen .em{color:var(--accent);font-size:2.6rem}.done-screen h1{margin:10px 0 8px;font-size:2.2rem}.done-screen p{color:var(--text-soft);font-weight:500}.done-stats{flex-wrap:wrap;justify-content:center;gap:12px;margin:22px 0;display:flex}.hero{border-bottom:2px solid var(--rule);padding:18px 0 0}.hero-top{grid-template-columns:1.35fr 1fr;display:grid}@media (max-width:960px){.hero-top{grid-template-columns:1fr}}.hero-left{padding:40px 48px 44px 0}@media (max-width:960px){.hero-left{padding:24px 0 36px}}.kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);align-items:center;gap:14px;margin-bottom:26px;font-size:.82rem;font-weight:700;display:flex}.kicker .ln{background:var(--accent);width:44px;height:2px}.hero h1{font-size:clamp(3rem,7.4vw,6.4rem)}.hero-sub{max-width:34ch;color:var(--text-soft);margin:28px 0 0;font-size:1.32rem;font-weight:500;line-height:1.45}.hero-cta{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.hero-right{border-left:2px solid var(--rule);flex-direction:column;display:flex}@media (max-width:960px){.hero-right{border-left:none;border-top:2px solid var(--rule)}}.hr-stat{border-bottom:2px solid var(--rule);align-items:baseline;gap:14px;padding:22px 28px;display:flex}.hr-stat:last-child{border-bottom:none}.hr-stat .num{font-family:var(--font-display);font-size:2.6rem;font-weight:800;line-height:1}.hr-stat .num em{color:var(--accent);font-style:normal}.hr-stat .desc{color:var(--text-soft);font-size:.98rem;font-weight:600}.ticker{background:var(--rule);color:var(--bg);padding:13px 0;overflow:hidden}.tk{white-space:nowrap;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-size:1.05rem;font-weight:600;animation:scr 26s linear infinite}.tk,.tk span{gap:34px;display:flex}.tk span{align-items:center}.tk i{color:var(--pop);font-style:normal}.why{background:var(--rule);color:var(--bg)}.why .sec-h .idx{color:var(--pop)}.why .sec-h .lead{color:var(--bg);opacity:.8}.why-grid{border:2px solid var(--bg);grid-template-columns:1fr 1fr;display:grid}@media (max-width:760px){.why-grid{grid-template-columns:1fr}}.why-cell{border-right:2px solid var(--bg);padding:38px}.why-cell:nth-child(2n){border-right:none}@media (max-width:760px){.why-cell{border-right:none;border-bottom:2px solid var(--bg)}.why-cell:last-child{border-bottom:none}}.why-cell .big{font-family:var(--font-display);color:var(--pop);font-size:3.4rem;font-weight:800;line-height:1}.why-cell h3{margin:14px 0 10px;font-size:1.5rem}.why-cell p{color:var(--bg);opacity:.78;font-weight:500;line-height:1.55}.demo-grid{border:2px solid var(--rule);grid-template-columns:1fr 1.05fr;display:grid}@media (max-width:860px){.demo-grid{grid-template-columns:1fr}}.demo-copy{flex-direction:column;justify-content:center;padding:48px;display:flex}@media (max-width:640px){.demo-copy{padding:28px 22px}}.demo-copy h2{font-size:clamp(2rem,4vw,3.1rem)}.demo-copy p{color:var(--text-soft);margin-top:18px;font-size:1.12rem;font-weight:500;line-height:1.55}.demo-copy .note{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-top:24px;font-size:.92rem;font-weight:700}.demo-card{border-left:2px solid var(--rule);background:var(--surface);padding:34px}@media (max-width:860px){.demo-card{border-left:none;border-top:2px solid var(--rule)}}@media (max-width:640px){.demo-card{padding:22px}}.done{text-align:center;padding:14px 0;display:none}.done.show{animation:rise .35s;display:block}.done .em{color:var(--accent);font-size:2.6rem}.done h3{margin:8px 0;font-size:1.8rem}.done p{color:var(--text-soft);font-weight:500}.foot-cont{margin-top:16px;display:none}.foot-cont.show{display:block}.cat-row{border-top:2px solid var(--line);cursor:pointer;grid-template-columns:64px 1.4fr 2fr auto;align-items:center;gap:24px;padding:26px 0;transition:all .16s;display:grid}.cat-row:hover{padding-left:16px}.cat-row:hover .ct-title{color:var(--accent)}.cat-row:last-child{border-bottom:2px solid var(--line)}.ct-num{color:var(--accent);font-size:1.4rem;font-weight:800}.ct-num,.ct-title{font-family:var(--font-display)}.ct-title{font-size:1.8rem;font-weight:700;transition:all .16s}.ct-desc{color:var(--text-soft);font-size:1.02rem;font-weight:500}.ct-meta{white-space:nowrap;font-size:.9rem;font-weight:700}@media (max-width:820px){.cat-row{grid-template-columns:44px 1fr;gap:8px 16px}.ct-desc,.ct-meta{grid-column:2}.ct-title{font-size:1.4rem}}.steps-wrap{border:2px solid var(--rule)}.steps{grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:760px){.steps{grid-template-columns:1fr}}.step{border-right:2px solid var(--rule);padding:36px}.step:last-child{border-right:none}@media (max-width:760px){.step{border-right:none;border-bottom:2px solid var(--rule)}.step:last-child{border-bottom:none}}.step .num{font-family:var(--font-display);color:var(--accent);letter-spacing:.1em;font-size:1rem;font-weight:800}.step h3{margin:14px 0 10px;font-size:1.6rem}.step p{color:var(--text-soft);font-weight:500;line-height:1.55}.final{background:var(--accent);color:#fff;text-align:center;border-bottom:none}.final h2{font-size:clamp(2.6rem,6vw,5.4rem)}.final p{opacity:.92;max-width:40ch;margin:22px auto 34px;font-size:1.25rem;font-weight:500}.final .btn-primary{color:var(--accent);background:#fff}.final .btn-primary:hover{background:var(--bg);color:var(--accent)}.final .btn-out{color:#fff;border-color:#fff}.final .btn-out:hover{color:var(--accent);background:#fff}.footer{border-top:2px solid var(--rule);padding:40px 0}.footer-i{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;font-weight:600;display:flex}.footer-i,.muted{color:var(--text-soft)}.center{text-align:center}@media (max-width:620px){.hide-sm{display:none!important}}.grid-2{grid-template-columns:1fr 1fr}.grid-2,.grid-3{gap:var(--gap);display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{gap:var(--gap);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:940px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:820px){.grid-3{grid-template-columns:1fr}}@media (max-width:640px){.grid-2,.grid-4{grid-template-columns:1fr}}.shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.side{border-right:2px solid var(--rule);background:var(--bg);flex-direction:column;gap:4px;height:100vh;padding:24px 16px 18px;display:flex;position:sticky;top:0}.side .logo{margin-bottom:26px;padding:0 12px}.side-link{font-family:var(--font-display);border-radius:var(--radius-lg);color:var(--text-soft);border:2px solid #0000;align-items:center;gap:13px;padding:13px 14px;font-size:1.04rem;font-weight:700;transition:background .14s,color .14s;display:flex}.side-link .ico{text-align:center;width:26px;font-size:1.35rem}.side-link.active,.side-link:hover{background:var(--accent-sft);color:var(--accent-d)}.side-link.active{border-color:var(--accent)}.side-foot{flex-direction:column;gap:12px;margin-top:auto;padding:0 6px;display:flex}.side-stats{flex-wrap:wrap;gap:8px;display:flex}.bottom-nav{z-index:60;background:var(--surface);border-top:2px solid var(--rule);display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{padding:9px 0 calc(9px + env(safe-area-inset-bottom));letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);flex-direction:column;flex:1;align-items:center;gap:3px;font-size:.68rem;font-weight:700;display:flex}.bottom-nav a .ico{font-size:1.45rem;line-height:1}.bottom-nav a.active{color:var(--accent-d)}.bottom-nav a.active .ico{transform:translateY(-1px)}.shell-main{width:100%;max-width:1080px;margin:0 auto;padding:40px clamp(18px,4vw,56px) 90px}@media (max-width:860px){.shell{grid-template-columns:1fr}.side{display:none}.bottom-nav{display:flex}.shell-main{padding-bottom:130px}}.home-head h1{font-size:clamp(2rem,4.6vw,3rem)}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px;display:grid}@media (max-width:1020px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{flex-direction:column;gap:2px;padding:18px 20px;display:flex}.stat-card .big{font-family:var(--font-display);font-size:2rem;font-weight:800;line-height:1.05}.stat-card .lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);font-size:.78rem;font-weight:700}.continue-card{background:var(--accent);color:#fff;border:2px solid var(--rule);border-radius:var(--radius-lg);box-shadow:0 8px 0 -2px var(--accent-d);flex-wrap:wrap;align-items:center;gap:22px;margin-top:26px;padding:26px;display:flex}.continue-card .emoji{flex:none;font-size:2.6rem}.continue-card h2{font-size:1.6rem}.continue-card .sub{opacity:.85;margin-top:4px;font-size:.95rem;font-weight:600}.continue-card .track-bar{background:#ffffff40;border-color:#ffffffb3;margin-top:12px}.continue-card .track-bar>i{background:#fff}.continue-card .btn{color:var(--accent-d);background:#fff}.continue-card .btn:hover{background:var(--bg)}.continue-card .grow{flex:1;min-width:220px}.home-sec{margin-top:34px}.home-sec>h3{margin-bottom:14px;font-size:1.3rem}.activity-row{border-top:2px solid var(--line);align-items:center;gap:14px;padding:13px 4px;font-weight:600;display:flex}.activity-row:first-of-type{border-top:none}.activity-row .when{color:var(--text-soft);white-space:nowrap;margin-left:auto;font-size:.85rem}.mini-course{align-items:center;gap:12px;padding:14px 16px;display:flex}.mini-course .t{flex:1;font-weight:700}.mini-course .d{color:var(--text-soft);font-size:.85rem;font-weight:500;display:block}.course-top{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;display:flex}.course-top h1{font-size:clamp(1.9rem,4.4vw,2.8rem)}.journey{max-width:520px;margin:10px auto 0}.unit-band{background:var(--rule);color:var(--bg);border-radius:var(--radius-lg);align-items:center;gap:14px;margin:34px 0 26px;padding:14px 20px;display:flex}.unit-band .n{letter-spacing:.12em;text-transform:uppercase;color:var(--pop);font-size:.8rem;font-weight:800}.unit-band .n,.unit-band .t{font-family:var(--font-display)}.unit-band .t{font-size:1.15rem;font-weight:700}.j-row{justify-content:center;margin:20px 0;display:flex}.j-node{text-align:center;flex-direction:column;align-items:center;gap:9px;width:210px;display:flex}.j-btn{border:3px solid var(--rule);background:var(--surface);width:76px;height:76px;color:var(--text);cursor:pointer;box-shadow:0 7px 0 var(--line);-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;padding:0;transition:transform 90ms,box-shadow 90ms;display:grid;position:relative}.j-btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.j-btn.done{background:var(--good);color:#fff;box-shadow:0 7px 0 var(--good-shadow,#14663f)}.j-btn.current{background:var(--accent);color:#fff;box-shadow:0 7px 0 var(--accent-d)}.j-btn.locked{background:var(--surface);color:var(--text-soft);box-shadow:0 7px 0 var(--line);cursor:not-allowed}.j-btn.current:hover,.j-btn.done:hover{box-shadow:0 9px 0 var(--accent-d);transform:translateY(-2px)}.j-btn.done:hover{box-shadow:0 9px 0 var(--good-shadow,#14663f)}.j-btn.current.pressed,.j-btn.current:active{box-shadow:0 0 0 var(--accent-d);transform:translateY(7px)}.j-btn.done.pressed,.j-btn.done:active{box-shadow:0 0 0 var(--good-shadow,#14663f);transform:translateY(7px)}.j-btn.locked.bump{animation:shake .3s}.j-start-chip{background:var(--rule);color:var(--bg);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:.72rem;font-weight:800;top:-34px}.j-start-chip,.j-start-chip:after{position:absolute;left:50%;transform:translate(-50%)}.j-start-chip:after{content:"";border:5px solid #0000;border-top:5px solid var(--rule);border-bottom:none;bottom:-5px}.j-title{font-family:var(--font-display);font-size:.98rem;font-weight:700;line-height:1.15}.j-xp{color:var(--accent-d);font-size:.76rem;font-weight:800}.j-node.locked .j-title,.j-node.locked .j-xp{color:var(--text-soft);opacity:.6}.switch-fab{position:relative}.modal-veil{z-index:90;background:#18101673;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--bg);border:2px solid var(--rule);border-radius:var(--radius-lg);width:min(560px,100%);max-height:84vh;padding:22px;animation:rise .2s;overflow:auto}.modal h2{margin-bottom:4px;font-size:1.5rem}.course-pick{text-align:left;background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius-lg);cursor:pointer;width:100%;font-family:var(--font-text);align-items:center;gap:14px;margin-top:12px;padding:14px 16px;transition:all .12s;display:flex}.course-pick:hover:not(:disabled){background:var(--accent-sft)}.course-pick:disabled{cursor:default}.course-pick .emoji{font-size:1.8rem}.course-pick .t{font-size:1.02rem;font-weight:700}.course-pick .d{color:var(--text-soft);font-size:.85rem;font-weight:500;display:block}.prof-head{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.prof-head .avatar.xl{width:84px;height:84px;font-size:2.2rem}.prof-head h1{font-size:clamp(1.9rem,4.4vw,2.6rem)}.prof-head .joined{color:var(--text-soft);font-size:.9rem;font-weight:600}.material-img{border:2px solid var(--rule);border-radius:var(--radius-lg);background:var(--surface);width:100%;max-width:460px;margin:20px auto 4px;display:block}.check-foot{margin-top:28px}.blank-line{border-bottom:3px solid var(--accent);color:var(--accent-d);white-space:nowrap;padding:0 6px;font-weight:800}.blank-input{text-align:center;max-width:240px;font-size:1.2rem;font-weight:700}.word-grid{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.word-chip{font-family:var(--font-text);background:var(--surface);color:var(--text);border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;padding:8px 12px;font-size:1.05rem;font-weight:600;transition:all .1s}.word-chip:hover:not(:disabled){border-color:var(--rule);transform:translateY(-1px)}.word-chip.hit{background:var(--good);border-color:var(--good);color:#fff}.word-chip.miss{background:var(--pop);border-color:var(--rule);animation:shake .3s}.word-chip.reveal{background:var(--accent-sft);border-color:var(--accent);color:var(--accent-d)}.pairs-grid{grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:18px;display:grid}.pair-btn{font-family:var(--font-text);text-align:left;background:var(--surface);color:var(--text);border:2px solid var(--rule);border-radius:var(--radius);cursor:pointer;min-height:54px;padding:13px 14px;font-size:.96rem;font-weight:600;transition:all .1s}.pair-btn:hover:not(:disabled){background:var(--accent-sft)}.pair-btn.sel{background:var(--accent);border-color:var(--accent);color:#fff}.pair-btn.matched{background:var(--good-sft);border-color:var(--good);color:var(--good);opacity:.75;cursor:default}.pair-btn.shake{background:var(--pop-sft);border-color:var(--pop);animation:shake .3s}.order-built,.order-pool{flex-direction:column;gap:9px;margin-top:14px;display:flex}.order-built{min-height:30px}.order-item{text-align:left;font-family:var(--font-text);background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius);cursor:pointer;color:var(--text);align-items:center;gap:12px;padding:12px 14px;font-size:.98rem;font-weight:600;transition:all .1s;display:flex}.order-item:hover:not(:disabled){background:var(--accent-sft)}.order-item .badge-num{width:28px;height:28px;font-size:.85rem}.order-item.in-seq{background:var(--accent-sft);border-color:var(--accent)}.order-item.right{background:var(--good-sft);border-color:var(--good)}.order-item.wrong-pos{background:var(--pop-sft);border-color:var(--pop)}.order-divider{letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);margin-top:16px;font-size:.78rem;font-weight:700}.cat-stage{text-align:center;margin-top:18px}.cat-current{font-family:var(--font-display);background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius-lg);padding:26px 18px;font-size:1.4rem;font-weight:700;animation:rise .25s}.cat-current.good{background:var(--good-sft);border-color:var(--good)}.cat-current.bad{background:var(--pop-sft);border-color:var(--pop)}.cat-buckets{gap:12px;margin-top:16px;display:flex}.cat-bucket{font-family:var(--font-display);background:var(--accent-sft);color:var(--accent-d);border:2px solid var(--accent);border-radius:var(--radius);cursor:pointer;flex:1;padding:16px 10px;font-size:1.02rem;font-weight:800;transition:all .12s}.cat-bucket:hover:not(:disabled){background:var(--accent);color:#fff}.cat-progress{color:var(--text-soft);margin-top:14px;font-size:.85rem;font-weight:700}.bb-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;display:flex}.bb-left{font-family:var(--font-display);font-size:1.3rem;font-weight:800}.bb-left em{color:var(--accent-d);font-style:normal}.bb-left.over em{color:#c2185b}.bb-rows{flex-direction:column;gap:10px;margin-top:14px;display:flex}.bb-row{background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius);align-items:center;gap:12px;padding:10px 14px;display:flex}.bb-row .nm{flex:1;min-width:0;font-weight:700}.bb-row .req{color:var(--text-soft);font-size:.78rem;font-weight:600;display:block}.bb-row .kind{letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--line);border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:800}.bb-row .kind.need{background:var(--accent-sft);color:var(--accent-d);border-color:var(--accent)}.bb-row .kind.want{background:var(--pop-sft);color:#c2185b;border-color:var(--pop)}.bb-row .kind.savings{background:var(--good-sft);color:var(--good);border-color:var(--good)}.bb-stepper{align-items:center;gap:8px;display:flex}.bb-stepper button{border:2px solid var(--rule);background:var(--surface);width:34px;height:34px;font-family:var(--font-display);cursor:pointer;color:var(--text);border-radius:50%;place-items:center;font-size:1.1rem;font-weight:800;transition:all .1s;display:grid}.bb-stepper button:hover:not(:disabled){background:var(--accent);color:#fff}.bb-stepper button:disabled{opacity:.3;cursor:default}.bb-stepper .amt{font-family:var(--font-display);text-align:center;min-width:58px;font-size:1.05rem;font-weight:800}.bb-row.satisfied{border-color:var(--good)}.slider-wrap{text-align:center;margin-top:26px}.slider-value{font-family:var(--font-display);color:var(--accent-d);font-size:2.6rem;font-weight:800}.slider{appearance:none;background:var(--surface);border:2px solid var(--rule);border-radius:999px;outline:none;width:100%;height:12px;margin-top:18px}.slider::-webkit-slider-thumb{appearance:none;background:var(--accent);border:3px solid var(--rule);cursor:grab;border-radius:50%;width:30px;height:30px}.slider::-moz-range-thumb{background:var(--accent);border:3px solid var(--rule);cursor:grab;border-radius:50%;width:30px;height:30px}.slider-minmax{color:var(--text-soft);justify-content:space-between;margin-top:8px;font-size:.82rem;font-weight:700;display:flex}.dp-stat{font-family:var(--font-display);background:var(--surface);border:2px solid var(--rule);border-radius:999px;align-items:center;gap:10px;margin-top:14px;padding:8px 18px;font-size:1.1rem;font-weight:800;display:inline-flex}.dp-stat .delta{font-size:.9rem}.dp-stat .delta.up{color:var(--good)}.dp-stat .delta.down{color:#c2185b}.dp-progress{gap:6px;margin-top:14px;display:flex}.dp-progress i{background:var(--line);border-radius:999px;flex:1;height:6px}.dp-progress i.done{background:var(--accent)}.dp-situation{font-family:var(--font-display);margin-top:18px;font-size:1.3rem;font-weight:700;line-height:1.2}.scam-msg{background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius-lg);margin-top:18px;overflow:hidden}.scam-head{border-bottom:2px solid var(--line);color:var(--text-soft);padding:12px 16px;font-size:.85rem;font-weight:600}.scam-head b{color:var(--text);font-weight:800;display:block}.scam-body{padding:16px;font-size:1.02rem;font-weight:500;line-height:1.9}.scam-seg{cursor:pointer;border-bottom:2px dashed var(--line);border-radius:4px;padding:2px 3px;transition:background .12s}.scam-seg:hover{background:var(--accent-sft)}.scam-seg.found{background:var(--pop-sft);border-bottom:2px solid var(--pop);color:#c2185b;cursor:default;font-weight:700}.scam-seg.safe-flash{background:var(--good-sft);animation:shake .3s}.scam-count{color:var(--accent-d);margin-top:12px;font-size:.9rem;font-weight:800}.scam-flags{flex-direction:column;gap:8px;margin-top:14px;display:flex}.scam-flag-note{background:var(--pop-sft);border:2px solid var(--pop);border-radius:var(--radius);padding:10px 14px;font-size:.9rem;font-weight:600;animation:rise .25s}.pm-task{font-family:var(--font-display);background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius-lg);text-align:center;margin-top:16px;padding:18px;font-size:1.18rem;font-weight:700;line-height:1.2;animation:rise .25s}.pm-task.good{background:var(--good-sft);border-color:var(--good)}.pm-task.bad{background:var(--pop-sft);border-color:var(--pop)}.pm-correction{font-family:var(--font-text);color:#c2185b;margin-top:8px;font-size:.84rem;font-weight:700}.pm-grid{grid-template-rows:auto 1fr 1fr;grid-template-columns:22px 1fr 1fr;gap:8px;margin-top:16px;display:grid}.pm-head{letter-spacing:.08em;text-align:center;align-self:end;font-size:.72rem}.pm-head,.pm-rlabel{text-transform:uppercase;color:var(--text-soft);font-weight:800}.pm-rlabel{letter-spacing:.04em;writing-mode:vertical-rl;white-space:nowrap;place-self:center;font-size:.64rem;transform:rotate(180deg)}.pm-cell{font-family:var(--font-display);text-align:center;background:var(--accent-sft);color:var(--accent-d);border:2px solid var(--accent);border-radius:var(--radius);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:78px;padding:14px 8px;transition:all .12s;display:flex}.pm-cell b{font-size:.98rem}.pm-cell:hover:not(:disabled){background:var(--accent);color:#fff}.pm-grid.done .pm-cell{background:var(--surface);color:var(--text);border-color:var(--rule);cursor:default;justify-content:flex-start}.pm-grid.done .pm-cell b{color:var(--accent-d)}.pm-chips{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.pm-chip{font-family:var(--font-text);background:var(--accent-sft);color:var(--accent-d);border:2px solid var(--accent);border-radius:999px;padding:3px 9px;font-size:.73rem;font-weight:600}.sp-meter{margin-top:18px}.sp-meter-row{color:var(--text-soft);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;font-size:.85rem;font-weight:700;display:flex}.sp-meter-row em{font-family:var(--font-display);font-size:1.3rem;font-style:normal;font-weight:800}.sp-meter-row em.hi{color:var(--good)}.sp-meter-row em.mid{color:var(--accent-d)}.sp-meter-row em.lo{color:#c2185b}.sp-timeline{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.sp-point{font-family:var(--font-text);background:var(--surface);color:var(--text);border:2px solid var(--rule);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:9px 15px;font-size:.9rem;font-weight:700;transition:all .12s;display:inline-flex}.sp-point .sp-dot{border:2px solid var(--rule);background:var(--bg);border-radius:50%;flex:none;width:12px;height:12px;transition:all .12s}.sp-point:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.sp-point.on{background:var(--accent-sft);border-color:var(--accent);color:var(--accent-d)}.sp-point.on .sp-dot{background:var(--accent);border-color:var(--accent)}.sp-point.rec,.sp-point.rec .sp-dot{border-color:var(--good)}.sp-point.rec .sp-dot{background:var(--good)}.sp-point.bad{border-color:var(--pop);background:var(--pop-sft);color:#c2185b}.sp-point.bad .sp-dot{background:var(--pop);border-color:var(--pop)}.sp-point:disabled{cursor:default}.reflect-chips{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.reflect-chip{font-family:var(--font-text);background:var(--surface);color:var(--text);border:2px solid var(--rule);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:700;transition:all .12s}.reflect-chip:hover{background:var(--accent-sft);border-color:var(--accent);color:var(--accent-d);transform:translateY(-1px)}.reflect-input{resize:vertical;min-height:100px;line-height:1.5;font-family:var(--font-text);margin-top:14px}.reflect-saved{background:var(--accent-sft);border-left:4px solid var(--accent);border-radius:var(--radius);color:var(--text);white-space:pre-wrap;margin-top:16px;padding:16px 18px;font-weight:600;line-height:1.55}.mm-item{font-family:var(--font-display);background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius-lg);text-align:center;margin-top:16px;padding:18px;font-size:1.18rem;font-weight:700;line-height:1.2;animation:rise .25s}.mm-item.good{background:var(--good-sft);border-color:var(--good)}.mm-item.bad{background:var(--pop-sft);border-color:var(--pop)}.mm-correction{font-family:var(--font-text);color:#c2185b;margin-top:8px;font-size:.84rem;font-weight:700}.mm-grid{grid-template-rows:auto 1fr 1fr;grid-template-columns:22px 1fr 1fr;gap:8px;margin-top:16px;display:grid}.mm-head{letter-spacing:.08em;text-align:center;align-self:end;font-size:.72rem}.mm-head,.mm-rlabel{text-transform:uppercase;color:var(--text-soft);font-weight:800}.mm-rlabel{letter-spacing:.04em;writing-mode:vertical-rl;white-space:nowrap;place-self:center;font-size:.62rem;transform:rotate(180deg)}.mm-cell{text-align:center;font-family:var(--font-display);color:#181016;border:2px solid var(--rule);border-radius:var(--radius);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:84px;padding:14px 8px;transition:all .12s;display:flex}.mm-cell b{font-size:1.05rem}.mm-cell .mm-sub{font-family:var(--font-text);opacity:.75;font-size:.67rem;font-weight:700}.mm-cell.red{background:#ffd9d9}.mm-cell.yellow{background:#fff0bf}.mm-cell.blue{background:#d8e3ff}.mm-cell.green{background:#d2f1de}.mm-cell:hover:not(:disabled){box-shadow:0 4px 0 -1px var(--rule);transform:translateY(-2px)}.mm-grid.done .mm-cell{cursor:default;justify-content:flex-start}.mm-chips{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.mm-chip{font-family:var(--font-text);color:#181016;border:2px solid var(--rule);background:#ffffffb3;border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:600}.is-preview{font-family:var(--font-display);background:var(--accent-sft);border:2px solid var(--accent);border-radius:var(--radius-lg);color:var(--accent-d);margin-top:14px;padding:14px 16px;font-size:1.12rem;font-weight:700;line-height:1.35;animation:rise .2s}.is-slots{flex-direction:column;gap:16px;margin-top:18px;display:flex}.is-slot-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin-bottom:8px;font-size:.74rem;font-weight:800}.is-options{flex-direction:column;gap:8px;display:flex}.is-option{text-align:left;font-family:var(--font-text);background:var(--surface);color:var(--text);border:2px solid var(--rule);border-radius:var(--radius);cursor:pointer;padding:12px 14px;font-size:.98rem;font-weight:600;transition:all .12s}.is-option:hover:not(:disabled){background:var(--accent-sft)}.is-option.sel{background:var(--accent);border-color:var(--accent);color:#fff}.is-option.good{background:var(--good);border-color:var(--good);color:#fff}.is-option.bad{background:var(--pop);border-color:var(--rule);color:#16130f}.is-why{color:#c2185b;margin-top:8px;font-size:.85rem;font-weight:600}.fixup-banner{background:var(--pop-sft);border:2px solid var(--pop);border-radius:var(--radius-lg);align-items:center;gap:12px;margin-bottom:24px;padding:14px 18px;font-weight:700;animation:rise .3s;display:flex}.fixup-banner .em{font-size:1.6rem}.sum-wrap{text-align:center;padding:40px 0 70px;position:relative;overflow:hidden}.sum-kicker{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.9rem;font-weight:800;animation:rise .4s}.sum-title{margin:10px 0 6px;font-size:clamp(2.6rem,8vw,4.2rem);animation:pop-in .5s cubic-bezier(.2,.9,.3,1.4)}.sum-sub{color:var(--text-soft);font-size:1.05rem;font-weight:600}.sum-cards{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:30px;display:flex}.sum-card{background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius-lg);min-width:130px;padding:18px 22px;animation:pop-in .5s cubic-bezier(.2,.9,.3,1.4) backwards}.sum-card:nth-child(2){animation-delay:.12s}.sum-card:nth-child(3){animation-delay:.24s}.sum-card .big{font-family:var(--font-display);font-size:2.2rem;font-weight:800;line-height:1}.sum-card .big.xp{color:var(--accent-d)}.sum-card .lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);margin-top:6px;font-size:.74rem;font-weight:700}.sum-learned{text-align:left;max-width:460px;margin:36px auto 0;animation:rise .6s .3s backwards}.sum-learned h3{text-align:center;margin-bottom:10px;font-size:1.15rem}.sum-learned li{border-top:2px solid var(--line);align-items:start;gap:10px;padding:9px 0;font-weight:600;line-height:1.4;display:flex}.sum-learned li:first-of-type{border-top:none}.sum-learned li:before{content:"✓";color:var(--good);flex:none;font-weight:800}.sum-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px;display:flex}.confetti-canvas{pointer-events:none;z-index:80;position:fixed;inset:0}.perfect-chip{background:var(--good-sft);border:2px solid var(--good);color:var(--good);font-family:var(--font-display);border-radius:999px;align-items:center;gap:8px;padding:7px 16px;font-weight:800;display:inline-flex}.ico-svg{flex:none}.course-badge{font-family:var(--font-display);border:2px solid var(--rule);flex:none;place-items:center;font-weight:800;line-height:1;display:inline-grid}.theme-toggle{border:2px solid var(--rule);border-radius:999px;display:inline-flex;overflow:hidden}.theme-toggle button{font-family:var(--font-text);background:var(--surface);color:var(--text-soft);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 18px;font-size:.92rem;font-weight:700;display:inline-flex}.theme-toggle button.active{background:var(--accent);color:#fff}.shell-col{flex-direction:column;min-width:0;display:flex}.topbar{z-index:40;background:var(--bg);border-bottom:2px solid var(--rule);gap:12px;height:64px;padding:0 clamp(16px,4vw,40px);position:sticky;top:0}.topbar,.topbar .tb-stats{align-items:center;display:flex}.topbar .tb-stats{gap:10px;margin-left:auto}.tb-chip{font-family:var(--font-display);border:2px solid var(--rule);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.98rem;font-weight:800;display:inline-flex}.tb-chip.flame{color:#c2185b;background:var(--pop-sft);border-color:var(--pop)}.tb-chip.bolt{color:var(--accent-d);background:var(--accent-sft);border-color:var(--accent)}.goal-ring{flex:none;width:40px;height:40px;position:relative}.goal-ring svg{transform:rotate(-90deg)}.goal-ring .ring-bg{stroke:var(--line)}.goal-ring .ring-fg{stroke:var(--accent);transition:stroke-dashoffset .6s cubic-bezier(.2,.9,.3,1.2)}.goal-ring.met .ring-fg{stroke:var(--good)}.goal-ring .ring-ico{color:var(--text-soft);place-items:center;display:grid;position:absolute;inset:0}.goal-ring.met .ring-ico{color:var(--good)}.course-switch{position:relative}.course-switch>button{background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-display);color:var(--text);align-items:center;gap:10px;max-width:230px;padding:6px 12px 6px 6px;font-weight:700;display:inline-flex}.course-switch>button:hover{background:var(--accent-sft)}.course-switch .cs-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:520px){.course-switch .cs-name{display:none}}.cs-menu{z-index:70;background:var(--bg);border:2px solid var(--rule);border-radius:var(--radius-lg);width:min(320px,86vw);box-shadow:0 14px 0 -6px var(--accent);padding:8px;animation:rise .16s;position:absolute;top:calc(100% + 8px);left:0}.cs-menu .cs-head{letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);padding:8px 10px 4px;font-size:.72rem;font-weight:800}.cs-item{text-align:left;border-radius:var(--radius);cursor:pointer;width:100%;font-family:var(--font-text);color:var(--text);background:0 0;border:none;align-items:center;gap:11px;padding:10px;font-weight:600;display:flex}.cs-item.active,.cs-item:hover:not(:disabled){background:var(--accent-sft)}.cs-item .t{flex:1}.cs-item .badge-dot{color:var(--accent-d);margin-left:auto;font-size:.8rem;font-weight:800}.cs-divider{background:var(--line);height:2px;margin:6px 4px}.cs-enroll{color:var(--accent-d);font-weight:800}.bottom-nav a .ico,.side-link .ico{place-items:center;display:inline-grid}.nav-dot{background:var(--pop);color:#16130f;min-width:22px;height:22px;font-family:var(--font-display);border:2px solid var(--rule);border-radius:999px;place-items:center;margin-left:auto;padding:0 6px;font-size:.74rem;font-weight:800;display:inline-grid}.nav-dot.float{min-width:18px;height:18px;font-size:.64rem;position:absolute;top:-7px;right:-12px}.onb-wrap{flex-direction:column;min-height:100vh;display:flex}.onb-bar{background:var(--bg);border-bottom:2px solid var(--rule);height:8px}.onb-bar>i{background:var(--accent);height:100%;transition:width .4s cubic-bezier(.2,.9,.3,1.2);display:block}.onb-body{flex:1;place-items:center;padding:32px 20px 110px;display:grid}.onb-card{text-align:center;width:min(640px,100%);animation:rise .4s}.onb-emoji-free{color:var(--accent);place-items:center;font-size:3rem;display:grid}.onb-card h1{margin:14px 0 8px;font-size:clamp(2rem,6vw,3.2rem)}.onb-card .lead{color:var(--text-soft);max-width:42ch;margin:0 auto;font-size:1.1rem;font-weight:500}.onb-grid{text-align:left;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px;display:grid}@media (max-width:560px){.onb-grid{grid-template-columns:1fr}}.onb-pick{background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-text);color:var(--text);align-items:center;gap:14px;padding:18px;transition:all .12s;animation:pop-in .4s cubic-bezier(.2,.9,.3,1.4) backwards;display:flex}.onb-pick:hover{transform:translateY(-3px)}.onb-pick.sel,.onb-pick:hover{box-shadow:0 8px 0 -3px var(--accent)}.onb-pick.sel{border-color:var(--accent);background:var(--accent-sft)}.onb-pick .pk-ico{background:var(--accent-sft);width:48px;height:48px;color:var(--accent-d);border-radius:12px;flex:none;place-items:center;display:grid}.onb-pick.sel .pk-ico{background:var(--accent);color:#fff}.onb-pick .pk-t{font-weight:800;font-family:var(--font-display);font-size:1.05rem}.onb-pick .pk-d{color:var(--text-soft);font-size:.86rem;font-weight:500}.onb-foot{padding:16px clamp(16px,5vw,40px) calc(16px + env(safe-area-inset-bottom));background:var(--bg);border-top:2px solid var(--rule);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.onb-foot .inner{justify-content:space-between;align-items:center;gap:12px;width:min(640px,100%);display:flex}.settings-list{flex-direction:column;gap:14px;max-width:620px;margin-top:24px;display:flex}.set-row{flex-wrap:wrap;align-items:center;gap:16px;padding:18px 20px;display:flex}.set-row .lbl{font-family:var(--font-display);font-size:1.05rem;font-weight:700}.set-row .sub{color:var(--text-soft);font-size:.85rem;font-weight:500}.set-row .grow{flex:1;min-width:140px}.set-course{border-top:2px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.set-course:first-of-type{border-top:none}.set-course .t{flex:1;font-weight:700}.btn-danger{color:#c2185b;border:2px solid var(--pop);background:0 0}.btn-danger:hover{background:var(--pop);color:#16130f}.xp-chart{align-items:flex-end;height:140px;margin-top:14px}.xp-chart,.xp-col{gap:6px;display:flex}.xp-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%}.xp-bar{background:var(--accent);border:2px solid var(--rule);border-bottom:none;border-radius:5px 5px 0 0;width:100%;max-width:26px;min-height:4px;transition:height .5s cubic-bezier(.2,.9,.3,1.2)}.xp-bar.empty{background:var(--line)}.xp-bar.today{background:var(--pop)}.xp-col .day{color:var(--text-soft);white-space:nowrap;font-size:.62rem;font-weight:700}.xp-col .val{color:var(--accent-d);font-size:.62rem;font-weight:800}.friends-strip{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.friend-pill{border:2px solid var(--rule);background:var(--surface);border-radius:999px;align-items:center;gap:9px;padding:7px 14px 7px 7px;font-size:.9rem;font-weight:700;display:inline-flex}.friend-pill .av{background:var(--accent-sft);width:28px;height:28px;color:var(--accent-d);font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:grid}.friend-pill .fxp{color:var(--text-soft);font-size:.8rem;font-weight:600}.add-friend{gap:10px;max-width:420px;margin-top:14px;display:flex}.add-friend .input{flex:1}.notif-list{flex-direction:column;gap:12px;max-width:620px;margin-top:20px;display:flex}.notif{align-items:center;gap:14px;padding:16px 18px;display:flex}.notif .n-ico{background:var(--accent-sft);width:42px;height:42px;color:var(--accent-d);border-radius:50%;flex:none;place-items:center;display:grid}.notif.req .n-ico{background:var(--pop-sft);color:#c2185b}.notif .n-body{flex:1;min-width:0}.notif .n-body b{font-family:var(--font-display)}.notif .n-body .when{color:var(--text-soft);font-size:.8rem;font-weight:600;display:block}.notif .n-acts{gap:8px;display:flex}.notif-empty{text-align:center;padding:60px 0}.notif-empty .em{color:var(--accent);place-items:center;display:grid}.prof-actions{align-items:center;gap:10px;margin-left:auto;display:flex}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-60{height:calc(var(--spacing) * 60)}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.lowercase{text-transform:lowercase}.shadow,.shadow\/base{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow,.shadow\/base{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-bg{--tw-ring-color:var(--bg)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#f7f1e6;--surface:#fffdf8;--text:#181016;--text-soft:#4a3f47;--rule:#181016;--line:#18101629;--accent:#6b46ff;--accent-d:#4a2ed1;--accent-sft:#efe9ff;--accent-tx:#fff;--pop:#ff6f9c;--pop-sft:#ffe6ee;--good:#1f8a5b;--good-sft:#e3f5ec;--font-display:var(--font-bricolage),sans-serif;--font-text:var(--font-dm-sans),sans-serif;--radius:4px;--radius-lg:8px;--maxw:1240px;--gap:24px}:root[data-theme=dark]{--bg:#14101a;--surface:#1f1828;--text:#f3ecf7;--text-soft:#b3a6c0;--rule:#f3ecf7;--line:#f3ecf729;--accent:#8b6bff;--accent-d:#6b46ff;--accent-sft:#272036;--accent-tx:#fff;--pop:#ff6f9c;--pop-sft:#3a2230;--good:#34d399;--good-sft:#15352a}:root[data-theme=dark] body{color-scheme:dark}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes scr{to{transform:translate(-50%)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:no-preference){.hero .kicker{animation:land-up .6s cubic-bezier(.2,.9,.3,1.1) backwards}.hero h1{animation:land-up .7s cubic-bezier(.2,.9,.3,1.1) 80ms backwards}.hero-sub{animation:land-up .7s cubic-bezier(.2,.9,.3,1.1) .18s backwards}.hero-cta{animation:land-up .7s cubic-bezier(.2,.9,.3,1.1) .28s backwards}.hero-right .hr-stat{animation:land-right .7s cubic-bezier(.2,.9,.3,1.1) backwards}.hero-right .hr-stat:first-child{animation-delay:.3s}.hero-right .hr-stat:nth-child(2){animation-delay:.4s}.hero-right .hr-stat:nth-child(3){animation-delay:.5s}@supports (animation-timeline:view()){.cat-row,.demo-grid,.final h2,.final p,.sec-h,.steps-wrap,.why-cell{animation:land-up linear both;animation-timeline:view();animation-range:entry cover 22%}}}@keyframes land-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes land-right{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:none}}@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-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}