.topbar-right{display:flex;align-items:center;gap:12px}.link-btn{font-size:15px;font-weight:700;color:var(--ink-2);padding:8px 4px}.link-btn:hover{color:var(--purple-d)}.ghost{color:var(--ink-2);box-shadow:inset 0 0 0 2px var(--line),0 3px 0 var(--line)}.ghost:hover:not(:disabled){background:var(--surface)}.ghost:active:not(:disabled){box-shadow:inset 0 0 0 2px var(--line),0 1px 0 var(--line)}.join{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:460px;padding-top:24px}.join-mascot{margin:0 auto}.join-step{width:100%;display:flex;flex-direction:column;align-items:center}.join-title{font-size:clamp(28px,7vw,38px);line-height:1.2;margin:6px 0 10px}.join .lede{color:var(--ink-2);margin-bottom:22px}.code-input{height:76px;max-width:320px;text-align:center;font-family:var(--display);font-size:40px;letter-spacing:.32em;padding:0 0 0 .32em;border-radius:20px;background:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.code-input::placeholder{color:var(--line-2);letter-spacing:.32em}.code-input.is-phone{font-size:30px;letter-spacing:.08em;padding:0}.code-input.is-phone::placeholder{font-family:var(--sans);font-size:20px;letter-spacing:.04em}.join .block{max-width:320px}.name-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));grid-gap:10px;gap:10px;width:100%}.name-chip{min-height:58px;padding:8px 10px;border-radius:16px;background:#fff;font-family:var(--display);font-size:20px;box-shadow:inset 0 0 0 2px var(--line),0 3px 0 var(--line);transition:background .15s,box-shadow .15s}.name-chip:hover{background:var(--purple-50);box-shadow:inset 0 0 0 2px var(--purple-200),0 3px 0 var(--purple-200)}.pin-dots{display:flex;gap:18px;margin:4px 0 8px}.pin-dots i{width:22px;height:22px;border-radius:50%;border:3px solid var(--line-2);background:#fff;transition:background .15s,border-color .15s}.pin-dots i.is-on{background:var(--purple);border-color:var(--purple)}.pin-pad{display:grid;grid-template-columns:repeat(3,84px);grid-gap:12px;gap:12px;margin-top:18px}.pin-key{height:66px;border-radius:18px;background:#fff;font-family:var(--display);font-size:28px;box-shadow:inset 0 0 0 2px var(--line),0 4px 0 var(--line-2);display:grid;place-items:center;color:var(--ink)}.pin-key:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 0 0 2px var(--line),0 1px 0 var(--line-2)}.pin-key.is-del{color:var(--ink-2);background:var(--surface)}.home{display:grid;grid-gap:18px;gap:18px;padding-top:20px}.home-hero{display:flex;align-items:center;gap:14px}.home-mascot{flex:none}.home-hello h1{font-size:clamp(26px,6vw,34px);margin:0 0 8px}.speech{position:relative;display:inline-block;padding:10px 16px;border-radius:18px;background:#fff;box-shadow:var(--shadow);font-size:16px;font-weight:600;line-height:1.5}.speech:before{content:"";position:absolute;left:-7px;top:16px;border-bottom:8px solid transparent;border-top:8px solid transparent;border-left:0;border-right:8px solid #fff}.home-chips{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.home-chips li{display:flex;border-radius:18px}.home-chips button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 14px;border-radius:inherit;text-align:left;font-size:13px;color:var(--ink-2);transition:transform .08s}.home-chips button:active{transform:translateY(2px)}.home-chips b{display:flex;align-items:center;gap:4px;font-family:var(--display);font-size:26px;line-height:1.1;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.home-chips b small{font-family:var(--sans);font-size:13px;font-weight:700;margin-left:1px}.home-chips span{white-space:nowrap}.home-chips .flame{background:var(--orange-50);box-shadow:inset 0 0 0 2px #ffd9c2}.home-chips .flame b,.home-chips .flame svg{color:var(--orange)}.home-chips .points{background:var(--yellow-50);box-shadow:inset 0 0 0 2px var(--yellow)}.home-chips .points b,.home-chips .points svg{color:var(--amber-d)}.home-chips .mastered{background:var(--mint-50);box-shadow:inset 0 0 0 2px var(--mint)}.home-chips .mastered b,.home-chips .mastered svg{color:var(--green-d)}.tasks{display:grid;grid-gap:10px;gap:10px}.task{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border-radius:20px;text-align:left;background:#fff;box-shadow:inset 0 0 0 2px var(--line),0 4px 0 var(--line);transition:transform .08s,box-shadow .08s,opacity .2s}.task:disabled{cursor:default}.task.is-empty,.task.is-locked{opacity:.55}.task-step{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:14px;font-family:var(--display);font-size:20px;background:var(--surface);color:var(--ink-2)}.task-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.task-body b{display:flex;align-items:baseline;gap:10px;font-family:var(--display);font-size:20px}.task-body b em{font-style:normal;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.task-body>span{font-size:14px;color:var(--ink-2);line-height:1.45}.task-bar{height:6px;margin-top:6px;background:rgba(34,36,31,.08);overflow:hidden}.task-bar,.task-bar i{display:block;border-radius:6px}.task-bar i{height:100%;transform-origin:left center}.task-go{flex:none;font-family:var(--display);font-size:16px;color:#fff;padding:8px 14px;border-radius:12px}.task-mint .task-bar i,.task-mint .task-go{background:var(--green)}.task-yellow .task-bar i,.task-yellow .task-go{background:#e0a800}.task-lavender .task-bar i,.task-lavender .task-go{background:var(--purple)}.task.is-active.task-mint{background:var(--mint-50);box-shadow:inset 0 0 0 2px var(--green),0 4px 0 var(--green-edge)}.task.is-active.task-yellow{background:var(--yellow-50);box-shadow:inset 0 0 0 2px #e0a800,0 4px 0 #c08f00}.task.is-active.task-lavender{background:var(--purple-50);box-shadow:inset 0 0 0 2px var(--purple),0 4px 0 var(--purple-d)}.task.is-active:active{transform:translateY(3px)}.task.is-active .task-step{color:#fff}.task-mint.is-active .task-step{background:var(--green)}.task-yellow.is-active .task-step{background:#e0a800}.task-lavender.is-active .task-step{background:var(--purple)}.task.is-done .task-step{background:var(--green);color:#fff}.big-go{height:60px;font-size:21px;margin-top:0}.home-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 4px}.ladder-panel h2{font-size:21px;margin:0 0 14px}.ladder-panel>.muted{margin-top:14px}.ladder{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;grid-gap:6px;gap:6px;list-style:none;margin:0;padding:0}.ladder li{gap:6px}.ladder li,.ladder-count{display:flex;flex-direction:column;align-items:center}.ladder-count{font-family:var(--display);font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.ladder-count em{font-style:normal;font-size:12px;color:var(--green)}.ladder-bar{position:relative;width:100%;height:calc(18px + var(--step)*13px);border-radius:10px 10px 4px 4px;background:var(--surface);box-shadow:inset 0 0 0 2px var(--line);overflow:hidden}.ladder-bar i{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,#8b7bff,var(--purple));transform-origin:bottom center}.ladder li.is-top .ladder-bar i{background:linear-gradient(180deg,#34c77b,var(--green))}.ladder-name{font-size:12px;font-weight:700;color:var(--ink-2);white-space:nowrap}.ladder li.is-top .ladder-name{color:var(--green-d)}.session{max-width:640px}.q-card{padding:26px 26px 28px}.q{display:flex;flex-direction:column;align-items:center;text-align:center}.q-ask{font-size:15px;font-weight:700;margin-bottom:10px}.phonetic,.q-ask{color:var(--ink-2)}.phonetic{font-size:16px;margin:6px 0 18px;font-family:"Lucida Sans Unicode","Arial Unicode MS",var(--sans)}.q .meaning-grid{width:100%}.q .ghost{margin-top:16px}.word-img{display:block;object-fit:contain;border-radius:20px;background:#fff;margin:0 auto 12px}.word-img.md{width:150px;height:150px}.word-img.lg{width:min(240px,62vw);height:min(240px,62vw)}.listen-big{display:flex;flex-direction:column;align-items:center;gap:6px;width:128px;height:128px;justify-content:center;border-radius:50%;color:#fff;background:var(--purple);box-shadow:0 6px 0 var(--purple-d);margin:4px 0 24px;font-size:13px;font-weight:700}.listen-big:active{transform:translateY(4px);box-shadow:0 2px 0 var(--purple-d)}.listen-options{width:100%}.listen-options .option{font-size:20px}.intro-meaning{font-family:var(--display);font-size:24px;margin:0 0 14px}.tip-box{width:100%;text-align:left;padding:12px 16px;border-radius:16px;background:var(--yellow-50);box-shadow:inset 0 0 0 2px var(--yellow);margin-bottom:10px}.tip-box b{font-size:13px;color:var(--amber-d)}.tip-box p{font-size:15px;line-height:1.6}.example{width:100%;text-align:left;padding:10px 16px;background:var(--yellow-50);box-shadow:inset 0 0 0 2px var(--yellow);margin-bottom:6px}.example p{font-size:15px;line-height:1.6}.q-intro .block{margin-top:18px}.spell-meaning{display:flex;align-items:center;justify-content:center;gap:12px;font-family:var(--display);font-size:24px;margin:0 0 20px}.spell-meaning .speak{width:40px;height:40px}.slots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:20px}.slot{display:grid;place-items:center;width:40px;height:50px;border-radius:12px;background:var(--surface);box-shadow:inset 0 -2px 0 var(--line-2);font-family:var(--display);font-size:26px;color:var(--ink)}.slot.is-filled{background:var(--purple-50);box-shadow:inset 0 -2px 0 var(--purple)}.slot.is-fixed{width:18px;background:none;box-shadow:none}.tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:420px}.tile{width:48px;height:52px;border-radius:14px;background:#fff;font-family:var(--display);font-size:24px;box-shadow:inset 0 0 0 2px var(--line),0 4px 0 var(--line-2)}.tile:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 0 0 2px var(--line),0 1px 0 var(--line-2)}.tile.is-used{opacity:.2}.tiles-wrap{display:flex;flex-direction:column;align-items:center;width:100%}.kb-speller{width:100%;max-width:380px}.spell-input{height:64px;text-align:center;font-size:28px;font-weight:700;letter-spacing:.06em;background:#fff}.kb-speller .block{margin-top:14px}.spell-fix{width:100%;margin-top:18px;padding:14px 16px;border-radius:18px;background:var(--red-50)}.spell-fix>p{font-size:14px;font-weight:700;color:var(--red-d)}.diff{font-family:var(--display);font-size:34px;letter-spacing:.06em;margin:4px 0 6px}.diff .is-miss{color:var(--red)}.spell-fix .block{margin-top:10px}.word-card{text-align:left}.wc-head{justify-content:space-between;align-items:flex-start}.wc-head,.wc-word{display:flex;gap:12px}.wc-word{align-items:center}.wc-word h2{font-size:clamp(34px,8vw,46px);margin:0;overflow-wrap:anywhere}.wc-word .speak{width:44px;height:44px}.wc-head .phonetic{margin:4px 0 0}.wc-img{flex:none;width:96px;height:96px;object-fit:contain;border-radius:16px}.wc-stage{margin:16px 0;padding:14px 16px;border-radius:18px}.wc-stage.tone-good{background:var(--mint-50);box-shadow:inset 0 0 0 2px var(--mint)}.wc-stage.tone-warn{background:var(--yellow-50);box-shadow:inset 0 0 0 2px var(--yellow)}.wc-stage.tone-bad{background:var(--red-50);box-shadow:inset 0 0 0 2px #ffc9ce}.wc-steps{display:flex;align-items:center;gap:8px}.lv-pill{font-family:var(--display);font-size:15px;padding:4px 12px;border-radius:999px;background:hsla(0,0%,100%,.8);color:var(--ink-2)}.lv-pill.is-now{background:var(--purple);color:#fff}.tone-good .lv-pill.is-now{background:var(--green)}.tone-bad .lv-pill.is-now{background:var(--red)}.wc-steps .arrow{font-size:20px;font-weight:700;color:var(--ink-2)}.wc-diag{margin-top:8px;font-size:16px;font-weight:700}.wc-attempts{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:10px 0 0;padding:0}.wc-attempts li{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:hsla(0,0%,100%,.85);font-size:13px;font-weight:600;color:var(--ink-2)}.wc-attempts b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.wc-attempts li.ok svg{color:var(--green)}.wc-attempts li.no svg{color:var(--red)}.wc-body{display:grid;grid-gap:10px;gap:10px;margin:0 0 6px}.wc-body>div{display:grid;grid-template-columns:58px 1fr;grid-gap:10px;gap:10px}.wc-body dt{font-size:13px;font-weight:700;color:var(--purple-d);padding-top:3px}.wc-body dd{margin:0;line-height:1.65}.card-wait{display:flex;align-items:center;justify-content:center;gap:10px;min-height:200px;color:var(--ink-2);font-weight:600}.spinner{width:20px;height:20px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--purple);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.done-hero,.section-done{display:flex;flex-direction:column;align-items:center;text-align:center}.section-done{padding-top:60px;max-width:440px}.done-hero h1,.section-done h1{font-size:clamp(30px,7vw,40px);margin:8px 0}.section-done .lede{color:var(--ink-2);margin-bottom:24px}.done{display:grid;grid-gap:18px;gap:18px;max-width:720px}.done-streak{display:flex;align-items:center;gap:6px;font-size:18px;font-weight:700;color:var(--orange-d)}.done-streak b{font-family:var(--display);font-size:30px;color:var(--orange)}.done-points{margin-top:8px;font-family:var(--display);font-size:20px;color:var(--amber-d);background:var(--yellow);padding:4px 16px;border-radius:999px}.report-hero.wb{grid-template-columns:1fr}.count.good{color:var(--green-d);background:var(--mint-50)}.ladder-static{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;list-style:none;margin:0;padding:0}.ladder-static li{display:flex;flex-direction:column;align-items:center;padding:10px 2px;border-radius:14px;background:var(--surface)}.ladder-static li:last-child{background:var(--mint-50)}.ladder-static b{font-family:var(--display);font-size:22px}.ladder-static span{font-size:12px;color:var(--ink-2)}.word-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.word-list li{display:flex;flex-direction:column;padding:10px 14px;border-radius:14px;background:var(--surface)}.word-list b{font-size:18px}.word-list span{font-size:14px;color:var(--ink-2)}.listen-big.is-small{width:76px;height:76px;margin:0 0 14px;box-shadow:0 4px 0 var(--purple-d)}.meaning-grid.is-4{grid-template-columns:1fr 1fr}.slot.is-given{background:none;box-shadow:inset 0 -2px 0 var(--line-2);color:var(--ink-2)}.judge-shown{font-family:var(--display);font-size:26px;margin:18px 0 6px;padding:12px 22px;border-radius:16px;background:var(--surface)}.judge-fix{font-size:15px;color:var(--ink-2);margin:6px 0 0}.judge-btns{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;width:100%;margin-top:20px}.option.judge{justify-content:center;text-align:center;min-height:62px;font-size:20px;font-weight:800}.match-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;width:100%;margin-top:6px}.match-col{display:flex;flex-direction:column;gap:10px}.match-cell{min-height:56px;padding:8px 10px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 2px var(--line),0 3px 0 var(--line);font-size:16px;font-weight:700;color:var(--ink);line-height:1.3;word-break:break-word;transition:background .12s,box-shadow .12s}.match-cell.en{font-family:var(--display);font-size:20px}.match-cell.is-sel{background:var(--purple-50);box-shadow:inset 0 0 0 2px var(--purple),0 3px 0 var(--purple-d);color:var(--purple-d)}.match-cell.is-bad{background:var(--red-50);box-shadow:inset 0 0 0 2px var(--red),0 3px 0 var(--red-d);color:var(--red-d)}.match-cell.is-done{background:var(--mint-50);box-shadow:inset 0 0 0 2px var(--green);color:var(--green-d);cursor:default}.match-done{margin-top:18px;font-family:var(--display);font-size:22px;color:var(--green-d)}.match-speaker{display:inline-flex;align-items:center;gap:6px;color:var(--purple-d);font-family:var(--display);font-size:18px}.sentence-box{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:6px 0 10px;padding:16px 18px;border-radius:18px;background:var(--surface)}.q-sentence{margin:0;font-size:21px;line-height:1.6;text-align:left;color:var(--ink)}.q-sentence mark{background:var(--yellow-50,#fff6d6);padding:0 4px;border-radius:6px;box-shadow:inset 0 -3px 0 var(--yellow,#ffd84d)}.cloze-blank,.q-sentence mark{color:var(--purple-d);font-weight:800}.cloze-blank{display:inline-block;min-width:84px;margin:0 3px;padding:0 6px;border-bottom:3px solid var(--purple);text-align:center}.cloze-blank.is-filled{border-color:var(--ink-2)}.sentence-zh{margin:0 0 14px;font-size:15px}.order-zh{margin:2px 0 14px;font-size:18px;font-weight:700;color:var(--ink-2)}.order-line{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;width:100%;min-height:64px;padding:12px;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 2px var(--line);margin-bottom:16px}.order-line.is-right{box-shadow:inset 0 0 0 2px var(--green);background:var(--mint-50)}.order-line.is-wrong{box-shadow:inset 0 0 0 2px var(--red);background:var(--red-50)}.order-ph{color:var(--ink-3);font-size:14px}.order-tiles{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}.order-chip{padding:9px 14px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 2px var(--line),0 3px 0 var(--line-2);font-size:18px;font-weight:700;color:var(--ink);cursor:pointer}.order-chip.is-placed{background:var(--purple-50);box-shadow:inset 0 0 0 2px var(--purple-200),0 2px 0 var(--purple-200);color:var(--purple-d)}.order-chip.is-used{opacity:.25;cursor:default}.order-answer{font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.blitz-rule{font-size:17px;line-height:1.6;margin:8px 0 16px}.blitz-score{font-size:20px;margin:8px 0}.blitz-score b{font-family:var(--display);font-size:44px;color:var(--purple-d);margin-right:4px}.blitz-top{display:flex;justify-content:space-between;width:100%;font-weight:800;font-size:16px}.blitz-time.is-low{color:var(--red)}.blitz-count{color:var(--green-d)}.blitz-bar{width:100%;height:8px;border-radius:8px;background:var(--line);overflow:hidden;margin:8px 0 14px}.blitz-bar i{display:block;height:100%;background:var(--purple);transition:width 1s linear}.blitz-card{display:flex;flex-direction:column;align-items:center;width:100%;padding:8px 0;border-radius:18px}.blitz-card.is-ok{background:var(--mint-50)}.blitz-card.is-no{background:var(--red-50)}@media(max-width:640px){.home-chips li{border-radius:14px}.home-chips button{padding:10px 12px}.home-chips b{font-size:22px}.home-hero{gap:8px}.home-mascot{width:84px!important;height:84px!important}.speech{font-size:14px}.pin-pad{grid-template-columns:repeat(3,76px)}.q-card{padding:20px 14px 22px}.slot{width:34px;height:44px}.slot,.tile{font-size:22px}.tile{width:44px;height:48px}.ladder-name,.ladder-static span{font-size:11px}.listen-big{width:110px;height:110px}.listen-big.is-small{width:68px;height:68px}.match-cell{min-height:50px;font-size:15px}.match-cell.en{font-size:18px}.judge-shown{font-size:22px}.share .primary{width:100%}}.test-entry{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:12px;gap:12px;padding:14px 16px 14px 20px;border-radius:20px;background:var(--card);box-shadow:var(--shadow)}.test-entry label{display:flex;flex-direction:column;gap:2px;min-width:0}.test-entry label b{font-family:var(--display);font-size:17px}.test-entry label span{font-size:13px;color:var(--ink-2)}.test-code{width:104px;height:48px;border:0;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 2px var(--line-2);text-align:center;font-family:var(--display);font-size:24px;letter-spacing:.2em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.test-code:focus{outline:0;box-shadow:inset 0 0 0 3px var(--purple)}.test-entry .secondary{height:48px;padding:0 18px;font-size:16px}.test-entry .secondary:disabled{opacity:.5;cursor:default}.test-lobby{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;max-width:480px;padding-top:40px}.test-lobby h1{font-size:clamp(26px,6vw,34px);margin:0}.test-lobby .lede{font-size:15px}.test-facts{display:flex;gap:12px;list-style:none;margin:6px 0;padding:0}.test-facts li{display:flex;align-items:baseline;gap:4px;padding:12px 22px;border-radius:18px;background:var(--lavender)}.test-facts b{font-family:var(--display);font-size:32px;color:var(--purple-d)}.test-facts span{font-weight:700;color:var(--ink-2)}.test-who{display:flex;align-items:center;gap:8px;color:var(--ink-2)}.test-who b{color:var(--ink)}.timer-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 12px 4px 9px;border-radius:999px;background:var(--purple-100);color:var(--purple-d);font-family:var(--display);font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timer-chip.is-urgent{background:var(--red-50);color:var(--red-d);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.timer-chip.is-urgent{animation:none}}.test-result{display:grid;grid-gap:18px;gap:18px;max-width:640px}.test-score-big{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px;padding:20px;border-radius:24px;background:var(--yellow)}.test-score-big b{font-size:64px;line-height:1}.test-score-big b,.test-score-big>span{font-family:var(--display);color:var(--amber-d)}.test-score-big>span{font-size:22px}.test-score-big p{flex-basis:100%;text-align:center;margin-top:6px;font-weight:700;color:var(--amber-d)}.week-days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;list-style:none;margin:0;padding:0}.week-days li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 2px;border-radius:14px;background:var(--surface)}.week-days span{font-size:13px;font-weight:700;color:var(--ink-2)}.week-days i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:2px dashed var(--line-2);font-style:normal;font-weight:800;color:#fff}.week-days li.is-done{background:var(--mint-50)}.week-days li.is-done i{border:0;background:var(--green)}.week-days li.is-future{opacity:.45}.week-days small{font-size:11px;color:var(--ink-3)}.teacher-say{margin-top:14px;padding:14px 16px;border-radius:16px;background:hsla(0,0%,100%,.7)}.teacher-say b{font-size:13px;color:var(--purple-d)}.ladder-static li{position:relative}.ladder-static em{font-style:normal;font-size:12px;font-weight:700}.ladder-static em.up{color:var(--green-d)}.ladder-static em.down{color:var(--ink-3)}.test-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.test-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:var(--surface)}.test-list li>span:first-child{display:flex;flex-direction:column}.test-list small{font-size:12px;color:var(--ink-3)}.test-score{display:flex;flex-direction:column;align-items:flex-end;color:var(--ink-2)}.test-score b{font-family:var(--display);font-size:24px;color:var(--purple-d)}.big-screen{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);font-size:clamp(16px,1.3vw,22px)}.bs-empty{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.bs-empty h1{margin:0}.bs-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:24px;gap:24px;padding:20px 3vw}.bs-title{text-align:center}.bs-title span{font-weight:700;color:var(--ink-2)}.bs-title h1{margin:2px 0 0;font-size:clamp(26px,2.6vw,44px)}.bs-closed{font-weight:700;color:var(--ink-2);padding:10px 18px;border-radius:999px;background:var(--surface)}.bs-live{flex:1 1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:3vw;gap:3vw;padding:1vw 4vw 4vw}.bs-join,.bs-live{align-items:center}.bs-join{display:flex;flex-direction:column;gap:1.4vw;padding:2.4vw;border-radius:32px;background:var(--card);box-shadow:var(--shadow);text-align:center}.bs-join>p{font-weight:700;color:var(--ink-2)}.bs-code{display:flex;gap:1vw}.bs-code span{display:grid;place-items:center;width:clamp(64px,7vw,120px);height:clamp(84px,9vw,150px);border-radius:22px;background:var(--purple);box-shadow:0 6px 0 var(--purple-d);color:#fff;font-family:var(--display);font-size:clamp(52px,6vw,104px)}.bs-qr{width:clamp(180px,17vw,300px);aspect-ratio:1}.bs-qr svg{width:100%;height:100%;display:block}.bs-link{font-size:.85em;color:var(--ink-3);word-break:break-all}.bs-progress{display:flex;flex-direction:column;gap:1.4vw}.bs-label{font-size:1.6em;color:var(--ink-2)}.bs-count,.bs-label{font-family:var(--display)}.bs-count{display:flex;align-items:baseline;gap:.4em;line-height:1}.bs-count b{font-size:clamp(96px,11vw,200px);color:var(--purple)}.bs-count span{font-size:clamp(40px,4vw,72px);color:var(--ink-2)}.bs-bar{position:relative;height:28px;background:rgba(34,36,31,.08);overflow:hidden}.bs-bar,.bs-bar i{border-radius:28px}.bs-bar i{position:absolute;inset:0;background:var(--green);transform-origin:left center;z-index:1}.bs-bar i.doing{background:var(--purple-200);z-index:0}.bs-facts{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:0;padding:0}.bs-facts li{padding:10px 18px;border-radius:16px;background:var(--card);color:var(--ink-2);font-weight:700}.bs-facts b{font-family:var(--display);font-size:1.4em;color:var(--ink);margin-right:4px}.bs-acc{display:flex;align-items:baseline;justify-content:space-between;padding:18px 24px;border-radius:22px;background:var(--mint)}.bs-acc span{font-weight:700;color:var(--green-d)}.bs-acc b{font-family:var(--display);font-size:2.6em;color:var(--green-d)}.bs-result{flex:1 1;display:grid;grid-template-columns:minmax(220px,22vw) 1fr;grid-gap:3vw;gap:3vw;padding:1vw 4vw 4vw;align-items:start}.bs-summary{display:grid;grid-gap:18px;gap:18px}.bs-summary>div{display:flex;flex-direction:column;padding:24px;border-radius:28px;background:var(--card);box-shadow:var(--shadow)}.bs-summary>div:first-child{background:var(--purple);color:#fff;box-shadow:0 6px 0 var(--purple-d)}.bs-summary span{font-weight:700;opacity:.85}.bs-summary b{font-family:var(--display);font-size:clamp(56px,6vw,110px);line-height:1.05}.bs-summary small{font-size:.4em;opacity:.7}.bs-hard h2{margin:0 0 16px;font-size:1.4em}.bs-hard ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;list-style:none;margin:0;padding:0}.bs-hard button{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"n w c" "n m m" "n bar bar";grid-column-gap:16px;column-gap:16px;grid-row-gap:4px;row-gap:4px;width:100%;padding:16px 22px;border-radius:22px;background:var(--card);box-shadow:var(--shadow);text-align:left;transition:transform .12s}.bs-hard button:hover{transform:translateY(-2px)}.bs-hard em{grid-area:n;align-self:center;font-style:normal;font-family:var(--display);font-size:1.5em;color:var(--ink-3)}.bs-hard b{grid-area:w;font-size:1.7em;line-height:1.2}.bs-hard span{grid-area:m;color:var(--ink-2)}.bs-hard small{grid-area:c;align-self:center;font-weight:700;color:var(--red-d)}.bs-wrong{grid-area:bar;display:block;height:8px;border-radius:8px;background:var(--red-50);margin-top:6px;overflow:hidden}.bs-wrong i{display:block;height:100%;background:var(--red)}.bs-perfect{display:flex;flex-direction:column;align-items:center;justify-content:center}.bs-focus{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:4vw;background:rgba(34,36,31,.55)}.bs-focus-card{position:relative;display:grid;grid-template-columns:auto 1fr;grid-gap:3vw;gap:3vw;align-items:center;width:min(1200px,100%);padding:3vw;border-radius:36px;background:var(--card)}.bs-focus-card.no-img{grid-template-columns:1fr;width:min(900px,100%)}.bs-focus-card img{width:clamp(220px,28vw,460px);aspect-ratio:1;border-radius:28px;object-fit:cover;background:var(--surface)}.bs-focus-word{display:flex;align-items:center;gap:16px}.bs-focus-word h2{margin:0;font-size:clamp(56px,6vw,110px);line-height:1.05}.bs-focus-card .phonetic{font-size:1.3em}.bs-focus-meaning{font-family:var(--display);font-size:clamp(28px,2.6vw,46px);margin:10px 0 18px}.bs-focus-card .example,.bs-focus-card .tip-box{font-size:1.1em;margin-bottom:12px}.bs-x{position:absolute;top:16px;right:20px;width:48px;height:48px;border-radius:50%;font-size:30px;color:var(--ink-2);background:var(--surface)}.bs-confirm{display:flex;flex-direction:column;gap:14px;max-width:520px;padding:32px;border-radius:28px;background:var(--card);text-align:center}.bs-confirm h2{margin:0}.bs-confirm>div{display:flex;gap:12px;justify-content:center;margin-top:8px}@media(max-width:900px){.bs-focus-card,.bs-hard ol,.bs-live,.bs-result{grid-template-columns:1fr}.bs-top{grid-template-columns:1fr auto}.bs-top .brand{display:none}}@media(max-width:640px){.test-entry{grid-template-columns:1fr auto;padding:14px 16px}.test-entry label{grid-column:1/-1}.test-code{width:100%}.week-days{gap:4px}.week-days i{width:26px;height:26px}.week-days small{display:none}}.hint-bubble{display:flex;align-items:flex-start;gap:10px;width:100%;margin:4px 0 14px;padding:10px 14px 10px 8px;border-radius:18px;text-align:left;background:var(--yellow-50);box-shadow:inset 0 0 0 2px var(--yellow)}.hint-bubble .mascot{flex:none}.hint-text{flex:1 1;min-width:0}.hint-bubble p{font-size:15px;font-weight:600;line-height:1.55}.hint-ai{margin-top:6px;padding-top:6px;border-top:1px dashed rgba(138,90,0,.25);color:var(--ink-2);overflow:hidden}.hint-ai b{display:inline-block;margin-right:6px;padding:0 7px;border-radius:999px;font-size:12px;line-height:20px;color:#fff;background:var(--purple)}.diff.is-typed{font-size:26px;color:var(--ink-2);margin:-4px 0 10px;text-decoration:line-through;-webkit-text-decoration-color:rgba(34,36,31,.18);text-decoration-color:rgba(34,36,31,.18)}.q-speak .intro-meaning{margin-bottom:6px}.mic-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin:14px 0 6px}.mic-btn{--level:0;position:relative;display:grid;place-items:center;width:96px;height:96px;border-radius:50%;color:#fff;background:var(--purple);box-shadow:0 5px 0 var(--purple-d);transition:background .2s}.mic-btn:after{content:"";position:absolute;inset:-8px;border-radius:50%;border:4px solid var(--purple-200);opacity:0;transform:scale(calc(1 + var(--level) * .35));transition:transform .08s,opacity .2s}.mic-btn.is-on{background:var(--red);box-shadow:0 5px 0 var(--red-d)}.mic-btn.is-on:after{opacity:1;border-color:#ffc2c8}.mic-btn:disabled{opacity:.5;cursor:default}.mic-label{font-size:15px;font-weight:700;color:var(--ink-2)}.speak-result{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:6px}.stars{display:flex;gap:6px;font-size:44px;line-height:1}.stars span{color:var(--line-2)}.stars span.on{color:#ffbf1f;text-shadow:0 3px 0 #e09a00}.speak-msg{font-size:16px;font-weight:700;text-align:center}.speak-msg b{font-family:var(--display);font-size:24px;color:var(--purple-d)}.speak-msg.is-warn{color:var(--orange-d);font-weight:600;font-size:15px;line-height:1.55;margin-top:10px}.phones{font-family:var(--display);font-size:24px;letter-spacing:.04em}.phones .is-miss{color:var(--red);-webkit-text-decoration:underline wavy;text-decoration:underline wavy;text-underline-offset:5px}.mistake-entry{display:flex;align-items:center;gap:14px;width:100%;padding:14px 18px;border-radius:20px;text-align:left;background:#fff;box-shadow:inset 0 0 0 2px var(--line),0 4px 0 var(--line);transition:transform .08s,box-shadow .08s}.mistake-entry:active{transform:translateY(3px);box-shadow:inset 0 0 0 2px var(--line),0 1px 0 var(--line)}.me-icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:14px;color:var(--red-d);background:var(--red-50)}.me-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.me-body b{font-family:var(--display);font-size:18px}.me-body span{font-size:14px;color:var(--ink-2)}.me-count{flex:none;font-family:var(--display);font-size:24px;color:var(--red-d);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.me-count small{font-family:var(--sans);font-size:13px;font-weight:700;margin-left:2px}.mistakes{display:grid;grid-gap:14px;gap:14px;padding-top:16px}.mistakes-head h1{display:flex;align-items:center;gap:10px;font-size:clamp(28px,7vw,36px);margin:0 0 4px}.seg{display:inline-flex;justify-self:start;padding:4px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 2px var(--line)}.seg button{padding:8px 18px;border-radius:10px;font-size:15px;font-weight:700;color:var(--ink-2)}.seg button.is-on{color:#fff;background:var(--purple)}.mistake-list{list-style:none;margin:0;padding:6px 0}.mistake-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:2px 12px;gap:2px 12px;padding:12px 18px;border-bottom:1px solid var(--line)}.mistake-list li:last-child{border-bottom:0}.ml-word{display:flex;align-items:center;gap:6px;min-width:0}.ml-word b{font-size:20px;overflow-wrap:anywhere}.ml-meaning{grid-column:1;font-size:14px;color:var(--ink-2)}.ml-meta{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px}.ml-meta .lv-pill{font-style:normal;font-size:13px;padding:2px 10px;background:var(--purple-50);color:var(--purple-d)}.ml-meta small{font-size:12px;color:var(--red-d);font-weight:700}.app.has-tabs .main{padding-bottom:96px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:0 12px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 0,transparent) 0,color-mix(in srgb,var(--bg) 92%,transparent) 38%,var(--bg) 100%);pointer-events:none}.tabbar ul{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:2px;gap:2px;list-style:none;margin:0 auto;max-width:560px;padding:6px;border-radius:24px;background:hsla(0,0%,100%,.92);box-shadow:0 -2px 0 var(--line) inset,0 10px 28px -14px rgba(34,36,31,.4);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);pointer-events:auto}.tab,.tabbar li{display:flex}.tab{position:relative;isolation:isolate;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1 1;min-height:54px;color:var(--ink-3)}.tab,.tab-bg{border-radius:18px}.tab-bg{position:absolute;inset:0;z-index:-1;background:var(--purple-100);box-shadow:0 2px 0 var(--purple-200)}.tab.is-on{color:var(--purple-d)}.tab-icon{position:relative;font-size:21px;line-height:1}.tab-label{font-size:11px;font-weight:700;letter-spacing:.02em}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h2{font-size:21px;margin:0}.count{padding:2px 12px;border-radius:999px;background:var(--purple-100);color:var(--purple-d);font-family:var(--display);font-size:18px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding-top:32px;max-width:440px;margin:0 auto}.empty-state h1{font-size:clamp(24px,6vw,32px);margin:6px 0}.empty-state .primary{margin-top:16px}.grow-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:40;padding:12px 20px;border-radius:18px;background:var(--dark);color:#fff;font-size:15px;font-weight:600;box-shadow:0 12px 28px -12px rgba(0,0,0,.5);white-space:nowrap}@media(max-width:380px){.grow-toast{white-space:normal;text-align:center;max-width:88vw}}.grow{display:grid;grid-gap:16px;gap:16px;padding-top:16px}.grow-hero{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:18px;gap:18px}.grow-stage{place-items:center;flex:none}.grow-mascot,.grow-stage{position:relative;display:grid}.grow-mascot{place-items:center}.grow-shadow{position:absolute;left:50%;bottom:-6px;width:78%;height:14px;border-radius:50%;background:rgba(34,36,31,.14);transform:translateX(-50%)}.grow-who h1{font-size:clamp(26px,7vw,34px);margin:0 0 4px}.grow-next{margin-top:10px;font-size:15px;font-weight:600;color:var(--ink-2)}.grow-next b{font-family:var(--display);font-size:20px;color:var(--purple-d)}.grow-bar{height:12px;margin-top:8px;background:rgba(34,36,31,.08);overflow:hidden}.grow-bar,.grow-bar i{display:block;border-radius:12px}.grow-bar i{height:100%;background:linear-gradient(90deg,var(--purple),#8b7bff);transform-origin:left center}.outfit-layer{position:absolute;inset:0;pointer-events:none}.worn{position:absolute;left:50%;line-height:1;color:var(--purple-d);filter:drop-shadow(0 3px 4px rgba(34,36,31,.25))}.worn.is-hat{top:-6%;transform:translateX(-50%)}.worn.is-glasses{top:44%;transform:translateX(-50%)}.worn.is-scarf{top:74%;font-size:30px;transform:translateX(-50%)}.makeup-panel .makeup-count{font-family:var(--display);font-size:18px;padding:4px 14px;border-radius:999px;background:var(--surface);color:var(--ink-2)}.makeup-panel .makeup-count.has{background:var(--yellow);color:var(--amber-d)}.makeup-panel .block{margin-top:14px}.makeup-panel a,.outfit-panel a{color:var(--purple-d);font-weight:700;text-decoration:underline;text-underline-offset:3px}.badge-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.badge{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 8px 12px;border-radius:18px;text-align:center;background:var(--surface);box-shadow:inset 0 0 0 2px var(--line)}.badge-emoji{display:grid;place-items:center;width:48px;height:48px;margin-bottom:2px;border-radius:50%;color:var(--ink-3);background:rgba(34,36,31,.06)}.badge b{font-size:14px;line-height:1.25}.badge small{font-size:11px;color:var(--ink-3);line-height:1.35}.badge-bar{width:100%;height:6px;margin-top:2px;background:rgba(34,36,31,.08);overflow:hidden}.badge-bar,.badge-bar i{display:block;border-radius:6px}.badge-bar i{height:100%;background:var(--purple-200);transform-origin:left center}.badge.is-got{background:#fff;box-shadow:inset 0 0 0 2px var(--purple-200),0 4px 0 var(--purple-100)}.badge.is-got .badge-emoji{color:var(--purple-d);background:var(--purple-50)}.badge.is-got.tier-gold .badge-emoji{color:var(--amber-d);background:var(--yellow-50)}.badge.is-got.tier-bronze .badge-emoji{color:var(--orange-d);background:var(--orange-50)}.badge.is-got.tier-gold{box-shadow:inset 0 0 0 2px var(--yellow),0 4px 0 #f0d489;background:linear-gradient(180deg,#fffdf3,#fff)}.badge.is-got.tier-silver{box-shadow:inset 0 0 0 2px var(--line-2),0 4px 0 var(--line);background:linear-gradient(180deg,#fbfbf8,#fff)}.outfit-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.outfit{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;padding:14px 8px 12px;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 2px var(--line);transition:transform .08s,box-shadow .12s,background .15s}.outfit:active:not(:disabled){transform:translateY(2px)}.outfit-emoji{display:grid;place-items:center;width:48px;height:48px;margin-bottom:2px;border-radius:16px;color:var(--purple-d);background:var(--purple-50)}.outfit b{font-size:14px}.outfit small{font-size:11px;color:var(--ink-3)}.outfit.is-on{background:var(--purple-50);box-shadow:inset 0 0 0 2px var(--purple),0 4px 0 var(--purple-100)}.outfit.is-on small{color:var(--purple-d);font-weight:700}.outfit.is-locked{opacity:.7;cursor:default}.outfit.is-locked .outfit-emoji{color:var(--ink-3);background:rgba(34,36,31,.06)}.shop{display:grid;grid-gap:16px;gap:16px;padding-top:16px}.shop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.shop-head h1{font-size:clamp(26px,7vw,34px);margin:0 0 2px}.shop-wallet{display:flex;flex-direction:column;align-items:center;flex:none;padding:8px 18px;border-radius:18px;background:var(--yellow);box-shadow:0 4px 0 #e8c86a}.shop-wallet b{font-family:var(--display);font-size:26px;line-height:1.1;color:var(--amber-d);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shop-wallet span{font-size:12px;font-weight:700;color:var(--amber-d)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px;list-style:none;margin:0;padding:0}.shop-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 14px 14px;border-radius:22px;background:#fff;box-shadow:var(--shadow);text-align:center}.shop-item.is-off .si-cost,.shop-item.is-off .si-icon,.shop-item.is-off>b{opacity:.6}.si-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:4px;border-radius:20px;color:var(--purple-d);background:var(--purple-50);overflow:hidden}.si-icon.is-physical{color:var(--amber-d);background:var(--yellow-50)}.si-icon img{width:100%!important;height:100%!important;border-radius:0!important}.si-go.is-owned{background:var(--mint-50);box-shadow:inset 0 0 0 2px var(--mint);color:var(--green-d)}.shop-item>b{font-family:var(--display);font-size:18px;margin-top:2px}.si-kind{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--yellow-50);color:var(--amber-d);margin:2px 0}.si-desc{font-size:12px;color:var(--ink-2);line-height:1.45;min-height:34px}.si-cost{display:flex;align-items:baseline;gap:6px;font-size:13px;font-weight:700;color:var(--amber-d);margin:2px 0 8px}.si-cost b{font-family:var(--display);font-size:22px}.si-cost em{font-style:normal;font-size:11px;font-weight:600;color:var(--ink-3);padding:1px 7px;border-radius:999px;background:var(--surface)}.si-go{width:100%;height:42px;border-radius:14px;font-family:var(--display);font-size:16px;color:#fff;background:var(--purple);box-shadow:0 3px 0 var(--purple-d);transition:transform .08s,box-shadow .08s}.si-go:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--purple-d)}.si-go.is-disabled{background:var(--line-2);box-shadow:0 3px 0 #b8bba9;color:#fff;cursor:not-allowed}.mine-list,.shop-mine .mine-list{list-style:none;margin:0;padding:0}.mine-list li{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:12px;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line)}.mine-list li:last-child{border-bottom:0}.ml-who{display:flex;flex-direction:column;min-width:0}.ml-who b{font-size:16px}.ml-who small{font-size:12px;color:var(--ink-3)}.ml-status{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--surface);color:var(--ink-2)}.ml-status.is-pending{background:var(--yellow-50);color:var(--amber-d)}.ml-status.is-granted{background:var(--mint-50);color:var(--green-d)}.ml-status.is-done{background:var(--purple-50);color:var(--purple-d)}.ml-cost{font-family:var(--display);font-size:18px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ask-back{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:rgba(34,36,31,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ask-card{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(380px,100%);padding:28px 24px 22px;border-radius:28px;background:hsla(0,0%,100%,.98);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 20px 40px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.08);text-align:center}.ask-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:24px;color:var(--purple-d);background:var(--purple-50);overflow:hidden}.ask-icon img{width:100%!important;height:100%!important;border-radius:0!important}.ask-card h2{font-size:22px;margin:4px 0 0}.ask-card p{font-size:15px;color:var(--ink-2)}.ask-card p b{font-family:var(--display);font-size:19px;color:var(--amber-d)}.ask-actions{display:flex;gap:12px;width:100%;margin-top:16px}.ask-actions button{flex:1 1;min-height:52px;font-size:17px}.mywords{display:grid;grid-gap:14px;gap:14px;padding-top:16px}.mw-head h1{font-size:clamp(26px,7vw,34px);margin:0 0 12px}.mw-counts{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.mw-counts li{display:flex;flex-direction:column;align-items:center;padding:12px 8px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 2px var(--line)}.mw-counts b{font-family:var(--display);font-size:26px;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mw-counts span{font-size:12px;color:var(--ink-2)}.mw-counts .learning b{color:var(--purple-d)}.mw-counts .mastered b{color:var(--green-d)}.mw-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.mw-search{flex:1 1;min-width:150px;height:46px;padding:0 16px;border:0;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 2px var(--line)}.mw-search:focus{outline:0;box-shadow:inset 0 0 0 3px var(--purple-200)}.mw-book{padding:0;overflow:hidden}.mw-book-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:10px;gap:10px;width:100%;padding:18px 22px;text-align:left}.mw-book-head b{font-family:var(--display);font-size:19px}.mw-caret{font-style:normal;font-size:20px;color:var(--ink-3);display:block}.mw-unit{padding:0 22px 12px}.mw-unit-title{display:flex;align-items:baseline;gap:10px;font-size:13px;font-weight:700;color:var(--purple-d);padding:8px 0 6px;border-top:1px solid var(--line)}.mw-unit-title span{font-weight:600;color:var(--ink-3)}.mw-words{list-style:none;margin:0;padding:0}.mw-word{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:2px 12px;gap:2px 12px;padding:9px 0;border-bottom:1px dashed var(--line)}.mw-word:last-child{border-bottom:0}.mw-w{display:flex;align-items:center;gap:4px;min-width:0}.mw-w b{font-size:19px;overflow-wrap:anywhere}.mw-m{grid-column:1;font-size:13px;color:var(--ink-2)}.mw-tag{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.mw-tag .lv-pill{font-style:normal;font-size:12px;padding:2px 9px;background:var(--purple-50);color:var(--purple-d)}.mw-tag small{font-size:11px;color:var(--red-d);font-weight:700}.mw-word.is-mastered .mw-w b{color:var(--green-d)}.mw-word.is-mastered .mw-tag .lv-pill{background:var(--mint-50);color:var(--green-d)}.me{display:grid;grid-gap:16px;gap:16px;padding-top:16px}.me-card{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:24px;background:var(--card);box-shadow:var(--shadow)}.me-who h1{font-size:clamp(24px,6vw,30px);margin:0 0 2px}.me-menu{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.me-menu button{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;grid-gap:12px;gap:12px;width:100%;padding:14px 18px;border-radius:18px;text-align:left;background:var(--card);box-shadow:var(--shadow);transition:transform .08s,box-shadow .12s}.me-menu button:active{transform:translateY(2px);box-shadow:0 2px 10px -8px rgba(34,36,31,.3)}.mm-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;color:var(--purple-d);background:var(--purple-50)}.mm-icon.is-red{color:var(--red-d);background:var(--red-50)}.mm-icon.is-mint{color:var(--green-d);background:var(--mint-50)}.me-facts{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:8px;font-size:14px;color:var(--ink-2)}.me-facts span{white-space:nowrap}.me-facts b{font-family:var(--display);font-size:17px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.me-menu b{font-family:var(--display);font-size:17px}.mm-sub{font-size:13px;color:var(--ink-3)}.me-menu i{font-style:normal;font-size:22px;color:var(--line-2)}.me-row{justify-content:space-between;gap:12px;padding:14px 20px;border-radius:18px;background:var(--card);box-shadow:var(--shadow);font-weight:600}.me-row,.me-row-right{display:flex;align-items:center}.me-row-right{gap:8px;font-size:14px;color:var(--ink-2)}.me-foot{display:grid;grid-gap:8px;gap:8px;justify-items:center}.wc-points{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:10px 0 0;padding:0}.wc-points li{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:999px;background:var(--yellow);font-size:13px;font-weight:700;color:var(--amber-d)}.wc-points b{font-family:var(--display);font-size:16px}.speak-metrics{display:flex;gap:16px;list-style:none;margin:8px 0 0;padding:0}.speak-metrics li{display:flex;flex-direction:column;align-items:center;font-size:12px;color:var(--ink-2)}.speak-metrics b{font-family:var(--display);font-size:22px;color:var(--purple-d)}.done-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;list-style:none;margin:14px 0 0;padding:0}.done-badges li{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:var(--yellow);font-weight:700;color:var(--amber-d)}@media(max-width:640px){.grow-hero{grid-template-columns:1fr;justify-items:center;text-align:center}.grow-who h1{font-size:26px}.grow-bar{width:100%}.shop-grid{grid-template-columns:repeat(2,1fr)}.si-desc{min-height:0}.ask-actions{flex-direction:column-reverse}.ask-actions button{flex:none;width:100%}.mw-book-head{padding:16px}.mw-unit{padding:0 16px 10px}.me-menu button{padding:12px 14px;gap:10px}}@media(prefers-reduced-motion:reduce){.tab-icon,.worn{transition:none}}button{touch-action:manipulation}.link-btn.is-danger{color:var(--red-d)}:root[data-wbtheme=mint]{--bg:#dff1e6;--surface:#f3faf5;--line:#d3e8da;--purple:#14a35c;--purple-d:#0b7341;--purple-200:#a8e3c2;--purple-100:#d9f5e4;--purple-50:#eefaf3}:root[data-wbtheme=sky]{--bg:#dfeaf6;--surface:#f3f7fc;--line:#d2deec;--purple:#2f7de1;--purple-d:#1d5bb0;--purple-200:#b5d2f6;--purple-100:#dceafc;--purple-50:#eef5fe}:root[data-wbtheme=peach]{--bg:#f8e6df;--surface:#fdf5f2;--line:#efd9d0;--purple:#e8607a;--purple-d:#b8405a;--purple-200:#f6c0cb;--purple-100:#fde1e7;--purple-50:#fff0f3}.frame{position:relative;display:inline-grid;place-items:center;border-radius:50%;padding:calc(var(--fs)*.06)}.frame:before{content:"";position:absolute;inset:0;border-radius:50%;z-index:0}.frame>*{position:relative;z-index:1}.frame-star:before{background:radial-gradient(circle,#fff6d6 55%,#ffe596 56%,#ffd24d 70%,#f2b500 71%,#f2b500 73%,transparent 74%)}.frame-rainbow:before{background:conic-gradient(#e8414f,#f2762f,#ffd24d,#14a35c,#2f7de1,#6352ee,#e8414f);-webkit-mask:radial-gradient(circle,transparent 62%,#000 63%,#000 71%,transparent 72%);mask:radial-gradient(circle,transparent 62%,#000 63%,#000 71%,transparent 72%)}.frame-stars{position:absolute;inset:0;z-index:2;pointer-events:none}.frame-stars i{position:absolute;left:50%;top:50%;font-style:normal;font-size:calc(var(--fs)*.13);color:#f2b500;text-shadow:0 1px 0 #b98600;transform:rotate(calc(var(--i)*45deg)) translateY(calc(var(--fs)*-.56)) rotate(calc(var(--i)*-45deg));translate:-50% -50%;animation:twinkle 2.4s ease-in-out infinite;animation-delay:calc(var(--i)*.3s)}@keyframes twinkle{50%{opacity:.45;scale:.8}}@media (prefers-reduced-motion:reduce){.frame-stars i{animation:none}}.title-tag{display:inline-block;vertical-align:middle;margin-left:8px;padding:2px 10px;border-radius:999px;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:0;color:var(--amber-d);background:var(--yellow);box-shadow:0 2px 0 #e9c34f}.report-hero .title-tag{margin:6px 0 0;color:var(--amber-d)}.home-hello>.title-tag{margin:0 0 10px}.look-group+.look-group{margin-top:14px}.look-label{font-size:13px;font-weight:700;color:var(--ink-2);margin-bottom:8px}.outfit-emoji img{border-radius:12px}.review-half{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:var(--yellow-50);box-shadow:inset 0 0 0 2px #ffe08a}.rh-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:var(--amber-d);background:var(--yellow)}.rh-body{flex:1 1;min-width:0;display:flex;flex-direction:column}.rh-body b{font-size:15px}.rh-body span{font-size:13px;color:var(--ink-2);line-height:1.5}.rh-actions{display:flex;align-items:center;gap:6px;flex:none}.review-half .secondary{flex:none;padding:8px 14px;font-size:14px}.pic-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;width:100%}.option.pic{justify-content:center;padding:8px;min-height:0;aspect-ratio:1}.option.pic img{width:100%;height:100%;object-fit:contain;border-radius:12px;pointer-events:none}.option.pic .option-icon{position:absolute;top:8px;right:8px}.sentence-read{flex-direction:column;gap:8px;width:100%;padding:14px;border-radius:18px;background:var(--surface)}.sentence-read,.sr-text{display:flex;align-items:center}.sr-text{gap:6px;font-size:18px;font-weight:600;text-align:center}.wc-family{display:flex;flex-wrap:wrap;gap:6px 14px}.wc-family span{display:inline-flex;align-items:baseline;gap:6px}.wc-family b{font-weight:700}.wc-family u{text-decoration:none;color:var(--purple-d);background:var(--purple-100);border-radius:4px;padding:0 2px}.again-tip{margin:-6px 0 12px;padding:8px 14px;border-radius:12px;font-size:14px;font-weight:700;color:var(--orange-d);background:var(--orange-50)}.ai-writing{display:flex;align-items:center;gap:8px;margin-top:8px}.ai-writing .spinner{width:14px;height:14px;border-width:2px}.remind{margin:2px 0 6px;font-size:13px;font-weight:600;color:var(--amber-d)}.remind.late{color:var(--red-d)}.extra-entry .me-icon{color:var(--green-d);background:var(--mint-50)}.extra-entry .me-count{color:var(--green-d)}.extra-entry .me-count small{font-size:13px;margin-left:2px}.extra-entry:disabled{opacity:.7}.app,body{min-height:100vh;min-height:100dvh}.wc-word h2{font-size:min(clamp(30px,8vw,46px),calc((min(100vw,640px) - 230px)/(var(--len,6)*.58)));white-space:nowrap;overflow-wrap:normal}@media(max-width:640px){.topbar{height:50px}.screen.section-done,.screen.session{padding:6px 12px calc(14px + env(safe-area-inset-bottom))}.session .section-head{margin-bottom:10px;row-gap:8px}.session .section-title h2{font-size:20px}.session .progress{height:8px}.q-card{padding:14px 14px 16px;border-radius:20px}.q-ask{font-size:14px;margin-bottom:6px}.word-img{margin-bottom:8px}.word-img.lg{width:auto;height:clamp(96px,calc(100dvh - 516px),240px);aspect-ratio:1}.word-img.md{width:auto;height:clamp(84px,calc(100dvh - 540px),150px);aspect-ratio:1}.word{font-size:min(clamp(36px,10vw,60px),calc((100vw - 120px)/(var(--len,6)*.6)),8.5dvh)}.word-row{gap:10px}.phonetic{font-size:15px;margin:2px 0 8px}.intro-meaning{font-size:21px;margin:0 0 10px}.tip-box{padding:8px 12px;margin-bottom:8px;border-radius:14px}.example p,.tip-box p{font-size:14px;line-height:1.5}.example{padding:8px 12px}.q-intro .block{margin-top:12px}.listen-big{width:96px;height:96px;margin:0 0 14px}.spell-meaning{font-size:21px;margin:0 0 12px}.slots{margin-bottom:12px}.option{min-height:50px;padding:10px 14px}.block{margin-top:16px}.primary,.secondary{height:52px}.listen-options{grid-template-columns:1fr 1fr;gap:8px}.listen-options .option{font-size:18px;justify-content:center;text-align:center;overflow-wrap:anywhere}.pic-options{gap:10px}.option.pic{aspect-ratio:auto;height:clamp(104px,calc((100dvh - 400px)/2),180px)}.q:has(.hint-bubble) .listen-big{width:72px;height:72px;margin-bottom:8px}.q:has(.hint-bubble) .option.pic{height:clamp(88px,calc((100dvh - 470px)/2),180px)}.q-card .primary.block,.word-card>.primary{position:-webkit-sticky;position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:3}.spell-fix .primary.block{position:static}.wc-img{width:76px;height:76px}.wc-word{gap:8px}.wc-stage{margin:10px 0;padding:12px 14px}.wc-diag{font-size:15px}.wc-body{gap:8px}.wc-body dd{line-height:1.55;font-size:15px}.section-done{padding-top:24px}.home{gap:10px;padding-top:2px}.home-mascot{width:64px!important;height:64px!important}.home-hello h1{font-size:23px;margin:0 0 4px}.speech{padding:7px 12px;font-size:13.5px;line-height:1.45}.remind{margin:0 0 4px}.home-chips{gap:8px}.home-chips button{padding:6px 10px}.home-chips b{font-size:20px}.home-chips span{font-size:12px}.tasks{gap:8px}.task{padding:8px 14px;gap:12px;border-radius:18px}.task-step{width:34px;height:34px;font-size:17px;border-radius:12px}.task-body b{font-size:18px}.task-body>span{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-bar{height:5px;margin-top:4px}.big-go{height:54px;font-size:19px}.done{gap:12px}.done-hero>:first-child{width:96px!important;height:96px!important}.done-hero h1{font-size:28px;margin:4px 0}.done .highlights{grid-template-columns:repeat(4,1fr);gap:6px}.done .highlights>div{padding:8px;border-radius:14px;gap:2px}.done .highlights span{font-size:12px}.done .highlights b{font-size:22px}.done .highlights small{font-size:12px}.done>.ladder-panel{order:9}.join{padding-top:6px}.join-mascot{width:clamp(64px,calc(100dvh - 590px),132px)!important;height:clamp(64px,calc(100dvh - 590px),132px)!important}.join-title{font-size:clamp(24px,6.5vw,32px);margin:2px 0 6px}.join .lede{margin-bottom:12px}.pin-pad{margin-top:10px;gap:10px}.pin-key{height:clamp(50px,7.5dvh,66px)}.join .ghost{margin-top:12px}}.home .panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}.home .panel-head h2{font-size:19px;margin:0}.hero-avatar{flex:none;cursor:pointer}.level-ring{position:relative;display:grid;place-items:center}.level-ring>svg{position:absolute;inset:0}.level-ring-in{position:relative;display:grid;place-items:center;border-radius:50%;overflow:visible}.level-badge{position:absolute;right:-6px;bottom:-2px;padding:1px 8px;border-radius:999px;background:var(--purple);color:#fff;font-family:var(--display);font-size:13px;box-shadow:0 2px 0 var(--purple-d)}.home-hello{flex:1 1;min-width:0}.home-hello h1{margin:0 0 4px}.rank-tag{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--purple-100);color:var(--purple-d);font-size:12px;font-weight:700}.hero-sub{margin:5px 0 0;font-size:13px;font-weight:600;color:var(--ink-2)}.hero-sub.late{color:var(--red-d)}.hero-streak{flex:none;display:flex;flex-direction:column;align-items:center;padding:6px 10px;border-radius:18px;background:var(--orange-50);color:var(--orange);box-shadow:inset 0 0 0 2px #ffd2b5,0 3px 0 #ffd2b5}.hero-streak b{font-family:var(--display);font-size:22px;line-height:1;color:var(--orange-d)}.hero-streak small{font-size:11px;font-weight:700;color:var(--orange-d)}.hero-chips{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.hc{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:14px;font-size:13px;color:var(--ink-2);text-align:left}.hc b{font-family:var(--display);font-size:20px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hc.points{background:var(--yellow-50);box-shadow:inset 0 0 0 2px var(--yellow),0 3px 0 var(--yellow)}.hc.points b,.hc.points svg{color:var(--amber-d)}.hc.mastered{background:var(--mint-50);box-shadow:inset 0 0 0 2px var(--mint),0 3px 0 var(--mint)}.hc.mastered b,.hc.mastered svg{color:var(--green-d)}.hc:active{transform:translateY(2px)}.quest-card{padding:16px 16px 18px}.quest-empty{padding:28px 0}.quest-map{position:relative;width:100%;max-width:460px;aspect-ratio:340/176;margin:4px auto 2px}.quest-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.qp-base{fill:none;stroke:var(--line);stroke-width:10;stroke-linecap:round;stroke-dasharray:1 16}.qp-done{fill:none;stroke:var(--green);stroke-width:10;stroke-linecap:round}.qm-stop{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center}.qm-node{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;color:#fff;transition:box-shadow .1s}.qm-node.is-locked{background:var(--line);color:var(--ink-3);box-shadow:0 5px 0 var(--line-2)}.qm-node.is-done{background:var(--green);box-shadow:0 5px 0 var(--green-edge)}.qm-node.is-done.is-empty{background:var(--line-2);box-shadow:0 5px 0 #b8bba9}.qm-node.is-active.tone-mint{background:var(--green);box-shadow:0 5px 0 var(--green-edge);color:#fff}.qm-node.is-active.tone-yellow{background:#ffc800;box-shadow:0 5px 0 #e0a800;color:#fff}.qm-node.is-active.tone-lavender{background:var(--purple);box-shadow:0 5px 0 var(--purple-d);color:#fff}.qm-node.is-active:active{box-shadow:0 1px 0 rgba(0,0,0,.2)}.qm-ring{position:absolute;inset:-11px;width:80px;height:80px;pointer-events:none}.tone-mint .qm-ring{color:var(--green)}.tone-yellow .qm-ring{color:#ffc800}.tone-lavender .qm-ring{color:var(--purple)}.qm-pulse{position:absolute;inset:0;border-radius:50%;background:currentColor;opacity:.4;pointer-events:none;z-index:-1}.tone-yellow .qm-pulse{color:#ffc800}.tone-mint .qm-pulse{color:var(--green)}.tone-lavender .qm-pulse{color:var(--purple)}.qm-bubble{position:absolute;bottom:calc(100% + 14px);left:50%;translate:-50% 0;white-space:nowrap;padding:5px 12px;border-radius:12px;background:#fff;font-family:var(--display);font-size:15px;box-shadow:inset 0 0 0 2px var(--line),0 3px 0 var(--line);z-index:2}.qm-bubble:after{content:"";position:absolute;left:50%;top:100%;translate:-50% -1px;border:7px solid transparent;border-top-color:#fff}.qm-bubble.tone-mint{color:var(--green-d)}.qm-bubble.tone-yellow{color:#b07d00}.qm-bubble.tone-lavender{color:var(--purple-d)}.qm-label{position:absolute;top:calc(100% + 8px);display:flex;flex-direction:column;align-items:center;white-space:nowrap;font-size:11px;font-weight:700;color:var(--ink-2);line-height:1.25;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qm-label b{font-family:var(--display);font-size:14px;font-weight:700;color:var(--ink)}.qm-label.is-locked,.qm-label.is-locked b{color:var(--ink-3)}.qm-chest{position:relative;display:grid;place-items:center;width:62px;height:58px}.qm-chest .ch-body{fill:#ffc800;stroke:#c08f00;stroke-width:2.5}.qm-chest .ch-lid{fill:#ffb020;stroke:#c08f00;stroke-width:2.5}.qm-chest .ch-band{fill:#e0a800}.qm-chest .ch-lock{fill:#8a5a00}.qm-chest.is-locked .ch-body,.qm-chest.is-locked .ch-lid{fill:var(--line);stroke:var(--line-2)}.qm-chest.is-locked .ch-band{fill:var(--line-2)}.qm-chest.is-locked .ch-lock{fill:var(--ink-3)}.ch-spark{position:absolute;top:6px;width:9px;height:9px;border-radius:2px;background:#ffc800;rotate:45deg;pointer-events:none}.big-go.is-chest{background:#ffc800;box-shadow:0 4px 0 #c08f00;color:#5a3d00}.week-card{padding:14px 16px 12px}.week-flames{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;list-style:none;margin:0;padding:0}.week-flames li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0;border-radius:12px}.week-flames li.is-today{background:var(--purple-50);box-shadow:inset 0 0 0 2px var(--purple-200)}.wf-icon{display:grid;place-items:center;width:30px;height:30px;color:var(--line-2)}.week-flames li.is-done .wf-icon{color:var(--orange)}.wf-dash{display:block;width:22px;height:22px;border-radius:50%;border:2.5px dashed var(--line-2)}.is-today .wf-dash{border-color:var(--purple-200)}.wf-day{font-size:12px;font-weight:700;color:var(--ink-2)}.is-today .wf-day{color:var(--purple-d)}.zones{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.zones.is-single{grid-template-columns:1fr}.zone-tile{align-items:center;gap:10px;padding:12px;border-radius:18px;text-align:left}.zone-tile,.zt-body{display:flex;min-width:0}.zt-body{flex:1 1;flex-direction:column;gap:2px}.zt-body b{font-family:var(--display);font-size:15px;line-height:1.25;white-space:nowrap}.zt-body>span{font-size:12px;line-height:1.35}.zone-monster{background:var(--red-50);box-shadow:inset 0 0 0 2px #ffc9ce,0 4px 0 #ffc9ce;color:var(--red-d)}.zone-monster:active{transform:translateY(3px);box-shadow:inset 0 0 0 2px #ffc9ce,0 1px 0 #ffc9ce}.mo-body{fill:var(--red)}.mo-eye{fill:#3a0a10}.mo-mouth{fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round}.zone-torch{background:var(--orange-50);box-shadow:inset 0 0 0 2px #ffd2b5;color:var(--orange-d)}.torch-fire{flex:none;display:grid;place-items:center;width:44px;color:var(--orange)}.torch-bar{height:6px;margin-top:4px;background:rgba(176,76,18,.15);overflow:hidden}.torch-bar,.torch-bar i{display:block;border-radius:6px}.torch-bar i{height:100%;background:var(--orange);transform-origin:left center}.word-tower{position:relative;padding-top:24px}.word-tower ol{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;grid-gap:5px;gap:5px;list-style:none;margin:0;padding:0}.word-tower li{display:flex;flex-direction:column;align-items:center;gap:4px}.tw-count{font-family:var(--display);font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.tw-block{position:relative;display:block;width:100%;border-radius:10px 10px 4px 4px;transform-origin:bottom center;background:color-mix(in srgb,var(--purple) calc(var(--fill)*100%),var(--purple-100));box-shadow:inset 0 -4px 0 rgba(0,0,0,.12)}.word-tower li.is-top .tw-block{background:var(--green);box-shadow:inset 0 -4px 0 var(--green-edge)}.word-tower li.is-top .tw-count{color:var(--green-d)}.tw-flag{position:absolute;left:50%;top:6px;translate:-50% 0}.tw-name{font-size:11px;font-weight:700;color:var(--ink-2);white-space:nowrap}.word-tower li.is-top .tw-name{color:var(--green-d)}.tower-today{position:absolute;top:0;left:0;padding:2px 10px;border-radius:999px;background:var(--yellow);color:var(--amber-d);font-size:12px;font-weight:700}@media(max-width:640px){.home .home-hero{gap:10px}.home-hello h1{font-size:21px}.quest-card{padding:12px 12px 14px}.quest-map{margin:0}.qm-node{width:52px;height:52px}.qm-ring{inset:-10px;width:72px;height:72px}.zone-tile{padding:10px}.zt-body b{font-size:14px}}.pending-day{gap:8px}.pending-list{list-style:none;margin:6px 0 4px;padding:0;width:100%;max-width:340px;display:flex;flex-direction:column;gap:8px}.pending-list a{display:flex;align-items:center;gap:10px;height:50px;padding:0 14px;border-radius:16px;background:var(--card);box-shadow:0 2px 0 var(--line-2);color:var(--ink);text-decoration:none;text-align:left}.pending-list b{flex:none;font-size:12px;padding:3px 8px;border-radius:999px;background:var(--purple-100);color:var(--purple-d)}.pending-list span{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.pending-list small{color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pending-day .primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-top:6px}.zone-tower{background:var(--purple-50);box-shadow:inset 0 0 0 2px var(--purple-100),0 4px 0 var(--purple-100);color:var(--purple-d)}.zone-tower:active{transform:translateY(3px);box-shadow:inset 0 0 0 2px var(--purple-100),0 1px 0 var(--purple-100)}.tower-mini{flex:none}.tower-mini rect{fill:var(--purple-200)}.tower-mini rect.is-top{fill:var(--green)}.mywords .mw-tower{padding:14px 16px 12px}.mywords .mw-tower .word-tower{padding-top:0}.mywords .mw-tower>.muted{margin-top:10px}@media(max-width:640px){.app.has-tabs .main{padding-bottom:84px}.screen.home{padding-bottom:0;gap:8px}.home .home-mascot{width:54px!important;height:54px!important}.home-hello h1{font-size:20px;margin:0 0 2px}.hero-sub{margin-top:3px}.hero-streak{padding:6px 9px;border-radius:16px}.hero-streak b{font-size:20px}.home .big-go{height:48px;font-size:18px}.zones .zone-tile{padding:9px 10px}.zones .zt-body>span{white-space:nowrap}.zones .zt-body b,.zones .zt-body>span{overflow:hidden;text-overflow:ellipsis}.zones svg{width:34px;height:34px}}@media(max-width:640px) and (max-height:640px){.quest-card>.panel-head{display:none}.quest-map{max-width:280px;margin-bottom:22px}}.say-meaning{margin:4px 0 2px;font-size:26px;font-weight:800;color:var(--ink);text-align:center;line-height:1.4}.say-verdict{margin:6px 0 0;font-size:15px;font-weight:700;text-align:center}.say-verdict.is-ok{color:var(--green-d,#2e9b57)}.say-verdict.is-bad{color:var(--orange-d)}.q-speak.is-sent .sentence-box{margin-top:4px}.q-sentence .is-miss{color:var(--red-d);-webkit-text-decoration:underline wavy;text-decoration:underline wavy;text-underline-offset:4px}.q-sentence.is-phrase{font-size:24px;text-align:center}.q-pic .word-img.lg{margin:4px auto 12px}