@font-face{font-family:Noto Sans TC;src:url(../fonts/NotoSansTC-sub.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Nunito;src:url(../fonts/Nunito-sub.woff2) format("woff2");font-weight:200 1000;font-display:swap}@supports font-tech(color-COLRv1){@font-face{font-family:"Noto Color Emoji";src:url(../fonts/NotoColorEmoji-coin.woff2) format("woff2");unicode-range:U+1FA99;font-display:swap}}:root{--bg: #140e0b;--panel: rgba(30, 22, 18, .9);--panel-2: rgba(255, 255, 255, .06);--glass: rgba(24, 17, 13, .62);--glass-strong: rgba(24, 17, 13, .82);--line: rgba(255, 230, 190, .14);--line-strong: rgba(255, 230, 190, .26);--text: #fff7ea;--muted: #d6c6ae;--accent: #ffcf5a;--accent-2: #ff9f43;--good: #7be0a0;--warn: #ff9b7a;--blue: #8fd0ff;--radius: 16px;--shadow: 0 8px 28px rgba(0, 0, 0, .35);--hud-h: 78px;--tools-w: 0px;--tools-h: 122px;--gap: 8px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--font: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Noto Color Emoji", system-ui, sans-serif;--font-num: "Nunito", "Noto Sans TC", "Noto Color Emoji", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}canvas#game{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;image-rendering:pixelated;touch-action:none;display:block}#ui{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#ui>*{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.42}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}img.pix{image-rendering:pixelated}.glass,.hud,.tools{background:var(--glass);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border:1px solid var(--line);box-shadow:var(--shadow),inset 0 1px #ffffff0f}.hud{position:absolute;top:calc(var(--gap) + var(--safe-t));left:var(--gap);right:var(--gap);border-radius:var(--radius);padding:8px 12px 10px;display:flex;flex-direction:column;gap:7px}.hud-row{display:flex;align-items:center;gap:10px;min-width:0}.hud-where{flex:1;min-width:0;display:flex;gap:8px;align-items:baseline;overflow:hidden;white-space:nowrap}.hud-place{font-weight:900;font-size:17px;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 0 rgba(0,0,0,.35)}.hud-floor{color:var(--muted);font-size:12px;font-weight:700;background:#ffffff12;padding:2px 8px;border-radius:999px}.hud-right{display:flex;align-items:center;gap:6px}.chip{border:1px solid var(--line-strong);background:linear-gradient(180deg,#ffffff1a,#ffffff08);padding:4px 12px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap;min-height:32px}.chip.cleared{border-color:#7be0a0b3;color:#d8ffe6;background:linear-gradient(180deg,#7be0a040,#7be0a014)}.chip.static{display:inline-block;min-height:0}.coins{font-family:var(--font-num);font-weight:900;font-size:17px;color:var(--accent);white-space:nowrap;text-shadow:0 0 12px rgba(255,207,90,.45)}.save-dot{border:0;background:transparent;font-size:12px;color:var(--muted);white-space:nowrap;min-height:32px}.save-dot:before{content:"●";margin-right:4px;color:var(--good);text-shadow:0 0 8px currentColor}.save-dot.saving:before,.save-dot.cloud-pending:before,.save-dot.cloud-syncing:before{color:var(--accent)}.save-dot.error:before,.save-dot.readonly:before,.save-dot.cloud-conflict:before,.save-dot.cloud-error:before{color:var(--warn)}.icon-btn{border:1px solid var(--line-strong);background:#ffffff12;border-radius:12px;min-width:38px;min-height:36px;font-size:17px}.icon-btn:hover{background:#ffffff24}.bar-label{font-size:12px;font-weight:700;white-space:nowrap;color:var(--accent)}.bar{position:relative;flex:1;height:16px;background:#00000073;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 3px #0009}.bar-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(180deg,#fff1a8,#ffcf5a 40%,#ff9f43);box-shadow:0 0 12px #ffbe508c;transition:width .25s ease-out;overflow:hidden}.bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);animation:shine 3.2s infinite}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(200%)}}.bar-fill.low{background:linear-gradient(180deg,#ffb39a,#ff6b4a);box-shadow:0 0 12px #ff6b4a99}.bar-text{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;text-align:center;font-family:var(--font-num);font-size:12.5px;line-height:16px;font-weight:900;letter-spacing:.3px;color:#fff;text-shadow:1px 0 0 #2a1404,-1px 0 0 #2a1404,0 1px 0 #2a1404,0 -1px 0 #2a1404,1px 1px 0 #2a1404,-1px 1px 0 #2a1404,1px -1px 0 #2a1404,-1px -1px 0 #2a1404}.bar-timer{position:absolute;right:8px;top:0;bottom:0;display:flex;align-items:center;z-index:1;font-family:var(--font-num);font-size:11.5px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;text-shadow:1px 0 0 #2a1404,-1px 0 0 #2a1404,0 1px 0 #2a1404,0 -1px 0 #2a1404;pointer-events:none}.bar-timer[hidden]{display:none}.tools{position:absolute;left:var(--gap);right:var(--gap);bottom:calc(var(--gap) + var(--safe-b));border-radius:var(--radius);padding:8px;display:flex;flex-direction:column;gap:6px}.tool-group{display:flex;gap:6px;justify-content:center}.tool{position:relative;flex:1;max-width:120px;min-height:46px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff1a,#ffffff05);border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:3px 4px;transition:transform .08s,background .15s}.tool:hover:not(:disabled){background:linear-gradient(180deg,#ffffff2e,#ffffff0d)}.tool:active:not(:disabled){transform:scale(.95)}.tool .ti{font-size:18px;line-height:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}.tool .tl{font-size:11px;font-weight:700;color:var(--muted)}.tool.warn{border-color:#ff9b7a73}.tool.good{border-color:#7be0a0b3;background:linear-gradient(180deg,#7be0a04d,#7be0a014)}.tool.pulse{animation:pulse 1s infinite}.exit-go{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);min-height:48px;max-width:calc(100vw - 32px);padding:10px 26px;border:2px solid rgba(255,236,170,.9);border-radius:999px;background:linear-gradient(180deg,#ffd25a,#f0a830);color:#3a2208;font-size:17px;font-weight:900;white-space:nowrap;box-shadow:0 6px 18px #0006;cursor:pointer}.exit-go:active{translate:0 2px}.recenter-fab{position:absolute;right:10px;bottom:calc(100% + 10px);width:48px;height:48px;border:2px solid rgba(255,236,170,.85);border-radius:50%;background:#1e140ce0;color:#ffe9b0;font-size:24px;line-height:1;box-shadow:0 4px 12px #00000073}.recenter-fab:active{translate:0 2px}.recenter-fab[hidden],.exit-go[hidden]{display:none}@media (min-width: 760px){.exit-go{left:auto;bottom:12px;right:calc(100% + (100vw - var(--tools-w) - var(--gap)) / 2);transform:translate(50%)}.recenter-fab{right:calc(100% + 12px);bottom:12px}}.tool .badge{position:absolute;top:3px;right:7px;font-family:var(--font-num);font-weight:900;font-size:11px;color:var(--accent)}.zoom .tool{max-width:80px}@keyframes pulse{50%{scale:1.06}}@media (max-width: 759px){:root{--hud-h: 84px;--gap: 6px}.save-dot{font-size:0;min-width:20px}.save-dot:before{font-size:14px}.hud-where{flex-direction:column;gap:2px;align-items:flex-start}.hud-place{font-size:15px;max-width:100%}.hud-floor{font-size:11px;padding:0 6px}.tools .zoom .tool{min-height:36px;flex-direction:row;gap:6px;max-width:none}.tools.in-mine .zoom{display:none}}@media (min-width: 760px){:root{--hud-h: 76px;--tools-w: 196px;--tools-h: 0px}.hud{right:calc(var(--tools-w) + var(--gap) * 2)}.tools{top:calc(var(--gap) + var(--safe-t));left:auto;width:var(--tools-w);justify-content:flex-start;bottom:calc(var(--gap) + var(--safe-b))}.tool-group{flex-wrap:wrap}.tool{flex:1 1 80px}.tool-group.zoom{margin-top:auto}.wordcard{right:calc(var(--tools-w) + var(--gap))}}.wordcard{position:absolute;left:0;right:0;top:calc(var(--hud-h) + var(--safe-t) + 34px);margin:0 auto;width:max-content;max-width:calc(100vw - 24px);background:#2a1f17f2;border:2px solid var(--accent);border-radius:12px;padding:8px 16px;text-align:center;pointer-events:none!important;opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .3s}.wordcard.low{top:auto;bottom:calc(var(--tools-h) + var(--safe-b) + 16px)}.wordcard.show{opacity:1;transform:none}.wordcard.complete{border-color:var(--good);box-shadow:0 0 24px #6fd08a55}.wc-title{font-size:13px;color:var(--accent)}.wordcard.complete .wc-title{color:var(--good);font-weight:700}.wc-word{font-size:20px;font-weight:700;letter-spacing:.04em}.wc-word.big{font-size:22px}.wc-row{display:flex;align-items:center;gap:10px;justify-content:center}.wc-sub{font-size:13px;color:var(--muted)}.boxes{display:flex;gap:4px;justify-content:center;margin-top:6px;flex-wrap:wrap}.box{position:relative;min-width:26px;height:30px;border:1px solid #6a5444;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#7d6a5a;background:#1a130e}.box.on{color:#241a13;background:#ffe48a;border-color:#fff3c4;text-decoration:underline}.box.fresh{box-shadow:0 0 0 2px var(--good),0 0 12px var(--good)}.box i{position:absolute;top:-8px;right:-6px;font-style:normal;font-size:11px;background:var(--good);color:#10301a;border-radius:50%;width:15px;height:15px;line-height:15px}.boxes.small .box{min-width:15px;height:18px;font-size:11px;border-radius:3px}.toasts{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--tools-h) + var(--safe-b) + 10px);display:flex;flex-direction:column;gap:6px;width:min(92vw,460px);pointer-events:none!important;z-index:9700}@media (min-width: 760px){.toasts{left:calc((100% - var(--tools-w)) / 2)}}.toast{background:#2a1f17f2;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:8px;padding:8px 12px;font-size:14px;transition:opacity .4s}.toast.good{border-left-color:var(--good)}.toast.warn{border-left-color:var(--warn)}.toast.out{opacity:0}.modal-root{pointer-events:none!important}.modal-root>*{pointer-events:auto}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0705aa;display:flex;align-items:center;justify-content:center;padding:12px;padding-top:calc(12px + var(--safe-t));padding-bottom:calc(12px + var(--safe-b));z-index:100}.modal{background:var(--panel);border:2px solid var(--line);border-radius:14px;width:min(100%,520px);max-height:100%;display:flex;flex-direction:column;box-shadow:0 10px 40px #000a}.modal.wide{width:min(100%,860px)}.modal.small{width:min(100%,400px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:18px}.modal-body{padding:12px 14px;overflow:auto;-webkit-user-select:text;user-select:text}.modal-body p{margin:6px 0;line-height:1.55}.muted{color:var(--muted)}.small{font-size:13px}.warn-text{color:var(--warn)}.row{display:flex;gap:8px;align-items:center}.row.end{justify-content:flex-end;margin-top:10px}.row.wrap{flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;padding:8px 14px;min-height:44px}.btn.small{min-height:34px;padding:4px 10px;font-size:13px}.btn.big{font-size:20px;padding:12px 28px}.btn.primary{background:#c9952c;border-color:#f2c14e;color:#1d1510;font-weight:700}.btn.ghost{background:transparent}.btn.danger{border-color:#a04a3a;color:#ffc0b0;background:transparent}.wide-btn{width:100%;margin:4px 0;text-align:left}.up-card{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;margin:10px 0;background:var(--panel-2)}.up-icon{width:56px;display:flex;justify-content:center}.big-ico{font-size:34px}.up-info{flex:1}.up-info h3{margin:0 0 4px}.coins-line{color:var(--accent);font-weight:700}.hits .chip{margin:2px}.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.tab{min-width:34px;min-height:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.tab.active{background:#c9952c;color:#1d1510;font-weight:700}.codex-head{display:flex;align-items:center;gap:10px;justify-content:space-between}.codex-head h3{margin:4px 0}.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:8px 0}.wcard{border:1px solid var(--line);border-radius:10px;background:#241a13;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:96px}.wcard.done{border-color:#7ba86a;background:#2a3220}.wcard-q{height:32px;font-size:22px;color:#6a5444}.wcard-zh{font-size:13px;min-height:16px}.chapter h3{margin:12px 0 6px;font-size:15px}.zgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.zcard{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--panel-2)}.zcard.locked{opacity:.55}.zcard.cleared{border-color:var(--good)}.zn{color:var(--accent);font-weight:700}.zt{font-weight:700}.zs{font-size:13px;color:var(--muted);margin-bottom:6px}.info-hero{display:flex;justify-content:center;padding:8px}.info-hero img.toon{width:200px;height:160px;object-fit:contain}.quiz-btn{margin-top:8px}.quiz-result{margin-top:10px;text-align:center}.word-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.word-pick-btn{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:112px;padding:8px 6px;border-radius:14px;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text);font:700 15px var(--font);cursor:pointer}.word-pick-btn img.toon{width:64px;height:54px;object-fit:contain}.quiz-pic img.toon{width:180px;height:140px;object-fit:contain}.opts.pics .opt img.toon{width:84px;height:70px;object-fit:contain}.info-word{text-align:center;font-size:30px;font-weight:800;letter-spacing:.06em;margin:0!important}.info-zh{text-align:center;font-size:20px;margin:0!important}.set{border-top:1px solid var(--line);padding:6px 0 10px}.set:first-child{border-top:0}.set h3{margin:6px 0;font-size:15px}.login-choices{display:flex;flex-direction:column;align-items:center;gap:12px;margin:14px 0}.login-choices .btn.login-apple,.login-choices .btn.login-google{width:min(100%,300px);min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#000;font:600 17px -apple-system,SF Pro Text,PingFang TC,system-ui,sans-serif;letter-spacing:0;text-shadow:none;box-shadow:none}.login-choices .btn.login-apple{border:1px solid #000;border-radius:12px}.login-choices .btn.login-apple svg{width:20px;height:20px;margin-top:-3px}.login-choices .btn.login-google{border:1px solid #747775;border-radius:999px;color:#1f1f1f;font:500 16px Roboto,-apple-system,PingFang TC,system-ui,sans-serif}.login-choices .btn.login-google svg{width:20px;height:20px}.settings .set{padding:12px 0 14px}.settings .set h3{margin:2px 0 8px;font-size:16px}.settings .set p{margin:4px 0;font-size:14px}.settings .set p.small,.settings .set .small{font-size:13px}.settings .set>.btn{margin:8px 0 2px}.settings .bound-line{display:flex;flex-direction:column;gap:2px}.set-line{display:flex;align-items:center;gap:12px}.set-line>:first-child{flex:1;min-width:0;margin:0}.set-line>.btn{flex-shrink:0;white-space:nowrap}.settings .set-opt{display:flex;align-items:center;gap:10px;min-height:38px;font-size:14px}.settings .set-opt input[type=checkbox]{width:20px;height:20px;margin:0;flex-shrink:0}.settings .set-opt.slider{padding-left:30px;min-height:32px}.settings .set-opt.slider>span{flex-shrink:0;color:var(--muted);font-size:13px}.settings .set-opt.slider input[type=range]{flex:1;max-width:240px}.settings .set-opt.pick{justify-content:space-between;margin-top:4px}.settings .set-opt.pick select{min-height:36px}.privacy summary{cursor:pointer;color:var(--muted);font-size:13px;margin-top:8px}.side{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:8px 0}.side h3{margin:0}.title-screen,.fatal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 30%,#4a3424,#140e0a);padding:16px;z-index:10}.title-card{text-align:center;max-width:420px}.title-card h1{font-size:52px;margin:0;color:var(--accent);text-shadow:0 4px 0 #6b4423,0 0 30px #f2c14e55;letter-spacing:.1em}.subtitle{margin-top:0;color:var(--muted);letter-spacing:.3em}.fatal{flex-direction:column;gap:10px;text-align:center}.fatal pre{white-space:pre-wrap;max-width:600px;color:var(--warn)}.reduce-motion *,.reduce-motion *:before{transition:none!important;animation:none!important}.wordcard{top:calc(var(--hud-h) + var(--safe-t) + var(--gap) * 2 + 6px);background:linear-gradient(180deg,#302218eb,#1c140feb);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,207,90,.55);border-radius:18px;padding:10px 20px 12px;box-shadow:0 10px 30px #00000073,0 0 30px #ffbe502e,inset 0 1px #ffffff1a;transform:translateY(-10px) scale(.96);transition:opacity .28s,transform .28s cubic-bezier(.2,1.4,.4,1)}.wordcard.show{transform:none}.wordcard.complete{border-color:#7be0a0cc;box-shadow:0 10px 30px #00000073,0 0 40px #7be0a059}.wc-title{font-weight:700;letter-spacing:.05em}.wc-word{font-family:var(--font-num),var(--font);font-weight:900;font-size:22px}.box{font-family:var(--font-num);font-weight:900;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#00000059;color:#fff0dc59;min-width:28px;height:32px}.box.on{background:linear-gradient(180deg,#fff3b8,#ffcf5a);border-color:#fff6d0;color:#4a2a08;text-decoration:none;box-shadow:0 2px #c98a2a,0 0 10px #ffcf5a80}.box.fresh{animation:pop .45s cubic-bezier(.2,1.6,.4,1);box-shadow:0 2px #c98a2a,0 0 0 2px var(--good),0 0 16px var(--good)}@keyframes pop{0%{transform:scale(.4) rotate(-10deg)}}.boxes.small .box{min-width:16px;height:20px;border-radius:5px;box-shadow:none}.toasts{bottom:calc(var(--tools-h) + var(--safe-b) + var(--gap) * 2 + 6px)}.toast{background:#1c140fe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-left:0;border-radius:14px;padding:10px 14px 10px 16px;box-shadow:var(--shadow);position:relative;animation:toastIn .3s cubic-bezier(.2,1.3,.4,1)}.toast:before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--blue)}.toast.good:before{background:var(--good)}.toast.warn:before{background:var(--warn)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px) scale(.97)}}.backdrop{background:#0805038c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .18s}@keyframes fadeIn{0%{opacity:0}}.modal{background:linear-gradient(180deg,#2c2018f7,#1a130ef7);border:1px solid var(--line-strong);border-radius:22px;box-shadow:0 20px 60px #0009,inset 0 1px #ffffff14;animation:modalIn .24s cubic-bezier(.2,1.3,.4,1);overflow:hidden}@keyframes modalIn{0%{opacity:0;transform:translateY(14px) scale(.97)}}.modal-head{border-bottom:1px solid var(--line);padding:14px 18px;background:linear-gradient(180deg,rgba(255,207,90,.1),transparent)}.modal-head h2{font-weight:900;font-size:19px;letter-spacing:.03em}.modal-body{padding:14px 18px 18px}.btn{border:1px solid var(--line-strong);background:linear-gradient(180deg,#ffffff1a,#ffffff08);border-radius:14px;font-weight:700;transition:transform .08s,filter .15s}.btn:hover:not(:disabled){filter:brightness(1.15)}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:linear-gradient(180deg,#ffe27a,#ffb43a);border-color:#fff0b0;color:#3a2208;font-weight:900;box-shadow:0 3px #b8741e,0 6px 16px #ffaa3c4d}.btn.ghost{background:#ffffff0a}.btn.danger{border-color:#ff786480;color:#ffc4b4;background:#ff64500f}.up-card,.wcard,.zcard,.side{background:linear-gradient(180deg,#ffffff12,#ffffff05);border:1px solid var(--line);border-radius:16px}.wcard{transition:transform .12s,border-color .12s}.wcard.done{border-color:#7be0a08c;background:linear-gradient(180deg,#7be0a029,#7be0a00a)}.wcard.done:hover{transform:translateY(-2px)}.zcard.cleared{border-color:#7be0a099}.zn{font-family:var(--font-num);font-size:20px;font-weight:900}.tab{border-radius:10px;border:1px solid var(--line);background:#ffffff0d;font-family:var(--font-num);font-weight:800}.tab.active{background:linear-gradient(180deg,#ffe27a,#ffb43a);color:#3a2208;border-color:#fff0b0}.info-word,.coins-line{font-family:var(--font-num);font-weight:900}.title-screen{background:radial-gradient(ellipse at 50% 20%,#ffd48a33,transparent 55%),linear-gradient(180deg,#3a6fa0,#8fc0d8 38%,#6fae4f 38.2%,#4f8a3f 52%,#3a2418 52.2%,#1c120c)}.title-card{background:#18110d99;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line-strong);border-radius:28px;padding:32px 36px 26px;box-shadow:0 30px 80px #00000080}.title-card h1{font-weight:900;font-size:56px;background:linear-gradient(180deg,#fff6c8,#ffcf5a 55%,#ff9f43);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 4px 0 #7a4a18) drop-shadow(0 0 24px rgba(255,190,80,.45))}.subtitle{font-family:var(--font-num);font-weight:800}.shop-h{margin:14px 0 6px;font-size:15px}.shop-row{display:grid;grid-template-columns:52px minmax(0,1fr) 128px 128px;align-items:center;column-gap:12px;min-height:64px;padding:8px 12px;margin:6px 0;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#ffffff0f,#ffffff05)}.shop-row.locked{opacity:.5}.shop-ico{width:52px;height:48px;display:flex;align-items:center;justify-content:center}.shop-ico img{max-width:48px;max-height:46px;width:auto;height:auto;object-fit:contain}.shop-info{min-width:0}.shop-info h3{margin:0;font-size:15px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.shop-info p{margin:2px 0 0!important}.shop-row .btn{width:100%;min-height:40px;white-space:nowrap;font-variant-numeric:tabular-nums}.shop-row .lock-note{grid-column:3 / span 2;text-align:center}.shop-row .single{grid-column:4}.seed-btn{display:flex;align-items:center;gap:8px}.seed-btn img{max-height:24px;width:auto}@media (max-width: 759px){.shop-row{grid-template-columns:44px minmax(0,1fr) 1fr 1fr;row-gap:8px}.shop-info{grid-column:2 / span 3}.shop-row .btn{grid-row:2}.shop-row .btn:first-of-type{grid-column:1 / span 3}.shop-row .btn:last-of-type{grid-column:4}.shop-row .single{grid-column:1 / span 4}.shop-row .lock-note{grid-column:1 / span 4;grid-row:2}}.goal-row{gap:8px}.goal{flex:1;min-width:0;display:flex;align-items:center;gap:6px;border:1px solid rgba(255,207,90,.35);background:linear-gradient(90deg,#ffcf5a29,#ffcf5a0a);border-radius:10px;padding:3px 10px;min-height:28px;font-size:13px;text-align:left}.goal-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-p{font-family:var(--font-num);font-weight:900;color:var(--accent)}.chip.harvest{border-color:#7be0a0cc;background:linear-gradient(180deg,#7be0a059,#7be0a01f);color:#e0ffe8;animation:pulse 1.2s infinite;min-height:28px}.story-modal{width:min(100%,560px)}.story{display:flex;gap:14px;align-items:flex-start}.story-portrait{flex:none;width:80px;height:80px;border-radius:16px;background:radial-gradient(circle at 50% 35%,#6a5040,#2a1d16);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center}.story-name{font-weight:900;color:var(--accent);min-height:18px}.story-text{font-size:16px;line-height:1.7!important;margin:4px 0 0!important;min-height:3.4em}.goal-box{border:1px solid rgba(255,207,90,.35);border-radius:14px;padding:10px 12px;background:#ffcf5a14}.goal-text{font-weight:700;font-size:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media (max-width: 759px){:root{--hud-h: 112px}.story-portrait{width:60px;height:60px}}@media (min-width: 760px){:root{--hud-h: 108px}}.gems{border:0;background:transparent;font-family:var(--font-num);font-weight:900;font-size:16px;color:#a8e8ff;white-space:nowrap;text-shadow:0 0 10px rgba(140,220,255,.5);min-height:32px}.shop-tabs .tab{padding:0 14px;font-family:var(--font)}.shop-ico.big-ico{font-size:28px}select.btn{min-height:36px;padding:4px 10px;color:var(--text)}select.btn option{background:#2d221a}.consent{display:flex;gap:6px;align-items:flex-start;font-size:13px;line-height:1.5;margin:8px 0 12px;opacity:.92}.consent input{margin-top:3px;width:18px;height:18px;flex:none}.consent a,.privacy a,.legal-links a{color:#ffd27a}.title-screen{background:#141631;overflow:hidden}.title-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;image-rendering:pixelated}.title-letters{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.title-letter{position:absolute;bottom:-60px;font-family:Nunito,Noto Sans TC,sans-serif;font-weight:900;line-height:1;-webkit-text-stroke:2px rgba(70,34,10,.85);paint-order:stroke fill;text-shadow:0 0 10px rgba(255,240,200,.55),0 3px 0 rgba(60,30,10,.6);opacity:0;will-change:transform,translate,opacity;animation-name:letter-rise,letter-sway;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;animation-direction:normal,alternate}@keyframes letter-rise{0%{transform:translateY(0) rotate(calc(var(--tilt) * -1));opacity:0}8%{opacity:.95}82%{opacity:.9}to{transform:translateY(calc(-100vh - 80px)) rotate(var(--tilt));opacity:0}}@keyframes letter-sway{0%{translate:calc(var(--drift) * -1) 0}to{translate:var(--drift) 0}}.reduce-motion .title-letters{display:none}.title-screen .title-card{position:relative;z-index:1;background:linear-gradient(180deg,#1c14269e,#120c10c7);border:1px solid rgba(255,214,140,.28);box-shadow:0 30px 90px #0000008c,inset 0 1px #fff0d21f;-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2)}.new-rock{display:flex;gap:12px;align-items:center;margin:10px 0}.new-rock p{margin:2px 0}.daily-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:12px 0}.daily-grid .day{position:relative;text-align:center;padding:10px 2px;border-radius:12px;border:1px solid var(--line);background:#ffffff0a}.daily-grid .day.today{border-color:#ffd25a;box-shadow:0 0 0 2px #ffd25a59,0 0 18px #ffc85059;animation:pulse 1.6s infinite}.daily-grid .day.done{opacity:.55}.day-n{font-size:11px;color:var(--muted)}.day-g{font-weight:800;margin-top:4px}.day-ok{position:absolute;top:2px;right:6px;color:#7ad87a;font-weight:900}.first-offer-chip{border-color:#ff8a5a;background:#5a2a1a;color:#ffd9b0;font-variant-numeric:tabular-nums;animation:pulse 1.6s infinite}.first-offer-row{border-color:#ff8a5a}.first-offer .fo-banner{text-align:center;font-weight:700;color:#ffe9b0;margin-bottom:10px}.first-offer .fo-count{margin-top:4px;color:#ffb08a}.first-offer .fo-timer{font-size:1.3em;font-variant-numeric:tabular-nums}.first-offer .fo-items{display:grid;gap:8px;margin-bottom:12px}.first-offer .fo-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid #6a4a2a;border-radius:8px;background:#0003}.first-offer .fo-pic{width:52px;display:flex;justify-content:center}.first-offer .fo-emoji{font-size:32px}.first-offer .fo-buy{white-space:normal}.daily-chip{border-color:#ffd25a;color:#ffe9b0;animation:pulse 1.6s infinite}.row.center{justify-content:center}.center{text-align:center}.bar.mini{height:6px;margin:4px 0 2px}.ach-row .shop-info p{margin:2px 0}.tool .ach-badge{background:#e8453a;color:#fff}@media (max-width: 520px){.daily-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.shop-row.ach-row{grid-template-columns:52px minmax(0,1fr) 128px}.shop-row>.chip.static{grid-column:4;justify-self:stretch;text-align:center;padding:6px 8px}@media (max-width: 759px){.shop-row>.chip.static{grid-row:2}}@media (max-width: 520px){.shop-row.ach-row{grid-template-columns:40px minmax(0,1fr) 96px}}.daily-grid .day.bonus{background:linear-gradient(180deg,#ffd25a29,#ffffff0a)}.day-b{font-size:11px;font-weight:900;color:#ffd25a}.fly-reward{position:fixed;left:0;top:0;margin:-13px 0 0 -13px;font-size:26px;line-height:1;pointer-events:none;z-index:10000;filter:drop-shadow(0 0 6px rgba(140,220,255,.9)) drop-shadow(0 2px 2px rgba(0,0,0,.5));will-change:transform,opacity}.fly-plus{position:fixed;transform:translate(-50%);font-weight:900;font-size:15px;color:#9fe6ff;text-shadow:0 2px 0 #13324a,0 0 10px rgba(120,210,255,.8);pointer-events:none;z-index:10000;animation:fly-plus 1.1s ease-out forwards}@keyframes fly-plus{0%{opacity:0;transform:translate(-50%,6px)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-18px)}}.bump{animation:hud-bump .32s ease-out}@keyframes hud-bump{0%{transform:scale(1)}40%{transform:scale(1.22);filter:brightness(1.5)}to{transform:scale(1)}}.story-gift{display:inline-block;margin-top:8px;padding:4px 12px;border-radius:999px;border:1px solid #ffd25a;color:#ffe9b0;font-weight:800;background:#ffd25a1f;animation:pulse 1.6s infinite}.name-row{margin:14px 0 6px}.name-input{width:100%;font-size:18px;padding:10px 14px;border-radius:12px;border:1px solid var(--line-strong);background:#ffffff0f;color:inherit}.name-input:focus{outline:2px solid #ffd25a}.hud-where{flex-direction:column;align-items:flex-start;gap:1px}.hud-name{all:unset;cursor:pointer;max-width:100%;font-weight:900;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 0 rgba(0,0,0,.35)}.hud-sub{display:flex;gap:6px;align-items:center;max-width:100%;min-width:0}.hud-sub .hud-place{font-size:12px;font-weight:700;color:var(--muted);text-shadow:none;min-width:0}.goal-row{flex-wrap:nowrap}.goal-row .goal{flex:1;min-width:0}.goal-row .chip{flex:none}@media (max-width: 520px){.hud-name{font-size:15px}.hud-where{flex-direction:column}.hud-right .coins,.hud-right .gems{font-size:13px}.goal-row{flex-wrap:wrap}.goal-row .goal{flex-basis:100%}}.hub-tabs{margin-bottom:12px}.tab.hub{padding:6px 12px;font-weight:700;color:var(--text)}.tab.hub.active{background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#2a1608;border-color:transparent}.tool .review-badge{background:#6a5acd}.speak-btn{min-width:34px;padding:2px 8px;vertical-align:middle}.example{margin:10px 0 4px;padding:10px 12px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line)}.example p{margin:2px 0}.ex-en{font-family:var(--font-num);font-size:17px;font-weight:700}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:8px 0 12px}.stat{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:8px 10px;text-align:center}.stat-v{font-family:var(--font-num);font-size:22px;font-weight:900;color:var(--accent)}.stat-l{font-size:12px;color:var(--muted)}.quiz-progress{display:flex;gap:4px;justify-content:center;margin-bottom:10px}.qp{width:18px;height:6px;border-radius:3px;background:var(--panel-2);border:1px solid var(--line)}.qp.now{background:var(--accent)}.qp.ok{background:var(--good)}.qp.ng{background:var(--warn)}.quiz-q{text-align:center;font-weight:700;font-size:17px;margin:6px 0 10px}.quiz-word{text-align:center;font-family:var(--font-num);font-size:34px;font-weight:900;letter-spacing:.04em;margin:4px 0 12px}.quiz-pic{display:flex;justify-content:center;margin:4px 0 10px}.quiz-hint{text-align:center;color:var(--muted);margin:0 0 8px}.speak-big{display:block;margin:0 auto 12px}.opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.opts.pics .opt{min-height:92px}.opt{min-height:52px;border-radius:14px;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text);font:700 17px var(--font);display:flex;align-items:center;justify-content:center;padding:6px;cursor:pointer;transition:transform .08s}.opt:active{transform:scale(.97)}.opt.right{border-color:var(--good);background:#7be0a02e}.opt.wrong{border-color:var(--warn);background:#ff9b7a2e}.opt:disabled{cursor:default}.spell-slots{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;margin:6px 0 12px}.spell-slots .box{width:34px;height:40px;font-size:20px;cursor:pointer}.tiles{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.tile{width:42px;height:46px;border-radius:10px;border:1px solid var(--line-strong);background:linear-gradient(180deg,#5a4636,#3f3026);color:var(--text);font:900 22px var(--font-num);cursor:pointer}.tile:disabled{opacity:.25}.quiz-feedback{margin:12px 0 4px;padding:10px 12px;border-radius:12px;text-align:center;font-size:16px}.quiz-feedback.good{background:#7be0a029;color:var(--good)}.quiz-feedback.bad{background:#ff9b7a24;color:var(--warn)}.review-result{text-align:center}.big-score{font:900 46px var(--font-num);color:var(--accent)}.word-list{display:flex;flex-wrap:wrap;gap:6px}.word-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;font:inherit}.word-chip img{width:24px;height:auto}.wc-en{font-family:var(--font-num);font-weight:800}.wc-zh{color:var(--muted);font-size:13px}.wc-s{font-size:12px}.report-title{margin:4px 0 0}.week-chart{display:flex;gap:6px;align-items:flex-end;height:130px;padding:8px 4px 0;border-radius:12px;background:var(--panel-2);border:1px solid var(--line)}.wk{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.wk-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.wk-bar{width:70%;min-height:2px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--accent),var(--accent-2))}.wk-n{font:800 12px var(--font-num);color:var(--good);height:16px}.wk-d{font-size:11px;color:var(--muted);padding-bottom:4px}.quest-bonus{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.quest-bonus p{margin:2px 0 0}.char-head{display:flex;gap:14px;align-items:center;margin-bottom:10px}.char-head h3{margin:0 0 6px}.cos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.cos-card,.pet-card{border:1px solid var(--line);border-radius:14px;background:var(--panel-2);padding:8px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.cos-card.worn,.pet-card.worn{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.cos-card.locked{opacity:.55}.cos-pic{height:72px;display:flex;align-items:flex-end;justify-content:center}.cos-pic .house-mini{width:96px;height:auto}.cos-name{font-size:13px;font-weight:700}.cos-perks{font-size:11.5px;line-height:1.35;color:var(--good, #8ee08f);display:flex;flex-direction:column;gap:2px;flex:1}.quiz-feedback.hint{color:#ffd27a}.spell-row{gap:8px;align-items:center;min-height:30px}.spell-label{font-size:12px;font-weight:700;color:var(--accent);white-space:nowrap}.spell-boxes{display:flex;gap:3px;flex-wrap:nowrap;flex:1 1 auto;min-width:0;margin-top:0;justify-content:flex-start;container-type:inline-size}.spell-boxes .box{flex:1 1 0;min-width:0;max-width:28px;height:30px;font-size:18px;font-size:clamp(10px,calc((100cqw - (var(--n, 8) - 1) * 3px) / var(--n, 8) * .72),18px);border-radius:6px}.spell-zh{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.spell-boxes .box.incoming{border-color:var(--accent);box-shadow:0 0 0 2px #ffcf5a59}.spell-boxes .box.fresh{animation:box-land .5s ease-out}@keyframes box-land{0%{scale:1.6;background:#fff3c4}to{scale:1}}.spell-zh{font-size:13px;color:var(--muted);white-space:nowrap}.letter-pop{position:fixed;left:0;top:0;z-index:9600;pointer-events:none;font-family:var(--font-num);font-weight:900;font-size:72px;line-height:1;color:#fff3c4;-webkit-text-stroke:3px #5a3a10;paint-order:stroke fill;text-shadow:0 0 18px rgba(255,200,60,.95),0 4px 0 #5a3a10}.celebrate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a06049e;overflow:hidden}.cel-card{position:relative;width:min(380px,100%);padding:20px 18px 18px;border-radius:22px;text-align:center;background:linear-gradient(180deg,#3b2a1b,#241811);border:2px solid rgba(255,207,90,.7);box-shadow:0 0 40px #ffbe5073,var(--shadow);animation:cel-in .35s ease-out}@keyframes cel-in{0%{scale:.7;opacity:0}}.cel-title{font-size:20px;font-weight:900;color:var(--accent)}.cel-word{display:flex;justify-content:center;gap:4px;margin:12px 0 6px}.cel-letter{display:inline-block;min-width:38px;padding:4px 6px;border-radius:10px;background:#fff3c4;color:#3a2208;font-family:var(--font-num);font-size:32px;font-weight:900;animation:cel-pop .35s ease-out both}@keyframes cel-pop{0%{scale:.2;opacity:0}70%{scale:1.2}}.cel-pic{display:block;margin:6px auto;max-width:60%;height:auto;animation:cel-pop .45s ease-out both}.cel-zh{font-size:26px;font-weight:900}.cel-sub{margin-top:4px;font-weight:700;color:var(--accent)}.cel-hint{margin:6px 0 12px}.cel-ok{width:100%}.cel-confetti{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;animation:cel-fall 1.8s ease-in forwards}@keyframes cel-fall{to{translate:0 105vh;rotate:540deg;opacity:.8}}.cel-ghost{position:fixed;z-index:9600;pointer-events:none}.wcard{position:relative}.wcard-new{position:absolute;top:4px;right:4px;padding:1px 6px;border-radius:999px;background:#e8453a;color:#fff;font-size:10px;font-weight:900}.chip.has-new{position:relative}.chip.has-new:after{content:"";position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:#e8453a;box-shadow:0 0 0 2px var(--bg)}.cos-perks .muted{color:var(--muted)}.bonus-box p{margin:2px 0}.fox-progress{margin-top:4px!important;color:#ffb36a;font-weight:700}.pet-card{flex-direction:row;text-align:left;margin-bottom:8px}.pet-info{flex:1}.pet-info h3{margin:0 0 4px;display:flex;gap:8px;align-items:center}.pet-info p{margin:0}.spend-chip{background:linear-gradient(180deg,#ffc44059,#ffc4401f);border-color:#ffc440a6}.tool.topup{background:linear-gradient(180deg,#ffd977,#f0a92a);border-color:#ffe7a3;color:#3a2200;box-shadow:0 0 10px #ffc44073}.tool.topup .tl{color:#3a2200;font-weight:900}.event-chip{background:linear-gradient(180deg,#f08a2459,#f08a241f);border-color:#f08a2499}.event-banner{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;margin-bottom:8px;border:1px solid var(--line)}.event-banner p{margin:2px 0}.eb-icon{font-size:40px}.theme-halloween{background:linear-gradient(135deg,#f08a2440,#5a28784d)}.theme-xmas{background:linear-gradient(135deg,#c8282840,#2878464d)}.theme-cny{background:linear-gradient(135deg,#d2281e59,#f2c14e40)}.code-input{flex:1;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-num);font-weight:800}.good-text{color:var(--good)}@media (max-width: 520px){.opts.pics .opt{min-height:80px}.stat-v{font-size:18px}}.opt:disabled{opacity:.55}.opt.right,.opt.wrong{opacity:1!important}.word-chip img{width:22px!important;height:22px!important;object-fit:contain}.guide-glow{position:relative;box-shadow:0 0 0 3px #ffcf5ad9,0 0 16px 5px #ffaa468c;animation:guide-glow .9s ease-in-out infinite alternate;z-index:2}@keyframes guide-glow{0%{scale:1}to{scale:1.07}}.reduce-motion .guide-glow{animation:none;box-shadow:0 0 0 3px #ffcf5ae6}.title-restore{display:block;margin:16px auto 0;max-width:100%;padding:9px 16px;font-size:15px;line-height:1.4}@media (max-width: 420px){.title-restore{font-size:14px;padding:8px 12px}}.backup-row{align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line, rgba(255, 255, 255, .08))}.backup-row .grow{flex:1 1 180px;min-width:0}.pick-up{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 10px}.pick-up-old{opacity:.7;text-align:center}.pick-up-new{text-align:center;animation:pick-pop .6s ease-out;filter:drop-shadow(0 0 14px rgba(255,210,90,.7))}.pick-up-new b{display:block;color:#ffe9b0;margin-top:4px}.pick-up-arrow{font-size:22px;color:#ffd25a}@keyframes pick-pop{0%{transform:scale(.4) rotate(-30deg);opacity:0}70%{transform:scale(1.15) rotate(6deg);opacity:1}to{transform:scale(1) rotate(0)}}.up-next img{vertical-align:middle;margin-right:4px}.coach{display:flex;align-items:center;gap:8px;margin-top:6px;padding:8px 10px;border-radius:12px;background:linear-gradient(180deg,#ffd66ef5,#ffb046f5);color:#2a1606;box-shadow:0 4px 16px #00000059,0 0 0 2px #fff0becc inset;pointer-events:auto}.coach[hidden]{display:none}.coach-step{flex:none;font-size:11px;font-weight:800;padding:2px 6px;border-radius:8px;background:#3c1e05d9;color:#ffe9b0}.coach-ico{flex:none;font-size:22px;line-height:1}.coach-text{flex:1;font-size:15px;font-weight:800;line-height:1.35}.coach-skips{display:flex;flex:none;flex-wrap:wrap;gap:4px 10px}.coach-skip{flex:none;border:0;background:transparent;color:#3c1e05b3;font-size:12px;text-decoration:underline;cursor:pointer}.coach-pop{animation:coach-pop .5s ease-out}@keyframes coach-pop{0%{scale:.92}60%{scale:1.04}to{scale:1}}@media (max-width: 480px){.coach-text{font-size:14px}}.coach-glow{position:relative;z-index:2;box-shadow:0 0 0 3px #ffcf5ad9,0 0 16px 5px #ffaa468c;animation:guide-glow .9s ease-in-out infinite alternate}.tool.active{background:linear-gradient(180deg,#ffd25a,#ff9f43);color:#2a1606;box-shadow:0 0 0 2px #fff0bee6,0 0 14px #ffbe5099}.auto-banner{display:block;width:100%;margin-top:6px;padding:6px 10px;border:0;border-radius:10px;background:#ff9f43eb;color:#2a1606;font-weight:800;font-size:13px;text-align:center;cursor:pointer;animation:pulse 1.6s infinite}.auto-banner[hidden]{display:none}.auto-warn{padding:8px 10px;border-radius:10px;background:#ff785026;border:1px solid rgba(255,140,90,.6);margin:8px 0}.auto-warn p{margin:4px 0;color:#ffd9c4}.up-buttons{display:flex;flex-direction:column;gap:6px;align-items:stretch}.btn.gem-btn{background:linear-gradient(180deg,#5ab8ff,#3a7fd6);border-color:#9ad8ff;color:#fff;font-weight:700}.btn.gem-btn:disabled{opacity:.45}.tour-card{position:fixed;left:0;right:0;margin:0 auto;top:calc(8px + env(safe-area-inset-top,0px));width:min(560px,calc(100vw - 16px));z-index:9002;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:linear-gradient(180deg,#ffd66ef7,#ffb046f7);color:#2a1606;box-shadow:0 6px 20px #00000073,0 0 0 2px #fff0bed9 inset}.tour-card[hidden],.tour-spot[hidden],.tour-hand[hidden]{display:none}.tour-card{flex-wrap:wrap}.tour-card .coach-text{flex:1 1 180px}.tour-card-next{margin-left:auto}.tour-card-next:empty{display:none}.tour-card .btn.tour-next{flex:none;background:#3a1f08;border-color:#3a1f08;color:#ffe9b0}.tour-spot{position:fixed;z-index:9000;border-radius:12px;pointer-events:none;box-shadow:0 0 0 9999px #08060e6b}.tour-spot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 0 4px #ffdc78f2,0 0 20px 8px #ffbe50bf;animation:tour-ring 1s ease-in-out infinite alternate;will-change:opacity,scale}@keyframes tour-ring{0%{opacity:.55;scale:1}to{opacity:1;scale:1.04}}.tour-hand{position:fixed;z-index:9001;font-size:30px;line-height:1;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));animation:tour-tap .7s ease-in-out infinite alternate}@keyframes tour-tap{0%{transform:translate(6px,8px)}to{transform:translate(0)}}.reduce-motion .tour-spot:before,.reduce-motion .tour-hand{animation:none}.tour-center{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9001;width:min(380px,calc(100vw - 32px));padding:18px 18px 16px;border-radius:18px;text-align:center;background:linear-gradient(180deg,#4a3424,#2a1c12);border:2px solid rgba(255,210,90,.85);box-shadow:0 16px 48px #0009;color:#ffe9b0}.tour-center[hidden]{display:none}.tour-center .tc-emoji{font-size:40px;line-height:1;margin-bottom:6px}.tour-center h3{margin:4px 0 8px;font-size:18px}.tour-center p{margin:4px 0;color:#f3ddb0;line-height:1.5}.tour-center .btn{margin-top:12px}.tour-center .tc-side{margin:10px 0 4px;padding:8px 10px;border-radius:12px;text-align:left;background:#ffffff0f;border:1px dashed rgba(255,210,90,.6)}.tour-center .tc-side ul{margin:6px 0;padding-left:4px;list-style:none}.tour-center .tc-side li{margin:3px 0}.tour-center .tc-side p{font-size:13px}.zcard.side .zn{font-size:12px;letter-spacing:.1em;color:#9fd68a}.zcard.side{border-style:dashed}.tour-bubble{position:fixed;z-index:9003;width:min(320px,calc(100vw - 16px));padding:10px 12px;border-radius:14px;background:linear-gradient(180deg,#ffdc7dfa,#ffb852fa);color:#2a1606;box-shadow:0 8px 26px #00000080,0 0 0 2px #fff4cde6 inset}.tour-bubble[hidden]{display:none}.tour-bubble .tb-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.tour-bubble .tb-body{display:flex;gap:8px;align-items:flex-start;font-size:15px;font-weight:800;line-height:1.4}.tour-bubble .tb-actions{display:flex;justify-content:flex-end;margin-top:8px}.tour-bubble .tb-actions .btn{background:#3a1f08;border-color:#3a1f08;color:#ffe9b0}.tour-center .tc-counter{font-size:11px;color:#ffe9b0b3;margin-bottom:4px}.tour-center .tc-text{font-size:16px;font-weight:700;color:#ffe9b0}.tour-center .tc-skip{margin-top:10px}.tour-center .coach-skip{color:#ffe9b099}.bind-warn{margin:10px 0;padding:10px 12px;border-radius:12px;background:#ff6e5024;border:1px solid rgba(255,130,90,.7)}.bind-warn p{margin:6px 0 0;color:#ffd9c4}.stamina-choices{display:flex;flex-direction:column;gap:8px;margin:12px 0 6px}.stamina-choices .btn{width:100%}.update-banner{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 10px;border-radius:10px;background:#ffcf5a24;border:1px solid rgba(255,207,90,.6);font-size:13px;font-weight:700}.update-banner>span{flex:1;min-width:0}.update-banner .btn{flex:none}.update-later{flex:none;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--muted)}.chip.static.zero{opacity:.55}@media (min-width: 760px){.bag-row{grid-template-columns:52px minmax(0,1fr) 128px}.bag-row .single{grid-column:3}}.qty-box{margin:4px 0 8px}.qty-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.qty-head h3{margin:0;font-size:16px}.qty-head p{margin:2px 0 0!important}.qty-row{display:flex;align-items:center;justify-content:center;gap:12px;margin:6px 0 10px}.qty-btn{width:48px;min-height:44px;font-size:22px;padding:0}.qty-num{min-width:48px;text-align:center;font-size:26px;font-weight:800;font-family:var(--font-num)}.qty-max{min-height:36px}.qty-sum{text-align:center;font-size:16px;margin:0 0 4px!important}.qty-total{font-size:20px;color:#ffd25a;margin-right:4px}.qty-box>p.muted{text-align:center}.stall-keeper{display:flex;gap:12px;align-items:center;margin:4px 0 6px}.stall-face{flex:none;width:56px;height:56px;border-radius:14px;background:#3a2a1c;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.stall-say{position:relative;flex:1;background:#f6ead2;color:#3a2a1c;border-radius:14px;padding:8px 12px}.stall-say:before{content:"";position:absolute;left:-7px;top:50%;margin-top:-7px;border:7px solid transparent;border-left:0;border-right-color:#f6ead2}.stall-say b{font-size:13px;color:#8a5a2a}.stall-say p{margin:2px 0 0!important;font-size:14px;line-height:1.45}.stall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}.stall-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px 8px;border-radius:14px;background:linear-gradient(180deg,#8a6a44 0,#8a6a44 7px,#c9a878 7px,#c9a878 9px,#e9d6b0 9px);border:2px solid #6a4a2a;color:#3a2a1c;font:inherit;cursor:pointer}.stall-card:active{transform:translateY(1px)}.stall-card.locked .stall-pic{filter:grayscale(1) brightness(.55)}.stall-card.locked{background:linear-gradient(180deg,#6a5a4a 0,#6a5a4a 7px,#8a7a6a 7px,#8a7a6a 9px,#b8ab98 9px)}.stall-pic{height:46px;display:flex;align-items:center;justify-content:center}.stall-pic img{max-height:44px;max-width:60px}.stall-name{font-size:13px;white-space:nowrap;font-weight:800}.stall-price{font-size:13px;font-weight:800;color:#7a4a10;font-variant-numeric:tabular-nums}.stall-pop{text-align:center}.stall-pop-pic{height:64px;display:flex;align-items:center;justify-content:center}.stall-pop-pic img{max-height:60px;max-width:90px}.stall-pop-name{margin:4px 0 2px;font-size:18px}.stall-pop-info{margin:0!important}.stall-pop-own{display:inline-block;margin:8px 0 4px!important;padding:3px 12px;border-radius:999px;background:#3fae5a2e;border:1px solid rgba(63,174,90,.6);font-weight:700;font-size:14px}.shop-row.ach-row.ready,.shop-row.quest-row.ready{border-color:#ffd25abf;background:linear-gradient(180deg,#ffd25a29,#ffd25a0a)}.ach-ready-h{color:#ffd25a}.btn.primary.coin-buy{background:linear-gradient(180deg,#7fd88a,#3fa856);border-color:#c8f5cf;color:#0f2a16;box-shadow:0 3px #2a7a3c,0 6px 16px #3fa8564d}.shop-ico img.pack-art{width:48px;height:44px;max-width:none;max-height:none}.glass,.hud,.tools,.wordcard,.toast,.backdrop,.title-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}:root{--glass: rgba(24, 17, 13, .84)}.toast{background:#1c140ff0}.backdrop{background:#080503a8}.title-card{background:#18110dcc}img.toon{object-fit:contain;image-rendering:auto}.title-bg-toon{background-image:var(--bg-tall);background-size:cover;background-position:center bottom;animation:title-zoom 24s ease-in-out infinite alternate}@media (min-aspect-ratio: 1/1){.title-bg-toon{background-image:var(--bg-wide);background-position:center}}@keyframes title-zoom{0%{transform:scale(1)}to{transform:scale(1.06)}}.reduce-motion .title-bg-toon{animation:none}.tool .tl{white-space:nowrap}@media (max-width: 374px){.tools .tool{padding:2px 1px}.tool .tl{font-size:10px;letter-spacing:-.04em}.goal-row{gap:4px}.goal-row .chip{padding:2px 7px;font-size:12px;min-height:28px}}@media (max-aspect-ratio: 1/1){.title-screen{align-items:flex-start;padding-top:calc(env(safe-area-inset-top,0px) + 4vh)}}@media (max-aspect-ratio: 1/1) and (max-height: 700px){.title-screen{padding-top:calc(env(safe-area-inset-top,0px) + 2vh)}.title-screen .title-card{padding:20px 24px 14px}.title-screen .title-card h1{font-size:44px}.title-screen .title-card p{margin:6px 0}}@media (max-width: 759px){.hud{padding:6px 10px 7px;gap:5px}.hud .icon-btn{min-width:34px;min-height:30px;font-size:15px;border-radius:10px}.goal-row{flex-wrap:wrap;gap:5px}.goal-row .goal{flex:1 1 0;min-width:48%;min-height:28px;padding:2px 8px;font-size:12.5px;gap:4px}.goal-row .chip{min-height:28px;padding:2px 8px;font-size:12px}.spell-boxes .box{height:26px}.spell-row{min-height:26px}.auto-banner{margin-top:0;padding:3px 8px;font-size:12px;border-radius:8px}.coach{margin-top:0;padding:5px 8px;gap:6px;border-radius:10px}.coach-ico{display:none}.coach-step{font-size:10px;padding:1px 5px}.coach-text{font-size:13px;line-height:1.3}}.joy{position:absolute;left:calc(var(--gap) + 6px);bottom:calc(var(--tools-h) + var(--safe-b) + 16px);width:112px;height:112px;border-radius:50%;display:none;place-items:center;background:radial-gradient(circle,#ffffff0f,#ffffff24 70%,#fff3);border:2px solid rgba(255,255,255,.28);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;opacity:.75;transition:opacity .2s}@media (pointer: coarse),(max-width: 759px){.joy{display:grid}}.joy[hidden]{display:none!important}.joy.active{opacity:1}.joy-knob{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff9,#ffffff47);border:2px solid rgba(255,255,255,.55);box-shadow:0 2px 8px #00000040;pointer-events:none}.joy:not(.active) .joy-knob{transition:transform .15s ease-out}@media (max-width: 759px){.exit-go{left:calc(50% + 62px);max-width:calc(100vw - 2 * var(--gap) - 136px);padding:10px 16px;overflow:hidden;text-overflow:ellipsis}}.seg-tabs{display:flex;gap:4px;padding:4px;margin:0 0 12px;border:1px solid var(--line);border-radius:14px;background:#00000047}.seg-tab{position:relative;flex:1 1 0;min-width:0;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 4px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:13px;font-weight:700}.seg-ico{font-size:20px;line-height:1}.seg-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seg-tab.active{background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#2a1608;box-shadow:0 2px 8px #ff9f4359}.seg-tab:disabled{opacity:.4}.seg-badge{position:absolute;top:3px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e8453a;color:#fff;font:900 11px/18px var(--font-num);text-align:center}.seg-tabs.sub{gap:6px;padding:0;border:0;background:none}.seg-tabs.sub .seg-tab{flex-direction:row;gap:4px;min-height:38px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:14px}.seg-tabs.sub .seg-ico{font-size:15px}.seg-tabs.sub .seg-tab.active{border-color:var(--accent);background:#ffcf5a2e;color:var(--accent);box-shadow:none}.zone-strip{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 8px;margin-bottom:6px;scrollbar-width:none}.zone-strip::-webkit-scrollbar{display:none}.zone-tab{flex:0 0 42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--text);font:800 16px var(--font-num)}.zone-tab.active{background:linear-gradient(180deg,#ffe27a,#ffb43a);border-color:#fff0b0;color:#3a2208}.zone-tab:disabled{opacity:.4;font-size:14px}.char-info{flex:1;min-width:0}.char-name-row{display:flex;align-items:center;gap:6px}.char-head .char-name-row h3{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-edit{flex:none;width:32px;height:32px;border:1px solid var(--line-strong);border-radius:50%;background:var(--panel-2);font-size:14px}.char-wallet{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.list{display:flex;flex-direction:column;gap:6px}.list-row{width:100%;display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#ffffff0f,#ffffff05);color:inherit;text-align:left}.lr-num{flex:none;width:26px;height:26px;border-radius:50%;background:#ffcf5a2e;color:var(--accent);font:900 13px/26px var(--font-num);text-align:center}.lr-main{flex:1;min-width:0;font-weight:700}.lr-go{flex:none;color:var(--accent);font-size:13px;font-weight:700}.tier-summary{padding:12px 14px;border:1px solid rgba(255,207,90,.4);border-radius:14px;background:linear-gradient(180deg,#ffcf5a24,#ffcf5a0a)}.tier-summary p{margin:4px 0 0}.tier-total{display:flex;align-items:baseline;gap:8px}.tier-total b{font:900 24px var(--font-num);color:var(--accent)}.tier-cards{display:flex;flex-direction:column;gap:8px;margin:10px 0}.tier-card{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.tier-card.next{border-color:var(--accent);box-shadow:0 0 0 1px #ffcf5a40 inset}.tier-card.done{border-color:#7be0a080;background:#7be0a01a}.tier-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.tier-amt{font:900 17px var(--font-num);color:var(--accent)}.tier-pill{font-size:12px;font-weight:700;color:var(--accent);white-space:nowrap}.tier-card.done .tier-pill{color:var(--good)}.tier-gifts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.gift{padding:2px 8px;border-radius:999px;background:#ffffff14;font-size:13px;white-space:nowrap}.gift.rare{background:#9678ff33;color:#ddd2ff;font-weight:700}.potion-quick{flex:none;min-height:28px;padding:0 10px;border:1px solid rgba(143,208,255,.55);border-radius:999px;background:#8fd0ff24;color:var(--text);font:800 13px var(--font-num)}.potion-quick.want{border-color:#8fd0fff2;background:#8fd0ff47;box-shadow:0 0 8px #8fd0ff73}.pot-stepper{display:flex;align-items:center;justify-content:center;gap:18px;margin:10px 0 4px}.btn.pot-step{width:48px;height:48px;padding:0;font-size:24px}.pot-n{min-width:48px;text-align:center;font:900 32px var(--font-num)}.pot-after{text-align:center;font-weight:700}.seg-tab:focus-visible,.zone-tab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #ffcf5abf}@media (max-width: 759px){.shop-row:has(>.single),.shop-row:has(>.chip.static),.shop-row.ach-row,.shop-row.quest-row{grid-template-columns:40px minmax(0,1fr) auto;column-gap:10px;row-gap:0}.shop-row:has(>.single)>.shop-info,.shop-row:has(>.chip.static)>.shop-info,.shop-row.ach-row>.shop-info,.shop-row.quest-row>.shop-info{grid-column:2}.shop-row:has(>.single)>.btn,.shop-row:has(>.chip.static)>.chip.static,.shop-row.ach-row>.btn,.shop-row.ach-row>.chip.static,.shop-row.quest-row>.btn{grid-row:1;grid-column:3;width:auto;min-width:84px;max-width:128px;padding-left:10px;padding-right:10px}.shop-row .shop-ico.big-ico{width:40px;font-size:24px}.pet-card{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:10px;align-items:start}.pet-card>.btn,.pet-card>.chip{grid-column:2;justify-self:end}}.modal:focus{outline:none}@media (max-width: 759px){.up-card{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:12px;row-gap:10px;align-items:start}.up-card .up-info p{margin:2px 0}.up-buttons{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.up-buttons .btn{width:100%}}@media (min-width: 760px){.seg-tab{flex-direction:row;gap:6px;min-height:42px;font-size:14px}.seg-ico{font-size:18px}.seg-badge{top:2px;left:auto;right:6px}}.pack-gets{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:4px}.get{padding:1px 8px;border-radius:999px;background:#ffffff14;font:800 13px var(--font-num);white-space:nowrap}.get-bonus{margin-left:4px;color:#7dffb0;font-weight:900}.pack-tag{padding:1px 7px;border-radius:6px;background:#ffffff1a;color:var(--muted);font-size:11px;font-weight:800}.pack-tag.hot{background:linear-gradient(180deg,#ff7a59,#e8453a);color:#fff}.pack-promo{margin:6px 0 2px;font-size:14px}.pack-promo b{color:#7dffb0}img.coin-ico{display:inline-block;width:1.1em;height:1.1em;margin:0 .04em;vertical-align:-.27em;object-fit:contain}.auto-fab{position:absolute;right:10px;bottom:calc(100% + 10px);width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,236,170,.6);border-radius:50%;background:#1e140cb8;color:#ffe9b0;box-shadow:0 3px 10px #0006}.auto-fab .tl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.auto-fab .ti{font-size:20px;line-height:1}.auto-fab.active{border-color:#ffb9a3;background:linear-gradient(180deg,#ff7a59,#d8452f);color:#fff;box-shadow:0 0 12px #ff7a5999}.auto-fab:active{translate:0 2px}.auto-fab[hidden]{display:none}.tools.in-mine .recenter-fab{bottom:calc(100% + 62px)}.chip.surface-chip{min-height:24px;padding:0 8px;font-size:12px}@media (max-width: 759px){.exit-go.descend-go{left:50%}}@media (min-width: 760px){.auto-fab{right:calc(100% + 12px);bottom:12px}.tools.in-mine .recenter-fab{bottom:70px}}.toasts{top:calc(var(--hud-bottom, 120px) + 8px);bottom:auto}.modal-open .toasts{top:auto;bottom:calc(var(--safe-b) + 10px)}@media (max-width: 759px){.icon-btn.close{min-width:44px;min-height:44px}.shop-row .btn,.cos-card .btn,.pet-card .btn,.up-buttons .btn,.stall-pop .btn,.pot-stepper .btn,.seg-tabs.sub .seg-tab{min-height:44px}.name-edit,.surface-chip,.potion-quick,.hud .chip,.save-dot{position:relative}.name-edit:after,.surface-chip:after,.potion-quick:after,.hud-name:after,.hud .gems:after,.hud .chip:not(.has-new):after{content:"";position:absolute;top:-8px;right:-3px;bottom:-8px;left:-3px}.name-edit:after{top:-6px;right:-6px;bottom:-6px;left:-6px}.surface-chip:after{top:-10px;right:-3px;bottom:-10px;left:-3px}.potion-quick{min-height:36px}.potion-quick:after{top:0;right:-3px;bottom:-8px;left:-3px}.hud-name,.hud .gems{position:relative}.hud-name:after,.hud .gems:after{top:-6px;right:-2px;bottom:-6px;left:-2px}.hud .icon-btn{min-width:44px;min-height:44px}}.hud-where,.hud-name{overflow-x:clip;overflow-y:visible}@media (max-width: 759px){.hud .chip.surface-chip:after{top:-10px;right:-3px;bottom:-10px;left:-3px}.hud-name:after{top:-10px;right:-2px;bottom:-10px;left:-2px}}
