@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/3c30d2e0bea83d70-s.3wiqdwqz1gfqe.woff2?dpl=dpl_CsHa7zozb1sQxPJJj8nRs82bxrB4)format("woff2");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";font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/e045b8a36dafeb96-s.p.1znw80anc03tc.woff2?dpl=dpl_CsHa7zozb1sQxPJJj8nRs82bxrB4)format("woff2");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";font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/921864ee6019b767-s.0dpkqgqz79smb.woff2?dpl=dpl_CsHa7zozb1sQxPJJj8nRs82bxrB4)format("woff2");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";font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/d7d9c82e455b419c-s.p.2zp15__9k16__.woff2?dpl=dpl_CsHa7zozb1sQxPJJj8nRs82bxrB4)format("woff2");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 Fallback";src:local(Arial);ascent-override:112.55%;descent-override:54.71%;line-gap-override:0.0%;size-adjust:95.78%}.baloo_2_23881d1e-module__jogm-a__className{font-family:"Baloo 2","Baloo 2 Fallback";font-style:normal}.baloo_2_23881d1e-module__jogm-a__variable{--font-baloo:"Baloo 2", "Baloo 2 Fallback"}
@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/224e262ef877bfa4-s.1zkvd_innyig_.woff2?dpl=dpl_CsHa7zozb1sQxPJJj8nRs82bxrB4)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/7f11d98043fdedc9-s.2c8-7nzo1jf9r.woff2?dpl=dpl_CsHa7zozb1sQxPJJj8nRs82bxrB4)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.p.1vcas2uk12q5a.woff2?dpl=dpl_CsHa7zozb1sQxPJJj8nRs82bxrB4)format("woff2");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;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.2demiz2t05dx4.woff2?dpl=dpl_CsHa7zozb1sQxPJJj8nRs82bxrB4)format("woff2");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;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.2kjei9psvcorz.woff2?dpl=dpl_CsHa7zozb1sQxPJJj8nRs82bxrB4)format("woff2");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:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_a68df3b2-module__xQKhTG__className{font-family:Nunito,Nunito Fallback;font-style:normal}.nunito_a68df3b2-module__xQKhTG__variable{--font-nunito:"Nunito", "Nunito Fallback"}
:root{--brand:#7c6cf0;--brand-dark:#6355d8;--brand-soft:#efecff;--green:#6bbf8a;--green-soft:#e6f6ec;--pink:#ef7fb0;--pink-soft:#fdeaf3;--amber:#f2b23c;--amber-soft:#fff4dc;--red:#f2795f;--red-soft:#ffe9e3;--blue:#5aa9e6;--blue-soft:#e4f2fd;--ink:#3b3a5a;--ink-soft:#6f6e90;--muted:#a3a2bd;--card:#fff;--line:#ecebf6;--sky-top:#bfe4fb;--sky-bot:#eaf6d8;--radius:22px;--radius-lg:30px;--shadow:0 18px 40px -18px #5046a059;--shadow-sm:0 8px 20px -10px #5046a047;--font-head:var(--font-baloo), system-ui, sans-serif;--font-body:var(--font-nunito), system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:clip}img,svg,video,canvas{max-width:100%}body{font-family:var(--font-body);color:var(--ink);background:linear-gradient(180deg, var(--sky-top) 0%, #d9edf3 45%, var(--sky-bot) 100%);-webkit-font-smoothing:antialiased;min-height:100vh}.scene{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.scene-img{object-fit:cover;object-position:center bottom;filter:blur(2px)saturate(.92);transform:scale(1.04)}.scene-veil{background:radial-gradient(125% 95% at 50% 36%,#ffffffb8 0%,#ffffff6b 40%,#ffffff1a 72%,#fff0 100%),linear-gradient(#ffffff47,#ffffff24);position:absolute;inset:0}h1,h2,h3,.head{font-family:var(--font-head)}a{color:inherit;text-decoration:none}button{font-family:inherit}.nav{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#ffffffd1;position:sticky;top:0}.nav-inner{align-items:center;gap:18px;max-width:1440px;height:66px;margin:0 auto;padding:0 22px;display:flex;position:relative}.logo{align-items:center;display:flex}.logo-lockup{align-items:center;gap:10px;display:inline-flex}.logo-mark{filter:drop-shadow(0 6px 10px #7c6cf047);flex:none;transition:transform .2s}.logo:hover .logo-mark{transform:rotate(-6deg)scale(1.06)}.logo-word{font-family:var(--font-head);letter-spacing:-.5px;background:linear-gradient(100deg,#7c6cf0 0%,#a06ff0 45%,#ef7fb0 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:25px;font-weight:800;line-height:1}.logo-word-k{color:#0000}.nav-links{align-items:center;gap:6px;margin:0 auto;display:flex}.nav-links a{color:var(--ink-soft);border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-weight:700;transition:all .15s;display:flex}.nav-links a:hover{background:var(--brand-soft);color:var(--brand)}.nav-links a.active{color:#4f8a3a;background:#d8f0c4}.nav-home{font-size:18px}.nav-user{align-items:center;gap:10px;font-weight:700;display:flex}.avatar{width:34px;height:34px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#ffd3e0,#c7d0ff);border-radius:50%;place-items:center;font-size:17px;display:grid}.nav-user .logout{color:var(--muted);cursor:pointer;background:0 0;border:none;font-weight:600}.nav-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.nav-burger,.menu-only,.nav-home-label{display:none}.wrap{z-index:1;max-width:1360px;margin:0 auto;padding:40px 22px 340px;position:relative}.page-eyebrow{text-align:center;letter-spacing:3px;color:var(--page-ink,var(--muted));text-shadow:var(--page-ink-shadow,none);opacity:var(--page-ink-dim,1);font-size:13px;font-weight:800}.page-title{text-align:center;color:var(--page-ink,var(--ink));text-shadow:var(--page-ink-shadow,none);margin:6px 0 8px;font-size:clamp(30px,5vw,52px);font-weight:800}.page-sub{text-align:center;color:var(--page-ink,var(--ink-soft));text-shadow:var(--page-ink-shadow,none);opacity:var(--page-ink-dim,1);margin:0 0 34px;font-size:18px}.grid-2{grid-template-columns:repeat(2,1fr);gap:26px;display:grid}.act-card{--tilt:0deg;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);transform:rotate(var(--tilt));will-change:transform;gap:18px;padding:18px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;display:flex;position:relative}.c-task{--tilt:-1.4deg}.c-shad{--tilt:1.5deg}.c-math{--tilt:1.2deg}.c-type{--tilt:-1.6deg}.act-card:hover{z-index:2;animation:1.7s ease-in-out infinite card-bob;box-shadow:0 30px 55px -18px #5046a080}@keyframes card-bob{0%,to{transform:translateY(-7px)rotate(0)scale(1.015)}50%{transform:translateY(-14px)rotate(0)scale(1.015)}}@media (prefers-reduced-motion:reduce){.act-card:hover{animation:none;transform:translateY(-6px)rotate(0)}.q-card.wrong{animation:none}}.act-thumb{background:var(--brand-soft);border-radius:20px;flex:0 0 190px;height:190px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #7c6cf00f}.thumb-img{object-fit:cover;transition:transform .3s}.act-card:hover .thumb-img{transform:scale(1.05)}.act-body{flex-direction:column;flex:1;display:flex}.act-body h3{margin:6px 0 2px;font-size:26px}.act-body .tag{color:var(--ink-soft);margin-bottom:8px;font-weight:700}.act-body p{color:var(--ink-soft);flex:1;margin:0;line-height:1.55}.act-cta{color:var(--amber);align-self:flex-end;margin-top:10px;font-weight:800}.act-card .tape{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#ffffff8c;border-radius:5px;width:68px;height:22px;position:absolute;top:-9px;left:34px;transform:rotate(-5deg);box-shadow:0 2px 6px #00000012}.c-task .tape{background:#f2b23c80;transform:rotate(-6deg)}.c-shad .tape{background:#5aa9e680;transform:rotate(4deg)}.c-math .tape{background:#6bbf8a80;transform:rotate(5deg)}.c-type .tape{background:#7c6cf073;transform:rotate(-4deg)}.c-task h3{color:#b8862f}.c-shad h3,.c-shad .act-cta{color:var(--brand)}.c-math h3,.c-math .act-cta{color:#4f8a3a}.c-type h3,.c-type .act-cta{color:var(--brand)}.c-en{--tilt:1.5deg}.c-zh{--tilt:-1.3deg}.c-vi{--tilt:1.4deg}.c-en .tape{background:#5aa9e680;transform:rotate(4deg)}.c-zh .tape{background:#f2795f73;transform:rotate(-5deg)}.c-vi .tape{background:#ef7fb073;transform:rotate(5deg)}.c-en h3,.c-en .act-cta{color:var(--blue)}.c-zh h3,.c-zh .act-cta{color:var(--red)}.c-vi h3,.c-vi .act-cta{color:var(--pink)}.c-zh .act-thumb.emoji{background:linear-gradient(160deg, var(--red-soft), #ffd9cf)}.c-vi .act-thumb.emoji{background:linear-gradient(160deg, var(--pink-soft), #fbd6e8)}.act-thumb.emoji{place-items:center;display:grid}.act-thumb .thumb-glyph{filter:drop-shadow(0 6px 10px #5046a02e);font-size:92px;line-height:1}.pick-grid{grid-template-columns:repeat(2,1fr);gap:26px;max-width:940px;margin:26px auto 0;display:grid}.pick-grid.one{grid-template-columns:1fr;max-width:460px}.pick-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:var(--ink);will-change:transform;flex-direction:column;padding:16px;text-decoration:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;display:flex;position:relative}a.pick-card:hover{z-index:2;transform:translateY(-6px);box-shadow:0 30px 55px -18px #5046a080}.pick-thumb{aspect-ratio:16/10;border-radius:22px;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #7c6cf00f}.pick-thumb .pick-glyph{filter:drop-shadow(0 8px 12px #5046a02e);font-size:clamp(52px,11vw,88px);line-height:1}.pick-thumb img{object-fit:cover;transition:transform .3s}a.pick-card:hover .pick-thumb img{transform:scale(1.04)}.pick-tape{z-index:3;background:#fff9;border-radius:5px;width:78px;height:22px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-4deg);box-shadow:0 2px 6px #00000012}.pick-body{flex-direction:column;flex:1;padding:16px 8px 6px;display:flex}.pick-body h3{color:var(--tone,var(--brand));margin:0 0 2px;font-size:28px}.pick-sub{color:var(--ink);margin:0 0 10px;font-weight:800}.pick-body p{color:var(--ink-soft);flex:1;margin:0;line-height:1.55}.pick-cta{color:var(--tone,var(--brand));align-self:flex-end;margin-top:14px;font-weight:800}.pick-card.soon{cursor:default}.soon-badge{z-index:3;font-family:var(--font-head);background:var(--amber-soft);color:#b8862f;box-shadow:var(--shadow-sm);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:800;position:absolute;top:12px;right:12px}.math-groups{max-width:1120px;margin:8px auto 0}.age-row{margin:30px 0 16px}.age-label{font-family:var(--font-head);color:var(--brand);background:var(--card);border:2px solid var(--line);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:8px;padding:7px 18px;font-size:18px;font-weight:800;display:inline-flex}.game-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.game-tile{background:var(--card);box-shadow:var(--shadow);color:var(--ink);will-change:transform;border-radius:26px;flex-direction:column;align-items:center;padding:14px;text-decoration:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;display:flex;position:relative}a.game-tile:hover{z-index:2;transform:translateY(-6px);box-shadow:0 26px 48px -18px #5046a080}.game-thumb{aspect-ratio:4/3;border-radius:20px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #7c6cf00f}.game-thumb img{object-fit:cover;transition:transform .3s}a.game-tile:hover .game-thumb img{transform:scale(1.05)}.game-thumb .game-glyph{filter:drop-shadow(0 6px 10px #5046a029);font-size:clamp(40px,7vw,60px);line-height:1}.game-title{font-family:var(--font-head);color:var(--tone,var(--ink));text-align:center;margin-top:12px;margin-bottom:4px;font-size:19px;font-weight:800}.game-tile.soon{cursor:default}.game-tile.soon .game-thumb{opacity:.78}.math-foot{text-align:center;color:var(--ink-soft);margin-top:36px;font-weight:700}.soon-bar{background:var(--amber-soft);border-radius:var(--radius);color:#b8862f;max-width:1120px;font-weight:800;font-family:var(--font-head);border:2px solid #f2b23c59;justify-content:space-between;align-items:center;gap:14px;margin:14px auto 0;padding:16px 24px;display:flex}.soon-bar .plus{font-size:26px;line-height:1}.panel{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:30px}.section-label{letter-spacing:2px;color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:800}.btn{font-family:var(--font-head);cursor:pointer;color:#fff;background:linear-gradient(180deg, #8a7bf5, var(--brand));border:none;border-radius:18px;padding:16px 26px;font-size:20px;font-weight:700;transition:all .15s;box-shadow:0 12px 24px -10px #7c6cf0cc}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-block{width:100%}.chip{border:2px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:16px;padding:12px 20px;font-size:16px;font-weight:800;transition:all .15s}.chip:hover{border-color:#cfc9f5}.chip.on{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.pill{color:var(--ink-soft);cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;border:none;border-radius:999px;padding:8px 16px;font-weight:800}.pill.on{color:#4f8a3a;background:#d8f0c4}.opt-row{flex-wrap:wrap;gap:12px;margin-bottom:22px;display:flex}.opt-tile{border:2px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:18px;flex:1 1 0;min-width:120px;padding:16px;transition:all .15s}.opt-tile:hover{border-color:#cfc9f5}.opt-tile.on{border-color:var(--brand);background:var(--brand-soft)}.opt-tile .big{font-size:26px;font-weight:800}.opt-tile .t{font-weight:800}.opt-tile .d{color:var(--ink-soft);margin-top:2px;font-size:14px}.op-plus.on{border-color:var(--green);background:var(--green-soft);color:#3f8a5a}.op-minus.on{border-color:var(--red);background:var(--red-soft);color:#cf5a42}.play-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px;display:flex}.q-grid{grid-template-columns:repeat(2,1fr);gap:16px;max-width:900px;margin:0 auto;display:grid}.q-card{box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;border:2px solid #0000;border-radius:22px;align-items:center;gap:16px;padding:18px 22px;display:flex}.q-card.sel{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.q-badge{color:#fff;background:var(--red);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:grid}.q-badge.done{background:var(--green)}.q-expr{font-family:var(--font-head);text-align:center;color:var(--ink);flex:1;font-size:26px;font-weight:800}.q-expr .op-add{color:var(--green)}.q-expr .op-sub{color:var(--red)}.q-expr .op-mul{color:var(--brand)}.q-expr .op-div{color:var(--blue)}.q-ans{min-width:70px;height:48px;font-family:var(--font-head);background:#f7f6ff;border:2px dashed #cfc9f5;border-radius:12px;place-items:center;padding:0 8px;font-size:24px;font-weight:800;display:grid}.q-card.sel .q-ans{border-style:solid;border-color:var(--brand)}.q-card.correct .q-ans{background:var(--green-soft);border-color:var(--green);color:#3f8a5a;border-style:solid}.q-card.wrong .q-ans{background:var(--red-soft);border-color:var(--red);color:#cf5a42;border-style:solid}.q-card.wrong{animation:.4s q-shake}@keyframes q-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.pad{box-shadow:var(--shadow);z-index:20;background:#fff;border-radius:24px;grid-template-columns:repeat(3,104px);gap:10px;padding:14px;display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.pad button{height:52px;font-family:var(--font-head);color:var(--ink);cursor:pointer;background:#f4f3ff;border:none;border-radius:14px;font-size:26px;font-weight:800;transition:all .1s}.pad button:hover{background:var(--brand-soft)}.pad button:active{transform:scale(.95)}.pad .del{background:var(--red-soft);color:var(--red)}.pad .ok{background:linear-gradient(180deg,#8a7bf5,var(--brand));color:#fff}.pad-close{display:none}.lib-tabs{align-items:baseline;gap:20px;margin-bottom:4px;display:flex}.lib-tabs .t{font-family:var(--font-head);color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:30px;font-weight:800}.lib-tabs .t.on{color:var(--ink);border-bottom:3px solid var(--green);padding-bottom:4px}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;display:flex}.filter-row .lbl{color:var(--ink-soft);margin-right:4px;font-weight:800}.vid-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.vid{box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;border-radius:18px;transition:all .15s;overflow:hidden}.vid:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.vid .thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#ffe08a,#ffd15c);place-items:center;display:grid;position:relative;overflow:hidden}.vid .thumb-emoji{font-size:60px;line-height:1}.vid .thumb-photo{object-fit:cover;width:100%;height:100%;transition:opacity .2s;position:absolute;inset:0}.vid .lvl{color:#fff;background:#6bbf8a;border-radius:8px;padding:3px 9px;font-size:12px;font-weight:800;position:absolute;top:8px;left:8px}.vid .lvl.mid{background:var(--amber)}.vid .lvl.hard{background:var(--red)}.vid .lvl.l1{background:var(--blue)}.vid .lvl.l2{background:var(--brand)}.vid .lvl.kelly{background:var(--pink)}.vid .lvl.ft1{background:#3fb6a8}.vid .lvl.ft2{background:#9a6dd7}.vid .dur{color:#fff;background:#0009;border-radius:8px;padding:2px 8px;font-size:12px;font-weight:700;position:absolute;bottom:8px;right:8px}.vid .meta{padding:12px 14px 16px}.vid .meta h4{color:var(--ink);margin:0 0 8px;font-size:15px;font-weight:800;line-height:1.35}.vid .badges{flex-wrap:wrap;gap:6px;display:flex}.vid .badges span{background:var(--brand-soft);color:var(--brand);border-radius:8px;padding:3px 9px;font-size:12px;font-weight:700}.vid .badges .cnt{background:var(--green-soft);color:var(--green)}.vid .badges .done{background:var(--green);color:#fff}.vid{text-decoration:none;display:block}.vid-prog{margin-top:10px}.vid-prog-track{background:var(--brand-soft);border-radius:999px;height:8px;overflow:hidden}.vid-prog-fill{background:var(--brand);border-radius:999px;height:100%;transition:width .3s;display:block}.vid-prog-fill.done{background:var(--green)}.vid-prog-txt{color:var(--ink-soft);margin-top:5px;font-size:12px;font-weight:700;display:block}.lib-tab-count{background:var(--green);color:#fff;min-width:22px;height:22px;font-family:var(--font-body);vertical-align:middle;border-radius:999px;place-items:center;margin-left:8px;padding:0 6px;font-size:13px;font-weight:800;display:inline-grid}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:34px;display:flex}.pager button{border:2px solid var(--line);min-width:44px;height:44px;font-family:var(--font-head);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;padding:0 14px;font-size:15px;font-weight:800;transition:background .15s,color .15s,border-color .15s,transform .15s}.pager-num{padding:0}.pager button:hover:not(:disabled){border-color:var(--brand-soft);background:var(--brand-soft);color:var(--brand)}.pager button:disabled{opacity:.45;cursor:not-allowed}.pager-num.on{background:linear-gradient(100deg, var(--brand) 0%, #a06ff0 100%);color:#fff;box-shadow:var(--shadow-sm);border-color:#0000}.pager-num.on:hover{background:linear-gradient(100deg, var(--brand) 0%, #a06ff0 100%);color:#fff}.lang-tabs{border:2px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;gap:6px;margin-bottom:16px;padding:5px;display:inline-flex}.lang-tab{cursor:pointer;font-family:var(--font-head);color:var(--muted);background:0 0;border:none;border-radius:999px;align-items:center;gap:7px;min-height:44px;padding:9px 20px;font-size:15px;font-weight:800;transition:all .15s;display:inline-flex}.lang-tab .flag{font-size:18px}.lang-tab.on{background:linear-gradient(100deg, var(--brand) 0%, #a06ff0 100%);color:#fff;box-shadow:var(--shadow-sm)}.vid-search{align-items:center;max-width:560px;margin:0 0 18px;display:flex;position:relative}.vid-search-ico{pointer-events:none;opacity:.7;font-size:18px;position:absolute;left:16px}.vid-search-input{border:2px solid var(--line);background:var(--card);width:100%;font-family:var(--font-body);color:var(--ink);border-radius:999px;min-height:48px;padding:13px 44px 13px 46px;font-size:16px;transition:border-color .15s,box-shadow .15s}.vid-search-input::placeholder{color:var(--muted)}.vid-search-input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft);outline:none}.vid-search-input::-webkit-search-cancel-button{display:none}.vid-search-clear{background:var(--brand-soft);width:34px;height:34px;color:var(--brand-dark);cursor:pointer;border:none;border-radius:50%;place-items:center;font-size:14px;font-weight:800;transition:background .15s;display:grid;position:absolute;right:8px}.vid-search-clear:hover{background:#e3ddff}.sh-top{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px;display:flex}.sh-back{background:var(--brand-soft);color:var(--brand-dark);box-shadow:none;border-radius:999px;flex:none;align-items:center;gap:6px;padding:9px 18px;font-size:15px;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex}.sh-back:hover{box-shadow:var(--shadow-sm);background:#e3ddff;transform:translate(-3px)}.sh-back .arw{font-size:18px;line-height:1;transition:transform .15s}.sh-back:hover .arw{transform:translate(-2px)}.sh-title{min-width:0;margin:0;font-size:clamp(20px,2.4vw,28px);line-height:1.25}.sh-ctl-speed{margin-left:auto}.sh-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:20px;margin-bottom:16px;display:flex}.sh-ctl{align-items:center;gap:8px;display:flex}.sh-ctl .lbl{color:var(--ink-soft);font-size:14px;font-weight:800}.sh-select{font-family:var(--font-head);color:var(--ink);border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;min-height:40px;padding:8px 12px;font-weight:800}.pill.sm{min-height:40px;padding:7px 14px;font-size:13px}.sh-detail{grid-template-columns:1.1fr 1fr;align-items:start;gap:22px;display:grid}.sh-detail.size-sm{grid-template-columns:.85fr 1.15fr}.sh-detail.size-lg{grid-template-columns:1.5fr 1fr}.sh-video-col{position:sticky;top:90px}.sh-video{aspect-ratio:16/9;border-radius:var(--radius);width:100%;box-shadow:var(--shadow);background:#1a1830;position:relative;overflow:hidden}.sh-video>div,.sh-video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.sh-poster{cursor:pointer;background:#1a1830;border:0;place-items:center;width:100%;height:100%;margin:0;padding:0;display:grid;position:absolute;inset:0;overflow:hidden}.sh-poster-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.sh-poster:after{content:"";background:radial-gradient(circle,#0000001f,#0000006b);position:absolute;inset:0}.sh-play{z-index:1;background:#7c6cf0f0;border-radius:50%;place-items:center;width:76px;height:76px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),background .15s;display:grid;position:relative;box-shadow:0 10px 26px #00000059}.sh-poster:hover .sh-play,.sh-poster:focus-visible .sh-play{background:var(--brand);transform:scale(1.1)}.sh-play-tri{border:15px solid #0000;border-left:25px solid #fff;border-right-width:0;width:0;height:0;margin-left:6px}@media (prefers-reduced-motion:reduce){.sh-play{transition:background .15s}.sh-poster:hover .sh-play{transform:none}}.sh-hint{color:var(--ink-soft);margin:12px 4px 0;font-size:13px}.sh-scriptbox{background:var(--card);border:2px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;max-height:calc(100vh - 150px);display:flex;overflow:hidden}.sh-script-head{border-bottom:2px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:16px 20px;display:flex}.sh-script-head strong{font-family:var(--font-head);color:var(--ink)}.sh-toggles{flex-wrap:wrap;gap:16px;display:flex}.sh-check{color:var(--ink-soft);cursor:pointer;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.sh-check input{width:16px;height:16px;accent-color:var(--green)}.sh-list{flex:1;padding:8px;position:relative;overflow-y:auto}.sh-seg{cursor:pointer;border:2px solid #0000;border-radius:16px;padding:12px 14px;transition:background .15s,border-color .15s}.sh-seg+.sh-seg{margin-top:2px}.sh-seg:hover{background:#f6f5fc}.sh-seg.on{background:var(--green-soft);border-color:var(--green)}.sh-seg-main{align-items:baseline;gap:12px;display:flex}.sh-time{font-family:var(--font-head);color:var(--muted);flex:none;min-width:38px;font-size:13px;font-weight:800}.sh-text{color:var(--ink);font-weight:700;line-height:1.4}.sh-seg.on .sh-text{color:var(--brand-dark)}.sh-text.has-ruby{font-size:20px;line-height:2}.sh-text.has-ruby ruby{ruby-align:center;margin:0 1px}.sh-text.has-ruby rt{font-family:var(--font-body);color:var(--brand);letter-spacing:-.2px;-webkit-user-select:none;user-select:none;font-size:.56em;font-weight:700}.sh-seg.on .sh-text.has-ruby rt{color:var(--brand-dark)}@media (max-width:720px){.sh-text.has-ruby{font-size:18px}}.sh-expl{margin:8px 0 0 50px}.sh-tr{color:var(--ink-soft);margin:0;font-size:14px}.sh-tr b{color:var(--green)}.sh-words{color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:4px;font-size:13px;display:flex}.sh-words b{color:var(--ink)}.sh-word i{color:var(--muted);font-style:italic}.task-hero{color:#fff;box-shadow:var(--shadow);background:linear-gradient(120deg,#f7b0cf,#e97fb0);border-radius:20px;margin-bottom:22px;padding:20px 24px}.task-hero .bar{background:#ffffff59;border-radius:999px;height:12px;margin-top:12px;overflow:hidden}.task-hero .bar>i{background:linear-gradient(90deg,#ffe08a,#ffd15c);height:100%;transition:width .4s;display:block}.task-cols{grid-template-columns:1.7fr 1fr;gap:22px;display:grid}.task-item{background:#f6f5fc;border-radius:16px;align-items:center;gap:14px;margin-bottom:12px;padding:14px 16px;transition:all .15s;display:flex}.task-item.done{background:var(--green-soft)}.task-item .ic{width:44px;height:44px;box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;flex:none;place-items:center;font-size:20px;display:grid}.task-item .txt{flex:1}.task-item .txt .name{color:var(--ink);font-weight:800}.task-item.done .txt .name{color:var(--ink-soft);text-decoration:line-through}.task-item .txt .sub{color:var(--muted);font-size:13px}.task-item .check{color:#fff;cursor:pointer;background:#e6e5f2;border:none;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;font-size:22px;transition:all .15s;display:grid}.task-item.done .check{background:var(--green)}.buddy{box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:20px}.buddy .energy{background:var(--line);border-radius:999px;height:10px;margin-top:6px;overflow:hidden}.buddy .energy>i{background:linear-gradient(90deg,var(--pink),var(--brand));height:100%;transition:width .4s;display:block}.theme-scene{z-index:-1;pointer-events:none;background-position:bottom;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}.theme-scene:after{content:"";background:linear-gradient(#1410360f,#14103629);position:absolute;inset:0}.theme-scene.root{z-index:0}.ambient-layer{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-layer>i{will-change:transform, opacity}.task-top.on-dark{text-shadow:0 1px 2px #141036e6,0 2px 14px #141036b3}.theme-buddy{z-index:8;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;filter:drop-shadow(0 10px 14px #14103647);width:clamp(84px,12vw,128px);height:clamp(84px,12vw,128px);position:fixed;top:0;left:0}.buddy-frame-layer{background-position:bottom;background-repeat:no-repeat;background-size:contain;position:absolute;inset:0}.buddy-emoji{place-items:center;width:100%;height:100%;font-size:clamp(56px,8vw,84px);line-height:1;animation:2.4s ease-in-out infinite buddy-bob;display:grid}.buddy-emoji.cheer{animation:.6s ease-in-out infinite buddy-bob}@keyframes buddy-frame{0%,25%{opacity:1}25.01%,to{opacity:0}}@keyframes buddy-bob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-8px)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.buddy-emoji,.buddy-emoji.cheer{animation:none}.buddy-frame-layer{animation:none!important}}.bd-svg{width:100%;height:100%;display:block;overflow:visible}.bd-float,.bd-blink,.bd-sway,.bd-spin,.bd-flicker{transform-box:view-box}.bd-float{animation:2.8s ease-in-out infinite bd-float}.bd-svg.cheer .bd-float{animation:.6s ease-in-out infinite bd-cheer}.bd-blink{animation:4.2s ease-in-out infinite bd-blink}.bd-sway{animation:2.4s ease-in-out infinite bd-sway-a}.bd-sway-b{animation-name:bd-sway-b}.bd-spin{animation:16s linear infinite bd-spin}.bd-fast{animation-duration:1.3s}.bd-flicker{animation:.5s ease-in-out infinite bd-flicker}.bd-svg.cheer .bd-sway{animation-duration:1.1s}@keyframes bd-float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-6px)rotate(2deg)}}@keyframes bd-cheer{0%,to{transform:translateY(0)scale(1)}30%{transform:translateY(-13px)scale(.93,1.08)}60%{transform:translateY(0)scale(1.07,.93)}}@keyframes bd-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.08)}}@keyframes bd-sway-a{0%,to{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes bd-sway-b{0%,to{transform:rotate(9deg)}50%{transform:rotate(-9deg)}}@keyframes bd-spin{to{transform:rotate(360deg)}}@keyframes bd-flicker{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.7;transform:scaleY(.72)}}@media (prefers-reduced-motion:reduce){.bd-float,.bd-blink,.bd-sway,.bd-spin,.bd-flicker{animation:none!important}}.task-top-actions{align-items:center;gap:10px;display:flex}.world-picker{position:relative}.world-avatar{width:52px;height:52px;box-shadow:var(--shadow-sm);cursor:pointer;background-position:50%;background-size:cover;border:3px solid #fff;border-radius:50%;place-items:center;padding:0;transition:transform .15s cubic-bezier(.34,1.56,.64,1);display:grid;position:relative;overflow:hidden}.world-avatar:before{content:"";background:radial-gradient(circle at 50% 60%,#14103647,#0000 70%);position:absolute;inset:0}.world-avatar:hover{transform:translateY(-2px)scale(1.05)}.world-avatar-emoji{filter:drop-shadow(0 1px 2px #00000073);font-size:24px;line-height:1;position:relative}.world-menu{z-index:40;background:var(--card);border:2px solid var(--line);border-radius:var(--radius-lg);width:min(92vw,470px);box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;animation:.18s cubic-bezier(.34,1.56,.64,1) result-pop;display:grid;position:absolute;top:calc(100% + 10px);right:0}.world-card{cursor:pointer;text-align:center;background:0 0;border:none;flex-direction:column;gap:6px;padding:0;display:flex}.world-thumb{aspect-ratio:16/11;border:2px solid var(--line);background-position:50%;background-size:cover;border-radius:14px;place-items:center;transition:all .15s;display:grid;position:relative;overflow:hidden}.world-card:hover .world-thumb{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.world-card.on .world-thumb{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.world-thumb-emoji{filter:drop-shadow(0 2px 3px #00000059);font-size:34px;line-height:1}.world-check{background:var(--brand);color:#fff;width:22px;height:22px;box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;font-size:13px;font-weight:900;display:grid;position:absolute;top:6px;left:6px}.world-card-label{font-family:var(--font-head);color:var(--ink);font-size:14px;font-weight:800}@media (max-width:520px){.world-menu{gap:10px;width:min(94vw,380px);padding:12px}.world-thumb-emoji{font-size:26px}.world-card-label{font-size:12px}.world-avatar{width:46px;height:46px}}@media (prefers-reduced-motion:reduce){.world-menu{animation:none}.world-avatar:hover{transform:none}}.type-target{font-family:var(--font-head);letter-spacing:2px;text-align:center;margin:30px 0;font-size:clamp(28px,5vw,46px);font-weight:800;line-height:1.6}.type-target .c{color:var(--muted)}.type-target .c.done{color:var(--green)}.type-target .c.cur{color:var(--brand);background:var(--brand-soft);border-radius:6px;padding:0 2px}.type-target .c.bad{color:#fff;background:var(--red);border-radius:6px}.type-input{border:2px solid var(--line);width:100%;max-width:560px;font-family:var(--font-body);text-align:center;border-radius:16px;margin:0 auto;padding:16px;font-size:20px;display:block}.type-stats{justify-content:center;gap:30px;margin:22px 0;display:flex}.type-stats .s{text-align:center}.type-stats .s .n{font-family:var(--font-head);color:var(--brand);font-size:30px;font-weight:800}.type-stats .s .l{color:var(--ink-soft);font-size:14px;font-weight:700}.hintbox{background:var(--amber-soft);color:#9a6b12;border:2px solid #ffe0a3;border-radius:16px;margin:18px 0;padding:16px 20px;font-weight:700}.hintbox input{font-family:var(--font-body);border:none;border-radius:10px;margin-left:8px;padding:8px 12px}.modal-back{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#5a789673;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{box-shadow:var(--shadow);background:#fff;border-radius:26px;width:100%;max-width:480px;padding:30px;position:relative}.modal h3{margin:2px 0 18px;font-size:26px}.modal .x{cursor:pointer;background:#f1f0f8;border:none;border-radius:50%;width:34px;height:34px;font-size:18px;position:absolute;top:20px;right:20px}.field{border:2px solid var(--line);width:100%;font-family:var(--font-body);border-radius:14px;margin-bottom:18px;padding:14px;font-size:16px;display:block}.btn-ghost{color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand-soft);background:#fff}.btn-ghost:hover{background:var(--brand-soft)}.result-modal{text-align:center;max-width:420px;padding:34px 30px;animation:.32s cubic-bezier(.2,.9,.3,1.3) result-pop}@keyframes result-pop{0%{opacity:0;transform:translateY(12px)scale(.94)}to{opacity:1;transform:none}}.result-bot{filter:drop-shadow(0 8px 16px #7c6cf047);margin:-6px 0 6px;font-size:84px;line-height:1}.result-title{margin:4px 0 6px;font-size:30px}.result-score{font-family:var(--font-head);color:var(--brand);margin:4px 0 10px;font-size:62px;font-weight:800;line-height:1}.result-sub{color:var(--ink-soft);margin-bottom:24px;font-size:17px}.result-modal .btn{margin-bottom:12px}.result-link{width:100%;color:var(--ink-soft);font-family:var(--font-head);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:8px;font-size:17px;font-weight:800;display:block}.result-link:hover{color:var(--brand)}@media (prefers-reduced-motion:reduce){.result-modal{animation:none}}.world-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:22px;display:grid}.hidden{display:none!important}.toast{background:var(--ink);color:#fff;z-index:50;box-shadow:var(--shadow);opacity:0;pointer-events:none;border-radius:999px;padding:12px 22px;font-weight:800;transition:all .25s;position:fixed;bottom:110px;left:50%;transform:translate(-50%)}.toast.show{opacity:1;transform:translate(-50%)translateY(-6px)}@media (max-width:900px){.task-cols{grid-template-columns:1fr}.vid-grid{grid-template-columns:repeat(2,1fr)}.game-grid{grid-template-columns:repeat(3,1fr);gap:16px}.act-thumb .thumb-glyph{font-size:64px}.wrap{padding:32px 18px 320px}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px}.act-card{--tilt:0deg;text-align:center;border-radius:24px;flex-direction:column;gap:0;padding:14px}.act-thumb{aspect-ratio:1;border-radius:18px;flex:none;width:100%;height:auto}.act-body{align-items:center}.act-body h3{margin:12px 0 2px}.act-body .act-cta{align-self:center}.act-card .tape{left:50%;transform:translate(-50%)rotate(-4deg)}.act-card:hover{animation:none;transform:rotate(0)}.act-card:active{transform:translateY(-2px)scale(.99)}.wrap.sh-page{flex-direction:column;height:calc(100dvh - 67px);padding:12px 16px 0;display:flex;overflow:hidden}.sh-page .sh-top{flex-wrap:nowrap;gap:10px;margin-bottom:10px}.sh-page .sh-back{padding:9px 12px}.sh-page .sh-back-label{display:none}.sh-page .sh-title{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:18px;overflow:hidden}.sh-page .sh-ctl-speed{flex:none;gap:0;margin-left:0}.sh-page .sh-ctl-speed .lbl{display:none}.sh-page .sh-select{min-height:38px;padding:6px 10px}.sh-page .sh-controls{display:none}.sh-detail,.sh-detail.size-sm,.sh-detail.size-lg{flex-direction:column;flex:1;align-items:stretch;gap:12px;min-height:0;display:flex}.sh-video-col{flex:none;position:static;top:auto}.sh-hint{display:none}.sh-scriptbox{flex:auto;min-height:0;max-height:none}.sh-list{flex:1;max-height:none}}@media (max-width:820px){.nav-inner{gap:10px;padding:0 14px}.nav-links{border:1px solid var(--line);min-width:210px;box-shadow:var(--shadow);z-index:40;background:#fffffffa;border-radius:18px;flex-direction:column;align-items:stretch;gap:4px;margin:0;padding:8px;display:none;position:absolute;top:calc(100% + 8px);left:auto;right:12px}.nav-links.open{display:flex}.nav-links a,.nav-links .logout{text-align:left;border-radius:12px;justify-content:flex-start;width:100%;padding:12px 14px;font-size:16px}.menu-only{color:var(--red);display:block}.nav-home-label{display:inline}.nav-user{gap:8px;margin-left:auto}.nav-user .inline-only{display:none}.nav-burger{background:var(--brand-soft);cursor:pointer;border:none;border-radius:12px;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0 10px;display:inline-flex}.nav-burger span{background:var(--brand);border-radius:3px;height:3px;transition:transform .22s,opacity .22s;display:block}.nav-burger.open span:first-child{transform:translateY(8px)rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0}.nav-burger.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}}@media (max-width:720px){.grid-2{grid-template-columns:repeat(2,1fr);gap:14px}.pick-grid,.pick-grid.one{grid-template-columns:1fr;gap:16px;max-width:460px}.pick-body h3{font-size:24px}.game-grid{grid-template-columns:repeat(2,1fr);gap:12px}.game-title{font-size:16px}.age-label{padding:6px 14px;font-size:16px}.soon-bar{padding:14px 18px;font-size:14px}.act-card{--tilt:0deg;text-align:center;border-radius:22px;flex-direction:column;gap:0;padding:10px}.act-thumb{aspect-ratio:1;border-radius:16px;flex:none;width:100%;height:auto}.act-body{align-items:center}.act-body h3{margin:10px 0 2px;font-size:18px}.act-body .tag{margin-bottom:0;font-size:12.5px;line-height:1.35}.act-body p,.act-cta{display:none}.act-card .tape{left:50%;transform:translate(-50%)rotate(-4deg)}.act-card:hover{animation:none;transform:rotate(0)}.act-card:active{transform:translateY(-2px)scale(.99)}.wrap{padding:24px 16px 96px}.q-grid{grid-template-columns:1fr}.wrap.pad-space{padding-bottom:380px}.pad{width:100%;max-width:440px;padding:8px 16px calc(16px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;grid-template-columns:repeat(3,1fr);margin:0 auto;transition:transform .28s;bottom:0;left:0;right:0;transform:translateY(115%)}.pad button{height:58px;font-size:26px}.pad.open{transform:translateY(0)}.pad-close{height:26px;box-shadow:none;background:0 0;grid-column:1/-1;place-items:center;padding:0;display:grid}.pad-close:hover{background:0 0}.pad-handle{background:#d8d4f2;border-radius:3px;width:44px;height:5px;display:block}.page-title{font-size:27px}.page-sub{margin-bottom:22px;font-size:15px}.page-eyebrow{font-size:12px}.vid-grid{grid-template-columns:1fr;gap:14px}.type-stats{gap:18px}.type-stats .s .n,.lib-tabs .t{font-size:24px}.modal{padding:22px}.sh-controls{gap:12px 20px}.sh-expl{margin-left:0}.sh-script-head{padding:12px 16px}.lang-tab{padding:9px 16px;font-size:14px}}@media (max-width:380px){.grid-2{gap:10px}.act-body h3{font-size:16px}.nav-user-name{max-width:82px}.pad{padding:8px 12px calc(12px + env(safe-area-inset-bottom));gap:8px}.pad button{height:54px;font-size:24px}}.avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.nav-login{color:#fff;background:linear-gradient(100deg, var(--brand) 0%, #a06ff0 100%);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:800;transition:transform .15s,filter .15s;display:inline-flex}.nav-login:hover{filter:brightness(1.04);transform:translateY(-1px)}.login-wrap{place-items:center;min-height:70vh;padding-bottom:120px;display:grid}.login-card{z-index:1;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow);text-align:center;padding:40px 32px 32px;position:relative}.login-emoji{width:76px;height:76px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#ffd3e0,#c7d0ff);border-radius:50%;place-items:center;margin:0 auto 14px;font-size:40px;display:grid}.login-title{color:var(--ink);margin:0 0 8px;font-size:28px;font-weight:800}.login-sub{color:var(--ink-soft);margin:0 0 24px;font-size:15px;line-height:1.5}.login-error{background:var(--red-soft);color:var(--red);border-radius:14px;margin:0 0 16px;padding:10px 14px;font-size:14px;font-weight:700}.google-btn{cursor:pointer;width:100%;color:var(--ink);border:2px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;justify-content:center;align-items:center;gap:12px;padding:14px 20px;font-size:16px;font-weight:800;transition:transform .15s,border-color .15s;display:inline-flex}.google-btn:hover{border-color:#d9d7ee;transform:translateY(-1px)}.google-btn:active{transform:translateY(0)}.login-skip{color:var(--muted);margin:20px 0 0;font-size:14px}.login-skip-link{color:var(--brand);font-weight:700;text-decoration:underline}.play-gate-skip{cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-weight:700}.play-gate-loading{min-height:40vh}.task-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.edit-toggle{border:2px solid var(--line);font-family:var(--font-head);color:var(--ink-soft);cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;flex:none;padding:10px 16px;font-size:16px;font-weight:800;transition:all .15s}.edit-toggle:hover{border-color:#cfc9f5;transform:translateY(-2px)}.edit-toggle.on{background:var(--brand);color:#fff;border-color:var(--brand)}.child-switch{flex-wrap:wrap;gap:10px;margin:16px 0 8px;display:flex}.task-panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.task-panel-head .btn{flex:none;padding:12px 18px;font-size:15px}.task-item .task-edit,.task-item .task-del{cursor:pointer;border:none;border-radius:12px;flex:none;width:40px;height:40px;font-size:17px;transition:all .15s}.task-item .task-edit{background:var(--brand-soft)}.task-item .task-del{background:var(--red-soft)}.task-item .task-edit:hover,.task-item .task-del:hover{transform:translateY(-2px)}.empty-tasks{text-align:center;color:var(--ink-soft);padding:22px 10px;line-height:1.6}.profile-del{color:var(--red);box-shadow:inset 0 0 0 2px var(--red-soft);margin-top:10px}.profile-del:hover{background:var(--red-soft)}.gate-expr{font-family:var(--font-head);color:var(--brand);text-align:center;margin:6px 0 16px;font-size:40px;font-weight:800}.gate-input{text-align:center;font-family:var(--font-head);max-width:220px;margin:0 auto 18px;font-size:26px}.modal-wide{max-width:620px}.suggest-row{gap:10px;margin:0 -2px 6px;padding:4px 2px 12px;display:flex;overflow-x:auto}.suggest-row .chip{white-space:nowrap;flex:none;padding:10px 16px;font-size:15px}.lbl-row{justify-content:space-between;align-items:center;margin:6px 0;display:flex}.emoji-grid{grid-template-columns:repeat(8,1fr);gap:8px;margin-bottom:12px;display:grid}.emoji-tile{aspect-ratio:1;border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;place-items:center;font-size:22px;transition:all .15s;display:grid}.emoji-tile:hover{border-color:#cfc9f5}.emoji-tile.on{border-color:var(--brand);background:var(--brand-soft)}.star-cat-row{gap:16px;display:flex}.star-tiles{gap:8px;display:flex}.star-tile{border:2px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:14px;flex:1;padding:14px 6px;font-size:15px;transition:all .15s}.star-tile:hover{border-color:#ffd98a}.star-tile.on{border-color:var(--amber);background:var(--amber-soft)}@media (prefers-reduced-motion:reduce){.edit-toggle:hover,.task-item .task-edit:hover,.task-item .task-del:hover{transform:none}}@media (max-width:720px){.emoji-grid{grid-template-columns:repeat(6,1fr)}.star-cat-row{flex-direction:column;gap:8px}.task-panel-head{flex-direction:column}}.lt-wrap{max-width:980px}.lt-top{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:10px;display:grid}.lt-top .pill{white-space:nowrap;justify-self:start}.lt-title{text-align:center;font-family:var(--font-head);color:var(--ink);white-space:nowrap;margin:0;font-size:clamp(22px,3.4vw,32px);font-weight:800}.lt-replay{width:52px;height:52px;box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;border:none;border-radius:999px;justify-self:end;place-items:center;font-size:24px;transition:transform .15s cubic-bezier(.34,1.56,.64,1);display:grid}.lt-replay:hover{transform:translateY(-2px)}.lt-replay:active{transform:scale(.94)}.lt-replay:disabled{opacity:.5;cursor:default}.lt-stars{justify-content:center;gap:8px;margin:4px 0 22px;display:flex}.lt-star{color:var(--line);font-size:30px;line-height:1;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.lt-star.on{transform:scale(1.12)}.lt-prompt{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;align-items:center;gap:14px;padding:18px 22px;transition:border-color .15s,transform .15s;display:flex}.lt-prompt:hover{border-color:#d8d3f7;transform:translateY(-1px)}.lt-prompt-ic{flex:none;font-size:26px}.lt-prompt-body{flex-direction:column;gap:2px;min-width:0;display:flex}.lt-prompt-text{font-family:var(--font-head);color:var(--ink);font-size:clamp(20px,3vw,28px);font-weight:800}.lt-prompt-hint{font-family:var(--font-body);color:var(--muted);font-size:clamp(14px,2vw,17px);font-weight:700}.lt-zh .lt-title,.lt-zh .lt-prompt-text{font-family:Kaiti SC,STKaiti,Kaiti TC,KaiTi,楷体,楷体_GB2312,serif}.lt-zh .lt-prompt-text{letter-spacing:1px;font-size:clamp(24px,3.4vw,34px)}.lt-grid{gap:22px;margin-top:clamp(28px,8vh,90px);display:grid}.lt-grid.n2{grid-template-columns:repeat(2,1fr)}.lt-grid.n3{grid-template-columns:repeat(3,1fr)}.lt-grid.n4{grid-template-columns:repeat(2,1fr)}.lt-grid.with-label .lt-card{grid-template-rows:1fr auto;align-content:center;gap:6px;padding:7% 7% 5%}.ll-card-label{font-family:var(--font-head);color:var(--ink);text-align:center;font-size:clamp(16px,2.6vw,24px);font-weight:800;line-height:1.1}.lt-zh .ll-card-label{letter-spacing:1px;font-family:Kaiti SC,STKaiti,Kaiti TC,KaiTi,楷体,楷体_GB2312,serif}.ll-bar{align-items:center;gap:12px;margin:6px 0 22px;display:flex}.ll-bar-track{background:var(--brand-soft);border-radius:999px;flex:1;height:14px;overflow:hidden;box-shadow:inset 0 1px 2px #5a50b41f}.ll-bar-fill{background:linear-gradient(90deg, var(--brand), #9a8cff);border-radius:999px;height:100%;transition:width .35s cubic-bezier(.34,1.56,.64,1)}.ll-bar-count{font-family:var(--font-head);color:var(--ink-soft);white-space:nowrap;flex:none;font-size:17px;font-weight:800}.lt-zh .ll-bar-track{background:var(--red-soft)}.lt-zh .ll-bar-fill{background:linear-gradient(90deg, var(--red), #ff9a82)}.lt-card{aspect-ratio:1;border:3px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;place-items:center;padding:8%;transition:transform .15s cubic-bezier(.34,1.56,.64,1),border-color .15s,box-shadow .15s;display:grid}.lt-card:hover{box-shadow:var(--shadow);border-color:#d8d3f7;transform:translateY(-4px)}.lt-card:active{transform:scale(.97)}.lt-card:disabled{cursor:default}.lt-card.wrong{border-color:var(--red);background:var(--red-soft);animation:.4s q-shake}.lt-emoji{-webkit-user-select:none;user-select:none;font-size:clamp(78px,16vw,150px);line-height:1}img.lt-emoji{object-fit:contain;width:clamp(96px,18vw,168px);height:clamp(96px,18vw,168px)}.ll-lesson{flex-direction:column;min-height:calc(100dvh - 66px);padding-top:18px;padding-bottom:20px;display:flex}.ll-lesson .lt-grid{flex:auto;place-content:center;min-height:0;margin-top:clamp(10px,2vh,22px)}.ll-lesson .lt-grid.n2{--cap:52dvh}.ll-lesson .lt-grid.n3{--cap:40dvh}.ll-lesson .lt-grid.n4{--cap:30dvh}.ll-lesson .lt-card{width:min(100%, var(--cap,46dvh));height:auto;margin-inline:auto}.ll-lesson img.lt-emoji{width:64%;height:64%}.ll-lesson .lt-emoji{font-size:min(120px,26vmin)}.ll-lesson .lt-grid.with-label img.lt-emoji{width:54%;height:54%}.ll-lesson .ll-card-label{font-size:clamp(15px,2vw + 2px,22px)}.lt-result{text-align:center;max-width:420px}.lt-result-emoji{font-size:64px}.lt-result h2{font-family:var(--font-head);color:var(--ink);margin:6px 0 8px}.lt-result p{color:var(--ink-soft);max-width:320px;margin:0 auto 20px}.lt-result-actions{flex-direction:column;align-items:stretch;gap:8px;display:flex}.lt-result-actions .btn-ghost{box-shadow:none;color:var(--muted);font-family:var(--font-body);background:0 0;border-radius:999px;align-self:center;padding:8px 18px;font-size:15px;font-weight:700;transition:all .15s}.lt-result-actions .btn-ghost:hover{color:var(--brand);background:var(--brand-soft)}@media (max-width:720px){.lt-top{grid-template-columns:auto 1fr auto;gap:8px}.lt-title{font-size:20px}.lt-replay{width:46px;height:46px;font-size:20px}.lt-star{font-size:26px}.lt-grid{gap:14px;margin-top:26px}.ll-lesson .lt-grid.n3,.ll-lesson .lt-grid.n4{gap:12px}.lt-prompt{gap:10px;padding:14px 16px}.ll-bar-count{font-size:15px}}@media (max-width:380px){.lt-title{font-size:17px}.lt-emoji{font-size:64px}img.lt-emoji{width:84px;height:84px}}@media (prefers-reduced-motion:reduce){.lt-replay:hover,.lt-prompt:hover,.lt-card:hover{transform:none}.lt-card.wrong{animation:none}.lt-star,.lt-star.on,.ll-bar-fill{transition:none}}.rm-wrap{max-width:760px}.rm-wrap[data-ready="0"] .rm-path{opacity:.55}.rm-head{grid-template-columns:1fr;align-items:start;gap:14px;margin-bottom:8px;display:grid}.rm-back{justify-self:start}.rm-head-main{text-align:center}.rm-title{font-size:clamp(26px,4.6vw,44px)}.rm-head-main .page-sub{margin-top:4px}.rm-progress{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);z-index:3;gap:8px;padding:14px 18px;display:grid;position:sticky;top:12px}.rm-progress-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rm-progress-label{font-family:var(--font-head);color:var(--ink);font-weight:800}.rm-progress-num{font-family:var(--font-head);color:var(--amber);font-weight:800}.rm-progress-track{background:var(--line);border-radius:999px;height:12px;overflow:hidden}.rm-progress-fill{background:linear-gradient(90deg, var(--amber), #ffd07a);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.34,1.56,.64,1)}.rm-progress-now{color:var(--ink-soft);align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.rm-progress-now [aria-hidden]{font-size:18px}.rm-band-wrap{margin-top:26px}.rm-band{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:linear-gradient(135deg, var(--brand), var(--brand-dark));color:#fff;justify-content:center;align-items:center;gap:10px;padding:12px 22px;display:flex}.rm-review .rm-band{background:linear-gradient(135deg, #f6bf5a, var(--amber))}.rm-band-eyebrow{font-family:var(--font-head);letter-spacing:1.5px;opacity:.85;text-transform:uppercase;font-size:12px;font-weight:800}.rm-band-label{font-family:var(--font-head);align-items:center;gap:8px;font-size:clamp(19px,3vw,26px);font-weight:800;display:inline-flex}.rm-band-ic{object-fit:contain;width:30px;height:30px}.rm-band-ic:not(img){font-size:26px}.rm-path{margin:0;padding:14px 0 4px;list-style:none;position:relative}.rm-node{--off:78px;align-items:center;gap:14px;width:max-content;max-width:100%;padding:12px 0;display:flex;position:relative}.rm-node:nth-child(odd){margin-left:calc(50% - var(--off))}.rm-node:nth-child(2n){margin-left:calc(50% - var(--off));text-align:right;flex-direction:row-reverse}.rm-node:before{content:"";border-left:5px dashed var(--muted);opacity:.9;width:5px;height:30px;position:absolute;top:-16px;left:34px;transform:translate(-50%)}.rm-node:nth-child(2n):before{left:auto;right:34px;transform:translate(50%)}.rm-node:first-child:before{display:none}.rm-node.done+.rm-node:before{border-color:var(--green);opacity:1}.rm-node-link{align-items:center;gap:14px;text-decoration:none;transition:transform .15s cubic-bezier(.34,1.56,.64,1);display:flex}.rm-node:nth-child(2n) .rm-node-link{flex-direction:row-reverse}.rm-node-link:hover{transform:translateY(-3px)}.rm-node-disc{border:4px solid var(--line);width:72px;height:72px;box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;flex:none;place-items:center;display:grid}.rm-node-emoji{object-fit:contain;width:44px;height:44px}.rm-node-emoji:not(img){font-size:38px}.rm-node-lock{filter:grayscale();opacity:.7;font-size:30px}.rm-node-check{font-family:var(--font-head);color:#fff;font-size:34px;font-weight:800}.rm-node.done .rm-node-disc{background:var(--green);border-color:var(--green)}.rm-node.current .rm-node-disc{border-color:var(--brand);box-shadow:0 0 0 6px var(--brand-soft), var(--shadow-sm);animation:1.6s ease-in-out infinite rm-pulse}.rm-review .rm-node.current .rm-node-disc{border-color:var(--amber);box-shadow:0 0 0 6px var(--amber-soft), var(--shadow-sm)}.rm-node.locked{opacity:.82}.rm-node.locked .rm-node-disc{background:var(--brand-soft);border-color:var(--line)}.rm-node-cap{flex-direction:column;gap:2px;display:flex}.rm-node-name{font-family:var(--font-head);color:var(--ink);font-size:16px;font-weight:800}.rm-node-status{color:var(--muted);font-size:13px;font-weight:700}.rm-node.current .rm-node-status{color:var(--brand)}.rm-node.done .rm-node-status{color:var(--green)}@keyframes rm-pulse{0%,to{box-shadow:0 0 0 6px var(--brand-soft), var(--shadow-sm)}50%{box-shadow:0 0 0 11px var(--brand-soft), var(--shadow-sm)}}.rm-msg{place-items:center;min-height:50vh;display:grid}.rm-msg-card{text-align:center;justify-items:center;gap:10px;max-width:380px;display:grid}.rm-msg-emoji{font-size:54px}.rm-msg-card h2{font-family:var(--font-head);color:var(--ink);margin:0}.rm-msg-card p{color:var(--ink-soft);margin:0}.rm-msg-card .btn{margin-top:6px}@media (max-width:720px){.rm-node{--off:56px;gap:10px}.rm-node-disc{width:62px;height:62px}.rm-node-emoji{width:38px;height:38px}.rm-node:before,.rm-node:nth-child(2n):before{left:30px;right:auto;transform:translate(-50%)}.rm-node:nth-child(2n):before{left:auto;right:30px;transform:translate(50%)}.rm-band{padding:10px 16px}}@media (max-width:380px){.rm-node{--off:40px}.rm-node-name{font-size:14px}.rm-node-status{font-size:12px}}@media (prefers-reduced-motion:reduce){.rm-node-link:hover{transform:none}.rm-progress-fill{transition:none}.rm-node.current .rm-node-disc{animation:none}}.sort-wrap{max-width:980px}.sort-round{text-align:center;font-family:var(--font-head);color:var(--muted);letter-spacing:.5px;margin:-8px 0 4px;font-size:15px;font-weight:800}.sort-prompt{text-align:left;justify-content:center}.sort-cols{grid-template-columns:repeat(2,1fr);align-items:start;gap:clamp(18px,6vw,64px);max-width:720px;margin:clamp(22px,4vh,42px) auto 0;display:grid}.sort-col{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:14px;width:100%;padding:0;font-family:inherit;display:flex}.sort-cat{background:var(--card);border:2.5px solid var(--tone);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:3px;padding:11px 24px;transition:transform .15s cubic-bezier(.34,1.56,.64,1);display:flex}.sort-cat-emojis{gap:2px;display:flex}img.sort-cat-em{object-fit:contain;width:34px;height:34px}.sort-cat-label{font-family:var(--font-head);color:var(--ink);font-size:clamp(17px,2.4vw,22px);font-weight:800}.sort-drop{background:var(--soft);border-radius:999px;justify-content:center;align-items:center;width:100%;max-width:300px;height:clamp(210px,40vh,340px);transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s,background .15s;display:flex;position:relative}img.sort-basket{object-fit:contain;pointer-events:none;filter:drop-shadow(0 10px 16px #3c327829);width:clamp(120px,26vw,196px);height:auto}.sort-placed{flex-wrap:wrap;justify-content:center;gap:3px;width:84%;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}img.sort-placed-em{object-fit:contain;width:clamp(26px,5.5vw,34px);height:clamp(26px,5.5vw,34px);animation:.3s cubic-bezier(.2,.9,.3,1.3) result-pop}.sort-col.over .sort-cat{transform:translateY(-3px)}.sort-col.over .sort-drop{background:var(--soft);box-shadow:0 0 0 4px var(--tone), var(--shadow);transform:translateY(-2px)scale(1.03)}.sort-col.armed .sort-drop{box-shadow:0 0 0 4px var(--soft)}.sort-col.wrong .sort-drop{background:var(--red-soft);box-shadow:0 0 0 4px var(--red);animation:.4s q-shake}.sort-tray{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(10px,2.2vw,18px);min-height:92px;margin-top:clamp(22px,5vh,46px);display:flex}.sort-chip{background:var(--card);border:2px solid var(--line);width:clamp(64px,13vw,92px);height:clamp(64px,13vw,92px);box-shadow:var(--shadow-sm);cursor:grab;touch-action:none;border-radius:20px;place-items:center;transition:transform .15s cubic-bezier(.34,1.56,.64,1),border-color .15s,box-shadow .15s;display:grid}.sort-chip:hover{box-shadow:var(--shadow);border-color:#d8d3f7;transform:translateY(-3px)}.sort-chip:active{cursor:grabbing}.sort-chip.sel{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft), var(--shadow);transform:translateY(-4px)scale(1.05)}.sort-chip.dragging{opacity:.25}img.sort-chip-em{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:clamp(44px,9vw,62px);height:clamp(44px,9vw,62px)}.sort-tray-empty{color:var(--muted);font-family:var(--font-head);font-size:18px;font-weight:800}.sort-float{z-index:9998;pointer-events:none;filter:drop-shadow(0 10px 16px #3c32784d);position:fixed;transform:translate(-50%,-50%)scale(1.15)}.sort-float img.sort-chip-em{width:clamp(56px,11vw,76px);height:clamp(56px,11vw,76px)}@media (max-width:720px){.sort-cols{gap:16px}.sort-cat{padding:9px 14px}.sort-drop{height:clamp(170px,32vh,250px)}.sort-tray{margin-top:24px}}@media (max-width:380px){img.sort-cat-em{width:28px;height:28px}.sort-cat-label{font-size:16px}.sort-chip{border-radius:16px}}@media (prefers-reduced-motion:reduce){.sort-cat,.sort-drop,.sort-chip{transition:none}.sort-col.over .sort-cat,.sort-col.over .sort-drop,.sort-chip:hover,.sort-chip.sel{transform:none}.sort-col.wrong .sort-drop,img.sort-placed-em{animation:none}.sort-float{transform:translate(-50%,-50%)}}.cmp-card{padding:9%}.cmp-slot{justify-content:center;place-self:stretch stretch;align-items:center;width:100%;display:flex}.cmp-slot.base{align-items:flex-end}img.cmp-em{width:calc(clamp(52px, 13vw, 150px) * var(--k,1));object-fit:contain;-webkit-user-select:none;user-select:none;height:auto}.cmp-count{flex-wrap:wrap;place-content:center;place-self:stretch stretch;align-items:center;gap:clamp(5px,1.4vw,12px);width:100%;display:flex}img.cmp-count-em{object-fit:contain;-webkit-user-select:none;user-select:none;width:clamp(28px,7vw,60px);height:auto}@media (max-width:720px){.cmp-count{gap:5px}}@media (max-width:380px){img.cmp-count-em{width:clamp(26px,9vw,40px)}}.pat-strip{background:var(--card);border:2px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch;margin-top:clamp(28px,8vh,80px);padding:clamp(16px,3vw,26px) clamp(12px,3vw,26px);overflow-x:auto}.pat-seq{justify-content:center;align-items:center;gap:clamp(8px,2.4vw,26px);width:max-content;min-width:100%;margin:0 auto;display:flex}.pat-cell{flex:none;place-items:center;width:clamp(52px,11vw,96px);height:clamp(52px,11vw,96px);display:grid}img.pat-em{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%}.pat-q{border:3px dashed var(--brand);border-radius:var(--radius);background:var(--brand-soft);animation:1.4s ease-in-out infinite pat-pulse}.pat-q.filled{border-style:solid;border-color:var(--green);background:var(--green-soft);animation:.3s cubic-bezier(.34,1.56,.64,1) result-pop}.pat-qmark{font-family:var(--font-head);color:var(--brand);font-size:clamp(28px,6vw,52px);font-weight:800;line-height:1}@keyframes pat-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.pat-choices{margin-top:clamp(18px,3vh,34px)}@media (max-width:720px){.pat-strip{margin-top:26px;padding:12px 8px}.pat-seq{gap:6px}.pat-cell{width:clamp(38px,11.5vw,60px);height:clamp(38px,11.5vw,60px)}}@media (max-width:380px){.pat-seq{gap:5px}.pat-cell{width:clamp(34px,11vw,52px);height:clamp(34px,11vw,52px)}.pat-qmark{font-size:26px}}@media (prefers-reduced-motion:reduce){.pat-q,.pat-q.filled{animation:none}}.shp-svg{filter:drop-shadow(0 6px 10px #3b3a5a24);width:clamp(96px,22vw,200px);height:clamp(96px,22vw,200px);display:block}.lt-card.correct{border-color:var(--green);background:var(--green-soft)}@media (max-width:380px){.shp-svg{width:74px;height:74px}}.find-count{border:2px solid var(--line);width:fit-content;box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;align-items:center;gap:12px;margin:16px auto 0;padding:8px 18px 8px 10px;display:flex}.find-count-ic{place-items:center;width:36px;height:36px;display:grid}.find-count-ic .shp-svg{filter:none;width:30px;height:30px}.find-dots{gap:9px;display:inline-flex}.find-dot{background:var(--line);border-radius:999px;width:15px;height:15px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .15s}.find-dot.on{background:var(--green);transform:scale(1.14)}.find-board{background:var(--card);border:2px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-top:22px;padding:clamp(20px,4vw,40px)}.find-grid{grid-template-columns:repeat(3,1fr);place-items:center;gap:clamp(16px,3.4vw,36px);display:grid}.find-tile{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;place-items:center;width:100%;min-height:44px;padding:6px;transition:transform .15s cubic-bezier(.34,1.56,.64,1);display:grid;position:relative}.find-tile:hover{transform:translateY(-5px)}.find-tile:active{transform:scale(.94)}.find-tile:disabled{cursor:default}.find-tile:disabled:hover{transform:none}.find-tile .shp-svg{width:clamp(84px,20vw,150px);height:clamp(84px,20vw,150px)}.find-tile.wrong{animation:.4s q-shake}.find-tile.found .shp-svg{filter:drop-shadow(0 6px 12px #3b3a5a2e)saturate(1.06)}.find-check{pointer-events:none;filter:drop-shadow(0 2px 3px #3b3a5a4d);width:46%;height:46%;animation:.3s cubic-bezier(.34,1.56,.64,1) find-pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes find-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (max-width:720px){.find-grid{grid-template-columns:repeat(2,1fr)}.find-board{padding:20px 14px}.find-count{margin-top:14px}}@media (max-width:380px){.find-tile .shp-svg{width:72px;height:72px}.find-dot{width:13px;height:13px}}@media (prefers-reduced-motion:reduce){.find-tile:hover{transform:none}.find-tile.wrong,.find-check{animation:none}.find-dot{transition:none}}.count-stage{background:var(--card);border:2px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(12px,3vw,34px);min-height:clamp(140px,26vh,220px);margin-top:clamp(24px,6vh,60px);padding:clamp(20px,4vw,40px) clamp(16px,3vw,30px);display:flex}img.count-em{object-fit:contain;-webkit-user-select:none;user-select:none;width:clamp(44px,9vw,92px);height:auto;animation:.34s cubic-bezier(.34,1.56,.64,1) both count-pop}@keyframes count-pop{0%{transform:scale(0)}to{transform:scale(1)}}.count-pad{grid-template-columns:repeat(4,1fr);gap:clamp(10px,2vw,18px);margin-top:clamp(16px,3vh,26px);display:grid}.count-key{aspect-ratio:1;border:3px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;font-family:var(--font-head);color:var(--ink);background:#fff;place-items:center;font-size:clamp(34px,7vw,60px);font-weight:800;line-height:1;transition:transform .15s cubic-bezier(.34,1.56,.64,1),border-color .15s,box-shadow .15s,background .15s;display:grid}.count-key:hover{box-shadow:var(--shadow);border-color:#d8d3f7;transform:translateY(-4px)}.count-key:active{transform:scale(.95)}.count-key:disabled{cursor:default}.count-key.wrong{border-color:var(--red);background:var(--red-soft);color:var(--red);animation:.4s q-shake}.count-key.correct{border-color:var(--green);background:var(--green-soft);color:var(--green)}@media (max-width:720px){.count-stage{gap:10px;min-height:130px;margin-top:22px;padding:20px 14px}.count-pad{gap:8px}}@media (max-width:380px){.count-key{border-width:2px;font-size:30px}img.count-em{width:clamp(38px,12vw,60px)}}@media (prefers-reduced-motion:reduce){.count-key:hover{transform:none}.count-key.wrong,img.count-em{animation:none}}.ord-wrap{--bar-base:52px;--bar-unit:clamp(26px, 5.6vw, 44px);--bar-w:clamp(46px, 10vw, 60px);--big-base:46px;--big-unit:clamp(16px, 3.4vw, 30px);max-width:760px}.ord-prompt{text-align:left;justify-content:center}.ord-stage{border:2px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffff8c;margin-top:clamp(20px,4vh,40px);padding:clamp(22px,4vw,40px) clamp(14px,3vw,30px) clamp(16px,3vw,26px)}.ord-slots{justify-content:center;gap:clamp(14px,4vw,40px);display:flex}.kind-tall .ord-slots{align-items:flex-end}.kind-big .ord-slots{align-items:center}.kind-long .ord-slots{flex-direction:column;align-items:flex-start;gap:clamp(10px,2.4vw,18px);width:fit-content;margin:0 auto}.ord-slot{cursor:default;-webkit-tap-highlight-color:transparent;background:#7c6cf00d;border:2.5px dashed #cdc7ef;flex:none;padding:0;transition:border-color .15s,background .15s,transform .15s cubic-bezier(.34,1.56,.64,1);display:flex}.kind-tall .ord-slot,.kind-long .ord-slot{--sz:calc(var(--bar-base) + (var(--slot-lv) - 1) * var(--bar-unit));border-radius:999px}.kind-tall .ord-slot{width:var(--bar-w);height:var(--sz);justify-content:center;align-items:flex-end}.kind-long .ord-slot{height:var(--bar-w);width:var(--sz);justify-content:flex-start;align-items:center}.kind-big .ord-slot{--dia:calc(var(--big-base) + (var(--slot-lv) - 1) * var(--big-unit));width:var(--dia);height:var(--dia);border-radius:50%;justify-content:center;align-items:center}.ord-slot.armed{cursor:pointer}.ord-slot.armed:hover,.ord-slot.over{border-color:var(--brand);background:var(--brand-soft);transform:translateY(-3px)}.ord-slot.wrong{border-color:var(--red);background:var(--red-soft);animation:.4s q-shake}.ord-slot.filled{background:0 0;border-style:solid;border-color:#0000}.ord-guide{font-family:var(--font-head);color:var(--muted);letter-spacing:.5px;justify-content:center;align-items:center;gap:10px;margin-top:16px;font-size:clamp(13px,2.2vw,16px);font-weight:800;display:flex}.ord-guide-arrow{color:var(--brand);font-size:1.3em;line-height:1}.ord-tray{border:2px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-height:calc(var(--bar-base) + 40px);background:#ffffff8c;flex-wrap:wrap;justify-content:center;gap:clamp(14px,4vw,40px);margin-top:clamp(16px,3vh,26px);padding:clamp(18px,3vw,30px) clamp(14px,3vw,26px) clamp(16px,3vw,24px);display:flex}.ord-tray.kind-tall{align-items:flex-end}.ord-tray.kind-long,.ord-tray.kind-big{align-items:center}.ord-bar{cursor:grab;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;padding:0;transition:transform .15s cubic-bezier(.34,1.56,.64,1),filter .15s}.ord-bar:hover{transform:translateY(-4px)}.ord-bar:active{cursor:grabbing}.ord-bar.sel{filter:drop-shadow(0 0 0 3px var(--brand));transform:translateY(-6px)}.ord-bar.dragging{opacity:.35}.ord-tray-empty{font-family:var(--font-head);color:var(--green);align-self:center;font-size:clamp(18px,3vw,24px);font-weight:800}.ord-bar-shape{background:linear-gradient(180deg, var(--top), var(--bottom));-webkit-user-select:none;user-select:none;display:block;box-shadow:inset 0 5px 8px #ffffff8c,inset 0 -7px 12px #00000024,0 6px 14px #3b3a5a2e}.ord-bar-shape.k-tall,.ord-bar-shape.k-long{--sz:calc(var(--bar-base) + (var(--lv) - 1) * var(--bar-unit));border-radius:999px}.ord-bar-shape.k-tall{width:var(--bar-w);height:var(--sz)}.ord-bar-shape.k-long{height:var(--bar-w);width:var(--sz)}.ord-bar-shape.k-big{--dia:calc(var(--big-base) + (var(--lv) - 1) * var(--big-unit));width:var(--dia);height:var(--dia);background:radial-gradient(circle at 35% 30%, var(--top), var(--bottom));border-radius:50%}.ord-bar-shape.in-slot{animation:.3s cubic-bezier(.34,1.56,.64,1) both ord-drop}@keyframes ord-drop{0%{opacity:.4;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.ord-float{pointer-events:none;z-index:60;filter:drop-shadow(0 10px 16px #3b3a5a47);position:fixed;transform:translate(-50%,-55%)}@media (max-width:720px){.ord-stage{margin-top:20px;padding:18px 12px 14px}.ord-tray{gap:14px;padding:16px 12px}}@media (max-width:380px){.ord-wrap{--bar-w:clamp(40px, 12vw, 52px);--big-unit:clamp(13px, 3vw, 22px)}.ord-slots,.ord-tray{gap:10px}}@media (prefers-reduced-motion:reduce){.ord-bar:hover,.ord-bar.sel,.ord-slot.armed:hover,.ord-slot.over{transform:none}.ord-slot.wrong,.ord-bar-shape.in-slot{animation:none}}.shsort-cat-svg{width:34px;height:34px;display:block}.shsort-chip-svg{filter:drop-shadow(0 4px 7px #3b3a5a29);-webkit-user-select:none;user-select:none;pointer-events:none;width:clamp(44px,9vw,62px);height:clamp(44px,9vw,62px);display:block}.sort-float .shsort-chip-svg{filter:drop-shadow(0 10px 16px #3c32784d);width:clamp(56px,11vw,76px);height:clamp(56px,11vw,76px)}.shsort-placed-svg{filter:drop-shadow(0 3px 5px #3b3a5a24);width:clamp(26px,5.5vw,34px);height:clamp(26px,5.5vw,34px);animation:.3s cubic-bezier(.2,.9,.3,1.3) result-pop;display:block}@media (max-width:380px){.shsort-cat-svg{width:28px;height:28px}}@media (prefers-reduced-motion:reduce){.shsort-placed-svg{animation:none}}.gone-timer{background:var(--card);border:2px solid var(--line);box-shadow:var(--shadow-sm);font-family:var(--font-head);color:var(--ink-soft);border-radius:999px;align-self:center;align-items:center;gap:12px;margin-top:clamp(16px,3vh,24px);padding:10px 22px;font-size:clamp(16px,2.4vw,20px);font-weight:800;display:flex}.gone-spin{border:4px solid var(--brand-soft);border-top-color:var(--brand);border-radius:999px;flex:none;width:24px;height:24px;animation:.8s linear infinite gone-spin}@keyframes gone-spin{to{transform:rotate(360deg)}}.gone-stage{border-radius:var(--radius-lg);box-shadow:inset 0 2px 10px #78643c14, var(--shadow-sm);background:linear-gradient(160deg,#efe9db,#e7e0cc);border:2px solid #e0d8c2;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(16px,5vw,56px);min-height:clamp(150px,30vh,260px);margin-top:clamp(16px,3vh,26px);padding:clamp(24px,5vw,48px) clamp(16px,4vw,40px);display:flex;position:relative;overflow:hidden}.gone-em{-webkit-user-select:none;user-select:none;animation:.34s cubic-bezier(.34,1.56,.64,1) both count-pop}img.gone-em{object-fit:contain;width:clamp(56px,11vw,112px);height:auto}span.gone-em{font-size:clamp(56px,11vw,112px);line-height:1}.gone-curtain{z-index:2;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(115deg,#b7abf3 0 26px,#a99bef 26px 52px);place-items:center;transition:transform .5s cubic-bezier(.55,0,.45,1);display:grid;position:absolute;inset:0;transform:translate(-104%);box-shadow:inset 0 0 40px #46378c38}.gone-curtain.covering{transform:translate(0)}.gone-curtain.revealing{transform:translate(104%)}.gone-curtain-face{filter:drop-shadow(0 6px 10px #46378c4d);font-size:clamp(56px,14vw,104px);line-height:1}.gone-opts{flex-wrap:wrap;justify-content:center;gap:clamp(14px,3vw,26px);margin-top:clamp(16px,3vh,26px);display:flex}.gone-opt{border:3px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;aspect-ratio:1;background:#fff;place-items:center;width:clamp(120px,26vw,200px);padding:clamp(12px,3vw,24px);transition:transform .15s cubic-bezier(.34,1.56,.64,1),border-color .15s,box-shadow .15s,background .15s;display:grid}.gone-opt:hover{box-shadow:var(--shadow);border-color:#d8d3f7;transform:translateY(-4px)}.gone-opt:active{transform:scale(.95)}.gone-opt:disabled{cursor:default}.gone-opt.wrong{border-color:var(--red);background:var(--red-soft);animation:.4s q-shake}.gone-opt.correct{border-color:var(--green);background:var(--green-soft)}img.gone-opt-em{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;max-width:clamp(64px,15vw,120px);height:100%}span.gone-opt-em{font-size:clamp(64px,15vw,120px);line-height:1}@media (max-width:720px){.gone-stage{gap:18px;min-height:140px;margin-top:18px;padding:22px 14px}.gone-opts{gap:12px}}@media (max-width:380px){.gone-opt{border-width:2px}}@media (prefers-reduced-motion:reduce){.gone-spin{animation:none}.gone-opt:hover{transform:none}.gone-opt.wrong{animation:none}.gone-curtain{transition:none}.gone-em{animation:none}}.story-wrap{max-width:900px}.story-prompt{text-align:left;justify-content:center;max-width:520px;margin-inline:auto}.story-instruction{text-align:center;font-family:var(--font-head);color:var(--ink-soft);margin:12px 0 0;font-size:clamp(16px,2.4vw,22px);font-weight:800}.story-slots,.story-tray{grid-template-columns:repeat(3,1fr);gap:clamp(10px,2vw,18px);max-width:780px;margin-inline:auto;display:grid}.story-slots{margin-top:clamp(20px,5vh,44px)}.story-tray{margin-top:clamp(14px,3vh,24px)}.story-slot{aspect-ratio:1;border-radius:var(--radius-lg);cursor:default;background:#ffffff80;border:3px dashed #c4bdf0;place-items:center;padding:5px;transition:border-color .15s,background .15s,transform .15s cubic-bezier(.34,1.56,.64,1);display:grid;position:relative;overflow:hidden}.story-slot.armed{cursor:pointer;border-color:var(--brand)}.story-slot.armed:hover,.story-slot.over{background:var(--brand-soft);border-color:var(--brand);transform:translateY(-2px)}.story-slot.filled{border-style:solid;border-color:var(--green);background:var(--green-soft);padding:5px}.story-slot.wrong{border-color:var(--red);background:var(--red-soft);animation:.4s q-shake}.story-slot:disabled{cursor:default}.story-slot-num{z-index:2;background:var(--brand-soft);width:28px;height:28px;color:var(--brand-dark);font-family:var(--font-head);box-shadow:var(--shadow-sm);border-radius:999px;place-items:center;font-size:16px;font-weight:800;display:grid;position:absolute;top:8px;left:8px}.story-slot.filled .story-slot-num{display:none}.story-card{aspect-ratio:1;border:3px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:grab;touch-action:none;background:#fff;padding:0;transition:transform .15s cubic-bezier(.34,1.56,.64,1),border-color .15s,box-shadow .15s,opacity .15s;overflow:hidden}.story-card:hover{box-shadow:var(--shadow);border-color:#d8d3f7;transform:translateY(-3px)}.story-card:active{cursor:grabbing}.story-card.sel{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft), var(--shadow);transform:translateY(-3px)}.story-card.dragging{opacity:.35}.story-pic{aspect-ratio:1;border-radius:calc(var(--radius-lg) - 8px);width:100%;display:block;position:relative;overflow:hidden}.story-pic img{object-fit:cover}.story-tray-empty{text-align:center;color:var(--muted);font-family:var(--font-head);grid-column:1/-1;padding:24px 0;font-size:20px;font-weight:800}.story-float{z-index:9998;pointer-events:none;filter:drop-shadow(0 10px 18px #5a50b452);width:clamp(120px,26vw,220px);position:fixed;transform:translate(-50%,-50%)rotate(-4deg)}.story-float .story-pic{border-radius:var(--radius-lg);border:3px solid #fff}@media (max-width:720px){.story-instruction{margin-top:8px;font-size:15px}.story-slots{margin-top:20px}.story-slot-num{width:24px;height:24px;font-size:14px;top:6px;left:6px}.story-slot,.story-card{border-width:2px}}@media (max-width:380px){.story-slots,.story-tray{gap:8px}}@media (prefers-reduced-motion:reduce){.story-slot,.story-card{transition:border-color .15s,background .15s}.story-card:hover,.story-slot.armed:hover,.story-slot.over{transform:none}.story-slot.wrong{animation:none}}.lt-zh-font,.hz-tian-char,.hz-unit-chars,.hz-opt{font-family:Kaiti SC,STKaiti,Kaiti TC,KaiTi,楷体,serif}.hz-units-grid{grid-template-columns:repeat(auto-fill,minmax(160px,190px));justify-content:center;gap:20px;margin:20px auto 0;display:grid}.hz-unit-card{color:var(--ink);background:var(--card);box-shadow:var(--shadow);border-radius:26px;flex-direction:column;align-items:center;padding:14px;text-decoration:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;display:flex;position:relative}.hz-unit-card:hover{transform:translateY(-6px);box-shadow:0 26px 48px -18px #5046a080}.hz-unit-thumb{aspect-ratio:4/3;background:linear-gradient(160deg, var(--green-soft), #d6f0e0);border-radius:20px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #7c6cf00f}.hz-unit-emoji{object-fit:contain;width:52%;max-width:96px;height:auto}.hz-unit-tick{background:var(--green);color:#fff;width:28px;height:28px;font-family:var(--font-head);box-shadow:var(--shadow-sm);border-radius:999px;place-items:center;font-size:16px;display:grid;position:absolute;top:8px;right:8px}.hz-unit-body{text-align:center;margin-top:10px}.hz-unit-body h3{margin:0 0 2px;font-size:18px}.hz-unit-chars{color:var(--ink-soft);letter-spacing:2px;margin-bottom:6px;font-size:20px}.hz-unit-stars{font-family:var(--font-head);color:var(--amber);background:var(--amber-soft);border-radius:999px;align-items:center;gap:5px;padding:3px 12px;font-size:13px;font-weight:800;display:inline-flex}.hz-tian{aspect-ratio:1;cursor:pointer;background:#fffef8;border:none;border-radius:18px;flex:none;place-items:center;width:clamp(120px,30vw,200px);padding:0;transition:transform .15s cubic-bezier(.34,1.56,.64,1);display:grid;position:relative;box-shadow:inset 0 0 0 3px #ffe08a,inset 0 0 0 6px #fff}.hz-tian.hz-tian-lg{width:clamp(180px,44vw,260px)}.hz-tian:hover{transform:translateY(-2px)}.hz-tian:active{transform:scale(.97)}.hz-tian:before,.hz-tian:after{content:"";pointer-events:none;position:absolute}.hz-tian:before{border-top:2px dashed #f6b8ab;top:50%;left:12%;right:12%}.hz-tian:after{border-left:2px dashed #f6b8ab;top:12%;bottom:12%;left:50%}.hz-tian-char{z-index:1;color:var(--ink);font-size:clamp(70px,17vw,150px);line-height:1;position:relative}.hz-char-grid{flex-wrap:wrap;justify-content:center;gap:18px;margin-top:10px;display:flex}.hz-gridcard{flex-direction:column;align-items:center;gap:8px;width:clamp(120px,26vw,176px);text-decoration:none;display:flex}.hz-gridcard .hz-tian{width:100%}.hz-gridcard .hz-tian-char{font-size:clamp(56px,13vw,104px)}.hz-gridcard-tick{z-index:2;background:var(--green);color:#fff;width:28px;height:28px;font-family:var(--font-head);box-shadow:var(--shadow-sm);border-radius:999px;place-items:center;font-size:16px;display:grid;position:absolute;bottom:-4px;right:-4px}.hz-gridcard-stars{background:var(--blue-soft);border-radius:999px;gap:3px;padding:4px 10px;display:flex}.hz-mini-star{color:#cfe3f6;font-size:15px;line-height:1}.hz-mini-star.on{color:var(--amber)}.hz-study{max-width:620px}.hz-tabs{justify-content:center;gap:8px;margin:6px 0 18px;display:flex}.hz-tab{border:2px solid var(--line);background:var(--card);cursor:pointer;min-width:0;box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;padding:8px 4px;transition:transform .15s,border-color .15s,background .15s;display:flex;position:relative}.hz-tab:hover{transform:translateY(-2px)}.hz-tab.on{background:var(--red-soft);border-color:var(--red)}.hz-tab-zh{color:var(--ink);font-family:Kaiti SC,STKaiti,KaiTi,serif;font-size:24px;line-height:1}.hz-tab.on .hz-tab-zh{color:var(--red)}.hz-tab-vi{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:700}.hz-tab.done:after{content:"✓";color:var(--green);font-size:11px;font-weight:800;position:absolute;top:4px;right:5px}.hz-stage{background:var(--card);border:2px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);place-items:center;min-height:380px;padding:clamp(18px,4vw,30px);display:grid}.hz-step{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.hz-step-cta{min-width:200px;margin-top:4px}.hz-pinyin{cursor:pointer;background:var(--brand-soft);color:var(--brand-dark);font-family:var(--font-body);letter-spacing:1px;border:none;border-radius:999px;align-items:center;gap:8px;padding:6px 20px;font-size:clamp(22px,5vw,30px);font-weight:800;transition:transform .15s;display:inline-flex}.hz-pinyin:hover{transform:translateY(-1px)}.hz-mean{font-family:var(--font-head);color:var(--ink);margin:0;font-size:clamp(19px,4vw,24px);font-weight:800}.hz-learn-top{justify-content:center;align-items:stretch;gap:clamp(12px,3vw,22px);width:100%;display:flex}.hz-learn-illus-box{aspect-ratio:1;border:2px solid var(--line);width:clamp(120px,30vw,200px);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;flex:none;padding:0;overflow:hidden}.hz-learn-emoji{object-fit:cover;width:100%;height:100%;display:block}.hz-learn-caption{flex-direction:column;align-items:center;gap:2px;margin-top:2px;display:flex}.hz-learn-pinyin{font-family:var(--font-body);color:var(--brand);letter-spacing:1px;font-size:clamp(22px,4vw,28px);font-weight:800}.hz-learn-mean{font-family:var(--font-head);color:var(--ink);font-size:clamp(18px,3.5vw,22px);font-weight:800}.hz-word,.hz-sentence{text-align:left;cursor:pointer;border:2px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s,transform .15s;display:flex}.hz-word:hover,.hz-sentence:hover{border-color:#d8d3f7;transform:translateY(-1px)}.hz-word-txt{flex-direction:column;gap:1px;min-width:0;display:flex}.hz-word-txt b{color:var(--ink);letter-spacing:1px;font-family:Kaiti SC,STKaiti,KaiTi,serif;font-size:26px;font-weight:700}.hz-word-txt i{color:var(--brand);font-size:15px;font-style:normal;font-weight:700}.hz-word-txt em{color:var(--muted);font-size:14px;font-style:normal;font-weight:700}.hz-word-spk{flex:none;margin-left:auto;font-size:22px}.hz-word-spk.sm{font-size:18px}.hz-sentence{flex-direction:column;align-items:flex-start;gap:4px;position:relative}.hz-sentence-zh{color:var(--ink);letter-spacing:1px;font-family:Kaiti SC,STKaiti,KaiTi,serif;font-size:22px}.hz-sentence-vi{color:var(--muted);font-size:14px;font-weight:700}.hz-sentence .hz-word-spk{margin:0;position:absolute;top:12px;right:14px}.hz-step-practice{gap:12px}.hz-practice-prompt{cursor:pointer;background:var(--amber-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:none;flex-direction:column;align-items:center;gap:8px;padding:12px;transition:transform .15s;display:flex}.hz-practice-prompt:hover{transform:translateY(-2px)}.hz-practice-illus{aspect-ratio:1;width:clamp(120px,30vw,168px);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;display:block;overflow:hidden}.hz-practice-emoji{object-fit:cover;width:100%;height:100%;display:block}.hz-practice-pinyin{font-family:var(--font-body);color:var(--amber);font-size:24px;font-weight:800}.hz-practice-ask{font-family:var(--font-head);color:var(--ink-soft);margin:2px 0;font-weight:800}.hz-practice-opts{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:320px;display:grid}.hz-opt{aspect-ratio:1;border:2px solid var(--line);box-shadow:var(--shadow-sm);color:var(--ink);cursor:pointer;background:#fff;border-radius:18px;place-items:center;font-size:clamp(40px,11vw,60px);transition:transform .15s,border-color .15s,background .15s;display:grid}.hz-opt:hover:not(:disabled){border-color:#d8d3f7;transform:translateY(-3px)}.hz-opt.right{border-color:var(--green);background:var(--green-soft)}.hz-opt.wrong{border-color:var(--red);background:var(--red-soft);animation:.4s q-shake}.hz-practice-ok{font-family:var(--font-head);color:var(--green);margin:0;font-size:20px;font-weight:800}.hz-mi{aspect-ratio:1;background:#fffef8;border-radius:18px;place-items:center;width:clamp(240px,66vw,300px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #ffe08a,inset 0 0 0 6px #fff}.hz-mi:before,.hz-mi:after{content:"";pointer-events:none;position:absolute;inset:10%}.hz-mi:before{opacity:.8;background:linear-gradient(#f6b8ab,#f6b8ab) 50%/2px 100% no-repeat,linear-gradient(#f6b8ab,#f6b8ab) 50%/100% 2px no-repeat}.hz-mi:after{background:linear-gradient(45deg,#0000 calc(50% - 1px),#f7cec6 50%,#0000 calc(50% + 1px)),linear-gradient(-45deg,#0000 calc(50% - 1px),#f7cec6 50%,#0000 calc(50% + 1px))}.hz-mi-canvas{z-index:1;position:relative}.hz-mi-canvas svg{max-width:100%;height:auto;display:block}.hz-write-pass{font-family:var(--font-head);color:var(--brand-dark);background:var(--brand-soft);border-radius:999px;padding:5px 18px;font-size:15px;font-weight:800}.hz-write-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.hz-write-btn{cursor:pointer;font-family:var(--font-head);color:var(--brand-dark);border:2px solid var(--brand-soft);box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:11px 22px;font-size:17px;font-weight:800;transition:transform .15s cubic-bezier(.34,1.56,.64,1),border-color .15s,background .15s;display:inline-flex}.hz-write-btn:hover{border-color:var(--brand);background:var(--brand-soft);transform:translateY(-2px)}.hz-write-btn:active{transform:scale(.95)}.hz-write-btn.alt{color:var(--pink);border-color:var(--pink-soft)}.hz-write-btn.alt:hover{border-color:var(--pink);background:var(--pink-soft)}.hz-nav{justify-content:center;align-items:center;gap:16px;margin-top:18px;display:flex}.hz-arrow{background:var(--red);color:#fff;width:54px;height:54px;box-shadow:var(--shadow-sm);cursor:pointer;border:none;border-radius:18px;flex:none;place-items:center;font-size:30px;line-height:1;transition:transform .15s cubic-bezier(.34,1.56,.64,1);display:grid}.hz-arrow:hover:not(:disabled){transform:translateY(-2px)}.hz-arrow:active:not(:disabled){transform:scale(.94)}.hz-arrow:disabled{opacity:.4;cursor:default}.hz-nav-count{font-family:var(--font-head);color:var(--muted);text-align:center;min-width:60px;font-weight:800}@media (max-width:480px){.hz-learn-top{flex-direction:column}.hz-tab-vi{font-size:10px}.hz-step-cta,.hz-done{width:100%;min-width:0}}@media (max-width:380px){.hz-tab-zh{font-size:20px}.hz-arrow{width:48px;height:48px;font-size:26px}}@media (prefers-reduced-motion:reduce){.hz-unit-card,.hz-tian,.hz-tab,.hz-pinyin,.hz-word,.hz-sentence,.hz-practice-prompt,.hz-opt,.hz-arrow{transition:none}.hz-unit-card:hover,.hz-tian:hover,.hz-tab:hover,.hz-opt:hover,.hz-arrow:hover:not(:disabled){transform:none}.hz-opt.wrong{animation:none}}
