:root{--bg:#f2faff;--bg-2:#e7f4ff;--surface:#fff;--surface-2:#f6fbff;--ink:#22334f;--ink-soft:#515e75;--muted:#768193;--border:#dce2e9;--border-2:#c8d2de;--primary:#2279dc;--primary-ink:#004590;--primary-soft:#deedff;--secondary:#f8962d;--secondary-soft:#ffebd4;--green:#37bb62;--green-soft:#d0f7d6;--coral:#f75c61;--coral-soft:#ffe8e6;--purple:#9867e1;--purple-soft:#f1eaff;--yellow:#f7cd3a;--pink:#ed76b3;--teal:#00b4bb;--success:var(--green);--warning:#f5ae39;--danger:var(--coral);--r-sm:10px;--r:16px;--r-lg:24px;--r-xl:32px;--r-pill:999px;--shadow-sm:0 2px 6px #38486314;--shadow:0 8px 24px #3448681a;--shadow-lg:0 18px 50px #2d477229;--press:0 5px 0;--font-display:"Baloo 2", "Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, -apple-system, sans-serif;--maxw:1240px;--nav-h:72px}@supports (color:lab(0% 0 0)){:root{--bg:lab(97.6984% -1.95372 -3.95325);--bg-2:lab(95.3643% -2.67723 -6.86263);--surface:lab(100% 0 0);--surface-2:lab(98.2536% -.878662 -2.85904);--ink:lab(20.7825% .0362694 -19.5765);--ink-soft:lab(39.5012% -1.1646 -14.5421);--muted:lab(53.4835% -1.19191 -11.0275);--border:lab(89.5351% -.959933 -4.39445);--border-2:lab(83.7152% -1.53947 -7.29235);--primary:lab(50.0477% 2.68856 -58.429);--primary-ink:lab(28.8555% 9.12361 -54.6686);--primary-soft:lab(92.9378% -2.84371 -14.4731);--secondary:lab(71.557% 32.2224 66.5953);--secondary-soft:lab(94.1955% 6.32608 18.4657);--green:lab(67.3285% -51.4615 34.0825);--green-soft:lab(93.8347% -17.7932 11.3956);--coral:lab(60.9233% 60.4956 30.9885);--coral-soft:lab(93.735% 15.3724 8.32428);--purple:lab(53.1674% 39.3575 -55.7366);--purple-soft:lab(93.7429% 7.16129 -12.932);--yellow:lab(84.2152% 5.18373 73.1501);--pink:lab(65.3692% 51.4389 -9.92352);--teal:lab(66.3586% -37.5367 -15.4041);--warning:lab(76.6715% 19.8199 66.5811);--shadow-sm:0 2px 6px lab(30.1382% -.768676 -17.9743/.08);--shadow:0 8px 24px lab(30.0574% -.413626 -21.4485/.1);--shadow-lg:0 18px 50px lab(29.8642% .843376 -28.3386/.16)}}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:clamp(15px,.6vw + 13px,17px);font-weight:600;line-height:1.55;overflow-x:hidden}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul{padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-weight:800;line-height:1.08}h1,h2,h3,h4,p,span,strong,b,a,li,button{overflow-wrap:break-word}:where(.grid,.stack,.row,.card,.chip,.stat-chip,.prof-chip,.navlinks,.tabbar)>*{min-width:0}h1{font-size:clamp(2rem,4.5vw,3.6rem)}h2{font-size:clamp(1.5rem,3vw,2.5rem)}h3{font-size:clamp(1.15rem,1.6vw,1.5rem)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.wrap{width:min(100% - 2.4rem, var(--maxw));margin-inline:auto}.section{padding:clamp(3rem,7vw,6rem) 0}.stack{flex-direction:column;gap:1rem;display:flex}.row{align-items:center;gap:.75rem;display:flex}.row.wrap-row{flex-wrap:wrap}.between{justify-content:space-between}.center{justify-content:center}.grid{gap:clamp(1rem,2vw,1.5rem);display:grid}.muted{color:var(--muted);font-weight:600}.eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--primary);align-items:center;gap:.4rem;font-size:.8rem;font-weight:800;display:inline-flex}.btn{font-family:var(--font-display);border-radius:var(--r-pill);background:var(--surface);min-height:48px;color:var(--ink);box-shadow:var(--press) var(--border-2);-webkit-user-select:none;user-select:none;white-space:nowrap;text-align:center;justify-content:center;align-items:center;gap:.5rem;max-width:100%;padding:.85rem 1.5rem;font-size:1rem;font-weight:800;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-flex}.btn:active{box-shadow:0 1px 0 var(--border-2);transform:translateY(4px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--press) var(--primary-ink)}.btn-primary:active{box-shadow:0 1px 0 var(--primary-ink)}.btn-secondary{background:var(--secondary);color:#5b2c00;color:lab(23.9418% 27.6526 49.8242);box-shadow:var(--press) #d36c00}@supports (color:lab(0% 0 0)){.btn-secondary{box-shadow:var(--press) lab(57.368% 37.8878 66.3443)}}.btn-secondary:active{box-shadow:0 1px #d36c00;box-shadow:0 1px lab(57.368% 37.8878 66.3443)}.btn-green{background:var(--green);color:#fff;box-shadow:var(--press) #008c3f}@supports (color:lab(0% 0 0)){.btn-green{box-shadow:var(--press) lab(50.9377% -48.7556 32.6841)}}.btn-green:active{box-shadow:0 1px #008c3f;box-shadow:0 1px lab(50.9377% -48.7556 32.6841)}.btn-ghost{box-shadow:none;border:2px solid var(--border-2);background:0 0}.btn-ghost:active{transform:translateY(2px)}.btn-lg{min-height:58px;padding:1.05rem 2rem;font-size:1.15rem}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:clamp(1.1rem,2vw,1.6rem)}.card-pad-lg{padding:clamp(1.4rem,3vw,2.2rem)}.card-hover{transition:transform .15s,box-shadow .15s,border-color .15s}.card-hover:hover{box-shadow:var(--shadow);border-color:var(--border-2);transform:translateY(-4px)}.pill{font-family:var(--font-display);border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary-ink);align-items:center;gap:.4rem;padding:.35rem .8rem;font-size:.85rem;font-weight:800;display:inline-flex}.pill-green{background:var(--green-soft);color:#006829;color:lab(37.9176% -42.8445 28.9641)}.pill-coral{background:var(--coral-soft);color:#af2934;color:lab(40.2265% 54.2769 28.9103)}.pill-purple{background:var(--purple-soft);color:#6d41a9;color:lab(37.1076% 36.1291 -49.4012)}.pill-orange{background:var(--secondary-soft);color:#8b4b00;color:lab(39.0589% 28.6096 63.3781)}.chip{border-radius:var(--r-pill);border:2px solid var(--border-2);background:var(--surface);align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.9rem;font-weight:700;display:inline-flex}.bar{border-radius:var(--r-pill);background:var(--bg-2);border:1px solid var(--border);height:14px;overflow:hidden}.bar>i{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--green), #7cd06a);height:100%;transition:width .6s cubic-bezier(.2,.9,.3,1);display:block}@supports (color:lab(0% 0 0)){.bar>i{background:linear-gradient(90deg, var(--green), lab(76.3439% -41.0818 42.0345))}}.bar.blue>i{background:linear-gradient(90deg, var(--primary), #4ba3f7)}@supports (color:lab(0% 0 0)){.bar.blue>i{background:linear-gradient(90deg, var(--primary), lab(64.5654% -6.44964 -50.653))}}.bar.orange>i{background:linear-gradient(90deg, var(--secondary), var(--yellow))}.level-widget{border-radius:var(--r-lg);background:radial-gradient(circle at 100% 0%, color-mix(in oklch, var(--yellow) 34%, transparent), transparent 38%), linear-gradient(135deg, var(--surface), var(--primary-soft));border:2px solid color-mix(in oklch, var(--primary) 22%, white);box-shadow:var(--shadow-sm);grid-template-columns:auto 1fr;align-items:center;gap:.9rem;padding:.95rem;display:grid}.level-widget.level-hero{padding:clamp(1rem,2vw,1.3rem)}.level-mark{color:#fff;background:linear-gradient(155deg, var(--primary), var(--purple));width:76px;height:76px;box-shadow:0 7px 0 color-mix(in oklch, var(--primary-ink) 70%, black);border-radius:26px;align-content:center;place-items:center;display:grid;transform:rotate(-2deg)}.level-num{font-family:var(--font-display);font-size:2rem;font-weight:900;line-height:.9}.level-caption{font-family:var(--font-display);letter-spacing:.12em;font-size:.62rem;font-weight:900}.level-main{gap:.55rem;min-width:0;display:grid}.level-main b{font-family:var(--font-display);font-size:1.05rem;font-weight:900}.level-main small{color:var(--muted);margin-top:.1rem;font-weight:800;display:block}.xp-track{border-radius:var(--r-pill);background:color-mix(in oklch, var(--surface) 70%, var(--primary-soft));border:1.5px solid color-mix(in oklch, var(--primary) 24%, white);height:16px;overflow:hidden}.xp-track>i{border-radius:inherit;background:linear-gradient(90deg, var(--secondary), var(--yellow), var(--green));height:100%;transition:width .55s cubic-bezier(.2,.9,.3,1);display:block}.level-meta{color:var(--ink-soft);font-family:var(--font-display);justify-content:space-between;gap:.6rem;font-size:.82rem;font-weight:900;display:flex}.reward-pop{z-index:160;opacity:0;pointer-events:none;min-width:min(360px,100vw - 1.5rem);transition:all .25s;position:fixed;top:16px;left:50%;transform:translate(-50%)translateY(-12px)}.reward-pop.show{opacity:1;transform:translate(-50%)translateY(0)}.reward-pop .level-widget{box-shadow:var(--shadow-lg)}.ring{--p:0;--size:92px;--tw:10px;width:var(--size);height:var(--size);background:conic-gradient(var(--green) calc(var(--p) * 1%), var(--bg-2) 0);border-radius:50%;flex:none;place-items:center;display:grid}.ring:before{content:"";position:absolute}.ring>span{width:calc(var(--size) - var(--tw) * 2);height:calc(var(--size) - var(--tw) * 2);background:var(--surface);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:1.3rem;font-weight:800;display:grid}.appbar{z-index:40;height:var(--nav-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1.5px solid var(--border);background:#ffffffd9;background:lab(100% 0 0/.85);position:sticky;top:0}.appbar .wrap{justify-content:space-between;align-items:center;height:100%;display:flex}.brand{font-family:var(--font-display);align-items:center;gap:.55rem;font-size:1.25rem;font-weight:800;display:inline-flex}.brand .logo{width:38px;height:38px}.navlinks{align-items:center;gap:.3rem;display:flex}.navlinks a{border-radius:var(--r-pill);color:var(--ink-soft);padding:.5rem .85rem;font-weight:700;transition:background .15s,color .15s}.navlinks a:hover,.navlinks a.active{background:var(--primary-soft);color:var(--primary-ink)}.auth-page{background:radial-gradient(circle at 8% 12%, color-mix(in oklch, var(--yellow) 28%, transparent), transparent 26rem), radial-gradient(circle at 92% 18%, color-mix(in oklch, var(--green) 20%, transparent), transparent 24rem), linear-gradient(180deg, var(--bg), var(--bg-2));place-items:center;min-height:100svh;padding:clamp(1.2rem,4vw,3rem);display:grid}.auth-hero{grid-template-columns:minmax(0,1fr) minmax(340px,430px);align-items:center;gap:clamp(1.1rem,4vw,2.4rem);width:min(100%,1080px);display:grid}.auth-copy{gap:1rem;padding:clamp(.5rem,2vw,1rem);display:grid}.auth-brand{width:max-content;margin-bottom:clamp(.5rem,3vw,1.5rem)}.auth-copy h1{max-width:660px}.auth-copy p{max-width:560px;font-size:1.05rem}.auth-proof-row{flex-wrap:wrap;gap:.65rem;margin-top:.25rem;display:flex}.auth-card{border-radius:var(--r-xl);background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow-lg);gap:1rem;padding:clamp(1.1rem,3vw,1.6rem);display:grid}.auth-tabs{border-radius:var(--r-pill);background:var(--bg-2);border:1px solid var(--border);grid-template-columns:1fr 1fr;gap:.45rem;padding:.35rem;display:grid}.auth-tabs button{border-radius:var(--r-pill);min-height:44px;font-family:var(--font-display);color:var(--ink-soft);font-weight:900}.auth-tabs button.active{color:#fff;background:var(--primary);box-shadow:0 4px 0 var(--primary-ink)}.auth-field{font-family:var(--font-display);gap:.45rem;font-weight:900;display:grid}.auth-field input{border:2px solid var(--border-2);background:var(--surface-2);border-radius:18px;outline:none;min-height:50px;padding:.8rem 1rem}.auth-field input:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in oklch, var(--primary) 18%, transparent)}.auth-error,.auth-success,.auth-session-chip{border-radius:18px;padding:.75rem .9rem;font-weight:800}.auth-success{color:#005e25;color:lab(34.4264% -43.016 29.3224);background:var(--green-soft)}.auth-error{color:#a20222;color:lab(34.2985% 57.6071 32.3138);background:var(--coral-soft)}.auth-session-chip{color:#005e25;color:lab(34.4264% -43.016 29.3224);background:var(--green-soft);align-items:center;gap:.5rem;display:flex}@media (max-width:860px){.auth-hero{grid-template-columns:1fr}.auth-copy{padding:0}}.stat-chip{font-family:var(--font-display);border-radius:var(--r-pill);background:var(--surface-2);border:1.5px solid var(--border);align-items:center;gap:.35rem;padding:.4rem .7rem;font-weight:800;display:inline-flex}.tabbar{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1.5px solid var(--border);padding:.4rem .4rem calc(.4rem + env(safe-area-inset-bottom));background:#fffffff2;background:lab(100% 0 0/.95);grid-auto-columns:1fr;grid-auto-flow:column;display:none;position:fixed;bottom:0;left:0;right:0}.tabbar a{border-radius:var(--r);color:var(--muted);font-size:.7rem;font-weight:800;font-family:var(--font-display);justify-items:center;gap:2px;padding:.4rem 0;display:grid}.tabbar a.active{color:var(--primary)}.tabbar svg{width:26px;height:26px}.mascot{width:100%;height:auto}.speech{background:var(--surface);border:2px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:.9rem 1.1rem;font-weight:700;position:relative}.speech:after{content:"";background:var(--surface);border-right:2px solid var(--border-2);border-bottom:2px solid var(--border-2);width:18px;height:18px;position:absolute;bottom:-11px;left:28px;transform:rotate(45deg)}.speech.left:after{left:auto;right:28px}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.float{animation:3.4s ease-in-out infinite bob}.blob{filter:blur(2px);opacity:.55;z-index:0;pointer-events:none;border-radius:50%;position:absolute}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1180px){.grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:820px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.only-mobile{display:none}@media (max-width:860px){.navlinks{display:none}.tabbar{display:grid}body.has-tabbar{padding-bottom:78px}.hide-mobile{display:none!important}.only-mobile{display:revert}}@media (max-width:620px){.wrap{width:min(100% - 1rem, var(--maxw))}.section{padding:clamp(2rem,8vw,3.2rem) 0}.row.wrap-row{gap:.5rem}.btn{white-space:normal;padding-inline:1rem;line-height:1.12}.btn-lg{min-height:54px;padding-inline:1.15rem}.chip,.stat-chip{font-size:.82rem}.appbar .wrap{gap:.5rem}.appbar .btn{white-space:nowrap;min-height:40px;padding:.45rem .7rem;font-size:.82rem}.brand{gap:.4rem;font-size:1.05rem}.brand .logo{width:34px;height:34px}.prof-chip{gap:.38rem;padding:.22rem .42rem .22rem .25rem}.prof-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-size:.86rem;overflow:hidden}.prof-chip-name small{display:none}.prof-menu{width:min(320px,100vw - 1rem);right:0}.tabbar{padding-inline:.25rem}.tabbar a{padding-inline:.1rem;font-size:.64rem;overflow:hidden}.tabbar svg{width:24px;height:24px}.level-widget{text-align:center;grid-template-columns:1fr;justify-items:center}.level-mark{border-radius:22px;width:68px;height:68px}.level-meta{width:100%}}@media (max-width:430px){.appbar .stat-chip{display:none}.appbar .btn{text-overflow:ellipsis;max-width:132px;overflow:hidden}.brand{font-size:.98rem}.prof-chip-name{max-width:74px}}.confetti{pointer-events:none;z-index:999;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:10px;height:14px;animation:linear forwards fall;position:absolute;top:-20px}@keyframes fall{to{opacity:.9;transform:translateY(105vh)rotate(720deg)}}.ic{vertical-align:middle;color:inherit;justify-content:center;align-items:center;line-height:0;display:inline-flex}.ic .ic-svg{display:block}.icon-tile{--c:var(--primary);width:56px;height:56px;color:var(--c);background:color-mix(in oklch, var(--c) 16%, white);border-radius:18px;flex:none;place-items:center;display:inline-grid}.icon-tile.tile-sm{border-radius:14px;width:44px;height:44px}.icon-tile.tile-lg{border-radius:22px;width:68px;height:68px}.icon-tile.solid{color:#fff;background:var(--c)}.stat-chip .ic{color:var(--secondary)}.bo-avatar{border-radius:50%;display:block}.av-ring{background:conic-gradient(var(--primary), var(--secondary), var(--green), var(--primary));border-radius:50%;flex:none;padding:3px;display:inline-grid}.av-ring>*{border:3px solid var(--surface);border-radius:50%}[data-profile-switch]{position:relative}.prof-chip{border-radius:var(--r-pill);background:var(--surface-2);border:1.5px solid var(--border);align-items:center;gap:.5rem;padding:.3rem .6rem .3rem .35rem;display:inline-flex}.prof-chip-av{box-shadow:0 0 0 2px var(--border-2);border-radius:50%;flex:none;display:inline-grid}.prof-chip-name{font-family:var(--font-display);text-align:left;font-size:.95rem;font-weight:800;line-height:1}.prof-chip-name small{color:var(--muted);margin-top:2px;font-size:.7rem;font-weight:700;display:block}.prof-chip .ic{color:var(--muted)}.prof-menu{z-index:60;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);width:280px;box-shadow:var(--shadow-lg);padding:.5rem;position:absolute;top:calc(100% + .5rem);right:0}.prof-menu-h{font-family:var(--font-display);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:.4rem .6rem;font-size:.8rem;font-weight:800}.prof-row{text-align:left;border-radius:var(--r);align-items:center;gap:.7rem;width:100%;padding:.55rem .6rem;display:flex}.prof-row:hover{background:var(--surface-2)}.prof-row.on{background:var(--primary-soft)}.prof-row small{color:var(--muted);font-size:.75rem;font-weight:700;display:block}.prof-row b{font-family:var(--font-display)}.prof-row>span:nth-child(2){flex:1}.prof-manage{border-top:1.5px solid var(--border);border-radius:0 0 var(--r) var(--r);color:var(--primary-ink);margin-top:.3rem;font-weight:800}.prof-manage .ic{color:var(--primary)}.auth-logout-menu-item,.auth-logout-menu-item .ic{color:#a20222;color:lab(34.2985% 57.6071 32.3138)}.auth-logout-menu-item[disabled]{opacity:.7;pointer-events:none}.sugg button.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.hero-pick{text-align:center;padding:clamp(1.4rem,4vw,2.6rem) 0 1rem}.bo-guide-card{border-radius:var(--r-xl);background:radial-gradient(circle at 8% 20%, var(--secondary-soft), transparent 30%), linear-gradient(135deg,var(--surface),var(--primary-soft));border:2px solid var(--border-2);box-shadow:var(--shadow-sm);text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin:0 auto 1.2rem;padding:1rem 1.1rem;display:grid}.bo-guide-card h2{font-size:clamp(1.15rem,2.1vw,1.7rem)}.bo-guide-card p{margin-top:.15rem}.pick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.4rem);display:grid}.pick{border-radius:var(--r-xl);background:var(--surface);border:2px solid var(--border);text-align:center;justify-items:center;gap:.7rem;padding:1.5rem 1rem 1.2rem;transition:transform .14s,border-color .14s,box-shadow .14s;display:grid;position:relative}.pick:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-5px)}.pick.active{border-color:var(--primary);background:var(--primary-soft)}.pick .badge-active{position:absolute;top:.7rem;right:.7rem}.pick-name{font-family:var(--font-display);font-size:1.3rem;font-weight:800;line-height:1}.pick-avatar-label{border-radius:var(--r-pill);background:var(--primary-soft);min-height:28px;color:var(--primary-ink);font-family:var(--font-display);justify-content:center;align-items:center;padding:.22rem .65rem;font-size:.78rem;font-weight:800;display:inline-flex}.pick-stats{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.pick-add{border-style:dashed;border-color:var(--border-2);background:var(--surface-2);color:var(--muted);cursor:pointer}.pick-add:hover{color:var(--primary)}.pick-add .icon-tile{background:var(--bg-2);color:var(--muted)}.ministat{font-family:var(--font-display);color:var(--ink-soft);align-items:center;gap:.3rem;font-size:.85rem;font-weight:800;display:inline-flex}.detail{grid-template-columns:1fr 1.2fr;align-items:start}.skill-row{grid-template-columns:90px 1fr 42px;align-items:center;gap:.7rem;display:grid}.skill-row .lbl{font-size:.9rem;font-weight:800}.skill-row .num{font-family:var(--font-display);text-align:right;font-weight:800}.modal-bg{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;padding:clamp(.75rem,3vh,1.2rem);padding-bottom:calc(1.2rem + env(safe-area-inset-bottom));overscroll-behavior:contain;touch-action:pan-y;opacity:0;pointer-events:none;background:#1f2e4773;background:lab(18.4983% -.0575036 -17.8143/.45);place-items:start center;transition:opacity .2s;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-bg.show{opacity:1;pointer-events:auto}.modal{background:var(--surface);border-radius:var(--r-xl);width:min(460px,100%);max-height:calc(100dvh - clamp(1.5rem,6vh,2.4rem) - env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;box-shadow:var(--shadow-lg);padding:clamp(1.4rem,3vw,2rem);transition:transform .2s;overflow-y:auto;transform:translateY(12px)scale(.98)}.modal-bg.show .modal{transform:none}.field{margin-bottom:1rem;display:block}.field>span{font-family:var(--font-display);margin-bottom:.4rem;font-size:.9rem;font-weight:800;display:block}.field input,.field select,.field textarea{border-radius:var(--r);border:2px solid var(--border-2);background:var(--surface-2);width:100%;padding:.8rem 1rem;font-weight:700}.field textarea{resize:vertical;min-height:160px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);outline:none}.av-pick{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}.av-pick button{background:var(--surface-2);min-height:86px;font-family:var(--font-display);color:var(--ink-soft);border:3px solid #0000;border-radius:18px;place-items:center;gap:.15rem;padding:.45rem .3rem;font-size:.72rem;font-weight:800;display:grid}.av-pick button.on{border-color:var(--primary)}@supports not (height:100dvh){.modal{max-height:calc(100vh - 2.4rem)}}@media (max-width:900px){.pick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.detail{grid-template-columns:1fr}}@media (max-width:680px){.bo-guide-card{text-align:center;grid-template-columns:1fr;justify-items:center}.bo-guide-card .btn{width:100%}}@media (max-width:560px){.pick-grid{grid-template-columns:1fr}.hero-pick{padding:.75rem 0 .55rem}.hero-pick p{font-size:.92rem}.bo-guide-card{text-align:left;grid-template-columns:auto 1fr;justify-items:start;gap:.75rem;margin-bottom:.8rem;padding:.72rem .78rem}.bo-guide-card .mascot{width:68px}.bo-guide-card .btn{grid-column:1/-1;min-height:42px;padding:.5rem .75rem}.bo-guide-card h2{font-size:1.05rem}.bo-guide-card p{display:none}.pick{gap:.45rem;padding:1rem .9rem .9rem}.pick .icon-tile.tile-lg{border-radius:16px;width:48px;height:48px}.pick-name{font-size:1.12rem}.av-pick{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-hero{border-radius:var(--r-xl);background:radial-gradient(circle at 82% 18%, var(--secondary-soft), transparent 34%), radial-gradient(circle at 18% 10%, var(--primary-soft), transparent 36%), linear-gradient(135deg, var(--surface), var(--bg-2));border:1.5px solid var(--border);box-shadow:var(--shadow-sm);padding:clamp(1.2rem,4vw,2.4rem);position:relative;overflow:hidden}.settings-hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(1.2rem,4vw,2rem);display:grid}.hero-preview{border-radius:var(--r-lg);border:1.5px solid var(--border);box-shadow:var(--shadow);background:#ffffffd1;background:lab(100% 0 0/.82);grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:1rem;display:grid;position:relative}.hero-preview:after{content:"";background:var(--secondary);opacity:.28;border-radius:24px;width:58px;height:58px;position:absolute;top:-16px;right:22px;transform:rotate(12deg)}.coach-avatar-duo{isolation:isolate;width:190px;min-height:132px;position:relative}.coach-bo{z-index:2;filter:drop-shadow(0 14px 20px #2d477229);filter:drop-shadow(0 14px 20px lab(29.8642% .843376 -28.3386/.16));place-items:center;display:grid;position:absolute;top:4px;left:0}.child-avatar-pin{z-index:3;border:3px solid var(--surface);box-shadow:var(--shadow-sm);position:absolute;bottom:8px;right:0}.profile-avatar-xl{background:var(--surface);border-radius:50%;place-items:center;width:104px;height:104px;display:grid}.profile-avatar-xl.child-avatar-pin{width:68px;height:68px}.settings-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start;gap:clamp(1rem,2vw,1.4rem);display:grid}.settings-panel{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);padding:clamp(1rem,2.5vw,1.5rem)}.panel-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.panel-head h2{font-size:clamp(1.25rem,2.2vw,1.8rem)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.field small{color:var(--muted);font-weight:700}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.avatar-card{border:2px solid var(--border);background:var(--surface-2);min-height:116px;font-family:var(--font-display);border-radius:22px;align-content:center;justify-items:center;gap:.45rem;padding:.55rem .35rem;font-weight:800;transition:transform .14s,border-color .14s,background .14s,box-shadow .14s;display:grid}.avatar-card:hover{border-color:var(--primary);background:var(--surface);box-shadow:var(--shadow-sm);transform:translateY(-3px)}.avatar-card.on{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 5px 0 var(--primary-ink)}.theme-grid,.approach-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.theme-card,.approach-card{border:2px solid var(--border);background:var(--surface-2);text-align:left;border-radius:22px;align-content:start;justify-items:start;gap:.55rem;padding:.9rem;transition:transform .14s,border-color .14s,background .14s,box-shadow .14s;display:grid}.theme-card{min-height:164px;padding:.85rem}.approach-card{min-height:154px}.theme-card:hover,.approach-card:hover{border-color:var(--primary);background:var(--surface);transform:translateY(-3px)}.theme-card.on,.approach-card.on{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 5px 0 var(--primary-ink)}.theme-card-top{justify-content:space-between;align-items:center;gap:.55rem;width:100%;display:flex}.theme-card b,.approach-card b{font-family:var(--font-display);font-size:1rem;line-height:1.08}.theme-card small,.approach-card small{color:var(--muted);font-weight:800;line-height:1.25}.voice-language-badges{flex-wrap:wrap;gap:.35rem;margin-top:.1rem;display:flex}.voice-language-badge{border:1.5px solid var(--border);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:.22rem .48rem;font-size:.72rem;font-weight:900;line-height:1}.theme-card em{color:var(--ink-soft);font-size:.82rem;font-style:normal;font-weight:800;line-height:1.24}.swatches{gap:.28rem;display:flex}.swatches i{width:24px;height:24px;box-shadow:var(--shadow-sm);border:2px solid #ffffffb8;border:2px solid lab(100% 0 0/.72);border-radius:9px}.prompt-chip-row{flex-wrap:wrap;gap:.5rem;margin:.8rem 0 0;display:flex}.prompt-chip{border:2px solid var(--border-2);background:var(--surface);border-radius:var(--r-pill);padding:.48rem .75rem;font-size:.86rem;font-weight:900}.prompt-chip:hover{border-color:var(--primary);color:var(--primary-ink)}.chat-wrap{width:min(100% - 1.5rem,760px);min-height:calc(100svh - var(--nav-h));flex-direction:column;margin-inline:auto;display:flex}.chat-head{align-items:center;gap:.7rem;padding:.9rem .2rem;display:flex}.chat-head .av{background:var(--primary-soft);border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.chat-title{font-family:var(--font-display);font-size:1.1rem;font-weight:800;line-height:1.15}.chat-status{flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.85rem;display:flex}.online{background:var(--green);border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.feed{flex-direction:column;flex:1;gap:.8rem;min-height:360px;padding:1rem .2rem;display:flex;overflow-y:auto}.msg{border-radius:var(--r-lg);overflow-wrap:anywhere;max-width:78%;padding:.8rem 1.05rem;font-weight:700;line-height:1.5}.msg.bo{background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);border-bottom-left-radius:6px;align-self:flex-start}.msg.me{background:var(--primary);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}.msg b.en{color:var(--primary-ink)}.row-bo{align-self:flex-start;align-items:flex-end;gap:.5rem;max-width:88%;display:flex}.row-bo .mini-bo{flex:none;place-items:end;width:40px;height:40px;display:grid}.typing{gap:4px;display:inline-flex}.typing i{background:var(--muted);border-radius:50%;width:8px;height:8px;animation:1s infinite tp}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes tp{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.sugg{scrollbar-width:thin;gap:.5rem;padding:.6rem .2rem;display:flex;overflow-x:auto}.sugg button{border-radius:var(--r-pill);border:2px solid var(--border-2);background:var(--surface);min-height:42px;color:var(--ink);font-family:var(--font-display);flex:none;align-items:center;gap:.35rem;padding:.55rem .9rem;font-size:.9rem;font-weight:900;transition:background .12s,border-color .12s,transform .12s;display:inline-flex}.sugg button:hover:not(:disabled),.sugg button.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-ink)}.sugg button:disabled{opacity:.55;cursor:not-allowed}.composer{padding:.6rem .2rem calc(.6rem + env(safe-area-inset-bottom));align-items:center;gap:.6rem;display:flex}.composer input{border-radius:var(--r-pill);border:2px solid var(--border-2);background:var(--surface);min-width:0;min-height:52px;color:var(--ink);flex:1;padding:.9rem 1.1rem;font-weight:700}.composer input:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in oklch,var(--primary) 16%,transparent);outline:none}.iconbtn{border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid}.send{background:var(--primary);color:#fff;box-shadow:var(--press) var(--primary-ink)}.send:active{box-shadow:0 1px 0 var(--primary-ink);transform:translateY(3px)}.micbtn{background:var(--coral-soft);color:var(--coral)}.micbtn:disabled{opacity:.5;cursor:not-allowed}.ai-message-text{min-width:0;display:block}.ai-listen-button{border:2px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface);width:max-content;max-width:100%;color:var(--primary-ink);justify-self:start;align-items:center;gap:.35rem;margin-top:.55rem;padding:.38rem .68rem;font-weight:900;line-height:1;display:inline-flex}.ai-listen-button:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.ai-listen-button:disabled{opacity:.72;cursor:progress}.ai-listen-button[data-state=error]{color:var(--coral);border-color:color-mix(in oklch,var(--coral) 45%,white)}.ai-quiz-message{gap:.65rem;display:grid}.ai-quiz-options{flex-wrap:wrap;gap:.5rem;margin-top:.7rem;display:flex}.ai-quiz-options button{border:2px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);padding:.5rem .8rem;font-weight:900}.ai-quiz-options button:disabled{opacity:1;cursor:default}.ai-quiz-options button.ok{background:var(--green);border-color:var(--green);color:#fff}.ai-quiz-options button.bad{background:var(--coral);border-color:var(--coral);color:#fff}.ai-quiz-feedback{min-height:1.2rem;color:var(--ink-soft);margin:.1rem 0 0;font-weight:900}.ai-image-card-message{gap:.65rem;max-width:min(360px,100%);display:grid}.ai-image-card-message img,.task-image-card{aspect-ratio:1;object-fit:cover;border:2px solid var(--border-2);background:var(--surface);border-radius:18px;width:100%;max-width:320px}.ai-image-card-caption{color:var(--ink-soft);margin:0;font-weight:900}.ai-safety-message{border-color:color-mix(in oklch,var(--secondary) 35%,white);background:var(--secondary-soft)}.pronunciation-page{width:min(100% - 1.5rem,920px);padding:1.4rem 0 calc(1.4rem + env(safe-area-inset-bottom));gap:1rem;margin:0 auto;display:grid}.pronunciation-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;padding:.4rem .1rem;display:grid}.pronunciation-hero h1{font-family:var(--font-display);margin:.35rem 0 .25rem;font-size:clamp(2rem,6vw,4rem);line-height:1}.pronunciation-hero p{max-width:620px;color:var(--ink-soft);margin:0;font-weight:800;line-height:1.45}.pronunciation-panel{border:1.5px solid var(--border);border-radius:var(--r-xl);background:radial-gradient(circle at 90% 12%, var(--secondary-soft), transparent 30%), var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:minmax(220px,.82fr) minmax(0,1.18fr);align-items:stretch;gap:1rem;padding:1rem;display:grid}.word-card{border-radius:var(--r-lg);background:var(--primary-soft);border:2px solid color-mix(in oklch,var(--primary) 24%,white);align-content:start;gap:.8rem;min-width:0;padding:1rem;display:grid}.word-card strong{font-family:var(--font-display);color:var(--primary-ink);overflow-wrap:anywhere;font-size:clamp(2.3rem,8vw,4.8rem);line-height:.95}.pronunciation-word-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.pronunciation-word-grid button{border:2px solid var(--border-2);background:var(--surface);min-height:44px;color:var(--ink);border-radius:16px;font-weight:900}.pronunciation-word-grid button.on{border-color:var(--primary);background:var(--primary);color:#fff}.pronunciation-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.pronunciation-hint{min-height:2.7rem;color:var(--ink-soft);margin:0;font-weight:900;line-height:1.4}.pronunciation-wave{align-items:end;gap:.35rem;min-height:54px;display:flex}.pronunciation-wave i{background:var(--primary);opacity:.28;border-radius:999px;width:14px;height:22px}.pronunciation-wave.on i{opacity:1;animation:.8s ease-in-out infinite wavebar}.pronunciation-wave.on i:nth-child(2){animation-delay:.12s}.pronunciation-wave.on i:nth-child(3){animation-delay:.24s}@keyframes wavebar{0%,to{height:18px}50%{height:48px}}.pronunciation-result{border:1.5px solid var(--border);border-radius:var(--r-lg);background:#fff;grid-column:2;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;min-height:138px;padding:1rem;display:grid}.pronunciation-result[hidden]{display:none}.score-ring{--p:0;aspect-ratio:1;background:radial-gradient(circle at center, #fff 0 58%, transparent 59%), conic-gradient(var(--green) calc(var(--p) * 1%), var(--border) 0);width:108px;box-shadow:inset 0 0 0 2px var(--border);border-radius:50%;place-items:center;display:grid}.score-ring strong{font-family:var(--font-display);font-size:2rem;line-height:.8}.score-ring span{color:var(--muted);margin-top:-1.1rem;font-size:.78rem;font-weight:900}.pronunciation-result h2{font-family:var(--font-display);margin:0 0 .3rem;font-size:1.45rem;line-height:1.05}.phoneme-row{flex-wrap:wrap;gap:.35rem;margin-top:.7rem;display:flex}.ph{border:2px solid var(--border-2);background:var(--surface);min-width:42px;min-height:34px;color:var(--ink);font-family:var(--font-display);border-radius:14px;place-items:center;padding:.25rem .55rem;font-weight:900;display:inline-grid}.ph.good{background:color-mix(in oklch,var(--green) 14%,white);border-color:color-mix(in oklch,var(--green) 50%,white);color:var(--green)}.ph.mid{background:var(--secondary-soft);border-color:color-mix(in oklch,var(--secondary) 50%,white);color:var(--secondary)}.ph.bad{background:var(--coral-soft);border-color:color-mix(in oklch,var(--coral) 45%,white);color:var(--coral)}.micbtn.rec,.pronunciation-mic.rec{background:var(--coral);color:#fff;animation:1s infinite pulseMic}@keyframes pulseMic{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.practice-lab-page{padding-top:1.5rem}.lab-hero{grid-template-columns:1fr .9fr;align-items:stretch;gap:1.2rem;display:grid}.lab-machine{background:radial-gradient(circle at 15% 20%, var(--purple-soft), transparent 32%), radial-gradient(circle at 90% 5%, var(--secondary-soft), transparent 34%), var(--surface);min-height:330px;position:relative;overflow:hidden}.prompt-card{border:2px solid var(--border-2);border-radius:var(--r-lg);box-shadow:0 8px 0 var(--border);background:#fff;padding:1rem;position:absolute;top:1.2rem;left:1.2rem;right:1.2rem}.lab-bo{width:min(230px,44vw);position:absolute;bottom:.6rem;right:1rem}.lab-shell{grid-template-columns:.88fr 1.12fr;align-items:start;gap:1rem;display:grid}.skill-list{gap:.65rem;display:grid}.skill-pick{border-radius:var(--r-lg);border:2px solid var(--border);background:var(--surface);width:100%;color:var(--ink);text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.9rem;display:grid}.skill-pick.on{background:var(--primary-soft);border-color:color-mix(in oklch,var(--primary) 40%,white)}.skill-pick small{margin-top:.15rem;display:block}.generator{min-height:540px}.set-grid{gap:.8rem;display:grid}.task{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);grid-template-columns:auto 1fr;align-items:start;gap:.9rem;padding:1rem;display:grid}.task-num{background:var(--primary);color:#fff;width:40px;height:40px;font-family:var(--font-display);border-radius:14px;place-items:center;font-weight:800;display:grid}.answer-row{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.answer-row button{border:2px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);padding:.5rem .8rem;font-weight:800}.answer-row button:disabled{opacity:1;cursor:default}.answer-row button.ok{background:var(--green);color:#fff;border-color:var(--green)}.answer-row button.bad{background:var(--coral);color:#fff;border-color:var(--coral)}.ai-note{border-radius:var(--r-lg);background:var(--purple-soft);border:1.5px solid color-mix(in oklch,var(--purple) 22%,white);padding:1rem}@media (max-width:860px){.chat-wrap{min-height:calc(100svh - var(--nav-h) - 78px)}.feed{min-height:300px}.msg{max-width:86%}.row-bo{max-width:94%}.chat-status{font-size:.78rem}.lab-hero,.lab-shell,.pronunciation-hero,.pronunciation-panel{grid-template-columns:1fr}.pronunciation-result{grid-column:1}}@media (max-width:480px){.chat-wrap{width:min(100% - 1rem,760px)}.msg{max-width:88%;padding:.72rem .9rem}.iconbtn{width:48px;height:48px}.composer{gap:.45rem}.skill-pick,.task{grid-template-columns:1fr}.pronunciation-page{width:min(100% - 1rem,920px)}.pronunciation-panel{padding:.75rem}.pronunciation-result{grid-template-columns:1fr}.score-ring{width:96px}.lab-bo{width:185px;margin:6rem auto 0;position:relative;bottom:auto;right:auto}}.preview-stack{top:calc(var(--nav-h) + 1rem);gap:1rem;display:grid;position:sticky}.kid-card{background:radial-gradient(circle at 80% 12%, var(--secondary-soft), transparent 32%), linear-gradient(135deg,var(--surface),var(--primary-soft));border:1.5px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow);padding:1.2rem;position:relative;overflow:hidden}.kid-card-top{grid-template-columns:auto 1fr;align-items:center;gap:1rem;display:grid}.kid-name{font-family:var(--font-display);font-size:1.8rem;font-weight:800;line-height:1}.kid-nick{border-radius:var(--r-pill);background:var(--surface);border:1.5px solid var(--border);color:var(--primary-ink);margin-top:.35rem;padding:.32rem .65rem;font-weight:900;display:inline-flex}.theme-strip{grid-template-columns:repeat(5,1fr);gap:.35rem;margin-top:1rem;display:grid}.theme-strip i{border-radius:20px;height:10px}.bo-preview{grid-template-columns:auto 1fr;align-items:end;gap:.8rem;display:grid}.bo-bubble{background:var(--surface);border:2px solid var(--border-2);box-shadow:var(--shadow-sm);border-radius:24px 24px 24px 8px;padding:.9rem 1rem;font-weight:800}.preview-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.meta-tile{background:var(--surface);border:1.5px solid var(--border);border-radius:18px;padding:.75rem}.meta-tile small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.74rem;font-weight:800;display:block}.meta-tile b{font-family:var(--font-display);font-size:1rem}.save-bar{flex-wrap:wrap;gap:.7rem;display:flex}.save-note{color:var(--muted);font-size:.86rem;font-weight:800}@media (max-width:1050px){.settings-hero-grid,.settings-layout{grid-template-columns:1fr}.preview-stack{position:static}.avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-grid,.approach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.settings-hero,.settings-panel{border-radius:24px}.kid-card-top,.bo-preview{text-align:center;grid-template-columns:1fr;justify-items:center}.settings-hero{padding:.9rem}.settings-hero-grid{gap:.8rem}.settings-hero h1{font-size:clamp(1.7rem,8vw,2.25rem)}.settings-hero p{font-size:.94rem!important}.settings-hero .row.wrap-row{display:none}.hero-preview{text-align:left;grid-template-columns:auto minmax(0,1fr);justify-items:start;gap:.7rem;padding:.75rem}.hero-preview:after{border-radius:18px;width:42px;height:42px;top:-12px;right:14px}.coach-avatar-duo{width:148px;min-height:88px}.coach-bo .bo{width:82px;height:82px}.profile-avatar-xl.child-avatar-pin{width:52px;height:52px}.profile-avatar-xl.child-avatar-pin .bo-avatar{width:42px;height:42px}.hero-preview h2{font-size:1.35rem!important}.hero-preview p{font-size:.86rem!important}.settings-layout{margin-top:.8rem!important}.settings-panel{padding:.9rem}.panel-head{gap:.65rem;margin-bottom:.75rem}.panel-head h2{font-size:1.2rem}.form-grid{grid-template-columns:1fr}.avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-grid,.approach-grid{grid-template-columns:1fr}.save-bar .btn{width:100%}}@media (max-width:430px){.avatar-grid{grid-template-columns:1fr}.avatar-card{text-align:left;grid-template-columns:auto 1fr;justify-items:start;min-height:96px;padding:.75rem .9rem}.preview-meta{grid-template-columns:1fr}}:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.05ms!important;animation-duration:.001ms!important}}.art{line-height:0;display:inline-flex}.art-svg{display:block;overflow:visible}.coin{aspect-ratio:1;background:radial-gradient(circle at 50% 32%, #fff 0 18%, transparent 19%), conic-gradient(from 210deg, var(--c1,#ffd84d), var(--c2,#f0a93b), var(--c1,#ffd84d));width:84px;box-shadow:0 6px 0 color-mix(in oklch, var(--c2,#f0a93b) 70%, #7a4a12), 0 10px 18px #00000029;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.coin:before{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:9px;box-shadow:inset 0 2px 5px #00000014}.coin:after{content:"";opacity:.7;filter:blur(.5px);background:#fff;border-radius:50%;width:18px;height:10px;position:absolute;top:14px;left:20px;transform:rotate(-25deg)}.coin .art{z-index:1;position:relative}.coin.locked{background:var(--bg-2);box-shadow:0 5px 0 var(--border-2);filter:grayscale(.4)}.coin.locked:before{background:var(--surface-2)}.coin.locked .art{opacity:.45}.badge-cell{text-align:center;flex-direction:column;align-items:center;gap:.55rem;display:flex}.badge-cell b{font-family:var(--font-display);font-size:.9rem}.badge-cell small{color:var(--muted);font-size:.74rem;font-weight:700}.coin.pop{animation:.6s cubic-bezier(.2,1.5,.4,1) coinPop}@keyframes coinPop{0%{transform:scale(.4)rotate(-12deg)}60%{transform:scale(1.12)rotate(4deg)}to{transform:scale(1)}}@keyframes wiggle{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-4px)rotate(-3deg)}40%{transform:translate(4px)rotate(3deg)}60%{transform:translate(-3px)rotate(-2deg)}80%{transform:translate(3px)rotate(2deg)}}.wiggle{animation:.45s wiggle}.pop-overlay{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#3848638c;background:lab(30.1382% -.768676 -17.9743/.55);place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.pop-overlay[hidden]{display:none}.pop-card{background:var(--surface);border-radius:var(--r-xl);text-align:center;width:100%;max-width:380px;box-shadow:var(--shadow-lg);padding:clamp(1.6rem,4vw,2.6rem);animation:.5s cubic-bezier(.2,1.4,.4,1) popIn}@keyframes popIn{0%{opacity:0;transform:scale(.7)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.burst{animation:1s ease-in-out infinite alternate burst}@keyframes burst{0%{transform:scale(1)rotate(-3deg)}to{transform:scale(1.06)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.wiggle,.coin.pop,.burst,.float{animation:none!important}}.coin .lock-pin{background:var(--surface);width:24px;height:24px;color:var(--muted);box-shadow:var(--shadow-sm);z-index:2;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:2px;right:2px}.ops-page{background:linear-gradient(135deg, color-mix(in oklch, var(--primary-soft) 70%, white), transparent 34%), linear-gradient(180deg, var(--bg), var(--surface-2));min-height:100vh;padding:clamp(1.2rem,3vw,2rem)}.ops-hero,.ops-token-panel,.ops-summary{width:min(100%,1160px);margin-inline:auto}.ops-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;padding:clamp(1.3rem,4vw,2.6rem) 0 1.2rem;display:grid}.ops-hero h1{font-size:clamp(2rem,5vw,4.2rem)}.ops-hero p{max-width:720px;color:var(--ink-soft);font-weight:800}.ops-kicker{color:var(--primary-ink);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900;display:inline-flex}.ops-status,.ops-service{border:1.5px solid var(--border);background:var(--surface);min-width:150px;box-shadow:var(--shadow-sm);border-radius:16px;gap:.15rem;padding:.85rem 1rem;display:grid}.ops-status span,.ops-service span,.ops-service small{color:var(--muted);font-size:.82rem;font-weight:800}.ops-status strong,.ops-service strong{font-family:var(--font-display);font-size:1.25rem;line-height:1}.ops-token-panel{border:1.5px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:20px;gap:.75rem;margin-bottom:1.2rem;padding:1rem;display:grid}.ops-token-panel label{font-family:var(--font-display);font-weight:900}.ops-token-row{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;display:grid}.ops-token-row input{border:1.5px solid var(--border-2);background:var(--surface-2);border-radius:14px;width:100%;min-height:48px;padding:.75rem 1rem;font-weight:800}.ops-error{color:color-mix(in oklch, var(--danger) 78%, black);font-weight:900}.ops-summary{gap:1rem;display:grid}.ops-summary-top,.ops-release,.ops-redaction,.ops-section{border:1.5px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:20px}.ops-summary-top{justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.ops-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.ops-section{gap:.85rem;padding:1rem;display:grid}.ops-section-head,.ops-check{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;display:grid}.ops-check{border-top:1px solid var(--border);padding-block:.85rem}.ops-check:first-child{border-top:0;padding-top:0}.ops-check p,.ops-redaction p{color:var(--ink-soft);font-weight:750}.ops-details{grid-column:1/-1;gap:.45rem;padding-top:.35rem;display:grid}.ops-details div{grid-template-columns:minmax(120px,.45fr) minmax(0,1fr);gap:.75rem;display:grid}.ops-details dt{color:var(--muted);font-weight:900}.ops-details dd,.ops-release code{overflow-wrap:anywhere;font-weight:800}.ops-badge{text-align:center;min-width:64px;font-family:var(--font-display);border-radius:999px;padding:.32rem .65rem;font-size:.8rem;font-weight:900}.ops-badge-pass,.ops-status-pass{background:var(--green-soft);color:#006829;color:lab(37.9176% -42.8445 28.9641)}.ops-badge-warn{background:var(--secondary-soft);color:#8b4b00;color:lab(39.0589% 28.6096 63.3781)}.ops-badge-fail,.ops-status-fail{background:var(--coral-soft);color:#af2934;color:lab(40.2265% 54.2769 28.9103)}.ops-badge-info,.ops-status-info{background:var(--primary-soft);color:var(--primary-ink)}.ops-release,.ops-redaction{gap:.75rem;padding:1rem;display:grid}.ops-release code{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:.65rem .75rem;display:block}.ops-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.curriculum-grid{grid-template-columns:minmax(260px,.9fr) minmax(240px,.75fr) minmax(300px,1fr);align-items:start;gap:1rem;width:min(100%,1160px);margin-inline:auto;display:grid}.curriculum-form,.curriculum-detail{align-self:stretch}.curriculum-field{gap:.35rem;display:grid}.curriculum-field span{color:var(--ink-soft);font-family:var(--font-display);font-size:.9rem;font-weight:900}.curriculum-field input,.curriculum-field textarea,.ops-section select,.curriculum-review-note{border:1.5px solid var(--border-2);background:var(--surface-2);border-radius:12px;width:100%;min-height:44px;padding:.65rem .75rem;font-weight:800}.curriculum-field textarea,.curriculum-review-note{resize:vertical;min-height:96px}.curriculum-draft-list{gap:.55rem;display:grid}.curriculum-draft-list button{border:1.5px solid var(--border);background:var(--surface-2);text-align:left;border-radius:14px;gap:.2rem;width:100%;padding:.75rem;display:grid}.curriculum-draft-list span{color:var(--muted);font-weight:900}.curriculum-ok{background:var(--green-soft);color:#006829;color:lab(37.9176% -42.8445 28.9641);border-radius:12px;padding:.65rem .75rem;font-weight:900}.curriculum-issues{gap:.55rem;display:grid}.curriculum-issues li{background:var(--coral-soft);color:#af2934;color:lab(40.2265% 54.2769 28.9103);border-radius:12px;gap:.15rem;padding:.65rem .75rem;display:grid}.curriculum-actions{flex-wrap:wrap;gap:.65rem;display:flex}.curriculum-publish{border-top:1px solid #1118271a;gap:.75rem;margin-top:1rem;padding-top:1rem;display:grid}.curriculum-publish h3{margin:0 0 .25rem;font-size:1rem}.curriculum-publish p{color:var(--muted);margin:0}.curriculum-publish-result{margin-top:0}@media (max-width:760px){.ops-hero,.ops-token-row,.ops-summary-top,.ops-section-grid,.ops-command-grid,.curriculum-grid{grid-template-columns:1fr}.ops-summary-top{display:grid}.ops-status,.ops-service,.ops-token-row .btn{width:100%}.ops-details div{grid-template-columns:1fr;gap:.1rem}}.lesson-runner-page{gap:1rem;padding-top:1rem;display:grid}.lesson-runner-hero{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:stretch;gap:1rem;display:grid}.lesson-runner-hero h1{max-width:760px;margin:.35rem 0}.lesson-runner-pills,.lesson-runner-mini-tags,.lesson-runner-word-grid{flex-wrap:wrap;gap:.5rem;display:flex}.lesson-runner-score{align-content:center;gap:.35rem;padding:1rem;display:grid}.lesson-runner-score small,.lesson-runner-item .eyebrow{color:var(--muted);font-weight:900}.lesson-runner-score b{font-size:1.35rem}.lesson-runner-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);gap:1rem;display:grid}.lesson-runner-list{color:var(--muted);margin:.75rem 0 0;padding-left:1.2rem;font-weight:850}.lesson-runner-list li+li{margin-top:.35rem}.lesson-runner-activities{gap:1rem;display:grid}.lesson-runner-activity-head{align-items:flex-start;gap:1rem}.lesson-runner-activity-head h2{margin:.2rem 0 0}.lesson-runner-items{gap:.75rem;margin-top:1rem;display:grid}.lesson-runner-item{border:1.5px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.9rem;display:grid}.lesson-runner-item h3{margin:.15rem 0 .25rem;font-size:clamp(1rem,2vw,1.2rem)}.lesson-runner-mini-tags span{border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary-ink);padding:.22rem .55rem;font-size:.8rem;font-weight:900}.lesson-runner-listen{white-space:nowrap}.lesson-runner-complete{background:linear-gradient(135deg, var(--surface), var(--primary-soft));justify-content:space-between;align-items:center;gap:1rem;display:flex}.lesson-runner-saved{color:var(--green);margin:.65rem 0 0;font-weight:950}.lesson-reward-panel{border:1.5px solid color-mix(in oklch, var(--secondary) 34%, white);border-radius:var(--r-xl);background:radial-gradient(circle at 10% 10%, color-mix(in oklch, var(--secondary) 24%, transparent), transparent 28%), radial-gradient(circle at 92% 0%, color-mix(in oklch, var(--green) 20%, transparent), transparent 26%), linear-gradient(135deg, var(--surface), color-mix(in oklch, var(--secondary-soft) 70%, white));box-shadow:var(--shadow-sm);grid-template-columns:minmax(180px,.48fr) minmax(0,1fr);align-items:center;gap:clamp(1rem,2.6vw,1.5rem);padding:clamp(1rem,3vw,1.35rem);display:grid;overflow:hidden}.lesson-reward-bo{justify-items:center;gap:.4rem;min-width:0;display:grid}.lesson-reward-stars{color:var(--secondary);justify-content:center;align-items:center;gap:.18rem;display:inline-flex}.lesson-reward-main{gap:.85rem;min-width:0;display:grid}.lesson-reward-main h2{margin:0;font-size:clamp(1.45rem,3.4vw,2.25rem)}.lesson-reward-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.lesson-reward-metric{border:1.5px solid var(--border);background:#ffffffc7;border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;padding:.65rem;display:grid}.lesson-reward-metric span:not(.icon-tile){color:var(--muted);font-size:.78rem;font-weight:900;display:block}.lesson-reward-metric b{font-family:var(--font-display);font-size:1.2rem;line-height:1;display:block}.lesson-reward-level{max-width:620px}.lesson-reward-awards{flex-wrap:wrap;gap:.45rem;display:flex}.lesson-runner-blocked{text-align:center;justify-items:center;gap:.8rem;max-width:560px;margin:2rem auto;display:grid}@media (max-width:760px){.lesson-runner-hero,.lesson-runner-grid,.lesson-runner-item{grid-template-columns:1fr}.lesson-runner-complete{display:grid}.lesson-runner-complete .btn,.lesson-runner-listen{width:100%}.lesson-reward-panel,.lesson-reward-metrics{grid-template-columns:1fr}}.learn-react-page,.wordbook-react-page{width:min(100% - clamp(1.2rem, 5vw, 2.4rem), var(--maxw));gap:1rem;margin-inline:auto;padding-top:1rem;padding-bottom:1.25rem;display:grid}.learn-hero,.wordbook-hero{border:1.5px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(135deg, var(--surface), var(--primary-soft));box-shadow:var(--shadow-soft);grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);align-items:stretch;gap:1rem;padding:clamp(1.15rem,3vw,2rem);display:grid}.learn-hero h1,.wordbook-hero h1{max-width:760px;margin:.35rem 0}.learn-hero p,.wordbook-hero p{color:var(--muted);margin:0;font-weight:850}.learn-hero-copy{align-content:center;gap:.65rem;display:grid}.pill-row{flex-wrap:wrap;gap:.45rem;display:flex}.learn-stat-grid,.wordbook-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.learn-stat-tile,.metric{background:#ffffffc7;border:1.5px solid #11182714;border-radius:14px;gap:.2rem;min-width:0;padding:.8rem;display:grid}.learn-stat-tile span,.metric span,.learn-stat-tile small,.metric small{color:var(--muted);font-weight:900}.learn-stat-tile strong,.metric strong{font-size:clamp(1.45rem,4vw,2.1rem);line-height:1}.tone-purple strong{color:var(--purple)}.tone-green strong{color:var(--green)}.tone-yellow strong{color:var(--yellow)}.tone-coral strong{color:var(--coral)}.learn-section-grid{grid-template-columns:minmax(0,1.1fr) minmax(260px,.75fr);gap:1rem;display:grid}.section-title-row{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.section-title-row h2{margin:.15rem 0 0}.recommended-lesson{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:100%;display:grid}.recommended-lesson h2{margin:.2rem 0 .25rem}.skill-stack,.word-source-list{gap:.7rem;display:grid}.learn-react-page .skill-row{gap:.4rem;display:grid}.learn-react-page .skill-row>div:first-child{justify-content:space-between;align-items:baseline;gap:.7rem;display:flex}.learn-react-page .skill-row small,.word-source-list span,.lesson-card small,.wordbook-word-card small,.strong-muted{color:var(--muted);font-weight:900}.lesson-card-grid,.word-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.lesson-card,.wordbook-word-card{border:1.5px solid var(--border);background:var(--surface-2);min-width:0;color:inherit;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem;text-decoration:none;display:grid}.lesson-card:hover,.wordbook-word-card:hover{border-color:color-mix(in oklch, var(--primary) 55%, var(--border));transform:translateY(-1px)}.lesson-card strong,.wordbook-word-card strong{overflow-wrap:anywhere;display:block}.lesson-card p,.wordbook-word-card p{margin:.15rem 0}.word-review-card{gap:.8rem;display:grid}.word-focus-panel,.word-empty-panel{justify-items:start;gap:.85rem;display:grid}.word-focus-panel{grid-template-columns:auto minmax(0,1fr);align-items:center}.word-focus-panel .btn{grid-column:1/-1}.word-art{aspect-ratio:1;width:86px;color:var(--primary);background:var(--primary-soft);border-radius:50%;place-items:center;display:grid}.wordbook-voice-note{border-radius:12px;margin:0;padding:.65rem .75rem;font-weight:900}.wordbook-voice-note.loading{background:var(--primary-soft);color:var(--primary)}.wordbook-voice-note.success{background:var(--green-soft);color:#006829;color:lab(37.9176% -42.8445 28.9641)}.wordbook-voice-note.error{background:var(--coral-soft);color:#af2934;color:lab(40.2265% 54.2769 28.9103)}.word-source-list p{border-bottom:1px solid #11182714;grid-template-columns:minmax(96px,.35fr) minmax(0,1fr);gap:.75rem;margin:0;padding-bottom:.6rem;display:grid}.empty-state-card{border:1.5px solid var(--border);border-radius:var(--r-lg);background:var(--surface);width:min(100%,620px);box-shadow:var(--shadow-soft);text-align:center;justify-items:center;gap:.8rem;margin:2rem auto;padding:clamp(1.25rem,4vw,2.4rem);display:grid}.centered-row{flex-wrap:wrap;justify-content:center}@media (max-width:1020px){.lesson-card-grid,.word-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.learn-hero,.wordbook-hero,.learn-section-grid,.recommended-lesson,.lesson-card,.wordbook-word-card,.word-focus-panel,.word-source-list p,.learn-stat-grid,.wordbook-metrics,.lesson-card-grid,.word-card-grid{grid-template-columns:1fr}.section-title-row{display:grid}.recommended-lesson .btn,.wordbook-word-card .btn,.word-focus-panel .btn{width:100%}}.learn-react-page{max-width:1180px;padding-bottom:calc(6rem + env(safe-area-inset-bottom));gap:1.15rem}.learn-react-page .card{box-shadow:var(--shadow-sm);border-width:2px;border-radius:24px}.learn-hero{box-shadow:var(--shadow);background:linear-gradient(135deg,#eef7ff 0%,#f7fff1 56%,#fff7e8 100%);border-width:2.5px;border-radius:28px;overflow:hidden}.learn-hero h1{max-width:13ch;margin:.25rem 0;font-size:2.75rem;line-height:.98}.learn-stat-grid{align-content:stretch}.learn-stat-tile{border-width:2px;border-color:var(--border);min-height:96px;box-shadow:var(--shadow-sm);background:#ffffffdb;border-radius:20px}.learn-stat-tile strong{font-size:2rem}.learn-section-grid{grid-template-columns:minmax(0,1.28fr) minmax(280px,.72fr);align-items:stretch}.recommended-lesson{gap:.85rem}.recommended-lesson .bar{max-width:280px;height:12px;margin-top:.5rem}.learn-skill-card .section-title-row,.learn-quick-actions-card .section-title-row,.learn-catalog-card .section-title-row{margin-bottom:.8rem}.learn-react-page .skill-row{border-bottom:1px dashed color-mix(in oklch, var(--border) 75%, transparent);grid-template-columns:minmax(116px,.9fr) minmax(112px,1fr) 48px;align-items:center;gap:.65rem;padding:.52rem 0}.learn-react-page .skill-row>div:first-child{gap:.1rem;display:grid}.learn-react-page .skill-row .bar{height:12px}.learn-react-page .skill-score{font-family:var(--font-display);color:var(--ink);justify-self:end;font-weight:900}.learn-mini-action{border:2px solid var(--border);background:var(--surface-2);min-width:0;min-height:88px;color:inherit;text-align:center;font-family:var(--font-display);box-shadow:var(--shadow-sm);border-radius:20px;align-content:center;justify-items:center;gap:.35rem;font-weight:900;text-decoration:none;display:grid}.learn-mini-action:hover{background:var(--surface);transform:translateY(-2px)}.learn-react-page .lesson-card{background:var(--surface);min-height:74px;box-shadow:var(--shadow-sm);border-width:2px;border-radius:20px;padding:.75rem}.learn-react-page .lesson-card .pill{justify-self:end}@media (max-width:900px){.learn-hero,.learn-section-grid{grid-template-columns:1fr}.learn-hero h1{max-width:18ch}}@media (max-width:620px){.learn-react-page{width:min(100% - 1.1rem, var(--maxw))}.learn-hero h1{font-size:2.05rem}.learn-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recommended-lesson,.learn-react-page .lesson-card,.learn-react-page .skill-row{grid-template-columns:1fr}.recommended-lesson .btn,.learn-react-page .lesson-card .pill{justify-self:stretch;width:100%}.learn-react-page .skill-score{justify-self:start}}.learn-main-stack,.learn-side-stack{gap:1.2rem;display:grid}.learn-greet{background:radial-gradient(60% 100% at 90% 0%, var(--secondary-soft), transparent 60%), var(--primary-soft);grid-template-columns:auto minmax(0,1fr);justify-content:start;min-height:0;margin-bottom:.1rem}.learn-greet .learn-hero-copy{align-content:center}.learn-level-strip{gap:.45rem;width:min(100%,620px);margin-top:.25rem;display:grid}.learn-level-strip b,.learn-inline-link{font-family:var(--font-display);font-weight:900}.learn-level-strip small{color:var(--muted);font-weight:900;display:block}.learn-level-strip .bar{background:#ffffffc7;border:1.5px solid #11182714;height:12px}.learn-continue-card{min-height:0}.learn-catalog-card .section-title-row,.learn-quick-actions-card .section-title-row,.learn-skill-card .section-title-row,.learn-badges-card .section-title-row,.learn-goal-card .section-title-row{margin-bottom:.85rem}.learn-goal-card .section-title-row{text-align:left}.learn-goal-ring{--size:106px;--tw:11px;box-shadow:var(--shadow-sm);margin:.2rem auto .7rem;position:relative}.learn-goal-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.85rem}.learn-goal-metrics .learn-stat-tile{text-align:left;border-radius:16px;min-height:74px;padding:.6rem}.learn-side-stack .card{border-radius:24px}.learn-side-stack h2{font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.05}.learn-react-page .skill-row{grid-template-columns:minmax(104px,.9fr) minmax(92px,1fr) 44px;gap:.55rem;min-width:0}.learn-react-page .lesson-card{grid-template-columns:auto minmax(0,1fr) auto;min-height:70px}@media (max-width:980px){.learn-dashboard-grid{grid-template-columns:1fr}.learn-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-goal-card{grid-row:span 2}}@media (max-width:700px){.learn-greet,.learn-side-stack{grid-template-columns:1fr}.learn-greet{text-align:center;justify-items:center}.learn-greet .pill-row{justify-content:center}.learn-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recommended-lesson,.learn-react-page .lesson-card{text-align:left;grid-template-columns:auto minmax(0,1fr)}.recommended-lesson .btn{grid-column:1/-1;width:100%}.learn-react-page .lesson-card .pill{grid-column:1/-1;justify-self:stretch;width:100%}}@media (max-width:460px){.learn-react-page .skill-row{grid-template-columns:1fr}.learn-react-page .skill-score{justify-self:start}}.learning-path-react-page,.rewards-react-page{width:min(100% - 2.4rem, var(--maxw));padding:clamp(1.1rem, 2.8vw, 2rem) 0 calc(6rem + env(safe-area-inset-bottom));gap:clamp(1rem,2vw,1.35rem);margin-inline:auto;display:grid}.learning-path-hero,.rewards-hero{border:1.5px solid var(--border);border-radius:var(--r-xl);background:radial-gradient(circle at 94% 12%, color-mix(in oklch, var(--yellow) 30%, transparent), transparent 26%), linear-gradient(135deg, var(--surface), color-mix(in oklch, var(--primary-soft) 74%, white));box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1.35fr) minmax(280px,.72fr);align-items:stretch;gap:1rem;padding:clamp(1.15rem,3vw,2rem);display:grid}.rewards-hero{background:radial-gradient(circle at 92% 12%, color-mix(in oklch, var(--secondary) 30%, transparent), transparent 26%), linear-gradient(135deg, var(--surface), color-mix(in oklch, var(--green-soft) 58%, white))}.learning-path-hero-copy,.rewards-hero-copy,.learning-path-coach-panel,.reward-coach-preview,.reward-panel{min-width:0}.learning-path-hero-copy,.rewards-hero-copy,.learning-path-coach-panel,.reward-coach-preview{align-content:center;gap:.8rem;display:grid}.learning-path-hero h1,.rewards-hero h1{margin:.25rem 0;font-size:clamp(1.85rem,4.5vw,3.2rem)}.learning-path-hero p,.rewards-hero p,.learning-path-coach-panel p,.reward-coach-preview p{color:var(--muted);margin:0;font-weight:850}.learning-path-coach-panel,.reward-coach-preview,.path-stat-card,.reward-panel,.reward-kpi,.reward-item-card,.reward-badge{border:1.5px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#ffffffc2}.learning-path-coach-panel,.reward-coach-preview{padding:clamp(1rem,2.4vw,1.35rem)}.learning-path-quick-grid,.rewards-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.path-stat-card,.reward-kpi{align-content:start;gap:.35rem;min-height:126px;padding:.85rem;display:grid}.path-stat-card small,.reward-kpi span,.reward-kpi small{color:var(--muted);font-weight:900}.path-stat-card b,.path-stat-card small{display:block}.reward-kpi strong{font-size:clamp(1.45rem,4vw,2rem);line-height:1}.path-stat-card.tone-primary .icon-tile,.reward-kpi.tone-primary{color:var(--primary);background:var(--primary-soft)}.path-stat-card.tone-purple .icon-tile,.reward-kpi.tone-purple{color:var(--purple);background:var(--purple-soft)}.path-stat-card.tone-green .icon-tile,.reward-kpi.tone-green{color:#006829;color:lab(37.9176% -42.8445 28.9641);background:var(--green-soft)}.path-stat-card.tone-yellow .icon-tile,.reward-kpi.tone-yellow{color:#8b4b00;color:lab(39.0589% 28.6096 63.3781);background:var(--secondary-soft)}.learning-path-map,.reward-panel{border:1.5px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-sm);gap:1rem;padding:clamp(1rem,2.6vw,1.55rem);display:grid}.learning-path-lanes,.path-lane{gap:1rem;display:grid}.path-lane{border-radius:var(--r-lg);background:color-mix(in oklch, var(--lane-color) 8%, white);border:1.5px solid color-mix(in oklch, var(--lane-color) 28%, var(--border));padding:.95rem}.path-lane-label{color:var(--lane-color);font-family:var(--font-display);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;font-weight:900;display:grid}.path-lane-label small{color:var(--muted);font-family:var(--font-body);font-weight:850;display:block}.path-node-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.learning-path-react-page .lesson-node{text-align:center;border:1.5px solid var(--border);border-radius:var(--r-lg);background:var(--surface);justify-items:center;gap:.45rem;min-width:0;padding:.85rem .65rem;display:grid}.learning-path-react-page .node-btn{aspect-ratio:1;background:var(--primary-soft);width:74px;color:var(--primary);box-shadow:inset 0 -5px 0 color-mix(in oklch, var(--primary) 16%, transparent);border-radius:50%;place-items:center;display:grid;position:relative}.learning-path-react-page .lesson-node.done .node-btn{color:#006829;color:lab(37.9176% -42.8445 28.9641);background:var(--green-soft)}.learning-path-react-page .lesson-node.current .node-btn{color:#8b4b00;color:lab(39.0589% 28.6096 63.3781);background:var(--secondary-soft)}.learning-path-react-page .lesson-node.locked{opacity:.72}.learning-path-react-page .lesson-node.locked .node-btn{color:var(--muted);background:var(--bg-2);box-shadow:none}.learning-path-react-page .node-state{width:26px;height:26px;color:var(--ink);background:var(--surface);border:1.5px solid var(--border);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-4px;right:-4px}.learning-path-react-page .node-title{font-family:var(--font-display);font-size:1rem;line-height:1.1}.reward-section-grid{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);align-items:start;gap:1rem;display:grid}.reward-shop-grid,.reward-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.reward-item-card{background:var(--surface-2);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem .75rem;min-width:0;padding:.85rem;display:grid}.reward-item-card .thumb{aspect-ratio:1;background:var(--primary-soft);width:54px;color:var(--primary);border-radius:16px;grid-row:span 3;place-items:center;display:grid}.reward-item-card .nm{font-family:var(--font-display);font-weight:900;line-height:1.12}.reward-item-card p,.reward-item-card small{margin:0}.reward-badge{text-align:center;background:var(--surface-2);justify-items:center;gap:.45rem;padding:.85rem;display:grid}.reward-badge .coin{aspect-ratio:1;width:64px;color:var(--primary);background:linear-gradient(135deg, var(--yellow), var(--secondary));border-radius:50%;place-items:center;display:grid;position:relative}.reward-badge .lock-pin{background:var(--surface);border:1.5px solid var(--border);border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;bottom:-4px;right:-4px}.reward-badge small{color:var(--muted);font-weight:850}.reward-level-ladder{gap:.7rem;display:grid}.reward-level-ladder .level-step{border:1.5px solid var(--border);background:var(--surface-2);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.8rem;display:grid}.reward-level-ladder .level-step.on{border-color:color-mix(in oklch, var(--green) 38%, var(--border));background:var(--green-soft)}.reward-level-ladder .level-dot{width:42px;height:42px;font-family:var(--font-display);background:var(--surface);color:var(--primary);border:1.5px solid var(--border);border-radius:50%;place-items:center;font-weight:900;display:grid}.reward-notice{background:var(--primary-soft);color:var(--primary-ink);border-radius:14px;padding:.65rem .75rem}@media (max-width:1060px){.path-node-grid,.learning-path-quick-grid,.rewards-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-section-grid{grid-template-columns:1fr}}@media (max-width:760px){.learning-path-react-page,.rewards-react-page{width:min(100% - 1rem, var(--maxw))}.learning-path-hero,.rewards-hero,.learning-path-quick-grid,.rewards-kpi-row,.path-node-grid,.reward-shop-grid,.reward-badge-grid,.reward-level-ladder .level-step{grid-template-columns:1fr}.learning-path-coach-panel .btn,.reward-item-card .btn{width:100%}}.rewards-react-page{max-width:1180px}.rewards-hero{box-shadow:var(--shadow);background:linear-gradient(135deg,#fff9e8 0%,#f7fff1 52%,#eef7ff 100%);border-width:2.5px;border-radius:28px;grid-template-columns:minmax(0,1fr) 340px}.rewards-hero h1{max-width:12ch;font-size:3rem;line-height:.96}.rewards-hero .level-widget{max-width:720px}.reward-side-stack{gap:1rem;min-width:0;display:grid}.reward-pet-stage,.reward-daily-chest-card{border:2px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);text-align:center;border-radius:28px}.reward-pet-stage{background:radial-gradient(70% 70% at 50% 30%, var(--primary-soft), transparent 70%), var(--surface-2);padding:1.2rem;position:relative;overflow:hidden}.reward-pet-bg-rainbow-study-room{background:linear-gradient(135deg,#ffe27a70,#0000 38%),linear-gradient(225deg,#6f86ff47,#0000 44%),linear-gradient(#fff7f1,#eef9ff)}.reward-pet-bg-beach-study-room{background:linear-gradient(#dff7ff 0 54%,#ffe8b9 54% 100%)}.reward-pet-figure{place-items:center;width:190px;height:190px;margin:0 auto;display:grid;position:relative}.reward-pet-figure .bo{z-index:2;filter:drop-shadow(0 18px 14px #37467829);position:relative}.reward-pet-stage h2{margin:.45rem 0 .15rem;font-size:1.35rem}.reward-pet-stage p{margin:0}.reward-decor{z-index:5;pointer-events:none;display:block;position:absolute}.reward-decor-head{top:6px;left:50%;transform:translate(-50%)}.reward-decor-starter-party-hat{clip-path:polygon(50% 0,8% 78%,92% 78%);background:linear-gradient(135deg,#ff7a8a,#ffb0bd);width:48px;height:58px}.reward-decor-starter-party-hat:before{content:"";background:#ffd84d;border-radius:50%;width:12px;height:12px;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.reward-decor-yellow-star-cap{background:linear-gradient(#ffe27a,#f0a93b);border-radius:10px 10px 18px 18px;width:70px;height:34px;top:22px;box-shadow:0 5px #78480f2e}.reward-decor-yellow-star-cap:after{content:"";clip-path:polygon(50% 0,61% 34%,98% 34%,68% 54%,79% 90%,50% 68%,21% 90%,32% 54%,2% 34%,39% 34%);background:#fff;width:14px;height:14px;position:absolute;top:6px;left:28px}.reward-decor-graduation-cap{width:78px;height:34px;top:18px}.reward-decor-graduation-cap:before{content:"";clip-path:polygon(50% 0,100% 34%,50% 70%,0 34%);background:#2b2b48;width:70px;height:28px;position:absolute;top:0;left:4px}.reward-decor-graduation-cap:after{content:"";background:#3a3a5a;border-radius:3px;width:30px;height:10px;position:absolute;top:20px;left:24px}.reward-decor-golden-crown{clip-path:polygon(0 100%,8% 18%,30% 70%,50% 0,70% 70%,92% 18%,100% 100%);filter:drop-shadow(0 4px #78480f29);background:linear-gradient(#ffe27a,#ffc24d);width:76px;height:44px;top:19px}.reward-decor-face{top:74px;left:50%;transform:translate(-50%)}.reward-decor-round-glasses{width:84px;height:32px}.reward-decor-round-glasses:before,.reward-decor-round-glasses:after{content:"";background:#ffffff3d;border:4px solid #2b2b48;border-radius:50%;width:28px;height:28px;position:absolute;top:0}.reward-decor-round-glasses:before{left:5px}.reward-decor-round-glasses:after{right:5px}.reward-decor-cool-glasses{width:88px;height:28px}.reward-decor-cool-glasses:before,.reward-decor-cool-glasses:after{content:"";background:#2b2b48;border-radius:5px 5px 12px 12px;width:34px;height:22px;position:absolute;top:0}.reward-decor-cool-glasses:before{left:5px}.reward-decor-cool-glasses:after{right:5px}.reward-decor-star-cheeks{width:112px;height:26px;top:90px}.reward-decor-star-cheeks:before,.reward-decor-star-cheeks:after{content:"";clip-path:polygon(50% 0,61% 34%,98% 34%,68% 54%,79% 90%,50% 68%,21% 90%,32% 54%,2% 34%,39% 34%);background:#ffd84d;width:18px;height:18px;position:absolute}.reward-decor-star-cheeks:before{left:0}.reward-decor-star-cheeks:after{right:0}.reward-decor-neck{top:128px;left:50%;transform:translate(-50%)}.reward-decor-blue-reader-scarf{background:linear-gradient(#7aa7ff,#5b73f0);border-radius:50% 50% 16px 16px;width:86px;height:34px}.reward-decor-purple-bow{width:82px;height:32px}.reward-decor-purple-bow:before,.reward-decor-purple-bow:after{content:"";background:#7c5cff;border-radius:50% 12px;width:34px;height:24px;position:absolute;top:4px}.reward-decor-purple-bow:before{left:0}.reward-decor-purple-bow:after{right:0;transform:scaleX(-1)}.reward-decor-hero-cape{z-index:1;background:linear-gradient(#5b73f0eb,#6f86ffb8);border-radius:18px 18px 38px 38px;width:120px;height:62px;top:120px}.reward-daily-chest-card{justify-items:center;gap:.65rem;padding:1rem;display:grid}.reward-daily-chest-card p{margin:0;font-size:.9rem}.reward-chest-art{background:0 0;border:0;padding:0}.reward-chest-art:not(:disabled):hover .reward-chest-coin{transform:translateY(-3px)rotate(-3deg)}.reward-chest-art:disabled{opacity:.72;cursor:default}.reward-chest-coin{color:#7a4a12;background:linear-gradient(#ffe27a,#f0a93b);width:96px;transition:transform .14s}.reward-shop-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.reward-shop-tabs button{border:2px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface);min-height:42px;color:var(--ink);font-family:var(--font-display);padding:.5rem .9rem;font-weight:900}.reward-shop-tabs button.active{border-color:var(--primary);background:var(--primary);color:#fff}.reward-shop-panel{align-content:start}.reward-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reward-item-card{text-align:center;background:var(--surface);border-width:2px;grid-template-columns:1fr;justify-items:center;gap:.5rem}.reward-item-card.owned{border-color:color-mix(in oklch, var(--green) 44%, var(--border))}.reward-item-card.equipped{border-color:var(--primary);background:var(--primary-soft)}.reward-item-card .thumb{width:76px;height:76px;color:inherit;background:0 0;grid-row:auto}.reward-item-preview{background:radial-gradient(70% 70% at 50% 30%, var(--primary-soft), transparent 70%), var(--surface-2);border-radius:18px;place-items:center;width:76px;height:76px;display:grid;position:relative;overflow:hidden}.reward-item-preview .bo{z-index:2;position:relative}.reward-item-preview .reward-decor-head{top:1px;transform:translate(-50%)scale(.42)}.reward-item-preview .reward-decor-face{top:30px;transform:translate(-50%)scale(.42)}.reward-item-preview .reward-decor-neck{top:52px;transform:translate(-50%)scale(.42)}.reward-item-card .btn{justify-self:center;min-height:38px;padding:.42rem .85rem;font-size:.88rem}.reward-badge-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reward-badge{color:inherit;background:0 0;border-width:0}.reward-badge .coin{color:#fff;width:76px;box-shadow:0 8px 0 #37467829, var(--shadow-sm);background:linear-gradient(135deg,#8aa0ff,#6f86ff)}.reward-badge.locked{opacity:.72}.reward-badge.locked .coin{color:var(--muted);background:var(--bg-2)}.reward-badge.selected{background:color-mix(in oklch, var(--primary-soft) 68%, white);outline:2px solid color-mix(in oklch, var(--primary) 42%, transparent);border-radius:22px}.reward-badge.selected .coin{animation:.6s cubic-bezier(.2,1.5,.4,1) coinPop}.reward-badge.locked.selected{animation:.45s wiggle}.reward-badge:hover .coin{animation:.6s cubic-bezier(.2,1.5,.4,1) coinPop}.reward-badge-detail{border:2px solid var(--border);background:radial-gradient(circle at 8% 12%, color-mix(in oklch, var(--yellow) 34%, transparent), transparent 28%), var(--surface-2);box-shadow:var(--shadow-sm);border-radius:24px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;margin-top:.9rem;padding:.95rem;display:grid}.reward-badge-detail.locked{background:radial-gradient(circle at 8% 12%, color-mix(in oklch, var(--purple-soft) 74%, transparent), transparent 28%), var(--surface-2)}.reward-badge-detail-coin{color:#fff;background:linear-gradient(135deg,#8aa0ff,#6f86ff);width:68px}.reward-badge-detail h3,.reward-badge-detail p{margin:0}.reward-badge-detail-meta{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.reward-badge-detail-meta span{border:1.5px solid var(--border);min-width:min(100%,136px);color:var(--muted);background:#ffffffb8;border-radius:14px;gap:.08rem;padding:.45rem .55rem;font-size:.78rem;font-weight:850;display:grid}.reward-badge-detail-meta b{color:var(--ink);font-size:.72rem}.reward-reveal-overlay{z-index:180;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#3848638c;background:lab(30.1382% -.768676 -17.9743/.55);place-items:center;display:grid;position:fixed;inset:0}.reward-reveal-card{text-align:center;border:2.5px solid var(--border);background:radial-gradient(circle at 18% 8%, color-mix(in oklch, var(--yellow) 38%, transparent), transparent 24%), radial-gradient(circle at 86% 18%, color-mix(in oklch, var(--green) 24%, transparent), transparent 24%), var(--surface);width:min(100%,390px);box-shadow:var(--shadow-lg);border-radius:30px;justify-items:center;gap:.75rem;padding:clamp(1.35rem,4vw,2rem);animation:.45s cubic-bezier(.2,1.4,.4,1) popIn;display:grid}.reward-reveal-card h2,.reward-reveal-card p{margin:0}.reward-reveal-coin{animation:1s ease-in-out infinite alternate burst;position:relative}.reward-reveal-chest-coin{color:#7a4a12;background:linear-gradient(#ffe27a,#f0a93b);width:112px}.reward-reveal-coin.already-opened .reward-reveal-chest-coin{color:var(--muted);background:var(--bg-2)}.reward-reveal-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;width:100%;display:grid}.reward-reveal-stats span{border:1.5px solid var(--border);background:var(--surface-2);min-height:42px;color:var(--ink);font-family:var(--font-display);border-radius:14px;justify-content:center;align-items:center;gap:.28rem;font-size:.82rem;font-weight:900;display:inline-flex}@media (max-width:1100px){.reward-shop-grid,.reward-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.rewards-hero,.reward-section-grid{grid-template-columns:1fr}.rewards-hero h1{max-width:16ch}.reward-side-stack{position:static}}@media (max-width:520px){.rewards-react-page{width:min(100% - 1.1rem, var(--maxw))}.rewards-hero h1{font-size:2.05rem}.reward-shop-grid,.reward-badge-grid{grid-template-columns:1fr}.reward-badge-detail{text-align:center;grid-template-columns:1fr;justify-items:center}.reward-badge-detail .btn{width:100%}.reward-reveal-stats{grid-template-columns:1fr}}.learning-path-react-page{gap:1rem;max-width:1180px}.learning-path-hero{box-shadow:none;background:0 0;border:0;padding:0}.learning-path-hero-copy{border:2.5px solid var(--border);min-height:260px;box-shadow:var(--shadow);background:linear-gradient(135deg,#eef7ff 0%,#f7fff1 58%,#fff7e8 100%);border-radius:28px;padding:clamp(1.15rem,3vw,2rem);position:relative;overflow:hidden}.learning-path-hero p{max-width:60ch}.learning-path-hero-copy .pill-row{grid-template-columns:repeat(4,minmax(112px,1fr));gap:.55rem;margin-top:.75rem;display:grid}.learning-path-hero-copy .pill{border:2px solid var(--border);min-height:58px;box-shadow:var(--shadow-sm);white-space:normal;background:#fff;border-radius:18px;justify-content:flex-start}.learning-path-hero-copy .bar{border:2px solid var(--border);background:#fff;max-width:440px;height:16px;margin-top:.95rem}.learning-path-coach-panel{text-align:center;box-shadow:var(--shadow), 0 0 0 5px #6f86ff24;background:linear-gradient(#f7fbff,#eef3ff);border-width:2.5px;border-color:#fff;border-radius:28px;justify-items:center}.learning-path-coach-panel .icon-tile{border-radius:28px;width:92px;height:92px}.learning-path-coach-panel h2{margin:.15rem 0 .2rem;font-size:1.35rem}.path-stat-card{background:var(--surface);border-width:2px;border-radius:22px;align-items:center;gap:.7rem;min-height:92px;padding:.75rem;display:flex}.path-stat-card .icon-tile{flex:none}.path-stat-card b{font-family:var(--font-display);line-height:1.05}.path-stat-card small{line-height:1.15}.learning-path-map{box-shadow:var(--shadow);background:linear-gradient(#ecf7ff,#f7fff1 34%,#fff4df 68%,#f2e9ff);border-width:2.5px;border-radius:28px;gap:1rem;padding:1rem}.learning-path-map .section-title-row{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;align-items:center;margin-bottom:0;padding:.95rem}.learning-path-lanes{gap:1rem}.path-lane{background:0 0;border:0;grid-template-columns:160px minmax(0,1fr);align-items:start;gap:1rem;padding:.2rem 0 .9rem}.path-lane-label{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;align-self:start;padding:.8rem}.learning-path-react-page .lesson-node{z-index:1;box-shadow:none;background:0 0;border:0;border-radius:0;padding:.15rem;position:relative}.learning-path-react-page .lesson-node.done{--node-c1:#78e4aa;--node-c2:#2fb673;--node-state:var(--green)}.learning-path-react-page .lesson-node.current{--node-c1:#ffd77a;--node-c2:#ffad3d;--node-state:var(--coral)}.learning-path-react-page .lesson-node.locked{--node-c1:#e6eaf2;--node-c2:#c8cfde;--node-state:#fff;opacity:.86}.learning-path-react-page .lesson-node:not(.done):not(.current):not(.locked){--node-c1:#c7b0ff;--node-c2:#9274ff;--node-state:var(--purple)}.learning-path-react-page .node-btn{aspect-ratio:auto;color:#fff;width:auto;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0;position:relative}.learning-path-react-page .node-coin{background:linear-gradient(180deg, var(--node-c1), var(--node-c2));width:86px;height:86px;box-shadow:0 10px 0 #5c46282e, var(--shadow-sm);border:4px solid #fff;border-radius:28px;place-items:center;transition:transform .16s;display:grid}.learning-path-react-page .node-btn:hover .node-coin{transform:translateY(-4px)rotate(-2deg)}.learning-path-react-page .lesson-node.locked .node-coin{color:var(--muted);filter:saturate(.72)}.learning-path-react-page .node-state{color:#fff;background:var(--node-state);width:30px;height:30px;box-shadow:var(--shadow-sm);border:3px solid #fff;bottom:2px;right:-8px}.learning-path-react-page .lesson-node.locked .node-state{color:var(--muted)}.learning-path-react-page .node-title{border:2px solid var(--border);max-width:150px;box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;padding:.24rem .7rem;font-size:.98rem}.learning-path-react-page .lesson-node small{max-width:150px}@media (max-width:980px){.learning-path-hero{grid-template-columns:1fr}.learning-path-hero h1{max-width:16ch}.learning-path-hero-copy .pill-row,.learning-path-quick-grid,.path-node-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.path-lane{grid-template-columns:1fr}.path-lane-label{width:max-content;max-width:100%}}@media (max-width:620px){.learning-path-react-page{width:min(100% - 1.1rem, var(--maxw))}.learning-path-hero h1{font-size:2.05rem}.learning-path-hero-copy .pill-row,.learning-path-quick-grid,.path-node-grid{grid-template-columns:1fr}.path-node-grid{padding:.85rem}.path-node-grid:before{display:none}.learning-path-map .section-title-row{display:grid}}.learning-path-react-page{max-width:1180px}.learning-path-hero{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:stretch;gap:1rem;display:grid}.learning-path-hero-copy{border:2.5px solid var(--border);min-height:260px;box-shadow:var(--shadow);background:radial-gradient(circle at 88% 12%,#ffd84d61,#0000 20%),radial-gradient(circle at 12% 10%,#6f86ff2e,#0000 24%),linear-gradient(135deg,#eef7ff 0%,#f7fff1 58%,#fff7e8 100%);border-radius:28px;padding:clamp(1.2rem,3vw,2rem);display:block;position:relative;overflow:hidden}.learning-path-hero-sky{pointer-events:none;opacity:.9;position:absolute;inset:0}.learning-path-cloud{width:92px;height:34px;box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;animation:24s ease-in-out infinite drift;position:absolute}.learning-path-cloud:before,.learning-path-cloud:after{content:"";background:#fff;border-radius:50%;position:absolute}.learning-path-cloud:before{width:34px;height:34px;top:-14px;left:13px}.learning-path-cloud:after{width:44px;height:44px;top:-23px;left:39px}.learning-path-cloud.cloud-1{top:28px;right:20%}.learning-path-cloud.cloud-2{width:68px;animation-delay:-10s;top:120px;right:5%;transform:scale(.8)}.learning-path-hero-content{z-index:1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid;position:relative}.learning-path-hero-main{min-width:0}.learning-path-hero h1{max-width:10ch;margin:.25rem 0 .65rem;font-size:clamp(2rem,5vw,4rem);line-height:.95}.learning-path-hero p{max-width:62ch;font-size:1.02rem}.learning-path-axis-row{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.learning-path-axis-card{border:2px solid var(--border);min-width:112px;box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;flex-direction:column;gap:.1rem;padding:.5rem .85rem;display:inline-flex}.learning-path-axis-card small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.66rem;font-weight:900}.learning-path-axis-card b{color:var(--ink);font-family:var(--font-display)}.learning-path-bo-guide{align-self:end;place-items:center;display:grid;position:relative}.learning-path-bo-bubble{border:2.5px solid var(--secondary);min-width:156px;max-width:210px;box-shadow:var(--shadow-sm);font-family:var(--font-display);background:#fff;border-radius:20px;padding:.55rem .8rem;font-weight:900;line-height:1.15;position:absolute;top:8px;right:74%}.learning-path-bo-bubble:after{content:"";border:10px solid #0000;border-left-color:var(--secondary);position:absolute;top:34px;right:-10px}.learning-path-goal-card{text-align:center;box-shadow:var(--shadow), 0 0 0 5px #6f86ff24;background:radial-gradient(circle at 50% 30%,#ffd84d8c,#0000 30%),linear-gradient(#f7fbff,#eef3ff);border:2.5px solid #fff;border-radius:28px;justify-items:center;padding:1.1rem;display:grid;position:relative;overflow:hidden}.learning-path-goal-ribbon{background:var(--purple);color:#fff;box-shadow:var(--shadow-sm);font-family:var(--font-display);border:2px solid #fff;border-radius:999px;align-items:center;gap:.35rem;padding:.34rem .9rem;font-size:.76rem;font-weight:900;display:inline-flex}.learning-path-castle-wrap{width:190px;max-width:80%;margin:.6rem auto .3rem;position:relative}.learning-path-castle-glow{background:radial-gradient(circle,#ffd84dbf,#0000 68%);border-radius:50%;animation:2.4s ease-in-out infinite pulse;position:absolute;inset:0}.learning-path-castle-svg{filter:drop-shadow(0 18px 16px #3746782e);width:100%;height:auto;position:relative}.learning-path-goal-card h2{margin:.25rem 0 .1rem;font-size:1.35rem}.learning-path-goal-card p{max-width:30ch;margin:.25rem auto .8rem;font-size:.86rem}.learning-path-goal-progress{width:min(260px,100%);margin:0 auto .75rem}.path-stat-card b{font-family:var(--font-display);line-height:1.05;display:block}.path-stat-card small{color:var(--muted);font-weight:850;line-height:1.1;display:block}.learning-path-map{border:2.5px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(#ecf7ff,#f7fff1 34%,#fff4df 68%,#f2e9ff);border-radius:28px;padding:1rem}.learning-path-map-title h2{margin:.15rem 0}.learning-path-map-title p{max-width:72ch}.learning-path-filter-row{flex-wrap:wrap;gap:.5rem;display:flex}.learning-path-filter-row button{border:2px solid var(--border);min-height:42px;color:var(--ink-soft);cursor:pointer;font-family:var(--font-display);background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-weight:900;display:inline-flex}.learning-path-filter-row button.active{border-color:var(--primary);background:var(--primary);color:#fff}.learning-path-stage{gap:1rem;padding:1rem 0 1.4rem;display:grid;position:relative}.learning-path-stage-head{z-index:5;color:#fff;width:max-content;max-width:100%;box-shadow:var(--shadow);font-family:var(--font-display);background:linear-gradient(100deg,#34c77b,#1aa66a);border:3px solid #ffffffbf;border-radius:999px;align-items:center;gap:.55rem;margin:0 auto;padding:.48rem 1rem;font-weight:900;display:flex;position:sticky;top:72px}.learning-path-stage.stage-advanced .learning-path-stage-head{background:linear-gradient(100deg,#ffb84d,#f08a24)}.learning-path-stage.stage-elite .learning-path-stage-head{background:linear-gradient(100deg,#a07cff,#7b5cff)}.learning-path-stage-head small{opacity:.9;font-size:.68rem;line-height:1;display:block}.learning-path-react-page .lesson-node[data-api-path-preview=true]{opacity:.76}.path-lane{background:0 0;border:0;grid-template-columns:160px minmax(0,1fr);align-items:start;gap:1rem;padding:0;position:relative}.path-lane-label{z-index:4;border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;padding:.8rem;position:sticky;top:138px}.path-node-grid{background:#ffffff8f;border:2px dashed #fffffff2;border-radius:28px;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.85rem;min-width:0;padding:1rem;position:relative}@media (max-width:980px){.learning-path-hero{grid-template-columns:1fr}.learning-path-quick-grid,.path-node-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.path-lane{grid-template-columns:1fr}.path-lane-label,.learning-path-stage-head{width:max-content;max-width:100%;position:relative;top:auto}}@media (max-width:760px){.learning-path-hero-content{text-align:center;grid-template-columns:1fr}.learning-path-hero h1,.learning-path-hero p{margin-inline:auto}.learning-path-axis-row{justify-content:center}.learning-path-bo-bubble{width:max-content;max-width:100%;margin:0 auto .4rem;position:relative;inset:auto}.learning-path-bo-bubble:after{display:none}}@media (max-width:620px){.learning-path-bo-guide{display:none}.learning-path-quick-grid,.path-node-grid{grid-template-columns:1fr}.path-node-grid{padding:.85rem}.path-node-grid:before{display:none}}@media (prefers-reduced-motion:reduce){.learning-path-cloud,.learning-path-castle-glow,.learning-path-react-page .lesson-node.current .node-coin{animation:none!important}}.placement-react-page,.daily-quest-react-page{width:min(100% - 2.4rem, var(--maxw));padding:clamp(1.1rem, 2.8vw, 2rem) 0 calc(6rem + env(safe-area-inset-bottom));gap:clamp(1rem,2vw,1.35rem);margin-inline:auto;display:grid}.placement-hero,.daily-quest-hero{border:1.5px solid var(--border);border-radius:var(--r-xl);background:radial-gradient(circle at 92% 10%, color-mix(in oklch, var(--secondary) 28%, transparent), transparent 24%), linear-gradient(135deg, var(--surface), color-mix(in oklch, var(--primary-soft) 70%, white));box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1.28fr) minmax(280px,.78fr);align-items:stretch;gap:1rem;padding:clamp(1.1rem,3vw,2rem);display:grid}.daily-quest-hero{background:radial-gradient(circle at 90% 12%, color-mix(in oklch, var(--green) 22%, transparent), transparent 24%), linear-gradient(135deg, var(--surface), color-mix(in oklch, var(--secondary-soft) 66%, white))}.placement-hero-copy,.daily-quest-hero-copy,.placement-coach-card,.daily-quest-scene,.daily-quest-panel,.daily-quest-side{min-width:0}.placement-hero-copy,.daily-quest-hero-copy,.placement-coach-card,.daily-quest-scene{align-content:center;gap:.8rem;display:grid}.placement-hero h1,.daily-quest-hero h1{margin:.25rem 0;font-size:clamp(1.85rem,4.4vw,3.15rem)}.placement-hero p,.daily-quest-hero p,.placement-coach-card p{margin:0}.placement-coach-card,.placement-question-card,.placement-submit-card,.placement-result-card,.daily-quest-panel,.daily-quest-card,.daily-quest-stat{border:1.5px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#ffffffc7}.placement-coach-card,.placement-question-card,.placement-submit-card,.placement-result-card,.daily-quest-panel,.daily-quest-stat{padding:clamp(.9rem,2.2vw,1.2rem)}.placement-question-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.placement-question-card{gap:.8rem;display:grid}.placement-question-head{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.placement-question-head h2{margin:.1rem 0 .25rem;font-size:clamp(1.05rem,2.5vw,1.35rem)}.placement-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.placement-option{border:1.5px solid var(--border-2);background:var(--surface-2);min-height:48px;color:var(--ink);text-align:left;overflow-wrap:anywhere;border-radius:14px;padding:.7rem .8rem;font-weight:900}.placement-option:hover,.placement-option.selected{border-color:color-mix(in oklch, var(--primary) 55%, var(--border));background:var(--primary-soft);color:var(--primary-ink)}.placement-submit-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.placement-submit-card h2,.placement-result-card h1{margin:0 0 .25rem}.placement-result-card{text-align:center;justify-items:center;gap:.85rem;width:min(100%,820px);margin:1.2rem auto;display:grid}.placement-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;width:100%;display:grid}.placement-result-metric{background:var(--surface-2);border-radius:16px;gap:.2rem;padding:.8rem;display:grid}.placement-result-metric span,.placement-result-metric strong{overflow-wrap:anywhere}.placement-result-metric span{color:var(--muted);font-weight:900}.placement-result-metric strong{font-family:var(--font-display);font-size:1.1rem}.daily-quest-scene{border:1.5px solid var(--border);border-radius:var(--r-xl);background:linear-gradient(180deg, #ffffffbd, #ffffffeb), color-mix(in oklch, var(--green-soft) 72%, white);justify-items:center;padding:1rem;position:relative;overflow:hidden}.quest-path-line{border-bottom:16px solid color-mix(in oklch, var(--secondary) 34%, white);border-radius:50%;height:70px;position:absolute;bottom:4.6rem;left:8%;right:8%}.daily-quest-scene .bo,.daily-quest-scene-copy{z-index:1;position:relative}.daily-quest-chest-button{z-index:2;color:var(--ink);font-family:var(--font-display);cursor:pointer;background:0 0;border:0;justify-items:center;gap:.35rem;font-weight:900;display:grid;position:relative;transform:translateY(.15rem)}.daily-quest-chest-button:not(:disabled):hover{transform:translateY(-.1rem)rotate(-2deg)}.daily-quest-chest-button:disabled{cursor:default}.daily-quest-chest-button.opened{opacity:.82}.daily-quest-chest-coin{color:#8b5a00;width:104px}.daily-quest-scene-copy{background:#ffffffc7;border-radius:16px;gap:.15rem;width:100%;padding:.75rem;display:grid}.daily-quest-scene-copy small{color:var(--muted);font-weight:900}.daily-quest-scene-copy .btn{width:100%;margin-top:.45rem}.daily-quest-level-mini{border:1.5px solid color-mix(in oklch, var(--secondary) 30%, white);border-radius:var(--r-lg);background:#ffffffb8;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;max-width:520px;padding:.72rem .85rem;display:grid}.daily-quest-level-mini .level-mark{width:62px;height:62px}.daily-quest-level-mini b,.daily-quest-level-mini small{display:block}.daily-quest-level-mini small{color:var(--muted);font-weight:900}.daily-quest-notice{background:var(--green-soft);border:1.5px solid color-mix(in oklch, var(--green) 35%, white);max-width:520px;color:color-mix(in oklch, var(--green) 70%, black);border-radius:16px;margin:0;padding:.7rem .85rem;font-weight:900}.daily-quest-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.72fr);align-items:start;gap:1rem;display:grid}.daily-quest-panel,.daily-quest-list,.daily-quest-side{gap:.8rem;display:grid}.daily-quest-card{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.9rem;display:grid}.daily-quest-card.done{background:var(--green-soft);border-color:color-mix(in oklch, var(--green) 32%, var(--border))}.daily-quest-card.current{background:var(--secondary-soft);border-color:color-mix(in oklch, var(--secondary) 34%, var(--border))}.daily-quest-card.blocked{opacity:.76}.daily-quest-card p,.daily-quest-card small{margin:.15rem 0 0}.daily-quest-card small{color:var(--muted);font-weight:900}.quest-check{border:1.5px solid color-mix(in oklch, var(--c) 34%, var(--border));background:var(--surface);width:42px;height:42px;color:var(--c);border-radius:16px;place-items:center;display:grid}.daily-quest-stat{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.daily-quest-stat span,.daily-quest-stat small{color:var(--muted);font-weight:900}.daily-quest-stat strong{font-family:var(--font-display);font-size:1.5rem;line-height:1;display:block}.daily-quest-side-card{border:1.5px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#ffffffd1;gap:.85rem;padding:clamp(.9rem,2.2vw,1.2rem);display:grid}.daily-quest-side-card h2{margin:.12rem 0 0;font-size:clamp(1.1rem,2.4vw,1.35rem)}.section-title-row.compact{align-items:start}.streak-band{flex-wrap:wrap;gap:.4rem;display:flex}.streak-dot{background:var(--bg-2);width:36px;height:36px;color:var(--muted);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:.78rem;font-weight:800;display:grid}.streak-dot.on{background:var(--secondary);color:#fff}.streak-dot.today{outline:3px solid var(--primary);outline-offset:2px}.reward-stack{background:radial-gradient(circle at 100% 0%, color-mix(in oklch, var(--secondary) 22%, transparent), transparent 28%), #ffffffdb}.reward-medal{background:var(--surface-2);border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;padding:.72rem;display:grid}.reward-medal .coin{width:58px;color:var(--secondary)}.reward-medal p{margin:.15rem 0 0}@media (max-width:960px){.placement-hero,.daily-quest-hero,.daily-quest-grid{grid-template-columns:1fr}}@media (max-width:760px){.placement-react-page,.daily-quest-react-page{width:min(100% - 1rem, var(--maxw))}.placement-question-grid,.placement-option-grid,.placement-submit-card,.placement-result-grid,.daily-quest-card{grid-template-columns:1fr}.placement-submit-card .btn,.daily-quest-card .btn{width:100%}.quest-path-line{bottom:5.4rem}.daily-quest-level-mini{grid-template-columns:1fr}}.parent-trust-page{width:min(100% - 2.4rem, var(--maxw));padding:clamp(1.2rem, 3vw, 2.2rem) 0 calc(6rem + env(safe-area-inset-bottom));gap:clamp(1rem,2vw,1.4rem);margin-inline:auto;display:grid}.parent-hero{background:radial-gradient(circle at 92% 12%, color-mix(in oklch, var(--secondary) 28%, transparent), transparent 26%), linear-gradient(135deg, var(--surface), color-mix(in oklch, var(--green-soft) 55%, white));border:1.5px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:clamp(1.2rem,3vw,2rem);display:grid}.parent-hero h1{margin:.25rem 0 .35rem;font-size:clamp(1.75rem,3.8vw,3rem)}.parent-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.parent-kpi{align-content:start;gap:.45rem;min-height:154px;display:grid}.parent-kpi-icon{background:var(--primary-soft);width:46px;height:46px;color:var(--primary);border-radius:15px;place-items:center;display:grid}.parent-report-grid,.parent-controls-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.parent-panel{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);min-width:0;box-shadow:var(--shadow-sm);gap:1rem;padding:clamp(1rem,2.4vw,1.45rem);display:grid}.parent-panel-wide{grid-column:1/-1}.parent-panel-accent{background:radial-gradient(circle at 100% 0%, color-mix(in oklch, var(--yellow) 28%, transparent), transparent 34%), linear-gradient(135deg, var(--surface), var(--secondary-soft))}.parent-panel-head{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.8rem;display:grid}.parent-panel-head h2{margin:.05rem 0 .2rem;font-size:clamp(1.18rem,2vw,1.55rem)}.parent-skill-stack,.parent-list,.parent-activity-list,.parent-policy-grid,.parent-mode-policy{gap:.75rem;display:grid}.parent-skill{gap:.35rem;display:grid}.parent-skill>div{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.parent-skill i{border-radius:var(--r-pill);background:var(--bg-2);border:1px solid var(--border);height:12px;overflow:hidden}.parent-skill i span{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--primary));height:100%;display:block}.parent-list li,.parent-activity-list li,.parent-empty-line{border:1.5px solid var(--border);background:var(--surface-2);border-radius:14px;padding:.75rem .85rem}.parent-activity-list li{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.parent-activity-list span{color:var(--muted);font-weight:800}.parent-ai-tutor-report{gap:.75rem;display:grid}.parent-ai-tutor-report .parent-activity-list li{align-items:start;gap:.3rem;display:grid}.parent-ai-tutor-report .parent-activity-list span{font-weight:700;line-height:1.45}.parent-state-panel{text-align:center;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-xl);width:min(100%,680px);box-shadow:var(--shadow-sm);justify-items:center;gap:.8rem;margin:2rem auto;padding:clamp(1.4rem,4vw,2.4rem);display:grid}.parent-action-row{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.parent-toggle-row{border:1.5px solid var(--border);background:var(--surface-2);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.75rem;display:grid}.parent-toggle-row p{margin-top:.15rem}.parent-toggle-row .switch{border-radius:var(--r-pill);background:var(--border-2);border:2px solid color-mix(in oklch, var(--border-2) 84%, black);flex:none;width:58px;height:34px;transition:background .15s,border-color .15s;position:relative}.parent-toggle-row .switch:after{content:"";width:22px;height:22px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:4px;left:4px}.parent-toggle-row .switch.on{background:var(--green);border-color:color-mix(in oklch, var(--green) 74%, black)}.parent-toggle-row .switch.on:after{transform:translate(24px)}.parent-range-control{border:1.5px solid var(--border);background:var(--surface-2);border-radius:16px;gap:.6rem;padding:.85rem;display:grid}.parent-range-control>span{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.parent-range-control small,.parent-mode-policy b{color:var(--muted);font-weight:900}.parent-range-control input[type=range]{width:100%;accent-color:var(--primary)}.parent-controls-note{background:var(--primary-soft);border-radius:14px;padding:.75rem .85rem}.parent-controls-note[data-api-controls-saved=error]{background:var(--coral-soft);color:#af2934;color:lab(40.2265% 54.2769 28.9103)}.parent-mode-policy .chip-row{flex-wrap:wrap;gap:.55rem;display:flex}.parent-mode-policy .skill-pick{border-radius:var(--r-pill);text-align:center;grid-template-columns:1fr;width:auto;min-height:42px;padding:.55rem .85rem;font-weight:900}@media (max-width:980px){.parent-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-report-grid,.parent-controls-layout{grid-template-columns:1fr}}@media (max-width:640px){.parent-trust-page{width:min(100% - 1rem, var(--maxw))}.parent-hero,.parent-kpi-grid,.parent-panel-head,.parent-toggle-row,.parent-activity-list li,.parent-range-control>span{grid-template-columns:1fr}.parent-hero .btn,.parent-action-row .btn,.parent-action-row button{width:100%}}.static-shell-page{width:min(100% - 2.4rem, var(--maxw));gap:clamp(1.2rem,3vw,2rem);margin-inline:auto;padding:clamp(1.4rem,4vw,3rem) 0 clamp(3rem,7vw,5rem);display:grid}.static-shell-appbar .wrap{gap:.8rem}.static-shell-login{min-height:42px;padding:.55rem 1rem}.static-shell-hero{min-height:min(690px, calc(100svh - var(--nav-h) - 1.5rem));isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);align-items:center;gap:clamp(1.2rem,5vw,4rem);padding:clamp(1.2rem,4vw,3rem) 0;display:grid;position:relative}.static-shell-copy{z-index:2;gap:1rem;max-width:720px;display:grid}.static-shell-copy h1{max-width:760px}.static-shell-copy p{max-width:620px;color:var(--ink-soft);font-size:clamp(1rem,1vw + .82rem,1.18rem);font-weight:750}.static-shell-actions,.static-shell-proof-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.static-shell-visual{place-items:center;min-height:430px;display:grid;position:relative}.static-shell-mascot-card{border-radius:var(--r-xl);background:radial-gradient(circle at 22% 18%, color-mix(in oklch, var(--yellow) 30%, transparent), transparent 34%), radial-gradient(circle at 86% 78%, color-mix(in oklch, var(--green) 24%, transparent), transparent 36%), linear-gradient(145deg, var(--surface), var(--primary-soft));border:1.5px solid color-mix(in oklch, var(--primary) 20%, var(--border));width:min(100%,390px);min-height:390px;box-shadow:var(--shadow-lg);place-items:center;display:grid;position:relative;overflow:hidden}.static-shell-mascot-card .bo{z-index:2;filter:drop-shadow(0 18px 18px #2d477224);filter:drop-shadow(0 18px 18px lab(29.8642% .843376 -28.3386/.14));position:relative}.static-shell-mini-card{z-index:3;border-radius:var(--r-pill);background:var(--surface);border:1.5px solid var(--border);min-height:42px;box-shadow:var(--shadow-sm);font-family:var(--font-display);align-items:center;gap:.45rem;padding:.55rem .8rem;font-weight:900;display:inline-flex;position:absolute;bottom:32px;left:24px}.static-shell-mini-card.secondary{color:#006e2f;color:lab(40.2443% -42.7474 28.7682);background:var(--green-soft);inset:34px 22px auto auto}.static-shell-deco{z-index:1;background:var(--surface);border:1.5px solid var(--border);width:68px;height:68px;box-shadow:var(--shadow);color:var(--primary);pointer-events:none;border-radius:24px;place-items:center;display:grid;position:absolute}.static-shell-deco.deco-star{color:var(--secondary);top:12px;right:42px;transform:rotate(12deg)}.static-shell-deco.deco-abc{color:var(--purple);top:110px;left:0;transform:rotate(-8deg)}.static-shell-deco.deco-123{color:var(--green);bottom:74px;right:8px;transform:rotate(9deg)}.static-shell-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.9rem,2vw,1.2rem);display:grid}.static-shell-card{border-radius:var(--r-lg);background:var(--surface);border:1.5px solid var(--border);min-width:0;min-height:220px;box-shadow:var(--shadow-sm);align-content:start;gap:.9rem;padding:clamp(1rem,2vw,1.4rem);display:grid;position:relative}.static-shell-card h2,.static-shell-note h2{font-size:clamp(1.18rem,1.8vw,1.55rem);line-height:1.08}.static-shell-card p,.static-shell-note p{color:var(--ink-soft);font-weight:720}.static-shell-card-link{transition:transform .14s,box-shadow .14s,border-color .14s}.static-shell-card-link>svg{color:var(--muted);position:absolute;bottom:1rem;right:1rem}.static-shell-card-link:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-3px)}.static-shell-tone-primary{--c:var(--primary)}.static-shell-tone-green{--c:var(--green)}.static-shell-tone-orange{--c:var(--secondary)}.static-shell-tone-purple{--c:var(--purple)}.static-shell-tone-coral{--c:var(--coral)}.static-shell-tone-teal{--c:var(--teal)}.static-shell-note{border-radius:var(--r-xl);background:radial-gradient(circle at 100% 0%, color-mix(in oklch, var(--secondary) 20%, transparent), transparent 34%), linear-gradient(135deg, var(--surface), var(--bg-2));border:1.5px solid var(--border);box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:clamp(1rem,2.5vw,1.6rem);display:grid}.static-shell-note .icon-tile{--c:var(--primary)}@media (max-width:980px){.static-shell-hero{grid-template-columns:1fr;min-height:auto;padding-top:clamp(1rem,5vw,2rem)}.static-shell-copy{max-width:780px}.static-shell-visual{place-items:start center;min-height:350px}.static-shell-mascot-card{min-height:340px}.static-shell-grid{grid-template-columns:1fr}.static-shell-card{min-height:0}}@media (max-width:720px){.static-shell-page{width:min(100% - 1rem, var(--maxw));padding-top:1rem}.static-shell-appbar .navlinks{display:none}.static-shell-hero{gap:1rem}.static-shell-copy{gap:.85rem}.static-shell-actions .btn,.static-shell-note .btn{width:100%}.static-shell-proof-row .pill{max-width:100%}.static-shell-visual{min-height:300px}.static-shell-mascot-card{width:min(100%,340px);min-height:300px}.static-shell-mascot-card .bo{width:160px;height:160px}.static-shell-deco{border-radius:18px;width:52px;height:52px}.static-shell-deco.deco-star{top:10px;right:18px}.static-shell-deco.deco-abc{top:82px;left:12px}.static-shell-deco.deco-123{bottom:52px;right:12px}.static-shell-mini-card{bottom:18px;left:16px}.static-shell-mini-card.secondary{top:22px;right:16px}.static-shell-note{text-align:left;grid-template-columns:1fr}}.learn-react-page{width:min(100% - 2.4rem, var(--maxw));max-width:1180px;padding:1.5rem 0 calc(6rem + env(safe-area-inset-bottom));gap:1.35rem;margin-inline:auto;display:grid}.learn-greet{border-radius:var(--r-xl);background:radial-gradient(60% 100% at 90% 0%, var(--secondary-soft), transparent 60%), var(--primary-soft);min-height:0;box-shadow:none;border:1.5px solid #0000;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;margin:0;padding:clamp(1.2rem,3vw,2rem);display:grid;overflow:visible}.learn-greet-bo{place-items:center;width:clamp(86px,13vw,124px);display:grid}.learn-level-strip{width:min(100%,620px);margin-top:.35rem}.learn-level-strip .bar{height:12px}.learn-main-stack,.learn-side-stack{gap:1.2rem;min-width:0;display:grid}.recommended-lesson .btn{min-height:52px}.learn-catalog-card .section-title-row,.learn-quick-actions-card .section-title-row,.learn-skill-card .section-title-row,.learn-badges-card .section-title-row,.learn-goal-card .section-title-row,.learn-streak-card .section-title-row{margin-bottom:.9rem}.learn-catalog-card h2,.learn-quick-actions-card h2,.learn-side-stack h2{font-size:clamp(1.25rem,2vw,1.55rem)}.learn-mini-action{border:1.5px solid var(--border);border-radius:var(--r-lg);background:var(--surface);min-height:72px;box-shadow:none;font-family:var(--font-display);text-align:center;align-content:center;place-items:center;gap:.35rem;padding:.55rem .35rem;font-size:.88rem;font-weight:900;transition:transform .12s,border-color .12s;display:grid}.learn-mini-action:hover{border-color:var(--primary);transform:translateY(-3px)}.learn-goal-card{text-align:center;background:radial-gradient(circle at 50% 26%,#ffd84d6b,#0000 31%),linear-gradient(#f7fbff,#eef3ff)}.learn-goal-card .section-title-row,.learn-streak-card .section-title-row,.learn-skill-card .section-title-row,.learn-badges-card .section-title-row{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;display:grid}.learn-goal-ring{--size:96px;--tw:10px;margin:.15rem auto .75rem;position:relative}.learn-goal-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.85rem}.learn-goal-metrics .learn-stat-tile{text-align:left;border:1.5px solid #11182714;border-radius:16px;min-height:70px;padding:.62rem}.learn-goal-metrics .learn-stat-tile strong{font-size:1.35rem}.learn-week-row{justify-content:space-between;gap:.45rem;display:flex}.learn-week-row .day{background:var(--bg-2);width:34px;height:34px;color:var(--muted);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:.8rem;font-weight:900;display:grid}.learn-week-row .day.on{background:var(--secondary);color:#fff}.learn-week-row .day.today{outline:3px solid var(--primary);outline-offset:2px}.learn-react-page .skill-row-head{justify-content:space-between;align-items:baseline;gap:.45rem;min-width:0;display:flex!important}.learn-react-page .skill-row strong,.learn-react-page .skill-row small{overflow-wrap:anywhere}.learn-react-page .skill-row small{min-width:0;font-size:.78rem;line-height:1.08}.learn-react-page .skill-score{min-width:38px;font-family:var(--font-display);text-align:right;justify-self:end;font-weight:900;line-height:1}.learn-badge-row{flex-wrap:wrap;gap:.8rem;display:flex}@media (max-width:980px){.learn-dashboard-grid{grid-template-columns:1fr}.learn-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-goal-card{grid-row:span 2}}@media (max-width:700px){.learn-react-page{width:min(100% - 1rem, var(--maxw));padding-top:1rem}.learn-greet,.learn-side-stack{grid-template-columns:1fr}.learn-greet{text-align:center;justify-items:center}.learn-greet .pill-row{justify-content:center}.recommended-lesson,.learn-react-page .lesson-card{text-align:left;grid-template-columns:auto minmax(0,1fr)}.recommended-lesson .btn,.learn-react-page .lesson-card .pill{grid-column:1/-1;justify-self:stretch;width:100%}.learn-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:460px){.learn-react-page .card-pad-lg{padding:1rem}.learn-goal-card .section-title-row,.learn-streak-card .section-title-row,.learn-skill-card .section-title-row,.learn-badges-card .section-title-row,.learn-react-page .skill-row{grid-template-columns:1fr}.learn-react-page .skill-row-head{justify-content:stretch;display:grid}.learn-react-page .skill-score{text-align:left;justify-self:start}}.stories-react-page{width:min(100% - 2rem, var(--maxw));margin-inline:auto;padding:1.4rem 0 5.8rem}.stories-hero{border-radius:var(--r-xl);background:linear-gradient(120deg, var(--primary-soft), var(--secondary-soft));box-shadow:var(--shadow-sm);border:1.5px solid #1118270f;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:1.4rem;margin:.25rem 0 1.45rem;padding:1.3rem;display:grid}.stories-hero h1,.stories-done h1{margin:.35rem 0;line-height:1.02}.stories-hero p{max-width:62ch;color:var(--ink-soft);font-weight:800}.stories-hero-meta,.story-awards,.story-done-actions,.story-state-actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin:.95rem 0 1rem;display:flex}.stories-hero-cover,.story-cover,.reader-cover{background:radial-gradient(circle at 18% 22%, #ffffff73 0 8px, transparent 9px), radial-gradient(circle at 82% 28%, #ffffff59 0 6px, transparent 7px), linear-gradient(140deg, var(--story-color), color-mix(in oklch, var(--story-color) 50%, white));place-items:center;display:grid;position:relative;overflow:hidden}.stories-hero-cover{aspect-ratio:4/3;border-radius:var(--r-lg);cursor:pointer;border:0;width:100%}.stories-cover-hill{z-index:0;background:#ffffff3d;border-radius:50% 50% 0 0/100% 100% 0 0;height:34%;position:absolute;bottom:-2px;left:-5%;right:-5%}.story-art-svg{z-index:1;filter:drop-shadow(0 6px 12px #0000002e);transition:transform .18s;position:relative}.story-card:hover .story-art-svg,.stories-hero-cover:hover .story-art-svg{transform:scale(1.07)rotate(-3deg)}.stories-filter-row{flex-wrap:wrap;gap:.55rem;margin:.95rem 0 1.25rem;display:flex}.stories-filter-row button{border:2px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface);min-height:42px;color:var(--ink);font-family:var(--font-display);cursor:pointer;padding:.45rem 1rem;font-weight:900}.stories-filter-row button.active,.stories-filter-row button[aria-selected=true]{border-color:var(--primary);background:var(--primary);color:#fff}.stories-library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.story-card{text-align:left;cursor:pointer;flex-direction:column;gap:.68rem;min-width:0;padding:.7rem;display:flex;overflow:hidden}.story-cover{aspect-ratio:3/2;border-radius:var(--r)}.story-cover .lvl-pill{z-index:2;position:absolute;top:.58rem;left:.58rem}.story-card-copy{gap:.26rem;min-width:0;display:grid}.story-card-copy strong{color:var(--ink);font-family:var(--font-display);font-size:1.15rem;font-weight:900;line-height:1.08}.story-card-copy span,.story-card-copy small{color:var(--ink-soft);font-weight:800;line-height:1.35;display:block}.story-card-copy small,.story-foot{color:var(--muted);font-size:.86rem}.story-foot{justify-content:space-between;align-items:center;gap:.7rem;margin-top:auto;font-weight:800;display:flex}.story-foot span{align-items:center;gap:.3rem;display:inline-flex}.stories-reader,.stories-quiz,.stories-done{max-width:760px;margin-inline:auto}.reader-cover{aspect-ratio:16/7;border-radius:var(--r-xl);margin:1rem 0 1.25rem}.story-page-card{margin-top:.8rem}.page-text{color:var(--ink);flex-wrap:wrap;gap:.12rem .34rem;margin:0;font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:800;line-height:1.7;display:flex}.page-text .w{min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 .12rem}.page-text .w:hover{background:var(--secondary-soft)}.page-text .w.on{background:var(--secondary);color:#fff}.page-vi{color:var(--muted);margin-top:.8rem;font-size:1.05rem;font-weight:700}.reader-nav{align-items:center;gap:1rem;margin-top:1.35rem;display:flex}.reader-nav .btn-ghost .ic{transform:rotate(180deg)}.reader-nav .bar{flex:1;min-width:0}.stories-quiz{padding-top:.4rem}.stories-quiz-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.85rem;margin-bottom:1rem;display:grid}.stories-quiz-head h2{margin:.15rem 0 0;font-size:1.35rem;line-height:1.12}.stories-quiz-options{gap:.7rem;display:grid}.stories-react-page .quiz-opt{border:2.5px solid var(--border-2);border-radius:var(--r);background:var(--surface);min-height:54px;color:var(--ink);font-family:var(--font-display);text-align:left;cursor:pointer;padding:.9rem 1.05rem;font-size:1rem;font-weight:900}.stories-react-page .quiz-opt:hover:not(:disabled){border-color:var(--primary)}.stories-react-page .quiz-opt.correct{border-color:var(--green);background:var(--green-soft)}.stories-react-page .quiz-opt.wrong{border-color:var(--coral);background:var(--coral-soft)}.story-error{color:var(--coral);margin-top:1rem;font-weight:900}.story-done-card{text-align:center}.story-done-card>.float{width:max-content;margin-inline:auto}.story-done-card p{max-width:58ch;color:var(--ink-soft);margin-inline:auto;font-weight:800}.story-reward-panel{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.2rem 0 1rem;display:grid}.story-reward-panel div{background:linear-gradient(#fff,#f8fbff);border:1.5px solid #11182714;border-radius:18px;place-items:center;gap:.25rem;min-width:0;min-height:82px;padding:.75rem;display:grid}.story-reward-panel b{color:var(--primary);font-family:var(--font-display);font-size:1.45rem;font-weight:900}.story-reward-panel span{color:var(--muted);font-size:.85rem;font-weight:900}.story-awards,.story-done-actions,.story-state-actions{justify-content:center}@media (max-width:1180px){.stories-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:820px){.stories-library-grid,.story-reward-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.stories-react-page{width:min(100% - 1rem, var(--maxw));padding-top:1rem}.stories-hero{text-align:center;grid-template-columns:1fr}.stories-hero-meta,.stories-hero .btn{justify-content:center}.stories-library-grid{grid-template-columns:1fr}.reader-cover{aspect-ratio:4/3}.reader-nav{gap:.55rem}}@media (max-width:440px){.stories-react-page .card-pad-lg,.stories-hero{padding:1rem}.story-reward-panel{grid-template-columns:1fr}.story-done-actions .btn,.story-state-actions .btn{width:100%}}.learn-react-page,.learning-path-react-page,.exam-prep-react-page,.rewards-react-page,.placement-react-page,.daily-quest-react-page,.stories-react-page,.parent-trust-page,.pronunciation-page,.wordbook-react-page{width:min(100% - 2.4rem, var(--maxw));margin-inline:auto}.learn-react-page{max-width:1180px;padding:1.5rem 0 calc(6rem + env(safe-area-inset-bottom));gap:1.2rem}.learn-greet h1{max-width:none;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.04}.learn-dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:1.2rem}.learn-main-stack,.learn-side-stack{gap:1.2rem}.learn-continue-card.card-pad-lg{padding:clamp(.95rem,1.6vw,1.2rem)}.recommended-lesson{grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;min-height:0}.recommended-lesson .icon-tile.tile-lg{border-radius:18px;width:68px;height:68px}.recommended-lesson h2{margin:.1rem 0 .2rem;font-size:clamp(1.22rem,2vw,1.55rem)}.recommended-lesson .btn{min-height:50px;padding:.78rem 1.1rem}.learn-react-page .lesson-card{border-radius:var(--r-lg);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:74px;padding:.75rem .85rem}.learn-react-page .lesson-card p{margin:.1rem 0}.learn-react-page .lesson-card strong,.learn-react-page .lesson-card p,.learn-react-page .lesson-card small{overflow-wrap:normal;word-break:normal}.learn-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.learn-mini-action{border:1.5px solid var(--border);border-radius:var(--r-lg);background:var(--surface);min-height:72px;box-shadow:none;gap:.35rem;padding:.55rem .35rem;font-size:.88rem}.learn-skill-card .section-title-row{grid-template-columns:minmax(0,1fr) auto;margin-bottom:.75rem}.learn-react-page .skill-stack{gap:.18rem}.learning-path-react-page{max-width:1180px;padding:1.2rem 0 calc(6rem + env(safe-area-inset-bottom));gap:1rem}.learning-path-hero-copy,.learning-path-goal-card,.learning-path-map{border:2.5px solid var(--border);box-shadow:var(--shadow);border-radius:28px}.learning-path-hero-copy{background:radial-gradient(circle at 88% 12%,#ffd84d61,#0000 20%),radial-gradient(circle at 12% 10%,#6f86ff2e,#0000 24%),linear-gradient(135deg,#eef7ff 0%,#f7fff1 58%,#fff7e8 100%);min-height:260px;padding:clamp(1.2rem,3vw,2rem);overflow:hidden}.learning-path-hero h1{max-width:10ch;font-size:clamp(2rem,5vw,4rem);line-height:.95}.learning-path-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:0}.learning-path-map-title{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;padding:1rem}.path-lane{background:0 0;border:0;grid-template-columns:160px minmax(0,1fr);padding:0}.path-lane-label{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;padding:.8rem}.path-node-grid{background:#ffffff8f;border:2px dashed #fffffff2;border-radius:28px;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.85rem;padding:1rem;position:relative}.learning-path-react-page .node-btn{aspect-ratio:auto;width:auto;box-shadow:none;color:inherit;background:0 0;border-radius:0;padding:0;position:relative}.learning-path-react-page .lesson-node.done .node-coin{--c1:#78e4aa;--c2:#2fb673}.learning-path-react-page .lesson-node.current .node-coin{--c1:#ffd77a;--c2:#ffad3d;animation:1.9s ease-in-out infinite bob}.learning-path-react-page .lesson-node.locked .node-coin{--c1:#e6eaf2;--c2:#c8cfde;filter:saturate(.72)}.learning-path-react-page .lesson-node:not(.done):not(.current):not(.locked) .node-coin,.learning-path-react-page .lesson-node[data-api-path-preview=true] .node-coin{--c1:#c7b0ff;--c2:#9274ff}.learning-path-react-page .node-state{color:#fff;width:30px;height:30px;box-shadow:var(--shadow-sm);border:3px solid #fff;bottom:2px;right:-8px}@media (max-width:980px){.learning-path-hero,.learn-dashboard-grid{grid-template-columns:1fr}.learning-path-quick-grid,.path-node-grid,.learn-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.path-lane{grid-template-columns:1fr}}@media (max-width:760px){.learning-path-react-page,.rewards-react-page,.placement-react-page,.daily-quest-react-page,.stories-react-page,.parent-trust-page,.pronunciation-page,.wordbook-react-page,.learn-react-page{width:min(100% - 1rem, var(--maxw))}.learning-path-hero-content{text-align:center;grid-template-columns:1fr}.learning-path-hero h1,.learning-path-hero p{margin-inline:auto}.learning-path-axis-row,.learn-greet .pill-row{justify-content:center}.learn-greet{text-align:center;grid-template-columns:1fr;justify-items:center}.recommended-lesson,.learn-react-page .lesson-card{grid-template-columns:auto minmax(0,1fr)}.recommended-lesson .btn,.learn-react-page .lesson-card .pill{grid-column:1/-1;justify-self:stretch;width:100%}}@media (max-width:620px){.learning-path-bo-guide{display:none}.learning-path-quick-grid,.path-node-grid,.learn-side-stack,.learn-mini-grid{grid-template-columns:1fr}.path-node-grid:before{display:none}}@media (max-width:460px){.learn-react-page .card-pad-lg,.learning-path-map,.learning-path-map-title,.learning-path-hero-copy,.learning-path-goal-card{padding:1rem}.learn-react-page .skill-row{grid-template-columns:minmax(68px,.7fr) minmax(74px,1fr) minmax(30px,auto);gap:.5rem}.learn-react-page .skill-row .lbl{font-size:.9rem}}.learn-react-page,.learning-path-react-page{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.learn-continue-card{background:var(--purple-soft);border-color:#0000}.recommended-lesson-wrap{gap:.55rem;display:grid}.learn-continue-eyebrow{color:#6d41a9;color:lab(37.1076% 36.1291 -49.4012)}.recommended-lesson .bar{max-width:280px;margin-top:.45rem}.learn-goal-card{text-align:center;justify-items:center;display:grid}.learn-goal-card .section-title-row{width:100%}.learn-goal-proof{margin-top:.35rem;font-size:.84rem;font-weight:900}.learn-react-page .skill-row{grid-template-columns:minmax(90px,auto) minmax(0,1fr) minmax(42px,auto);gap:.7rem;min-height:40px;padding:.45rem 0}.learn-react-page .skill-row .lbl{text-overflow:clip;white-space:normal;font-size:.9rem;line-height:1.08;overflow:visible}.learn-react-page .skill-row .num{min-width:42px}.learn-react-page .lesson-card{min-height:76px;padding:.78rem .9rem}.learn-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.learn-mini-action{min-height:72px}.learning-path-react-page .art-svg{max-width:none;display:block}.path-stat-card .icon-tile.solid{border-radius:18px;width:56px;height:56px}.learning-path-react-page .node-coin .art-svg{width:54px;height:54px}.learning-path-react-page .node-coin{color:inherit}@media (max-width:760px){.recommended-lesson{grid-template-columns:auto minmax(0,1fr)}.recommended-lesson .btn{grid-column:1/-1;width:100%}}@media (max-width:620px){.learn-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:380px){.learn-mini-grid{grid-template-columns:1fr}}@media (max-width:460px){.learn-react-page .skill-row{grid-template-columns:minmax(76px,auto) minmax(0,1fr) minmax(36px,auto)}}.exam-prep-react-page{max-width:1180px;padding:1.5rem 0 calc(6rem + env(safe-area-inset-bottom));gap:1.25rem;display:grid}.exam-hero{isolation:isolate;background:radial-gradient(circle at 8% 8%, #ffd84d57, transparent 28%), radial-gradient(circle at 92% 18%, color-mix(in oklch, var(--primary) 24%, transparent), transparent 30%), linear-gradient(135deg, #fff, color-mix(in oklch, var(--primary-soft) 58%, white));border:0;grid-template-columns:minmax(0,1.05fr) minmax(300px,.7fr);align-items:stretch;gap:clamp(1rem,3vw,2rem);display:grid;position:relative;overflow:hidden}.exam-hero:before{content:"";z-index:-1;aspect-ratio:1;background:color-mix(in oklch, var(--secondary) 18%, transparent);border-radius:50%;width:48%;position:absolute;bottom:-26%;right:-8%}.exam-hero-copy{flex-direction:column;gap:.9rem;min-width:0;display:flex}.exam-hero h1{max-width:13ch;margin:.1rem 0;font-size:clamp(2rem,5vw,3.4rem);line-height:.96}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:.3rem;display:flex}.exam-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.45rem;display:grid}.exam-stat{border:1.5px solid var(--border);background:#ffffffc7;border-radius:20px;padding:.85rem}.exam-stat b{color:var(--ink);font-family:var(--font-display);font-size:1.45rem;line-height:1;display:block}.exam-stat span{color:var(--muted);margin-top:.2rem;font-size:.82rem;font-weight:800;display:block}.hero-bo-card{border:2px solid var(--border-2);min-height:100%;box-shadow:0 8px 0 var(--primary-soft);background:#fff;border-radius:28px;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:1rem;padding:1rem;display:grid}.bo-note{gap:.45rem;font-weight:800;display:grid}.bo-note strong{font-family:var(--font-display);font-size:1.35rem;line-height:1.08}.bo-note small{color:var(--muted);font-weight:800}.exam-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.exam-toolbar h2{margin:.15rem 0 0;font-size:clamp(1.5rem,2.6vw,2.25rem)}.exam-filter-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.exam-filter-tabs button{border:2px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface);min-height:42px;font-family:var(--font-display);align-items:center;gap:.35rem;padding:.55rem 1rem;font-weight:900;display:inline-flex}.exam-filter-tabs button.active{border-color:var(--primary);background:var(--primary);color:#fff}.deck-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.deck-pick{border:2.5px solid var(--border-2);background:linear-gradient(180deg, #fff, color-mix(in oklch, var(--deck-color,var(--primary)) 8%, white));min-height:210px;box-shadow:0 8px 0 color-mix(in oklch, var(--deck-color,var(--primary)) 24%, var(--border-2));text-align:left;border-radius:30px;flex-direction:column;justify-content:space-between;padding:1rem;transition:transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.deck-pick:before,.deck-pick:after{content:"";border:2px solid color-mix(in oklch, var(--deck-color,var(--primary)) 34%, white);background:color-mix(in oklch, var(--deck-color,var(--primary)) 18%, white);opacity:.75;border-radius:18px;width:78px;height:104px;position:absolute;top:1.1rem;right:1rem;transform:rotate(8deg)}.deck-pick:after{opacity:.8;background:#fff;top:1.45rem;right:2rem;transform:rotate(-6deg)}.deck-pick:hover{transform:translateY(-4px)}.deck-pick.active{border-color:var(--deck-color,var(--primary));box-shadow:0 8px 0 color-mix(in oklch, var(--deck-color,var(--primary)) 45%, var(--border-2)), 0 0 0 4px color-mix(in oklch, var(--deck-color,var(--primary)) 16%, transparent)}.deck-art{z-index:1;border:2px solid color-mix(in oklch, var(--deck-color,var(--primary)) 24%, var(--border));width:76px;height:76px;color:var(--deck-color,var(--primary));box-shadow:0 5px 0 color-mix(in oklch, var(--deck-color,var(--primary)) 22%, var(--border-2));background:#fff;border-radius:24px;place-items:center;display:grid;position:relative}.deck-copy{z-index:1;gap:.3rem;display:grid;position:relative}.deck-copy strong{font-family:var(--font-display);font-size:1.35rem;line-height:1.05}.deck-copy>span:not(.eyebrow):not(.deck-meta){color:var(--muted);font-weight:800}.deck-meta{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.deck-meta span{border:1.5px solid var(--border);color:var(--ink-soft);font-family:var(--font-display);background:#fff;border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:800}.exam-library{gap:1.25rem;display:grid}.pack-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.exam-card{background:linear-gradient(180deg, #fff 0%, color-mix(in oklch, var(--pack-color,var(--primary)) 7%, white) 100%);border-width:2.5px;flex-direction:column;gap:.8rem;min-height:300px;display:flex;position:relative;overflow:hidden}.exam-card:after{content:"";background:color-mix(in oklch, var(--pack-color,var(--primary)) 12%, transparent);pointer-events:none;border-radius:50%;width:112px;height:112px;position:absolute;bottom:-30px;right:-24px}.exam-card.reco{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft), var(--shadow)}.ribbon,.diff-badge{z-index:2;color:#fff;font-family:var(--font-display);align-items:center;gap:.3rem;font-weight:900;display:inline-flex;position:absolute}.ribbon{border-radius:0 var(--r-lg) 0 14px;background:var(--primary);padding:.3rem .7rem;font-size:.72rem;top:0;right:0}.diff-badge{background:var(--coral);box-shadow:var(--shadow-sm);border-radius:999px;padding:.22rem .6rem;font-size:.66rem;top:.8rem;right:.8rem}.pack-cover{border:1.5px dashed color-mix(in oklch, var(--pack-color,var(--primary)) 36%, var(--border));background:linear-gradient(135deg, color-mix(in oklch, var(--pack-color,var(--primary)) 18%, white), #fff);border-radius:22px;justify-content:space-between;align-items:flex-start;gap:.75rem;min-height:84px;margin:-.25rem -.25rem .15rem;padding:.75rem;display:flex}.pack-cover .icon-tile{--c:var(--pack-color,var(--primary))}.pack-title{padding-right:2.5rem}.pack-title h3{margin:.1rem 0;font-size:1.35rem}.pack-title .level{color:var(--ink-soft);font-family:var(--font-display);font-size:.86rem;font-weight:800}.paper-stack{border:1.5px solid color-mix(in oklch, var(--pack-color,var(--primary)) 18%, var(--border));box-shadow:inset 0 -4px 0 color-mix(in oklch, var(--pack-color,var(--primary)) 8%, white);background:#fff;border-radius:20px;gap:.45rem;margin-top:auto;padding:.6rem;display:grid}.paper-row{border:1.5px solid var(--border);background:var(--surface-2);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.55rem .65rem;display:grid}.paper-row b{font-family:var(--font-display);font-size:.92rem}.paper-row span{color:var(--muted);font-size:.76rem;font-weight:800}.mini-dot{background:var(--pack-color,var(--primary));width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in oklch, var(--pack-color,var(--primary)) 18%, white);border-radius:50%}.ready-panel{background:var(--primary-soft);border-color:#0000;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.skill-pills{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.exam-runner,.exam-result{width:min(100%,760px);margin-inline:auto}.runner-top{align-items:center;gap:1rem;padding:.25rem 0 .7rem;display:flex}.runner-top .bar{flex:1}.timer{border-radius:var(--r-pill);background:var(--coral-soft);color:var(--coral);font-family:var(--font-display);align-items:center;gap:.35rem;padding:.4rem .8rem;font-weight:900;display:inline-flex}.runner-name{text-align:center}.exam-question-card h2{margin:.6rem 0 .2rem}.opts{gap:.7rem;margin-top:1rem;display:grid}.opt{border:2.5px solid var(--border-2);border-radius:var(--r);background:var(--surface);text-align:left;padding:1rem 1.1rem;font-weight:800;transition:border-color .12s,background .12s}.opt:hover{border-color:var(--primary)}.opt.sel{border-color:var(--primary);background:var(--primary-soft)}.exam-runner-actions{margin-top:1rem}.exam-result-card{text-align:center;justify-items:center;display:grid}.exam-score{color:var(--primary);font-family:var(--font-display);font-size:3rem;font-weight:900;line-height:1}.exam-reward-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;width:100%;margin-top:1rem;display:grid}.exam-reward-panel span{border:1.5px solid var(--border);background:var(--surface-2);font-family:var(--font-display);border-radius:16px;justify-content:center;align-items:center;gap:.35rem;padding:.7rem;font-weight:900;display:inline-flex}.exam-review-list{border-radius:var(--r-lg);background:var(--surface-2);text-align:left;width:100%;margin-top:1rem;padding:1rem}.review-q{border-left:4px solid var(--border-2);gap:.2rem;margin-bottom:.8rem;padding:.6rem 0 .6rem 1rem;display:grid}.review-q.ok{border-color:var(--green)}.review-q.no{border-color:var(--coral)}@media (max-width:1280px){.deck-board{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.exam-hero,.ready-panel{grid-template-columns:1fr}.deck-board,.pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.deck-board,.pack-grid,.exam-stats,.exam-reward-panel{grid-template-columns:1fr}.hero-bo-card{grid-template-columns:82px minmax(0,1fr)}.exam-card{min-height:auto}.paper-row{grid-template-columns:auto minmax(0,1fr)}.paper-row span{grid-column:2}.exam-runner-actions,.exam-runner-actions .btn{width:100%}}.appbar .wrap{gap:.75rem}.navlinks{flex:auto;justify-content:center;min-width:0}.navlinks a{white-space:nowrap;flex:none}.prof-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:128px;overflow:hidden}.learn-react-page .lesson-card{padding:.62rem .72rem}.learn-react-page .lesson-card .icon-tile{border-radius:16px;width:48px;height:48px}.learn-react-page .lesson-card strong{line-height:1.08}.learn-react-page .lesson-card p,.learn-react-page .lesson-card small{line-height:1.12}.learn-react-page .lesson-card small{font-size:.82rem}@media (max-width:1180px){.appbar .wrap{width:min(100% - 1.2rem, var(--maxw));gap:.45rem}.brand{gap:.42rem;font-size:1.08rem}.brand .logo{width:34px;height:34px}.navlinks{gap:.12rem}.navlinks a{padding:.42rem .5rem;font-size:.92rem}.prof-chip{gap:.38rem;padding:.24rem .42rem .24rem .25rem}.prof-chip-name{max-width:104px;font-size:.86rem}}@media (max-width:980px){.navlinks a{padding-inline:.38rem;font-size:.88rem}.prof-chip-name{max-width:88px}}.videos-react-page{width:min(1120px,100% - 2rem);padding:clamp(1.15rem, 3vw, 1.8rem) 0 calc(6rem + env(safe-area-inset-bottom,0px));margin:0 auto}.videos-hero{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.videos-hero-copy{min-width:0;max-width:640px}.videos-hero-copy h1{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.2rem;font-size:clamp(1.7rem,4.5vw,2.6rem);line-height:1.02;display:flex}.videos-hero-copy h1 .ic{color:var(--secondary)}.videos-hero-copy p{margin-top:.3rem;font-size:1.05rem}.videos-hero-copy b{color:var(--primary-ink)}.videos-hero-mascot{flex:none}.video-filters{scrollbar-width:none;gap:.6rem;padding:.2rem .1rem 1rem;display:flex;overflow-x:auto}.video-filters::-webkit-scrollbar{display:none}.video-filter{border:2px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface);min-height:44px;color:var(--ink-soft);font-family:var(--font-display);white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.92rem;font-weight:800;display:inline-flex}.video-filter .ic{color:var(--muted)}.video-filter.on{border-color:var(--primary);background:var(--primary);color:#fff}.video-filter.on .ic{color:#fff}.video-pick-section{margin-bottom:1.6rem}.video-section-title,.video-grid-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.video-section-title{justify-content:flex-start;gap:.5rem;margin-bottom:.8rem}.video-section-title .ic{color:var(--secondary)}.video-grid-head{margin-bottom:.9rem}.video-pick{border-radius:var(--r-xl);background:linear-gradient(120deg, var(--primary-soft), var(--secondary-soft));border:1.5px solid #0000;grid-template-columns:1.1fr 1fr;display:grid;overflow:hidden}.video-pick-body{flex-direction:column;justify-content:center;gap:.7rem;min-width:0;padding:clamp(1.2rem,3vw,2rem);display:flex}.video-pick-body .eyebrow{color:var(--secondary)}.video-pick-body h2{font-size:clamp(1.35rem,3.2vw,2rem);line-height:1.08}.video-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;display:grid}.video-card{border:1.5px solid var(--border);border-radius:var(--r-lg);background:var(--surface);width:100%;min-width:0;box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;overflow:hidden}.video-card:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-4px)}.video-thumb{aspect-ratio:16/9;background:var(--video-color,var(--primary));cursor:pointer;border:0;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.video-thumb img{object-fit:cover;opacity:.34;filter:saturate(1.12)contrast(1.04);width:100%;height:100%;position:absolute;inset:0}.video-poster{color:#fff;text-align:center;background:radial-gradient(circle at 24% 24%,#ffffff52,#0000 26%),linear-gradient(135deg,#ffffff29,#0000 48%);background:radial-gradient(circle at 24% 24%,lab(100% 0 0/.32),#0000 26%),linear-gradient(135deg,lab(100% 0 0/.16),#0000 48%);align-content:center;place-items:center;gap:.38rem;padding:.65rem;display:grid;position:absolute;inset:0}.video-poster b{max-width:80%;font-family:var(--font-display);font-size:clamp(.9rem,2.2vw,1.1rem);line-height:1.08}.video-poster small{opacity:.92;font-size:.72rem;font-weight:900}.play-fab{width:56px;height:56px;color:var(--primary);box-shadow:var(--shadow);background:#ffffffeb;background:lab(100% 0 0/.92);border-radius:50%;place-items:center;margin:auto;transition:transform .15s;display:grid;position:absolute;inset:0}.video-card:hover .play-fab,.video-thumb:hover .play-fab{transform:scale(1.12)}.video-duration{color:#fff;font-family:var(--font-display);background:#11161fd1;background:lab(7.13753% -.43682 -7.17928/.82);border-radius:6px;padding:.15rem .45rem;font-size:.72rem;font-weight:800;position:absolute;bottom:.5rem;right:.5rem}.watched-dot{background:var(--green);color:#fff;width:26px;height:26px;box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:none;position:absolute;top:.5rem;left:.5rem}.watched-dot.show,.video-card.seen .watched-dot{display:grid}.video-card-body{padding:.85rem 1rem 1.1rem}.video-title{-webkit-line-clamp:2;font-family:var(--font-display);-webkit-box-orient:vertical;font-size:1.02rem;font-weight:800;line-height:1.2;display:-webkit-box;overflow:hidden}.video-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.video-meta .muted{font-size:.82rem}.video-lesson-strip{flex-wrap:wrap;gap:.45rem;margin-top:.55rem;display:flex}.video-lesson-strip span{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);min-height:26px;color:var(--ink-soft);align-items:center;gap:.25rem;padding:.25rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.video-modal{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e16248c;background:lab(7.06747% -.19002 -10.6574/.55);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.video-player{border-radius:var(--r-xl);background:var(--surface);width:min(760px,100%);max-height:92vh;box-shadow:var(--shadow-lg);overflow-y:auto}.video-player-frame{aspect-ratio:16/9;background:#000;position:relative}.video-player-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-player-close{z-index:2;width:42px;height:42px;color:var(--ink);box-shadow:var(--shadow);background:#ffffffeb;background:lab(100% 0 0/.92);border-radius:50%;place-items:center;display:grid;position:absolute;top:.7rem;right:.7rem}.video-player-close .ic{transform:rotate(45deg)}.video-player-body{padding:clamp(1.1rem,3vw,1.6rem)}.video-player-body h2{font-size:clamp(1.3rem,3vw,1.7rem)}.video-modal-pills,.video-player-actions,.video-keyword-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.video-modal-pills{margin-bottom:.3rem}.video-keyword-title{margin:.9rem 0 .3rem}.video-keyword-title .ic{color:var(--primary)}.video-vocab{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.video-word{border:2px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface-2);min-height:42px;font-family:var(--font-display);justify-content:center;align-items:center;gap:.4rem;padding:.45rem .8rem;font-weight:800;display:inline-flex}.video-word .ic{color:var(--primary)}.video-word:disabled{cursor:not-allowed;color:var(--muted);opacity:.62}.video-player-actions{gap:.7rem;margin-top:1.2rem}.video-reward-panel{border:1.5px solid color-mix(in oklch, var(--green) 32%, var(--border));border-radius:var(--r-lg);background:color-mix(in oklch, var(--green) 12%, white);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.7rem;margin-top:1rem;padding:.85rem 1rem;display:grid}.video-reward-panel b{color:var(--green);font-family:var(--font-display);font-size:1.25rem}.video-reward-panel small,.video-reward-panel span{font-weight:800}.video-voice-note,.video-error{margin-top:.7rem;font-weight:900}.video-voice-note{color:var(--primary)}.video-error{color:var(--coral)}.video-state-card{text-align:center;margin:clamp(1.5rem,6vw,4rem) auto}.video-state-card .ic{color:var(--primary)}@media (max-width:1180px){.video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:820px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-pick{grid-template-columns:1fr}}@media (max-width:640px){.videos-react-page{width:min(100% - 1rem,1120px);padding-top:.85rem}.videos-hero{align-items:flex-start}.videos-hero-mascot{transform-origin:100% 0;transform:scale(.82)}.video-grid{grid-template-columns:1fr}.video-card-body{padding:.78rem .9rem 1rem}.video-player-actions .btn{width:100%}.video-reward-panel{text-align:center;grid-template-columns:1fr}}.learn-react-page,.learning-path-react-page,.rewards-react-page,.placement-react-page,.daily-quest-react-page,.stories-react-page,.videos-react-page,.parent-trust-page,.pronunciation-page,.wordbook-react-page{width:min(100% - clamp(1.35rem, 4vw, 2.4rem), var(--maxw));margin-inline:auto}.learn-react-page{max-width:1180px;padding-top:1.5rem}.learn-dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;gap:1.2rem;display:grid}.learn-react-page .card{border:1.5px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.learn-react-page .card-pad-lg{padding:clamp(1.05rem,2vw,1.55rem)}.learn-greet{border-radius:var(--r-xl);background:radial-gradient(60% 100% at 90% 0%, var(--secondary-soft), transparent 60%), var(--primary-soft);box-shadow:none;border:1.5px solid #0000;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;padding:clamp(1.2rem,3vw,2rem);display:grid}.learn-greet h1{max-width:none;margin:.15rem 0 .25rem;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.04}.learn-greet p{font-size:1.05rem}.recommended-lesson{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.learn-react-page .lesson-card{border:1.5px solid var(--border);border-radius:var(--r-lg);background:var(--surface);min-height:0;box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.85rem;display:grid}.learn-react-page .lesson-card-grid{grid-template-columns:1fr;gap:.8rem}.learn-react-page .lesson-card strong,.learn-react-page .lesson-card p,.learn-react-page .lesson-card small{overflow-wrap:anywhere}.learn-react-page .lesson-card .pill{white-space:nowrap;justify-self:end}.learn-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.learn-mini-action{border:1.5px solid var(--border);border-radius:var(--r-lg);background:var(--surface);min-height:72px;box-shadow:none;font-family:var(--font-display);text-align:center;align-content:center;place-items:center;gap:.35rem;padding:.55rem .35rem;font-size:.88rem;font-weight:900;display:grid}.learn-mini-action .icon-tile.tile-sm{border-radius:12px;width:40px;height:40px}.learn-react-page .skill-stack{gap:.1rem;display:grid}.learn-react-page .skill-row{border-bottom:1px dashed color-mix(in oklch, var(--border) 75%, transparent);grid-template-columns:minmax(86px,.72fr) minmax(104px,1fr) minmax(34px,auto);align-items:center;gap:.62rem;min-width:0;padding:.5rem 0;display:grid}.learn-react-page .skill-row:last-child{border-bottom:0}.learn-react-page .skill-row .lbl{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:900;overflow:hidden}.learn-react-page .skill-row .bar{min-width:0;height:12px}.learn-react-page .skill-row .num{min-width:34px;font-family:var(--font-display);text-align:right;font-weight:900}.learning-path-react-page{gap:1rem;max-width:1180px;padding-top:1.2rem}.learning-path-hero{box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:stretch;gap:1rem;padding:0;display:grid}.learning-path-hero-copy,.learning-path-goal-card,.learning-path-map,.learning-path-detail-panel{border:2.5px solid var(--border);box-shadow:var(--shadow);border-radius:28px}.learning-path-hero-copy{background:radial-gradient(circle at 88% 12%,#ffd84d61,#0000 20%),radial-gradient(circle at 12% 10%,#6f86ff2e,#0000 24%),linear-gradient(135deg,#eef7ff 0%,#f7fff1 58%,#fff7e8 100%);min-height:260px;padding:clamp(1.2rem,3vw,2rem);position:relative;overflow:hidden}.learning-path-goal-card{box-shadow:var(--shadow), 0 0 0 5px #6f86ff24;background:radial-gradient(circle at 50% 30%,#ffd84d8c,#0000 30%),linear-gradient(#f7fbff,#eef3ff);border-color:#fff}.learning-path-map{background:linear-gradient(#ecf7ff,#f7fff1 34%,#fff4df 68%,#f2e9ff);padding:1rem}.learning-path-map-title{border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.learning-path-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:0;display:grid}.path-stat-card{border:2px solid var(--border);background:var(--surface);min-height:0;box-shadow:var(--shadow-sm);border-radius:22px;align-items:center;gap:.7rem;padding:.75rem;display:flex}.path-lane{background:0 0;border:0;grid-template-columns:160px minmax(0,1fr);align-items:start;gap:1rem;padding:0;display:grid;position:relative}.path-lane-label{z-index:4;color:var(--lane-color);border:2px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;padding:.8rem;position:sticky;top:138px}.path-lane-label .icon-tile{--c:var(--lane-color)}.path-node-grid{background:#ffffff8f;border:2px dashed #fffffff2;border-radius:28px;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.85rem;min-width:0;padding:1rem;display:grid;position:relative}.path-node-grid:before{content:"";opacity:.72;background:repeating-linear-gradient(90deg,#ffd37c 0 18px,#fff0d4 18px 32px);border-radius:999px;height:16px;position:absolute;top:58px;left:3rem;right:3rem;box-shadow:0 0 0 5px #e7b97a61}.learning-path-react-page .lesson-node{z-index:1;min-width:0;box-shadow:none;text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;gap:.4rem;padding:0;display:flex;position:relative}.learning-path-react-page .node-btn{width:max-content;box-shadow:none;color:inherit;background:0 0;border:0;border-radius:0;place-items:center;margin-inline:auto;padding:0;display:grid;position:relative}.learning-path-react-page .node-btn:disabled{cursor:default}.learning-path-react-page .node-btn:after{content:"";z-index:-1;background:#3c5a3229;border-radius:50%;width:70px;height:16px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.learning-path-react-page .node-coin{background:linear-gradient(180deg, var(--node-c1,var(--c1,#c7b0ff)), var(--node-c2,var(--c2,#9274ff)));width:86px;height:86px;box-shadow:0 10px 0 #5c46282e, var(--shadow-sm);border:4px solid #fff;border-radius:28px;place-items:center;display:grid}.learning-path-react-page .lesson-node.done .node-coin{--node-c1:#78e4aa;--node-c2:#2fb673}.learning-path-react-page .lesson-node.current .node-coin{--node-c1:#ffd77a;--node-c2:#ffad3d;animation:1.9s ease-in-out infinite bob}.learning-path-react-page .lesson-node.locked .node-coin{--node-c1:#e6eaf2;--node-c2:#c8cfde;color:var(--muted);filter:saturate(.72)}.learning-path-react-page .lesson-node:not(.done):not(.current):not(.locked) .node-coin,.learning-path-react-page .lesson-node[data-api-path-preview=true] .node-coin{--node-c1:#c7b0ff;--node-c2:#9274ff}.learning-path-react-page .node-state{color:#fff;width:30px;height:30px;box-shadow:var(--shadow-sm);border:3px solid #fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:2px;right:-8px}.learning-path-react-page .lesson-node.done .node-state{background:var(--green)}.learning-path-react-page .lesson-node.current .node-state{background:var(--coral)}.learning-path-react-page .lesson-node.locked .node-state{color:var(--muted);background:#fff}.learning-path-react-page .node-title{border:2px solid var(--border);max-width:145px;box-shadow:var(--shadow-sm);font-family:var(--font-display);background:#fff;border-radius:999px;padding:.24rem .7rem;font-size:1rem;font-weight:900;line-height:1.08}.learning-path-react-page .lesson-node small{max-width:150px;line-height:1.15}.learning-path-detail-panel{background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;display:grid}.learning-path-detail-panel h2{margin:.1rem 0;font-size:clamp(1.25rem,2vw,1.55rem)}.learning-path-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}@media (max-width:980px){.learn-dashboard-grid,.learning-path-hero,.path-lane{grid-template-columns:1fr}.learn-side-stack,.learning-path-quick-grid,.path-node-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.path-lane-label,.learning-path-stage-head{width:max-content;max-width:100%;position:relative;top:auto}}@media (max-width:760px){.learn-react-page,.learning-path-react-page,.exam-prep-react-page,.rewards-react-page,.placement-react-page,.daily-quest-react-page,.stories-react-page,.videos-react-page,.parent-trust-page,.pronunciation-page,.wordbook-react-page{width:min(100% - 1.35rem, var(--maxw))}.learn-greet,.learning-path-hero-content,.learning-path-detail-panel{text-align:center;grid-template-columns:1fr}.learn-greet,.learning-path-detail-panel{justify-items:center}.learn-greet .pill-row,.learning-path-axis-row{justify-content:center}.recommended-lesson,.learn-react-page .lesson-card{text-align:left;grid-template-columns:auto minmax(0,1fr)}.recommended-lesson .btn,.learn-react-page .lesson-card .pill,.learning-path-detail-actions,.learning-path-detail-actions .btn{grid-column:1/-1;justify-self:stretch;width:100%}}@media (max-width:620px){.learn-side-stack,.learn-mini-grid,.learning-path-quick-grid,.path-node-grid{grid-template-columns:1fr}.path-node-grid:before{display:none}}@media (max-width:460px){.learn-react-page .card-pad-lg,.learning-path-map,.learning-path-map-title,.learning-path-hero-copy,.learning-path-goal-card,.learning-path-detail-panel{padding:1rem}.learn-react-page .skill-row{grid-template-columns:minmax(78px,.72fr) minmax(82px,1fr) minmax(30px,auto);gap:.5rem}.learn-react-page .skill-row .lbl{font-size:.9rem}}
