@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-devanagari-wght-normal-B4j4n2PV.woff2)format("woff2-variations");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-vietnamese-wght-normal-C4ZonJY6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-ext-wght-normal-Dz43yst_.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-wght-normal-B_TVFhwJ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sand:#fff8ec;--sand-card:#fffffff0;--ink:#1b2a4a;--ink-soft:#4c5a78;--sea:#0057b8;--sea-deep:#003d85;--gold:#ffc72c;--coral:#ff6f59;--palm:#2baf7d;--line:#eadfc8;--shadow:0 10px 26px #1b2a4a24;--low-bg:#ff6f5929;--low-fg:#b33a24;--high-bg:#2baf7d29;--high-fg:#0e6e52;--page:#ffd9a0;--sky:linear-gradient(180deg, #ffd9a0 0%, #ffb199 22%, #8fd8e0 58%, #5fc2d8 100%);--sea-fill:linear-gradient(180deg, #5fc2d8 0%, #2e8fb0 60%, #1e6e8c 100%);--wave:#8fd8e0;--cloud:#ffffffd9;--frond:linear-gradient(90deg, #155e3ceb, #0d4028eb);--trunk:linear-gradient(180deg, #7a5636, #4a3018);--sun:radial-gradient(circle at 35% 35%, #fff6d8, #ffc72c 60%, #ffc72c00 72%);--sun-size:110px;--sun-glow:none;--focus:#0057b8;--font-body:"Nunito Variable", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Baloo 2 Variable", "Baloo 2", var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--sand:#0f1626;--sand-card:#182238e6;--ink:#f3f1e8;--ink-soft:#b9c2d6;--sea:#5aa6ff;--sea-deep:#3d7fde;--gold:#ffd25c;--coral:#ff8b78;--palm:#4fd39a;--line:#2b3552;--shadow:0 10px 26px #0006;--low-bg:#ff8b7833;--low-fg:#ffb3a3;--high-bg:#4fd39a33;--high-fg:#7fe8c4;--page:#0b1130;--sky:linear-gradient(180deg, #0b1130 0%, #141b3d 38%, #0f2a4a 72%, #0b3550 100%);--sea-fill:linear-gradient(180deg, #0f2a4a 0%, #0a2038 60%, #071628 100%);--wave:#0f2a4a;--cloud:#ffffff24;--frond:linear-gradient(90deg, #0a281ae6, #061a10e6);--trunk:linear-gradient(180deg, #3a2a18, #221708);--sun:radial-gradient(circle at 35% 35%, #fffdf2, #e8e2c8 55%, #e8e2c800 75%);--sun-size:64px;--sun-glow:0 0 40px #fffff040;--focus:#ffd25c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--sand:#0f1626;--sand-card:#182238e6;--ink:#f3f1e8;--ink-soft:#b9c2d6;--sea:#5aa6ff;--sea-deep:#3d7fde;--gold:#ffd25c;--coral:#ff8b78;--palm:#4fd39a;--line:#2b3552;--shadow:0 10px 26px #0006;--low-bg:#ff8b7833;--low-fg:#ffb3a3;--high-bg:#4fd39a33;--high-fg:#7fe8c4;--page:#0b1130;--sky:linear-gradient(180deg, #0b1130 0%, #141b3d 38%, #0f2a4a 72%, #0b3550 100%);--sea-fill:linear-gradient(180deg, #0f2a4a 0%, #0a2038 60%, #071628 100%);--wave:#0f2a4a;--cloud:#ffffff24;--frond:linear-gradient(90deg, #0a281ae6, #061a10e6);--trunk:linear-gradient(180deg, #3a2a18, #221708);--sun:radial-gradient(circle at 35% 35%, #fffdf2, #e8e2c8 55%, #e8e2c800 75%);--sun-size:64px;--sun-glow:0 0 40px #fffff040;--focus:#ffd25c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--page);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;min-height:100dvh;overflow-x:hidden}h1,h2,h3,.display{font-family:var(--font-display)}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.wrap{max-width:960px;padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 60px max(16px, env(safe-area-inset-left));margin:0 auto;position:relative}.skip-link{background:var(--sea);color:#fff;z-index:100;border-radius:10px;padding:10px 14px;position:absolute;top:-60px;left:16px}.skip-link:focus{top:8px}.scenery{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sky{background:var(--sky);position:absolute;inset:0}.celestial{width:var(--sun-size);height:var(--sun-size);background:var(--sun);box-shadow:var(--sun-glow);border-radius:50%;position:absolute;top:8%;right:10%}.cloud{background:var(--cloud);border-radius:100px;position:absolute}.cloud:before,.cloud:after{content:"";background:var(--cloud);border-radius:50%;position:absolute}.cloud.c1{width:110px;height:34px;animation:100s linear infinite driftA;top:14%;left:8%}.cloud.c1:before{width:56px;height:56px;top:-26px;left:14px}.cloud.c1:after{width:40px;height:40px;top:-16px;left:60px}.cloud.c2{opacity:.8;width:90px;height:28px;animation:130s linear infinite driftB;top:23%;left:56%}.cloud.c2:before{width:44px;height:44px;top:-20px;left:10px}.cloud.c2:after{width:34px;height:34px;top:-12px;left:48px}.cloud.c3{opacity:.7;width:70px;height:22px;animation:160s linear infinite reverse driftA;top:9%;left:35%}.cloud.c3:before{width:36px;height:36px;top:-16px;left:8px}.cloud.c3:after{width:26px;height:26px;top:-10px;left:38px}@keyframes driftA{0%,to{transform:translate(0)}50%{transform:translate(40px)}}@keyframes driftB{0%,to{transform:translate(0)}50%{transform:translate(-50px)}}.wave{width:100%;height:60px;position:absolute;bottom:26vh;left:0;right:0}.wave path{fill:var(--wave)}.sea{background:var(--sea-fill);height:26vh;position:absolute;bottom:0;left:0;right:0}.palm{width:160px;height:240px;position:absolute;bottom:-6px}.palm.left{left:-34px}.palm.right{right:-34px;transform:scaleX(-1)}.trunk{background:var(--trunk);transform-origin:bottom;border-radius:10px;width:16px;height:170px;position:absolute;bottom:0;left:50%;transform:translate(-50%)rotate(6deg)}.frond{background:var(--frond);transform-origin:0%;border-radius:50% 50% 50% 0/90% 90% 10% 10%;width:100px;height:30px;animation:6s ease-in-out infinite sway;position:absolute;top:26px;left:50%}.frond.f1{transform:rotate(-70deg)}.frond.f2{transform:rotate(-35deg)}.frond.f3{transform:rotate(0)}.frond.f4{transform:rotate(35deg)}.frond.f5{transform:rotate(70deg)}@keyframes sway{0%,to{filter:brightness()}50%{filter:brightness(1.06)}}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand .mark{background:linear-gradient(145deg, var(--sea), var(--sea-deep));width:46px;height:46px;box-shadow:var(--shadow);border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:22px;display:flex}.brand h1{margin:0;font-size:21px;line-height:1.1}.brand p{color:var(--ink-soft);margin:2px 0 0;font-size:13px;font-weight:700}.topbtns{flex-wrap:wrap;align-items:center;gap:8px;display:flex}footer.site-footer{text-align:center;color:var(--ink-soft);background:var(--sand-card);border-radius:14px;max-width:520px;margin:34px auto 0;padding:8px 14px;font-size:12.5px;font-weight:700}.pillbtn{border:2px solid var(--line);background:var(--sand-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:9px 16px;font-size:14px;font-weight:800;text-decoration:none;transition:transform .15s,border-color .15s;display:inline-flex}.pillbtn:hover{border-color:var(--sea)}.pillbtn.small{min-height:44px;padding:6px 12px;font-size:13px}.icon-btn{justify-content:center;min-width:44px;padding:6px}.chip{background:var(--sand-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:8px 14px;font-size:14px;font-weight:800;display:inline-flex}.primary-btn{background:var(--sea);color:#fff;border:2px solid var(--sea);box-shadow:var(--shadow);border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:12px 22px;font-size:16px;font-weight:800;text-decoration:none;display:inline-flex}:root[data-theme=dark] .primary-btn{color:#0b1130}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .primary-btn{color:#0b1130}}.primary-btn:hover{filter:brightness(1.08)}.primary-btn.ghost{color:var(--sea);box-shadow:none;background:0 0}.back-link{color:var(--ink-soft);background:0 0;border:none;align-items:center;gap:6px;min-height:44px;padding:0 4px 12px 0;font-size:15px;font-weight:800;display:inline-flex}.back-link:hover{color:var(--sea)}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.card{background:var(--sand-card);-webkit-backdrop-filter:blur(10px)saturate(150%);backdrop-filter:blur(10px)saturate(150%);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:22px;margin-bottom:18px;padding:24px}@media (width<=480px){.card{border-radius:18px;padding:18px}}.intro h2{margin:0 0 6px;font-size:24px}.intro p{color:var(--ink-soft);margin:0;font-size:15px;font-weight:700;line-height:1.5}.muted{color:var(--ink-soft);font-size:13.5px;font-weight:700;line-height:1.5}.section-title{background:var(--sand-card);border-radius:999px;margin:26px 0 10px;padding:4px 14px;font-size:17px;font-weight:800;display:inline-block}.empty{text-align:center;color:var(--ink-soft);padding:30px 10px;font-size:14.5px;font-weight:700}.tip{background:linear-gradient(#ffc72c38, #ffc72c38), var(--sand-card);border:2px solid #ffc72c8c;border-radius:14px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:13px 15px;font-size:14px;font-weight:700;line-height:1.45;display:flex}.notice{background:var(--low-bg);color:var(--low-fg);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:14px;font-weight:700;display:flex}.assign-banner{color:#2b2200;box-shadow:var(--shadow);background:linear-gradient(135deg,#ffe38a,#ffc72c);border-radius:20px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;padding:18px 20px;display:flex}.assign-banner .txt{flex:1;min-width:180px}.assign-banner h3{margin:0 0 4px;font-size:17px}.assign-banner p{margin:0;font-size:13.5px;font-weight:700}.assign-banner.done{background:var(--high-bg);color:var(--high-fg)}.stations{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=600px){.stations{grid-template-columns:1fr}}.station{text-align:left;color:#fff;box-shadow:var(--shadow);border:none;border-radius:22px;flex-direction:column;gap:10px;min-height:150px;padding:22px;transition:transform .18s;display:flex;position:relative;overflow:hidden}.station:hover{transform:translateY(-3px)}.station .icon{font-size:34px;line-height:1}.station h3{margin:0;font-size:20px}.station .desc{opacity:.95;font-size:14px;font-weight:700;line-height:1.4}.station .meta{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;font-size:13px;font-weight:800;display:flex}.station .badge{background:#ffffff40;border-radius:999px;padding:4px 10px}.lesson-head{align-items:center;gap:14px;margin-bottom:14px;display:flex}.lesson-head .icon{border-radius:16px;flex:none;justify-content:center;align-items:center;width:56px;height:56px;font-size:30px;display:flex}.lesson-head h2{margin:0;font-size:22px}.accordion{gap:10px;margin:16px 0 20px;display:grid}.topic{border:2px solid var(--line);background:var(--sand);border-radius:14px;overflow:hidden}.topic-head{text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:52px;padding:14px 16px;font-size:16px;font-weight:800;display:flex}.topic-caret{flex:none;transition:transform .2s}.topic.open .topic-caret{transform:rotate(180deg)}.topic-body{padding:0 16px 14px}.block{background:var(--sand-card);border-radius:12px;margin-top:10px;padding:10px 12px}.block-label{color:var(--ink-soft);margin-bottom:4px;font-size:13px;font-weight:800}.block-row{align-items:flex-start;gap:8px;display:flex}.block-text{flex:1;font-size:15px;font-weight:700;line-height:1.5}.topic-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.diagram{color:var(--ink);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:2px 0 16px;display:flex}.diagram svg{max-width:100%;height:auto}.diagram-caption{color:var(--ink-soft);text-align:center;font-size:12px;font-weight:800}.icon-scene span,.icon-row span{font-size:40px;line-height:1.1}.icon-row{gap:18px}.op-sign{color:var(--ink-soft);font-size:26px;font-weight:800}.quiz-title{color:var(--ink-soft);margin-bottom:10px;font-size:13.5px;font-weight:800}.qbar{gap:4px;margin-bottom:18px;display:flex}.qdot{background:var(--line);border-radius:99px;flex:1;height:8px}.qdot.done{background:var(--palm)}.qdot.current{background:var(--sea)}.qtext-row{align-items:flex-start;gap:10px;margin:6px 0 18px;display:flex}.qtext{flex:1;margin:0;font-size:20px;font-weight:800;line-height:1.4}.options{gap:10px;display:grid}.opt{text-align:left;border:2px solid var(--line);background:var(--sand);color:var(--ink);border-radius:14px;align-items:center;gap:10px;width:100%;min-height:56px;padding:12px 14px;font-size:16px;font-weight:700;display:flex}.opt:hover:not(:disabled){border-color:var(--sea)}.opt:disabled{opacity:1;cursor:default}.opt .k{background:var(--sand-card);border:2px solid var(--line);border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:flex}.opt .txt{flex:1}.opt .mark{flex:none;font-size:20px}.opt.correct{background:var(--high-bg);border-color:var(--palm)}.opt.correct .k{background:var(--palm);border-color:var(--palm);color:#fff}.opt.wrong{background:var(--low-bg);border-color:var(--coral)}.opt.wrong .k{background:var(--coral);border-color:var(--coral);color:#fff}.opt.selected{border-color:var(--sea);box-shadow:0 0 0 3px #0057b833}.explain{border-radius:14px;margin-top:16px;padding:14px 16px;font-size:15px;font-weight:700;line-height:1.5}.explain.good{background:var(--high-bg);color:var(--high-fg)}.explain.bad{background:var(--low-bg);color:var(--low-fg)}.qfoot{justify-content:flex-end;margin-top:18px;display:flex}.match-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.match-col{align-content:start;gap:8px;display:grid}.match-grid .opt{min-height:60px;padding:10px 12px;font-size:14.5px}@media (width<=380px){.match-grid .opt{padding:8px 10px;font-size:13.5px}}.results{text-align:center;padding:10px 0 4px}.results .stars{letter-spacing:6px;margin:6px 0 4px;font-size:44px}.results h2{margin:6px 0 4px;font-size:24px}.results p{color:var(--ink-soft);margin:0 0 6px;font-weight:700}.results .scoreline{font-size:36px;font-weight:800;font-family:var(--font-display);color:var(--sea)}.reward-banner{border:2px solid var(--gold);color:#7a5b00;background:#ffc72c3d;border-radius:14px;margin-top:16px;padding:10px 16px;font-size:15px;font-weight:800;display:inline-block}:root[data-theme=dark] .reward-banner{color:#ffe28a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .reward-banner{color:#ffe28a}}.resbtns{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}.burst{height:0;position:relative}.confetti{font-size:20px;animation:1.4s ease-in forwards fall;position:absolute;top:0}@keyframes fall{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--dx), 260px) rotate(var(--rot));opacity:0}}.dash-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}@media (width<=480px){.dash-grid{gap:8px}.dash-grid .stat{border-radius:14px;padding:12px 10px}.stat .num{font-size:22px}}.stat{background:var(--sand-card);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:16px}.stat .num{font-family:var(--font-display);color:var(--sea);font-size:26px;font-weight:800}.stat .lbl{color:var(--ink-soft);margin-top:2px;font-size:13px;font-weight:700}.subj-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.subj-row:last-child{border-bottom:none}.subj-row .si{text-align:center;flex:none;width:32px;font-size:22px}.subj-row .sname{flex:1;min-width:120px;font-size:14.5px;font-weight:800}.subj-row .spct{text-align:right;color:var(--ink-soft);font-size:13.5px;font-weight:800}.path-scroll{-webkit-overflow-scrolling:touch;padding-bottom:6px;overflow-x:auto}.path-track{gap:10px;min-width:max-content;margin:0;padding:4px 2px;list-style:none;display:flex}.path-node{text-align:center;border:2px solid var(--line);background:var(--sand);border-radius:14px;flex:none;width:76px;padding:10px 6px}.path-node.done{background:var(--high-bg);border-color:var(--palm)}.path-node.current{border-color:var(--sea);box-shadow:0 0 0 3px #0057b82e}.pn-week{color:var(--ink-soft);font-size:11px;font-weight:800}.pn-icon{margin:4px 0 2px;font-size:20px}.pn-status{font-size:13px;font-weight:800}.save-status{border:2px solid var(--line);background:var(--sand-card);border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:6px 12px;font-size:13px;font-weight:800;display:inline-flex}.save-status.error{border-color:var(--coral);color:var(--low-fg);background:var(--low-bg)}.toast{left:50%;bottom:max(22px, env(safe-area-inset-bottom));background:var(--ink);color:var(--sand);z-index:90;box-shadow:var(--shadow);text-align:center;border-radius:999px;max-width:calc(100vw - 32px);padding:12px 20px;font-size:14px;font-weight:800;position:fixed;transform:translate(-50%)}.overlay{z-index:80;background:#0a142899;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--sand);box-shadow:var(--shadow);text-align:center;border:2px solid var(--line);border-radius:20px;width:100%;max-width:360px;padding:24px}.dialog h2{margin:0 0 10px;font-size:20px}.dialog p{color:var(--ink-soft);margin:0;font-size:14.5px;font-weight:700;line-height:1.5}.dialog .btn-row{justify-content:center;margin-top:18px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.confetti{display:none}}@media print{.no-print,.scenery,.topbar,footer.site-footer{display:none!important}body{background:#fff!important}.card{box-shadow:none!important;color:#000!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;border:1px solid #ccc!important}}.form-card{max-width:560px;margin-left:auto;margin-right:auto}.field{flex-direction:column;gap:6px;margin:12px 0;font-size:14px;font-weight:800;display:flex}.field input,.field select,.list-row input,.list-row select{border:2px solid var(--line);background:var(--sand);min-height:48px;color:var(--ink);border-radius:12px;width:100%;padding:10px 12px;font-size:16px;font-weight:700}.field input:focus,.field select:focus{border-color:var(--sea);outline:none;box-shadow:0 0 0 3px #0057b833}.code-input,.pin-input{letter-spacing:8px;text-align:center;font-size:24px!important}.fieldset{border:2px solid var(--line);border-radius:16px;margin:16px 0;padding:6px 16px 12px}.fieldset legend{padding:0 6px;font-weight:800}.choice{border:2px solid var(--line);cursor:pointer;background:var(--sand);border-radius:14px;align-items:flex-start;gap:12px;margin:10px 0;padding:12px;font-size:14.5px;line-height:1.4;display:flex}.choice input{width:22px;height:22px;accent-color:var(--sea);flex:none;margin-top:2px}.choice:has(input:checked){border-color:var(--sea);box-shadow:0 0 0 3px #0057b826}.row{flex-wrap:wrap;gap:12px;display:flex}.form-error{color:var(--low-fg);background:var(--low-bg);border-radius:12px;padding:10px 12px;font-size:14px;font-weight:800}.small-print{font-size:12.5px}.primary-btn.wide{width:100%;margin-top:6px}.link-btn{color:var(--sea);cursor:pointer;min-height:44px;font-weight:800;font-size:inherit;background:0 0;border:none;align-items:center;padding:0 4px;text-decoration:underline;display:inline-flex}.list{margin:0 0 14px;padding:0;list-style:none}.list-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex}.list-row:last-child{border-bottom:none}.list-row .si{text-align:center;width:28px;font-size:20px}.list-row .sname{flex:1;min-width:100px;font-weight:800}.reward-inline{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.reward-inline input{width:80px;min-height:44px}.reward-inline select{width:auto;min-height:44px}.save-status.waiting{border-color:var(--gold);background:#ffc72c33}.tabs{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px;display:grid}@media (width>=700px){.tabs{grid-template-columns:repeat(4,1fr)}}.tab{border:2px solid var(--line);background:var(--sand-card);min-height:48px;color:var(--ink);border-radius:14px;font-size:14px;font-weight:800}.tab.on{background:var(--sea);border-color:var(--sea);color:#fff}:root[data-theme=dark] .tab.on{color:#0b1130}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tab.on{color:#0b1130}}.viewing{background:var(--sand-card);border:2px solid var(--line);border-radius:14px;max-width:360px;padding:8px 12px}.card-title{margin:0 0 8px;font-size:16px}.dash-grid.four{grid-template-columns:repeat(4,1fr)}@media (width<=700px){.dash-grid.four{grid-template-columns:repeat(2,1fr)}}.bar-track{background:var(--sand);border:1px solid var(--line);border-radius:99px;flex:1;min-width:80px;height:12px;overflow:hidden}.bar-fill{background:linear-gradient(90deg, var(--sea), var(--palm));border-radius:99px;height:100%}.insight-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=640px){.insight-grid{grid-template-columns:1fr}}.insight-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;font-size:14px;font-weight:700;display:flex}.insight-row:last-child{border-bottom:none}.insight-pct{border-radius:999px;padding:3px 9px;font-size:12.5px;font-weight:800}.insight-pct.low{background:var(--low-bg);color:var(--low-fg)}.insight-pct.high{background:var(--high-bg);color:var(--high-fg)}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}table.hist{border-collapse:collapse;width:100%;min-width:420px}table.hist th,table.hist td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 6px;font-size:13.5px}table.hist th{color:var(--ink-soft);font-size:12px;font-weight:800}.tag{border-radius:99px;padding:3px 9px;font-size:12px;font-weight:800}.tag.high{background:var(--high-bg);color:var(--high-fg)}.tag.mid{color:var(--ink);background:#ffc72c47}.tag.low{background:var(--low-bg);color:var(--low-fg)}.toggle-pill{border:2px solid var(--line);background:var(--sand);color:var(--ink-soft);border-radius:999px;min-width:84px;min-height:44px;padding:7px 14px;font-size:13px;font-weight:800}.toggle-pill.on{background:var(--palm);border-color:var(--palm);color:#fff}.reward-chips{flex-wrap:wrap;gap:8px;display:flex}.reward-chip{background:var(--sand);border:1px solid var(--line);border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:800}.reward-chip.earned{background:var(--high-bg);border-color:var(--palm);color:var(--high-fg)}.assign-status{background:var(--sand);border:2px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:10px 14px;font-size:14px;font-weight:700;display:flex}.assign-status.done{background:var(--high-bg);border-color:var(--palm)}.qc-list{-webkit-overflow-scrolling:touch;border:2px solid var(--line);background:var(--sand);border-radius:14px;max-height:360px;margin:10px 0;padding:4px 12px;overflow-y:auto}.qc-topic{border:none;margin:0;padding:0}.qc-topic-head{width:100%;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:8px;padding:8px 0 0;font-size:13px;font-weight:800;display:flex}.qc-item{cursor:pointer;align-items:flex-start;gap:10px;min-height:44px;padding:10px 2px;font-size:14px;font-weight:700;display:flex}.qc-item input{width:22px;height:22px;accent-color:var(--sea);flex:none;margin-top:2px}.danger{border-color:var(--coral)}.report-lines{margin:0}.report-lines div{border-bottom:1px solid var(--line);justify-content:space-between;padding:8px 0;font-size:14.5px;font-weight:700;display:flex}.report-lines dt{margin:0}.report-lines dd{margin:0;font-weight:800}@media print{.report{padding:0!important}.report .section-title{background:0 0!important;padding:0!important}table.hist{min-width:0}table.hist th,table.hist td{color:#000!important;border-color:#ccc!important}.tag{padding:0;color:#000!important;background:0 0!important}}.summary-toggle{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px;font-weight:800;line-height:1.4}.update-banner{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:85;background:var(--sand);color:var(--ink);border:2px solid var(--sea);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:6px 8px 6px 16px;font-size:14px;font-weight:800;display:flex;position:fixed;transform:translate(-50%)}.dialog-details{text-align:left;color:var(--ink-soft);max-height:40vh;margin:12px 0 0;padding-left:20px;font-size:13.5px;font-weight:700;line-height:1.45;overflow-y:auto}.bonus-sum{grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 12px;display:grid}@media (width<=520px){.bonus-sum{grid-template-columns:1fr}}.bonus-sum div{border:2px solid var(--line);background:var(--sand);border-radius:14px;gap:2px;padding:10px 12px;display:grid}.bonus-sum dt{color:var(--ink-soft);font-size:12.5px;font-weight:800}.bonus-sum dd{font-family:var(--font-display);margin:0;font-size:20px;font-weight:800}.bonus-sum .owed{border-color:var(--gold);background:#ffc72c2e}.bonus-sum .settled{border-color:var(--palm);background:var(--high-bg);color:var(--high-fg)}.payout-form{border-top:1px solid var(--line);padding-top:10px}.payout-wait{border:2px dashed var(--gold);border-radius:12px;margin:4px 0 10px;padding:8px 12px;font-weight:700}
