:root{--ink:#1c2433;--ink-2:#44506380;--ink-soft:#5c6675;--ink-line:rgba(28,36,51,0.12);--paper:#fffdf8;--paper-2:#f7f2e8;--paper-3:#ebe1ce;--forest:#2e8b63;--forest-d:#1f6a49;--leaf:#57b584;--terra:#d4644a;--terra-d:#b14e38;--gold:#e9a93c;--gold-d:#c78620;--sky:#a8cfe3;--sky-d:#7fb2cc;--stone:#93a3b1;--plum:#6b5ca5;--plum-d:#4f4184;--sh-1:0 1px 2px rgba(28,36,51,0.06),0 2px 8px rgba(28,36,51,0.06);--sh-2:0 2px 4px rgba(28,36,51,0.06),0 10px 26px rgba(28,36,51,0.1);--sh-3:0 4px 8px rgba(28,36,51,0.07),0 20px 48px rgba(28,36,51,0.13);--r-s:12px;--r-m:18px;--r-l:26px;--e-out:cubic-bezier(0.22,1,0.36,1);--e-spring:cubic-bezier(0.34,1.4,0.5,1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{height:100%}body{margin:0;min-height:100%;color:var(--ink);font-family:Onest,ui-sans-serif,-apple-system,Segoe UI,system-ui,sans-serif;font-weight:500;font-size:16px;line-height:1.45;letter-spacing:-.01em;background-color:#eef4f6;background-image:linear-gradient(180deg,#dceef6,#e9f2f2 46%,#eef4ee);background-attachment:fixed;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.14'/%3E%3C/svg%3E")}.display,h1,h2,h3{font-family:Bitter,ui-serif,Georgia,serif;font-weight:700;letter-spacing:-.02em;line-height:1.12;margin:0}button{color:inherit;cursor:pointer}button,input{font:inherit;font-family:inherit}.page{position:relative;z-index:1;min-height:100dvh;padding:20px 18px 56px;isolation:isolate}.wrap{max-width:1120px;margin:0 auto}.narrow{max-width:640px;margin:0 auto}.btn{--bg:var(--forest);--bd:var(--forest-d);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:var(--r-m);padding:15px 22px;font-size:16px;font-weight:700;letter-spacing:-.01em;color:#fff;background:var(--bg);box-shadow:0 4px 0 var(--bd),var(--sh-1);transition:transform .12s var(--e-out),box-shadow .12s var(--e-out),filter .16s}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--bd),var(--sh-1)}.btn:disabled{--bg:#d9d3c6;--bd:#bdb6a7;color:#fffdf8;cursor:default;filter:none}.btn.plum{--bg:var(--plum);--bd:var(--plum-d)}.btn.terra{--bg:var(--terra);--bd:var(--terra-d)}.btn.gold{--bg:var(--gold);--bd:var(--gold-d);color:#3d2a06}.btn.ghost{--bg:var(--paper);--bd:#ddd5c6;color:var(--ink);box-shadow:0 4px 0 var(--bd),inset 0 0 0 1px var(--ink-line)}.btn.auto{width:auto}.btn svg{flex:none}.card{border-radius:var(--r-l);box-shadow:var(--sh-2),inset 0 0 0 1px var(--ink-line)}.card,.pill{background:var(--paper)}.pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 13px 7px 10px;font-weight:700;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line)}.pill.grow{flex:1 1;justify-content:center}.iconbtn{border:0;background:var(--paper);border-radius:999px;width:40px;height:40px;flex:none;display:grid;place-items:center;box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line);transition:transform .12s var(--e-out)}.iconbtn:active{transform:scale(.94)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:10px;max-width:1120px;margin:0 auto 14px;padding:10px 0}.topbar:before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:-22px;width:100vw;height:calc(100% + 24px);background:linear-gradient(180deg,rgba(236,244,246,.96) 62%,rgba(236,244,246,0));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;z-index:-1}.topbar .navspace{flex:1 1}.brand{display:inline-flex;align-items:center;gap:9px;border:0;background:var(--paper);border-radius:999px;padding:6px 15px 6px 8px;font-family:Bitter,serif;font-weight:700;font-size:15px;letter-spacing:-.02em;box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line);transition:transform .14s var(--e-spring)}.brand:active{transform:scale(.97)}.crumb{display:none;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--ink-soft);background:rgba(255,253,248,.7);border-radius:999px;padding:7px 14px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:760px){.crumb{display:inline-flex}}.topbar .pill.xp{font-size:13.5px}.menuwrap{position:relative}.navbtn{display:inline-flex;align-items:center;gap:8px;border:0;background:var(--paper);border-radius:999px;padding:9px 15px;font-size:13.5px;font-weight:700;color:var(--ink);box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line);transition:transform .14s var(--e-spring),background .16s}.navbtn:hover{background:#fff}.navbtn:active{transform:scale(.97)}@media (max-width:520px){.navbtn span{display:none}.navbtn{padding:10px}}.menu{position:absolute;right:0;top:calc(100% + 10px);width:min(340px,calc(100vw - 32px));padding:14px;z-index:70;animation:menu-in .2s var(--e-out) both}.menu-head{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}.menu-list{display:grid;grid-gap:8px;gap:8px;max-height:320px;overflow:auto;margin-bottom:12px}.menu-item{display:flex;align-items:center;gap:8px;background:var(--paper-2);border-radius:var(--r-m);padding:10px 10px 10px 12px;box-shadow:inset 0 0 0 1px var(--ink-line)}.menu-item.on{background:#eef5f0;box-shadow:inset 0 0 0 1.5px rgba(46,139,99,.35)}.menu-item .pick{flex:1 1;min-width:0;border:0;background:transparent;text-align:left;padding:0}.menu-item .t{display:block;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-item .sub{display:block;font-size:11.5px;color:var(--ink-soft);font-weight:600;margin:2px 0 6px}.menu-item .bar{display:block;height:5px;border-radius:99px;background:#e2dac9;overflow:hidden}.menu-item .bar>i{display:block;height:100%;background:var(--forest);border-radius:99px}.menu-item .del{border:0;background:transparent;border-radius:50%;width:26px;height:26px;flex:none;display:grid;place-items:center;opacity:.45;transition:opacity .16s,background .16s}.menu-item .del:hover{opacity:1;background:#f7e7e2}.menu-empty{font-size:13px;color:var(--ink-soft);font-weight:600;padding:6px 2px 10px}.navbtn.login{padding:9px 16px 9px 13px}.navbtn.login svg{margin-right:-1px}.avatar{width:40px;height:40px;flex:none;border:0;border-radius:50%;display:grid;place-items:center;font-family:Bitter,serif;font-size:16px;font-weight:700;color:var(--paper);background:var(--forest);box-shadow:0 3px 0 var(--forest-d),var(--sh-1);transition:transform .14s var(--e-spring)}.avatar:active{transform:translateY(2px);box-shadow:0 1px 0 var(--forest-d)}.corner-actions{position:absolute;top:14px;right:14px;z-index:2;display:flex;gap:8px}.corner-btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:10px 17px 10px 14px;font-size:14px;font-weight:700;color:var(--ink);background:rgba(255,253,248,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line);transition:transform .14s var(--e-spring),background .16s}.corner-btn:hover{background:#fff;transform:translateY(-1px)}.corner-btn:active{transform:translateY(1px) scale(.98)}@media (max-width:620px){.corner-actions{top:10px;right:10px;gap:6px}.corner-btn{padding:9px 14px 9px 12px;font-size:13.5px}}.menu-account{margin-top:12px;padding-top:12px;border-top:1px solid var(--ink-line);display:grid;grid-gap:10px;gap:10px}.menu-account .who{display:grid;grid-template-columns:18px 1fr;grid-gap:4px 9px;gap:4px 9px;align-items:center;font-size:13.5px}.menu-account .who b{font-weight:700;overflow:hidden;text-overflow:ellipsis}.menu-account .who em{grid-column:2;font-style:normal;font-size:11.5px;color:var(--ink-soft);font-weight:600}.menu-account .authrow{display:grid;grid-template-columns:1fr 1.25fr;grid-gap:8px;gap:8px}.menu-account .authrow .btn{padding:11px 12px;font-size:13.5px}.linkbtn{border:0;background:transparent;color:var(--terra);font-weight:700;font-size:13px;padding:6px 0;text-align:left}.modal.auth{text-align:center;padding:26px 24px 20px;position:relative}.modal.auth h3{font-size:21px;margin:12px 0 6px}.modal.auth>p{margin:0 0 18px;font-size:14px}.modal.auth .closex{position:absolute;top:14px;right:14px;border:0;background:transparent;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;opacity:.5}.modal.auth .closex:hover{opacity:1;background:var(--paper-2)}.authtabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;background:var(--paper-2);padding:4px;border-radius:14px;margin-bottom:16px}.authtabs button{border:0;background:transparent;border-radius:11px;padding:9px;font-size:13.5px;font-weight:700;color:var(--ink-soft);transition:background .16s,color .16s}.authtabs button.on{background:var(--paper);color:var(--ink);box-shadow:var(--sh-1)}.authform{display:grid;grid-gap:10px;gap:10px}.authform input{border:0;border-radius:var(--r-m);padding:14px 16px;font-size:15.5px;font-weight:600;background:var(--paper-2);color:var(--ink);outline:none;text-align:center;box-shadow:inset 0 0 0 1.5px var(--ink-line);transition:box-shadow .16s,background .16s}.authform input:focus{background:#fff;box-shadow:inset 0 0 0 2px var(--forest)}.authform .err.withretry{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.err{margin:0}.codebox{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--paper-2);border-radius:var(--r-m);padding:14px 16px;margin-bottom:16px;box-shadow:inset 0 0 0 1.5px var(--ink-line)}.codebox b{font-family:Bitter,serif;font-size:22px;letter-spacing:1px}.codebox button{border:0;background:var(--paper);border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:700;box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line)}.codeway{border:0;background:transparent;color:var(--plum);font-weight:700;font-size:13.5px;margin-top:12px;padding:6px}.codeway:hover{text-decoration:underline}.modal.auth .skip{border:0;background:transparent;color:var(--ink-soft);font-weight:600;font-size:13px;margin-top:14px;padding:6px}.modal.auth .skip:hover{color:var(--ink)}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(28,36,51,.32);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .18s ease both}.modal{width:min(400px,100%);padding:24px;text-align:center;animation:modal-in .26s var(--e-spring) both}.modal h3{font-size:20px;margin-bottom:8px}.modal p{margin:0 0 20px;color:var(--ink-soft);font-weight:500;font-size:14.5px;line-height:1.45}.modal-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}.title{position:relative;min-height:calc(100dvh - 120px);display:grid;place-items:center;padding:10px 0 24px}.title.hasruns{align-items:start;padding-top:4px}.lobby{position:relative;z-index:1;width:min(440px,100%);display:grid;grid-gap:12px;gap:12px}.lobbyhead{text-align:center;padding:6px 0 2px}.lobbyhead .mascot{display:block;width:132px;height:auto;margin:0 auto -6px;filter:drop-shadow(0 6px 10px rgba(28,36,51,.14));animation:mascot-in .62s var(--e-spring) both}@keyframes mascot-in{0%{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}.lobbyhead h1{font-size:42px;margin:8px 0 2px;letter-spacing:-.03em}.lobbyhead .tagline{margin:0 0 6px;color:var(--ink-soft);font-weight:600;font-size:15px}.title.hasruns .lobbyhead h1{font-size:28px}.title.hasruns .lobbyhead .tagline{font-size:13.5px}.daynote{border-radius:var(--r-m);padding:11px 14px;font-size:13px;font-weight:700;text-align:center;cursor:pointer}.daynote.frozen{background:#e6f0f7;color:#2d5b7a;box-shadow:inset 0 0 0 1px rgba(45,91,122,.2)}.daynote.lost{background:#f6ece7;color:#8f3722;box-shadow:inset 0 0 0 1px rgba(177,78,56,.2)}.hintline .master{display:inline-flex;align-items:center;gap:7px;margin-left:6px;border:0;background:var(--paper-2);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink-line)}.hintline .master:hover{background:#fff}.opt.masked{opacity:.2;pointer-events:none}.hintbubble.reveal-ans{background:#eef5f0;color:#1f6a49}.hintbubble.master-step{background:#f3f0fc;color:#3f3470}.keypad{display:none;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}@media (max-width:760px){.keypad{display:grid}}.keypad .key{border:0;border-radius:14px;padding:15px 0;font-size:19px;font-weight:700;font-family:Bitter,serif;background:var(--paper);color:var(--ink);box-shadow:0 3px 0 #ddd5c6,inset 0 0 0 1.5px var(--ink-line);transition:transform .1s var(--e-out)}.keypad .key:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 #ddd5c6,inset 0 0 0 1.5px var(--ink-line)}.keypad .key.back{background:var(--paper-2);font-size:17px}.dring{position:relative;display:inline-grid;place-items:center;flex:none}.dring>svg{position:absolute;inset:0}.dring-in{position:relative;font-size:12px;font-weight:800;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:grid;place-items:center}.daily{display:flex;align-items:center;gap:14px;padding:12px 14px}.daily .dinfo{flex:1 1;min-width:0}.daily .dinfo b{display:block;font-size:14.5px;font-weight:700}.daily .dsub{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-soft);font-weight:600;margin:1px 0 8px}.daily .dsub em{display:inline-flex;align-items:center;gap:4px;font-style:normal;color:var(--terra);font-weight:700}.dchips{display:flex;gap:8px;flex-wrap:wrap}.dchip{display:inline-flex;align-items:center;gap:7px;border:0;background:var(--paper-2);border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:700;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink-line);transition:background .16s,transform .14s var(--e-spring)}.dchip:hover{background:#fff}.dchip:active{transform:scale(.97)}.dchip.hot{background:#f6ece7;color:#8f3722;box-shadow:inset 0 0 0 1px rgba(177,78,56,.25)}.dchip b{background:var(--gold);color:#3d2a06;border-radius:999px;padding:1px 7px;font-size:11px}.daychip{gap:8px;padding:5px 12px 5px 6px;border:0}.daychip span{font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.daychip em{display:inline-flex;align-items:center;gap:3px;font-style:normal;color:var(--terra);font-weight:800;font-size:13px}.daychip .dring-in{font-size:0}@media (max-width:560px){.daychip span{display:none}}.modal.streak .fire{display:inline-grid;place-items:center;animation:crest-in .5s var(--e-spring) both}.modal.streak h3{margin:10px 0 6px}.rewards{padding-bottom:40px}.wallet{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;padding:14px;margin-bottom:14px}.wallet>div{display:grid;justify-items:center;grid-gap:3px;gap:3px;background:var(--paper-2);border-radius:var(--r-m);padding:12px 8px;box-shadow:inset 0 0 0 1px var(--ink-line)}.wallet b{font-family:Bitter,serif;font-size:19px;font-weight:700}.wallet span{font-size:11px;color:var(--ink-soft);font-weight:600;text-align:center}.track{display:grid;grid-gap:8px;gap:8px;margin-bottom:16px;position:relative}.tier{display:grid;grid-template-columns:52px 1fr auto;grid-gap:12px;gap:12px;align-items:center;background:var(--paper);border-radius:var(--r-m);padding:11px 14px;box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line);opacity:.62}.tier.reached{opacity:1}.tier.taken{background:#f1f7f3}.tier .node{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--ink-line)}.tier.taken .node{background:#e4f4ea;box-shadow:inset 0 0 0 1.5px rgba(46,139,99,.4)}.tier .info b{display:block;font-size:14.5px;font-weight:700}.tier .info span{display:block;font-size:12px;color:var(--ink-soft);font-weight:600}.tier .need{font-size:12.5px;font-weight:700;color:var(--ink-soft);white-space:nowrap}.tier .done{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e4f4ea}.tier .btn{padding:10px 16px;font-size:13.5px}.resumebar{padding:8px}.resumemain{display:grid;grid-template-columns:44px 1fr auto;grid-gap:12px;gap:12px;align-items:center;width:100%;border:0;background:transparent;padding:6px 8px 6px 6px;text-align:left;border-radius:var(--r-m);transition:background .16s}.resumemain:hover{background:var(--paper-2)}.resumemain:active{transform:scale(.995)}.resumemain .mk{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#eef5f0;box-shadow:inset 0 0 0 1.5px rgba(46,139,99,.35)}.resumemain .info{min-width:0}.resumemain .info b{font-size:14.5px;font-weight:700}.resumemain .info b,.resumemain .sub{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resumemain .sub{font-size:11.5px;color:var(--ink-soft);font-weight:600;margin:1px 0 6px}.resumemain .bar{display:block;height:5px;border-radius:99px;background:#e2dac9;overflow:hidden}.resumemain .bar>i{display:block;height:100%;background:var(--forest);border-radius:99px}.resumemain .cta{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;background:var(--forest);color:#fff;border-radius:999px;padding:9px 15px;font-size:13px;font-weight:700;box-shadow:0 3px 0 var(--forest-d)}@media (max-width:420px){.resumemain .cta{padding:9px}.resumemain .cta,.resumemain .cta span{font-size:0;gap:0}.resumemain .cta svg{width:15px;height:15px}}.morepaths{width:100%;border:0;background:transparent;color:var(--ink-soft);font-size:12.5px;font-weight:700;padding:8px 6px 4px;border-top:1px solid var(--ink-line);margin-top:6px}.morepaths:hover{color:var(--ink)}.pathlist{display:grid;grid-gap:6px;gap:6px;padding:4px 2px 2px}.pathrow{display:grid;grid-template-columns:24px 1fr auto;grid-gap:10px;gap:10px;align-items:center;border:0;background:var(--paper-2);border-radius:12px;padding:9px 12px;text-align:left;box-shadow:inset 0 0 0 1px var(--ink-line);transition:background .16s}.pathrow:hover{background:#fff}.pathrow .t{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pathrow .n{font-size:12px;font-weight:700;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cardlabel{display:block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.cardlabel,.goalhelp{color:var(--ink-soft)}.goalhelp{margin:-6px 0 16px;font-size:13px;line-height:1.5}.titlecard{position:relative;z-index:1;width:100%;background:rgba(255,253,248,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:28px;padding:26px 24px 22px;text-align:center;box-shadow:var(--sh-3),inset 0 0 0 1px rgba(28,36,51,.08)}.field{display:grid;grid-gap:10px;gap:10px}.field input{width:100%;border:0;border-radius:var(--r-m);padding:16px;font-size:16.5px;font-weight:600;text-align:center;outline:none;color:var(--ink);background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--ink-line);transition:box-shadow .16s var(--e-out),background .16s}.field input::placeholder{color:#a0aab8;font-weight:500}.field input:focus{background:#fff;box-shadow:inset 0 0 0 2px var(--forest)}.quick{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:18px}.quickbtn{border:0;background:var(--paper-2);border-radius:var(--r-m);padding:11px 6px 9px;display:grid;justify-items:center;grid-gap:5px;gap:5px;font-size:11.5px;font-weight:700;color:var(--ink);line-height:1.15;box-shadow:inset 0 0 0 1px var(--ink-line);transition:transform .14s var(--e-spring),background .16s,box-shadow .16s}.quickbtn:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--ink-line),var(--sh-1)}.quickbtn:active{transform:scale(.96)}.scene .sky-clouds{animation:sky-drift 46s linear infinite}@keyframes sky-drift{0%{transform:translateX(-3%)}50%{transform:translateX(3%)}to{transform:translateX(-3%)}}@media (min-width:900px){.lobby{width:480px}.lobbyhead h1{font-size:50px}.title.hasruns .lobbyhead h1{font-size:32px}.titlecard{padding:22px 26px 24px}.quick{gap:10px}.quickbtn{font-size:12.5px;padding:13px 8px 11px}}.board{display:grid;grid-gap:18px;gap:18px}@media (min-width:940px){.board{grid-template-columns:312px 1fr;align-items:start}}.side{display:none}@media (min-width:940px){.side{display:block;position:-webkit-sticky;position:sticky;top:78px;padding:24px;max-height:calc(100dvh - 96px);overflow-y:auto}}.side .ttl{font-size:22px;margin-bottom:6px}.side .goal{display:flex;gap:8px;align-items:flex-start;color:var(--ink-soft);font-size:13.5px;margin-bottom:20px;font-weight:500}.side .big{font-family:Bitter,serif;font-weight:700;font-size:30px;line-height:1;display:flex;align-items:baseline;gap:8px}.side .big small{font-size:13px;color:var(--ink-soft);font-weight:600;font-family:Onest,sans-serif}.progress{height:10px;border-radius:99px;background:var(--paper-3);overflow:hidden;margin:12px 0 18px;box-shadow:inset 0 1px 2px rgba(28,36,51,.08)}.progress>i{display:block;height:100%;border-radius:99px;background:var(--forest);transition:width .7s var(--e-out)}.statgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:18px}.statgrid>div{min-width:0;overflow:hidden;background:var(--paper-2);border-radius:var(--r-m);padding:11px 12px;display:flex;align-items:center;gap:9px;box-shadow:inset 0 0 0 1px var(--ink-line)}.statgrid>div>div{min-width:0;font-weight:700;font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.statgrid span{display:block;font-size:10.5px;color:var(--ink-soft);font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topstrip{display:flex;gap:8px;align-items:center;margin-bottom:14px}@media (min-width:940px){.topstrip{display:none}}.mapcard{padding:8px;overflow:hidden}.mapcard .caption{text-align:center;padding:14px 12px 6px}.mapcard .caption h2{font-size:21px}.mapcard .caption p{margin:6px 0 0;font-size:13.5px;color:var(--ink-soft);font-weight:500}@media (min-width:940px){.mapcard .caption{display:none}}.mapinner{position:relative;border-radius:20px;overflow:hidden;background-color:#f6f1e4;background-image:linear-gradient(rgba(28,36,51,.03) 1px,transparent 0),linear-gradient(90deg,rgba(28,36,51,.03) 1px,transparent 0),radial-gradient(circle at 78% 10%,rgba(233,169,60,.12),transparent 42%),radial-gradient(circle at 12% 74%,rgba(87,181,132,.12),transparent 44%);background-size:44px 44px,44px 44px,100% 100%,100% 100%;box-shadow:inset 0 0 0 1px var(--ink-line),inset 0 12px 30px rgba(28,36,51,.04)}.mapinner>svg.bands,.mapinner>svg.trail{position:absolute;inset:0;pointer-events:none}.mapinner>svg.rose{position:absolute;right:18px;top:18px;pointer-events:none;opacity:.75}@media (max-width:620px){.mapinner>svg.rose{width:76px;height:76px;right:8px;top:8px}}.decor{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.decor,.spot{position:absolute}.spot{width:168px;margin-left:-84px;margin-top:-42px;display:flex;flex-direction:column;align-items:center;gap:9px;border:0;background:transparent;padding:0;animation:spot-in .42s var(--e-spring) both}.marker{position:relative;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--paper);box-shadow:0 5px 0 rgba(28,36,51,.16),var(--sh-2),inset 0 0 0 3px rgba(28,36,51,.1);transition:transform .16s var(--e-spring),box-shadow .16s var(--e-out)}.spot:hover .marker{transform:translateY(-3px)}.spot:active .marker{transform:translateY(4px);box-shadow:0 1px 0 rgba(28,36,51,.16),var(--sh-1),inset 0 0 0 3px rgba(28,36,51,.1)}.spot.done .marker{background:#e4f4ea;box-shadow:0 5px 0 rgba(31,106,73,.32),var(--sh-2),inset 0 0 0 3px rgba(46,139,99,.45)}.spot.locked{cursor:default}.spot.locked .marker{background:#efeade;box-shadow:0 5px 0 rgba(28,36,51,.1),inset 0 0 0 3px rgba(28,36,51,.08)}.spot.locked .cap{color:var(--ink-soft)}.spot.boss .marker{box-shadow:0 5px 0 rgba(199,134,32,.4),var(--sh-2),inset 0 0 0 3px rgba(233,169,60,.75)}.spot.current .marker{background:#efeafb;box-shadow:0 5px 0 rgba(79,65,132,.34),var(--sh-3),inset 0 0 0 3px rgba(107,92,165,.6)}.spot.current .marker:after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid rgba(107,92,165,.35);animation:halo 2.4s ease-out infinite}.marker .tick{right:-6px;top:-2px;place-items:center;background:var(--forest);box-shadow:0 2px 0 var(--forest-d),0 0 0 3px var(--paper)}.marker .lock,.marker .tick{position:absolute;width:28px;height:28px;border-radius:50%;display:grid}.marker .lock{right:-4px;bottom:0;place-items:center;background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--ink-line),var(--sh-1)}.marker .ghost{opacity:.4;filter:grayscale(.85)}.marker .badge{top:-8px;right:-6px;background:var(--gold);color:#3d2a06;font-size:10.5px;font-weight:700;letter-spacing:.06em;padding:3px 8px;box-shadow:0 2px 0 var(--gold-d)}.marker .badge,.marker .stars{position:absolute;border-radius:999px}.marker .stars{bottom:-10px;left:50%;transform:translateX(-50%);display:flex;gap:2px;background:var(--paper);padding:3px 7px;box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line)}.spot .cap{font-size:13px;font-weight:700;line-height:1.2;text-align:center;letter-spacing:-.005em;background:rgba(246,241,228,.82);border-radius:8px;padding:2px 6px}@media (max-width:560px){.spot .cap{font-size:12px}}.spot .go{display:inline-flex;align-items:center;gap:6px;background:var(--plum);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 13px;border-radius:999px;box-shadow:0 3px 0 var(--plum-d);animation:nudge 2.6s var(--e-out) infinite}.milestone{left:50%;transform:translateX(-50%);padding:9px 18px}.chapterbar,.milestone{position:absolute;display:inline-flex;align-items:center;gap:8px;background:var(--paper);border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap;box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line)}.chapterbar{padding:8px 16px 8px 12px;letter-spacing:-.005em}.chest{position:absolute;border:0;background:transparent;padding:0;transform:translate(-50%,-50%);transition:transform .16s var(--e-spring),filter .2s}.chest.locked{filter:grayscale(.55) opacity(.6);cursor:default}.chest.ready{animation:chest-bob 2.2s ease-in-out infinite;cursor:pointer}.chest.ready:hover{transform:translate(-50%,-54%) scale(1.06)}.chest.open{filter:saturate(.9);cursor:default}.chest .tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:#3d2a06;font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;box-shadow:0 2px 0 var(--gold-d)}.marker .traveler{position:absolute;bottom:-4px;pointer-events:none;animation:traveler-idle 2.8s ease-in-out infinite;filter:drop-shadow(0 4px 6px rgba(28,36,51,.18))}.buildingnote{position:absolute;left:50%;transform:translateX(-50%);background:var(--paper);border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:700;color:var(--ink-soft);white-space:nowrap;box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line);animation:pulse-soft 1.8s ease-in-out infinite}@keyframes pulse-soft{0%,to{opacity:.65}50%{opacity:1}}.finishgate{position:absolute;left:50%;transform:translateX(-50%);display:grid;justify-items:center;grid-gap:8px;gap:8px;pointer-events:none}.finishgate .lbl{background:var(--paper);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:700;box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line)}.sidebtn{margin-bottom:10px;font-size:14.5px}.chapterlist{display:grid;grid-gap:7px;gap:7px;margin-bottom:18px}.chapter{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--ink-soft);padding:7px 10px;border-radius:12px;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--ink-line)}.chapter .dot{width:8px;height:8px;border-radius:50%;background:#cfc6b4;flex:none}.chapter.done{color:var(--ink)}.chapter.done .dot{background:var(--forest)}.chapter.active{color:var(--ink);background:#efeafb;box-shadow:inset 0 0 0 1.5px rgba(107,92,165,.35)}.chapter.active .dot{background:var(--plum)}.chapter span:nth-child(2){flex:1 1}.banner{background:var(--gold);border-radius:var(--r-l);padding:20px;text-align:center;box-shadow:0 5px 0 var(--gold-d),var(--sh-2);margin-bottom:16px;color:#3d2a06}.banner h3{font-size:20px;margin-bottom:6px}.banner p{margin:0 0 14px;font-size:14px;font-weight:600}.play{padding-bottom:40px}@media (min-width:940px){.play{max-width:700px;margin:max(4vh,calc((100dvh - 700px) / 2)) auto 0;background:var(--paper);border-radius:var(--r-l);padding:30px 32px 36px;box-shadow:var(--sh-3),inset 0 0 0 1px var(--ink-line)}}.playbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.segs{display:flex;gap:5px;flex:1 1}.segs i{flex:1 1;height:9px;border-radius:99px;background:var(--paper-3);box-shadow:inset 0 0 0 1px var(--ink-line);transition:background .32s var(--e-out)}.segs i.on{background:var(--forest)}.segs i.miss{background:var(--terra)}.hearts{display:flex;gap:3px}.coach{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink-soft);font-weight:600;font-size:13.5px;margin-bottom:12px}.coach,.qcard{text-align:center}.qcard{padding:32px 26px;border-radius:var(--r-l);background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--ink-line);animation:q-in .32s var(--e-out) both}@media (min-width:940px){.qcard{background:#fbf8f1}}.qkind{display:inline-block;margin-bottom:14px;font-size:11px;letter-spacing:.1em;color:var(--ink-soft);text-transform:uppercase}.qkind,.qtext{font-weight:700}.qtext{font-family:Bitter,serif;font-size:clamp(21px,4.2vw,28px);line-height:1.32;letter-spacing:-.02em;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-hyphens:none;hyphens:none}.opts{display:grid;grid-gap:10px;gap:10px;margin-top:18px}@media (min-width:620px){.opts{grid-template-columns:1fr 1fr}}.opt{border:0;border-radius:var(--r-m);padding:17px;font-size:17.5px;font-weight:700;text-align:center;color:var(--ink);background:var(--paper);box-shadow:0 3px 0 #ddd5c6,inset 0 0 0 1.5px var(--ink-line);transition:transform .12s var(--e-out),box-shadow .12s var(--e-out)}.opt:hover:not(:disabled){transform:translateY(-1px)}.opt:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 #ddd5c6,inset 0 0 0 1.5px var(--ink-line)}.opt.ok{background:#e4f4ea;box-shadow:0 3px 0 var(--forest-d),inset 0 0 0 2px var(--forest)}.opt.bad{background:#fbe9e4;box-shadow:0 3px 0 var(--terra-d),inset 0 0 0 2px var(--terra);animation:shake .38s var(--e-out)}.opt.dim{opacity:.42}.answerbox{display:flex;gap:10px;margin-top:18px}.answerbox input{flex:1 1;min-width:0;border:0;border-radius:var(--r-m);padding:17px;font-family:Bitter,serif;font-size:21px;font-weight:700;text-align:center;outline:none;background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink-line);transition:box-shadow .16s var(--e-out)}.answerbox input:focus{box-shadow:inset 0 0 0 2px var(--plum)}.answerbox input.ok{background:#e4f4ea;box-shadow:inset 0 0 0 2px var(--forest)}.answerbox input.bad{background:#fbe9e4;box-shadow:inset 0 0 0 2px var(--terra);animation:shake .38s var(--e-out)}.tf{grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:18px}.tf,.tfbtn{display:grid}.tfbtn{border:0;border-radius:var(--r-m);padding:22px 16px;justify-items:center;grid-gap:8px;gap:8px;font-size:17px;font-weight:700;background:var(--paper);color:var(--ink);box-shadow:0 4px 0 #ddd5c6,inset 0 0 0 1.5px var(--ink-line);transition:transform .12s var(--e-out),box-shadow .12s var(--e-out)}.tfbtn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #ddd5c6,inset 0 0 0 1.5px var(--ink-line)}.tfbtn.ok{background:#e4f4ea;box-shadow:0 4px 0 var(--forest-d),inset 0 0 0 2px var(--forest)}.tfbtn.bad{background:#fbe9e4;box-shadow:0 4px 0 var(--terra-d),inset 0 0 0 2px var(--terra)}.tfbtn.dim{opacity:.42}.pairs{grid-template-columns:1fr 1fr;margin-top:18px}.pairs,.pairs .col{display:grid;grid-gap:10px;gap:10px}.pairs .col{align-content:start}.pcell{border:0;border-radius:14px;padding:15px 12px;font-size:15.5px;font-weight:700;background:var(--paper);color:var(--ink);min-height:54px;box-shadow:0 3px 0 #ddd5c6,inset 0 0 0 1.5px var(--ink-line);transition:transform .12s var(--e-out),background .18s,box-shadow .16s,opacity .24s}.pcell.sel{background:#efeafb;box-shadow:0 3px 0 var(--plum-d),inset 0 0 0 2px var(--plum)}.pcell.done{background:#e4f4ea;box-shadow:inset 0 0 0 1.5px rgba(46,139,99,.4);opacity:.6}.pcell.bad{background:#fbe9e4;box-shadow:0 3px 0 var(--terra-d),inset 0 0 0 2px var(--terra);animation:shake .38s var(--e-out)}.order{margin-top:18px}.order .slots{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.order .slot{flex:1 1;min-width:68px;min-height:52px;display:grid;place-items:center;border-radius:14px;font-weight:700;font-size:15px;color:#a7b0bd;background:rgba(255,253,248,.6);box-shadow:inset 0 0 0 2px var(--ink-line)}.order .slot.filled{color:var(--ink);background:#efeafb;box-shadow:inset 0 0 0 2px rgba(107,92,165,.45)}.order .pool{display:flex;flex-wrap:wrap;gap:10px}.chipbtn{border:0;border-radius:14px;padding:13px 18px;font-size:16px;font-weight:700;background:var(--paper);color:var(--ink);box-shadow:0 3px 0 #ddd5c6,inset 0 0 0 1.5px var(--ink-line);transition:transform .12s var(--e-out),opacity .2s}.chipbtn:active:not(:disabled){transform:translateY(3px)}.chipbtn.used{opacity:.35}.opt.multi{position:relative;padding-left:44px;text-align:left}.opt.multi:before{content:"";position:absolute;left:15px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:7px;box-shadow:inset 0 0 0 2px var(--ink-line);background:#fff;transition:background .16s,box-shadow .16s}.opt.multi.sel:before{background:var(--plum);box-shadow:inset 0 0 0 2px var(--plum)}.opt.multi.sel{background:#f3f0fc}.lightning{padding-bottom:40px}@media (min-width:940px){.lightning{max-width:700px;margin:5vh auto 0;background:var(--paper);border-radius:var(--r-l);padding:26px 28px 32px;box-shadow:var(--sh-3),inset 0 0 0 1px var(--ink-line)}}.lbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.timer{flex:1 1;height:12px;background:var(--paper-3);overflow:hidden;box-shadow:inset 0 1px 2px rgba(28,36,51,.1)}.timer,.timer>i{border-radius:99px}.timer>i{display:block;height:100%;background:var(--gold);transition:width .12s linear,background .3s}.timer>i.low{background:var(--terra)}.lbar .secs{font-family:Bitter,serif;font-weight:700;font-size:17px;min-width:42px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lightning.flash-ok .qcard{background:#e4f4ea}.lightning.flash-bad .qcard{background:#fbe9e4}.combo{margin:0 auto 10px;width:-moz-fit-content;width:fit-content;background:var(--gold);color:#3d2a06;border-radius:999px;padding:6px 15px;font-size:13px;font-weight:800;letter-spacing:-.01em;box-shadow:0 3px 0 var(--gold-d);animation:combo-pop .42s var(--e-spring) both}.bossfight .qcard{background:#fdf6ee}.play.shake{animation:shake .38s var(--e-out)}.hintline{text-align:center;margin-top:16px}.hintline button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--plum);font-weight:700;font-size:14px;padding:6px 10px;border-radius:999px}.hintline button:hover{background:rgba(107,92,165,.08)}.hintbubble{margin-top:12px;background:#f1eefa;border-radius:var(--r-m);padding:14px 16px;color:#3f3470;font-weight:600;font-size:14.5px;text-align:left;display:flex;gap:10px;align-items:flex-start;animation:q-in .26s var(--e-out) both}.verdict{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:20px 18px calc(20px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;box-shadow:0 -8px 40px rgba(28,36,51,.16);animation:sheet-up .32s var(--e-out) both;background:var(--paper)}.verdict.ok{background:#e4f4ea}.verdict.bad{background:#fbe9e4}.verdict .inner{max-width:640px;margin:0 auto;display:flex;gap:16px;align-items:center}.verdict .txt{flex:1 1;min-width:0}.verdict h3{font-size:17px;margin-bottom:4px;display:flex;align-items:center;gap:8px}.verdict p{margin:0;font-weight:500;font-size:14.5px;color:#3c4655;white-space:pre-line}.verdict .btn{width:auto;min-width:160px}@media (max-width:580px){.verdict .inner{flex-direction:column;align-items:stretch;gap:14px}.verdict .btn{width:100%}}.mistakes{padding-bottom:40px}.mhead{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.mhead h2{font-size:24px;margin-bottom:4px}.mhead p{margin:0;color:var(--ink-soft);font-weight:600;font-size:14px}.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs button{border:0;border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:700;background:rgba(255,253,248,.8);color:var(--ink-soft);box-shadow:inset 0 0 0 1px var(--ink-line);transition:background .16s,color .16s}.tabs button.on{background:var(--ink);color:var(--paper);box-shadow:none}.mistakes .empty{display:grid;justify-items:center;grid-gap:10px;gap:10px;padding:32px 24px;text-align:center}.mistakes .empty p{margin:0;color:var(--ink-soft);font-weight:600;font-size:14.5px;max-width:26em}.mgroup{padding:4px 18px 14px;margin-bottom:12px}.mgroup header{display:flex;align-items:center;gap:11px;padding:14px 0 10px;border-bottom:1px solid var(--ink-line)}.mgroup header strong{display:block;font-size:15px;font-weight:700}.mgroup header span{display:block;font-size:12px;color:var(--ink-soft);font-weight:600}.mgroup header>div{flex:1 1;min-width:0}.mgroup header b{font-size:13px;font-weight:800;color:var(--terra);background:#fbe9e4;border-radius:999px;padding:3px 10px}.mgroup article{padding:14px 0;border-bottom:1px dashed var(--ink-line)}.mgroup article:last-child{border-bottom:0}.mgroup article.done{opacity:.6}.mgroup .q{margin:0 0 8px;font-family:Bitter,serif;font-weight:700;font-size:16px;line-height:1.35}.answers{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.answers span{font-size:12.5px;font-weight:600;border-radius:10px;padding:5px 10px;color:var(--ink-soft)}.answers .wrong{background:#fbe9e4}.answers .right{background:#e4f4ea}.answers b{font-weight:800;color:var(--ink)}.mgroup .exp{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:13.5px;color:var(--ink-soft);font-weight:500;line-height:1.45}.mgroup .retry{display:inline-flex;align-items:center;gap:7px;margin-top:10px;border:0;background:var(--plum);color:#fff;border-radius:999px;padding:8px 15px;font-size:12.5px;font-weight:700;box-shadow:0 3px 0 var(--plum-d);transition:transform .12s var(--e-out)}.mgroup .retry:active{transform:translateY(3px);box-shadow:0 0 0 var(--plum-d)}.mactions{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.awardcard{max-width:520px;margin:0 auto 20px;padding:20px;text-align:left;background:#fff6df;box-shadow:var(--sh-2),inset 0 0 0 1px #dccb91;animation:award-in .52s var(--e-spring) both}.awardcard h3{font-size:16px;margin:0 0 14px}.awardcard>div{display:flex;align-items:center;gap:16px;margin:12px 0}.awardcard svg{flex:none}.awardcard strong{display:block;font-size:15px}.awardcard p{margin:4px 0 0;font-size:13px;color:var(--ink-soft)}.awardcard .btn{margin-top:14px;font-size:13px;padding:10px 16px}@keyframes award-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.misslist{padding:18px;text-align:left;margin:0 auto 20px;max-width:520px}.misslist h3{font-size:16px;margin-bottom:12px}.miss{padding:10px 0;border-bottom:1px dashed var(--ink-line)}.miss:last-of-type{border-bottom:0}.miss .q{margin:0 0 6px;font-weight:700;font-size:14.5px}.miss .ans{display:flex;gap:8px;margin:0 0 6px}.miss .ans span{font-size:12.5px;font-weight:700;border-radius:9px;padding:4px 9px}.miss .ans .wrong{background:#fbe9e4;color:#8f3722;text-decoration:line-through}.miss .ans .right{background:#e4f4ea;color:#1f6a49}.miss .exp{margin:0;font-size:13px;color:var(--ink-soft);font-weight:500;line-height:1.4}.misslist .btn{margin-top:12px}.menu-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;background:var(--paper-2);border-radius:var(--r-m);padding:12px 14px;margin-bottom:10px;font-size:14px;font-weight:700;box-shadow:inset 0 0 0 1px var(--ink-line);transition:background .16s}.menu-row:hover{background:#fff}.menu-row b{font-size:12.5px;font-weight:800;color:var(--ink-soft);background:var(--paper-3);border-radius:999px;padding:3px 10px}.menu-row b.hot{background:#fbe9e4;color:#8f3722}.finish{text-align:center;padding-top:7vh}.finish .crest{display:inline-grid;place-items:center;margin-bottom:18px;animation:crest-in .56s var(--e-spring) both}.finish h2{font-size:28px;margin-bottom:6px}.finish .sub{color:var(--ink-soft);font-weight:500;margin:0}.finish .starrow{display:flex;justify-content:center;gap:10px;margin:20px 0 8px}.finish .starrow>span{animation:star-pop .48s var(--e-spring) both}.finish .stat{display:flex;gap:10px;justify-content:center;margin:22px 0 28px;flex-wrap:wrap}.finish .stat>div{background:var(--paper);border-radius:var(--r-m);padding:14px 20px;box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line);font-family:Bitter,serif;font-weight:700;font-size:20px}.finish .stat span{display:block;font-family:Onest,sans-serif;font-size:11.5px;color:var(--ink-soft);font-weight:600;margin-top:2px}.finish .btn{max-width:340px;margin:0 auto}.err.withretry{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.err.withretry button{border:0;background:var(--terra);color:#fff;border-radius:999px;padding:7px 15px;font-size:13px;font-weight:700;box-shadow:0 3px 0 var(--terra-d)}.err{background:#fbe9e4;color:#8f3722;border-radius:var(--r-m);padding:14px 16px;font-weight:600;font-size:14.5px;margin-bottom:16px;text-align:center;box-shadow:inset 0 0 0 1px rgba(177,78,56,.25)}.clouds{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}.clouds.closing,.clouds.covered{pointer-events:all}.cloud-half{position:absolute;top:0;bottom:0;width:66%;will-change:transform}.cloud-half.l{left:0;transform:translate3d(-102%,0,0)}.cloud-half.r{right:0;transform:translate3d(102%,0,0)}.cloud-half .wall{position:absolute;top:-12%;left:-1px;width:calc(100% + 2px);height:124%;filter:drop-shadow(0 12px 26px rgba(28,36,51,.14))}@media (max-width:760px){.cloud-half{width:76%}.cloud-half .wall{width:210%}.cloud-half.l .wall{left:auto;right:-1px}.cloud-half.r .wall{left:-1px;right:auto;transform:scaleX(-1)!important}}.wall .lay{will-change:transform}.clouds.closing .wall .lay.far{animation:lay-back .9s cubic-bezier(.3,.04,.2,1) both}.clouds.closing .wall .lay.mid{animation:lay-mid .9s cubic-bezier(.3,.04,.2,1) both}.clouds.covered .wall .lay.far{animation:sway-far 9s ease-in-out infinite}.clouds.covered .wall .lay.mid{animation:sway-mid 7.5s ease-in-out infinite}.clouds.covered .wall .lay.front{animation:sway-front 6.5s ease-in-out infinite}.clouds.opening .wall .lay.far{animation:lay-back-out .9s cubic-bezier(.45,0,.25,1) both}.clouds.opening .wall .lay.mid{animation:lay-mid-out .9s cubic-bezier(.45,0,.25,1) both}.clouds.closing .cloud-half.l{animation:close-l .9s cubic-bezier(.3,.04,.2,1) forwards}.clouds.closing .cloud-half.r{animation:close-r .9s cubic-bezier(.3,.04,.2,1) forwards}.clouds.covered .cloud-half.l{transform:none;animation:drift-l 8s ease-in-out infinite}.clouds.covered .cloud-half.r{transform:none;animation:drift-r 8s ease-in-out infinite}.clouds.opening .cloud-half.l{animation:open-l .96s cubic-bezier(.45,0,.25,1) forwards}.clouds.opening .cloud-half.r{animation:open-r .96s cubic-bezier(.45,0,.25,1) forwards}.floater{position:absolute;will-change:transform;opacity:0}.floater.f1{left:3%;top:14%}.floater.f2{right:6%;top:40%}.floater.f3{left:10%;bottom:12%}.floater.f4{right:22%;top:12%}.floater.f5{right:12%;bottom:8%}@media (max-width:620px){.floater.f4,.floater.f5{display:none}.floater.f1{left:-6%;top:12%}.floater.f3{left:4%;bottom:10%}}.clouds.closing .floater.f1{animation:fl-in-l .82s cubic-bezier(.25,.05,.2,1) 40ms both}.clouds.closing .floater.f2{animation:fl-in-r .86s cubic-bezier(.25,.05,.2,1) both}.clouds.closing .floater.f3{animation:fl-in-l .9s cubic-bezier(.25,.05,.2,1) 90ms both}.clouds.closing .floater.f4{animation:fl-in-r .88s cubic-bezier(.25,.05,.2,1) .12s both}.clouds.closing .floater.f5{animation:fl-in-r .94s cubic-bezier(.25,.05,.2,1) 60ms both}.clouds.covered .floater{opacity:1}.clouds.covered .floater.f1{animation:fl-sway 11s ease-in-out infinite}.clouds.covered .floater.f2{animation:fl-sway 9s ease-in-out infinite reverse}.clouds.covered .floater.f3{animation:fl-sway 13s ease-in-out infinite}.clouds.covered .floater.f4{animation:fl-sway 10s ease-in-out infinite}.clouds.covered .floater.f5{animation:fl-sway 15s ease-in-out infinite reverse}.clouds.opening .floater.f1{animation:fl-out-l .76s cubic-bezier(.5,0,.3,1) both}.clouds.opening .floater.f2{animation:fl-out-r .8s cubic-bezier(.5,0,.3,1) both}.clouds.opening .floater.f3{animation:fl-out-l .72s cubic-bezier(.5,0,.3,1) 60ms both}.clouds.opening .floater.f4{animation:fl-out-r .78s cubic-bezier(.5,0,.3,1) 40ms both}.clouds.opening .floater.f5{animation:fl-out-r .84s cubic-bezier(.5,0,.3,1) both}.cloud-note{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;padding:24px;opacity:0;transition:opacity .26s ease .18s}.clouds.covered .cloud-note{opacity:1}.clouds.opening .cloud-note{opacity:0;transition:opacity .16s ease}.cloud-note h2{font-size:23px;margin-bottom:8px}.cloud-note p{margin:0;color:var(--ink-soft);font-weight:600;min-height:22px;font-size:15px}.cloud-note .compass{margin-bottom:20px;animation:compass-spin 3.4s var(--e-out) infinite}.steps{display:flex;gap:6px;justify-content:center;margin-top:20px}.steps i{width:24px;height:5px;border-radius:99px;background:var(--paper-3);transition:background .3s}.steps i.on{background:var(--plum)}@keyframes close-l{0%{transform:translate3d(-102%,-4%,0) rotate(-1.4deg)}82%{transform:translate3d(1%,.4%,0) rotate(.2deg)}to{transform:none}}@keyframes close-r{0%{transform:translate3d(102%,4%,0) rotate(1.4deg)}82%{transform:translate3d(-1%,-.4%,0) rotate(-.2deg)}to{transform:none}}@keyframes open-l{0%{transform:none}16%{transform:translate3d(2.5%,.8%,0) rotate(.5deg)}to{transform:translate3d(-104%,-7%,0) rotate(-2deg)}}@keyframes open-r{0%{transform:none}16%{transform:translate3d(-2.5%,-.8%,0) rotate(-.5deg)}to{transform:translate3d(104%,7%,0) rotate(2deg)}}@keyframes drift-l{0%,to{transform:none}50%{transform:translate3d(-.7%,.5%,0) rotate(-.15deg)}}@keyframes drift-r{0%,to{transform:none}50%{transform:translate3d(.7%,-.5%,0) rotate(.15deg)}}@keyframes lay-back{0%{transform:translate(120px,30px)}to{transform:none}}@keyframes lay-mid{0%{transform:translate(62px,-18px)}to{transform:none}}@keyframes lay-back-out{0%{transform:none}to{transform:translate(140px,-34px)}}@keyframes lay-mid-out{0%{transform:none}to{transform:translate(70px,22px)}}@keyframes sway-far{0%,to{transform:translate(0)}50%{transform:translate(-14px,10px)}}@keyframes sway-mid{0%,to{transform:translate(0)}50%{transform:translate(10px,-8px)}}@keyframes sway-front{0%,to{transform:translate(0)}50%{transform:translate(-7px,6px)}}@keyframes fl-in-l{0%{opacity:0;transform:translate3d(-160%,18%,0) scale(1.1)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes fl-in-r{0%{opacity:0;transform:translate3d(160%,-18%,0) scale(1.1)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes fl-out-l{0%{opacity:1;transform:none}to{opacity:0;transform:translate3d(-180%,-26%,0) scale(1.14)}}@keyframes fl-out-r{0%{opacity:1;transform:none}to{opacity:0;transform:translate3d(180%,26%,0) scale(1.14)}}@keyframes fl-sway{0%,to{transform:translateZ(0)}50%{transform:translate3d(3%,-6%,0)}}@keyframes compass-spin{0%,70%,to{transform:rotate(0)}35%{transform:rotate(350deg)}}@keyframes chest-bob{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-58%)}}@keyframes traveler-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes spot-in{0%{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes halo{0%{transform:scale(1);opacity:.85}70%,to{transform:scale(1.22);opacity:0}}@keyframes nudge{0%,84%,to{transform:translateY(0)}90%{transform:translateY(-3px)}}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}45%{transform:translateX(5px)}70%{transform:translateX(-3px)}}@keyframes star-pop{0%{opacity:0;transform:scale(.3) rotate(-25deg)}to{opacity:1;transform:none}}@keyframes crest-in{0%{opacity:0;transform:scale(.6) translateY(10px)}to{opacity:1;transform:none}}@keyframes fall{to{transform:translateY(108vh) rotate(560deg);opacity:.15}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.reveal{animation:rise-in .48s var(--e-out) both}.reveal-2{animation:rise-in .48s var(--e-out) 80ms both}.reveal-3{animation:rise-in .48s var(--e-out) .16s both}.confetti-host{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:60}.confetti-piece{position:absolute;top:-14px;width:9px;height:14px;border-radius:2px;animation:fall 1.9s linear forwards}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-height:760px) and (min-width:620px){.play:not(.battle){margin-top:2vh!important;padding:18px 22px 22px!important}.playbar{margin-bottom:12px}.qcard{padding:18px 20px}.qkind{margin-bottom:8px}.qtext{font-size:clamp(18px,2.4vw,22px);line-height:1.25}.answerbox,.opts,.order,.pairs,.tf{margin-top:12px}.opt,.tfbtn{padding:12px;font-size:16px}.tfbtn{gap:4px}.pairs,.pairs .col{gap:8px}.pcell{padding:10px;min-height:44px;font-size:14.5px}.order .slot{min-height:42px}.chipbtn{padding:10px 14px;font-size:15px}.hintline{margin-top:10px}.coach{margin-bottom:10px}.answerbox input{padding:13px;font-size:19px}.keypad .key{padding:11px 0}}@media (max-height:640px){.qcard{min-height:0}.lobbyhead{display:none}}.about{padding:8px 0 60px}.about .backlink{display:inline-block;margin-bottom:18px;color:var(--ink-soft);font-weight:700;font-size:13.5px;text-decoration:none}.about .backlink:hover{color:var(--ink)}.about h1{font-size:34px;margin-bottom:10px}.about h2{font-size:19px;margin:26px 0 10px}.about h3{font-size:15.5px;margin:16px 0 4px}.about .lead{font-size:16.5px;line-height:1.55;margin:0 0 8px}.about .lead,.about p{color:var(--ink-soft);font-weight:500}.about p{font-size:15px;line-height:1.6}.about ul{padding-left:0;margin:0;display:grid;grid-gap:10px;gap:10px}.about li{list-style:none;background:var(--paper);border-radius:var(--r-m);padding:13px 16px;font-size:14.5px;line-height:1.5;color:var(--ink-soft);font-weight:500;box-shadow:var(--sh-1),inset 0 0 0 1px var(--ink-line)}.about li b,.about p b{color:var(--ink);font-weight:700}.about a{color:var(--forest);font-weight:700}.about .btn{margin-top:28px;max-width:260px}.lobbyfoot{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 0 4px;font-size:12.5px;font-weight:600}.lobbyfoot a,.lobbyfoot button{color:var(--ink-soft);text-decoration:none;border:0;background:transparent;font:inherit;cursor:pointer}.lobbyfoot a:hover,.lobbyfoot button:hover{color:var(--ink)}.arena-backdrop{position:relative;grid-row:1/-1;grid-column:1;z-index:0;overflow:hidden}.arena-backdrop:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 110px 90px -60px rgba(14,10,28,.75),inset 0 -150px 130px -100px rgba(14,10,28,.6)}.arena-backdrop:before{content:"";position:absolute;inset:-4%;background-image:var(--bg);background-position:center 42%;background-size:cover;background-repeat:no-repeat;animation:hall-drift 24s ease-in-out infinite alternate}@keyframes hall-drift{0%{transform:translate3d(-1.2%,.5%,0) scale(1.01)}to{transform:translate3d(1.2%,-.5%,0) scale(1.045)}}.battle-stage{position:relative;grid-row:2;grid-column:1;z-index:1;container-type:inline-size;min-height:240px;color:#efeaff;--dash:clamp(70px,calc(52cqw - 170px),520px);--shot:clamp(90px,calc(56cqw - 150px),560px)}.arena-world{top:6px;left:50%;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#b9aee0;text-shadow:0 1px 4px rgba(10,6,22,.85)}.arena-world,.fbar{position:absolute;transform:translateX(-50%);z-index:4}.fbar{top:8px;width:min(230px,34vw);text-shadow:0 1px 4px rgba(10,6,22,.8)}.fbar.side-hero{left:24%}.fbar.side-boss{left:76%}.fbar-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;font-size:12px}.fbar-head strong{font-size:13.5px;letter-spacing:-.01em}.fbar-head b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#efe7ff;font-size:11.5px}.fbar-title{display:block;margin-top:3px;text-align:center;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#b9aee0}.fbar-track{height:14px;padding:3px;border:1px solid rgba(255,255,255,.34);border-radius:99px;background:rgba(14,9,28,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 2px 6px rgba(0,0,0,.7),0 2px 10px rgba(10,6,22,.5)}.fbar-track>i{display:block;height:100%;border-radius:99px;transition:width .42s cubic-bezier(.22,1,.36,1)}.fbar.side-hero .fbar-track>i{background:linear-gradient(180deg,#7ef0b6,#3fce8e 45%,#1f8a60);box-shadow:0 0 14px rgba(74,222,155,.5),inset 0 1px 0 rgba(255,255,255,.5)}.fbar.side-hero.low .fbar-track>i{background:linear-gradient(180deg,#ff9d9d,#e05a5a 45%,#8f2f2f);box-shadow:0 0 16px rgba(255,110,110,.6)}.fbar.side-hero.low .fbar-track{animation:boss-rage 1s ease-in-out infinite}.fbar.side-boss .fbar-track>i{background:linear-gradient(180deg,color-mix(in srgb,var(--boss-color) 55%,white),var(--boss-color) 45%,color-mix(in srgb,var(--boss-color) 70%,black));box-shadow:0 0 16px var(--boss-color),inset 0 1px 0 rgba(255,255,255,.5)}.fbar.side-boss.is-boss{width:min(280px,42vw)}.fbar.side-boss.is-boss .fbar-track{height:18px;border-color:rgba(255,212,121,.85);box-shadow:inset 0 2px 6px rgba(0,0,0,.7),0 0 20px rgba(233,169,60,.35)}.fbar.side-boss.is-boss .fbar-head strong{font-size:16px;color:#ffe2a6}.fbar.side-boss.is-boss .fbar-title{color:#ffd479;letter-spacing:.12em}.fbar.enraged .fbar-track{animation:boss-rage 1.1s ease-in-out infinite;border-color:rgba(255,150,140,.6)}.fbar.enraged .fbar-head strong{color:#ffc8c0}@keyframes boss-rage{0%,to{box-shadow:inset 0 2px 6px rgba(0,0,0,.7),0 0 0 rgba(255,110,90,0)}50%{box-shadow:inset 0 2px 6px rgba(0,0,0,.7),0 0 18px rgba(255,110,90,.55)}}.arena-canvas{position:absolute;inset:0;z-index:1}.arena-canvas canvas{display:block;width:100%!important;height:100%!important}@media (max-aspect-ratio:1/1),(orientation:portrait){.arena-backdrop:before{background-image:var(--bg-phone);background-position:center 46%}}@media (max-width:700px){.battle-stage{min-height:210px}.fbar{width:min(46vw,190px);top:8px;transform:none}.fbar.side-hero{left:8px}.fbar.side-boss{left:auto;right:8px}.fbar-head strong{font-size:12px;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fbar.side-boss.is-boss{width:min(46vw,190px)}.fbar.side-boss.is-boss .fbar-head strong{font-size:13px}.fbar-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arena-world{top:auto;bottom:8px;font-size:9.5px}}@media (prefers-reduced-motion:reduce){.arena-backdrop.shock,.arena-backdrop:before{animation:none}}.arena-backdrop.shock{animation:hall-shock .42s cubic-bezier(.36,.07,.19,.97)}@keyframes hall-shock{0%,to{transform:none}18%{transform:translate3d(-6px,3px,0) scale(1.012)}38%{transform:translate3d(5px,-3px,0) scale(1.008)}62%{transform:translate3d(-3px,2px,0)}82%{transform:translate3d(2px,-1px,0)}}.prefighters{position:absolute;inset:0;z-index:1;pointer-events:none}.prefighters .pf{position:absolute;bottom:6px;background-repeat:no-repeat;filter:drop-shadow(0 12px 18px rgba(8,5,18,.5))}.prefighters .pf.hero{left:24%;height:calc((100% - 70px) * .84);aspect-ratio:460/452;transform:translateX(-50%);background-size:400% 200%;background-position:0 0}.prefighters .pf.boss{left:76%;height:calc((100% - 70px) * .76 * var(--boss-scale, 1));max-height:calc((100% - 70px) * .86);aspect-ratio:360/463;transform:translateX(-50%) scaleX(-1)}.page:has(.play.battle){background:#0d0a18;height:100dvh;min-height:0;overflow:hidden}.play.battle{--glass:rgba(22,17,38,0.74);--console-top:rgba(22,17,38,0.82);--glass-2:rgba(30,24,50,0.9);--edge:rgba(255,255,255,0.16);--on-dark:#f3f0ff;--on-dark-soft:#bdb4d8;--win:#4ade9b;--lose:#ff8a8a;position:relative;display:grid;grid-template-rows:auto clamp(180px,40vh,380px) minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden;max-width:none;margin:0;padding:0;background:none;box-shadow:none;color:var(--on-dark)}.play.battle>*{grid-column:1}.play.battle .playbar{grid-row:1}.play.battle .battle-stage{grid-row:2}.play.battle .console{grid-row:3}.play.battle{grid-template-columns:minmax(0,1fr)}.play.battle .playbar{position:relative;z-index:3;display:flex;align-items:center;gap:14px;margin:0;padding:14px 18px}.play.battle .playbar .iconbtn{border:1px solid rgba(255,255,255,.28);background:rgba(26,20,44,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--on-dark);box-shadow:0 6px 18px rgba(8,5,18,.45)}.play.battle .playbar .iconbtn svg [stroke]{stroke:currentColor}.play.battle .playbar .iconbtn:hover{background:rgba(46,36,74,.9);border-color:rgba(255,255,255,.45)}.play.battle .segs{flex:1 1;gap:6px}.play.battle .segs i{height:9px;border-radius:99px;background:rgba(255,255,255,.22);box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}.play.battle .segs i.on{background:linear-gradient(180deg,#7ef0b6,var(--win));box-shadow:0 0 10px #4ade9b88}.play.battle .segs i.miss{background:linear-gradient(180deg,#ffa8a8,var(--lose))}.play.battle .hearts{border:1px solid var(--edge);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:none}.play.battle .console{position:relative;z-index:3;padding:clamp(7px,1.1vh,12px) 16px calc(clamp(8px, 1.3vh, 14px) + env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--console-top),var(--glass-2) 26%);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);box-shadow:0 -18px 50px rgba(12,8,26,.45)}.play.battle .battle-stage:before{content:"";position:absolute;left:-8%;right:-8%;bottom:-30px;height:78%;z-index:0;pointer-events:none;background:radial-gradient(68% 92% at 50% 104%,rgba(8,5,18,.78) 0,rgba(8,5,18,.6) 34%,rgba(8,5,18,.34) 60%,rgba(8,5,18,.12) 82%,rgba(8,5,18,0) 100%)}.play.battle .battle-stage .arena-floor{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);width:min(96%,1180px);height:26%;z-index:0;pointer-events:none;border-radius:50%;background:radial-gradient(closest-side,rgba(8,5,18,.62) 0,rgba(8,5,18,.42) 55%,rgba(8,5,18,.12) 82%,rgba(8,5,18,0) 100%);filter:blur(2px)}.play.battle .battle-stage:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:86px;z-index:2;pointer-events:none;background:linear-gradient(to bottom,rgba(22,17,38,0) 0,rgba(22,17,38,.2) 40%,rgba(22,17,38,.52) 72%,var(--console-top) 100%)}.consolebody{width:100%;max-width:660px;margin:0 auto;transform:scale(var(--fit,1));transform-origin:top center}.play.battle .console{min-height:0;display:flex;align-items:flex-start;overflow:hidden}.play.battle .coach{display:flex;align-items:center;gap:9px;margin:0 0 12px;padding:0;background:none;box-shadow:none;font-size:13px;font-weight:700;color:#ded6f5;text-shadow:0 1px 6px rgba(8,5,18,.9)}.play.battle .coach svg{opacity:.85}.play.battle .qcard{padding:clamp(9px,1.5vh,16px) 22px;border:1px solid var(--edge);border-radius:var(--r-l);background:rgba(18,13,32,.74);-webkit-backdrop-filter:blur(10px) saturate(1.05);backdrop-filter:blur(10px) saturate(1.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 30px rgba(8,5,18,.45)}.play.battle .qkind{color:var(--on-dark-soft);margin-bottom:10px}.play.battle .qtext{color:#fff}.play.battle .key,.play.battle .opt,.play.battle .tfbtn{border:1px solid rgba(255,255,255,.2);color:var(--on-dark);background:linear-gradient(180deg,rgba(42,33,68,.88),rgba(24,18,44,.86));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 3px 0 rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.22),0 8px 22px rgba(8,5,18,.4);text-shadow:0 1px 2px rgba(0,0,0,.35)}.play.battle .opt:hover:not(:disabled),.play.battle .tfbtn:hover:not(:disabled){background:linear-gradient(180deg,rgba(58,46,92,.94),rgba(34,26,60,.92))}.play.battle .opt.ok{background:linear-gradient(180deg,#3fce8e,#2aa873);border-color:#7ef0b6;box-shadow:0 3px 0 #17694a,0 0 22px #4ade9b66}.play.battle .opt.bad{background:linear-gradient(180deg,#e06b6b,#b94747);border-color:#ff9d9d;box-shadow:0 3px 0 #7d2b2b}.play.battle .opt.dim{opacity:.4}.play.battle .opt.masked{color:transparent}.play.battle .answerbox input{border:1px solid var(--edge);background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 2px 6px rgba(0,0,0,.3)}.play.battle .answerbox input::placeholder{color:#9d95bb}.play.battle .answerbox input:focus{box-shadow:inset 0 0 0 2px #a78bfa,0 0 18px #a78bfa55}.play.battle .answerbox input.ok{background:#1f6b4d;box-shadow:inset 0 0 0 2px var(--win)}.play.battle .answerbox input.bad{background:#6e2b2b;box-shadow:inset 0 0 0 2px var(--lose)}.play.battle .btn.ghost{--bg:rgba(255,255,255,0.14);--bd:rgba(0,0,0,0.4);color:var(--on-dark)}.play.battle .hintline button{color:#d9c6ff}.play.battle .hintbubble{border:1px solid var(--edge);background:rgba(255,255,255,.1);color:var(--on-dark);box-shadow:none}.play.battle .combo{background:linear-gradient(180deg,#ffd479,var(--gold));box-shadow:0 3px 0 var(--gold-d),0 0 26px #e9a93c77}.play.battle .verdict{z-index:4}.play.battle .verdict.bad .inner,.play.battle .verdict.ok .inner{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}@media (min-width:940px){.play.battle{padding:0;background:none;box-shadow:none;max-width:none;margin:0}.play.battle .qcard{background:rgba(18,13,32,.74)}.play.battle .console{padding:20px 20px 28px}}@media (max-width:560px){.play.battle{grid-template-rows:auto clamp(140px,26vh,240px) minmax(0,1fr)}.play.battle .order .slot{padding:6px 10px}.play.battle .order .pool .chipbtn{font-size:12px;padding:6px 10px}}@media (max-width:600px){.play.battle .playbar{padding:10px 12px;gap:10px}.play.battle .console{padding:12px 12px calc(14px + env(safe-area-inset-bottom))}.play.battle .coach{font-size:12px;margin-bottom:9px}.play.battle .qcard{padding:15px 16px}}.page:has(.play.battle){padding:0}.play.battle .coach-mascot{width:46px;height:46px;object-fit:contain;object-position:bottom;flex:none;filter:drop-shadow(0 2px 5px rgba(12,8,26,.6))}.play.battle .coach span{line-height:1.45}.play.battle .verdict{border-top:1px solid var(--edge);background:var(--glass-2);-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1);box-shadow:0 -14px 46px rgba(10,6,22,.55)}.play.battle .verdict.ok{background:linear-gradient(180deg,rgba(36,92,68,.94),rgba(22,44,38,.96))}.play.battle .verdict.bad{background:linear-gradient(180deg,rgba(104,44,52,.94),rgba(48,22,34,.96))}.play.battle .verdict h3{color:#fff}.play.battle .verdict.ok h3{color:#a5f3c8}.play.battle .verdict.bad h3{color:#ffc0c0}.play.battle .verdict p{color:var(--on-dark-soft)}.play.battle .verdict .btn.terra{--bg:#d4644a;--bd:#8d3a26}.play.battle .hintline .master{border:1px solid var(--edge);background:rgba(255,255,255,.12);color:#e6d9ff;box-shadow:none}.buckets{display:grid;grid-gap:12px;gap:12px}.cardrow{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;min-height:44px}.cardrow-done{align-self:center;font-size:12.5px;font-weight:700;color:var(--ink-soft)}.chipbtn.picked{border-color:var(--gold);box-shadow:0 0 0 2px rgba(233,169,60,.45),0 6px 16px rgba(10,6,22,.35);transform:translateY(-2px)}.bins{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px}.bin,.bins{display:grid}.bin{grid-gap:6px;gap:6px;align-content:start;min-height:92px;padding:10px 12px;border-radius:16px;border:1.5px dashed rgba(255,255,255,.22);background:rgba(255,255,255,.05);color:inherit;font:inherit;text-align:left;cursor:default;transition:border-color .16s,background .16s,transform .16s}.bin.open{cursor:pointer;border-color:rgba(233,169,60,.7);background:rgba(233,169,60,.1)}.bin.open:hover{transform:translateY(-2px)}.bin>b{font-size:13px;font-weight:800;letter-spacing:.02em}.binitems{display:flex;flex-wrap:wrap;gap:6px}.binitems em{font-style:normal;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.12)}.binitems em.ok{background:rgba(110,231,168,.22);color:#d8ffe9}.binitems em.bad{background:rgba(224,106,84,.26);color:#ffd9d0}.play.battle .chipbtn{color:var(--on-dark);border-color:rgba(255,255,255,.2);background:linear-gradient(180deg,rgba(42,33,68,.9),rgba(24,18,44,.88));box-shadow:0 3px 0 rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.22);text-shadow:0 1px 2px rgba(0,0,0,.35)}.play.battle .chipbtn.used{opacity:.35}.buckets .cardrow .chipbtn{touch-action:none;cursor:-webkit-grab;cursor:grab}.buckets .cardrow .chipbtn:active{cursor:-webkit-grabbing;cursor:grabbing}.buckets .cardrow .chipbtn.dragging{opacity:.35}.bin.over{border-style:solid;border-color:var(--gold);background:rgba(233,169,60,.2);transform:translateY(-3px) scale(1.02);box-shadow:0 0 26px rgba(233,169,60,.35)}.dragghost{position:fixed;z-index:40;transform:translate(-50%,-120%) rotate(-3deg);padding:9px 14px;border-radius:999px;pointer-events:none;font-size:14px;font-weight:700;color:#1c1430;background:linear-gradient(180deg,#ffe6a8,var(--gold));box-shadow:0 12px 26px rgba(8,5,18,.55),inset 0 1px 0 rgba(255,255,255,.6)}.play.battle .qcard{animation:q-in .34s cubic-bezier(.22,1,.36,1) both}@keyframes q-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.play.battle .qkind{display:inline-block;padding:3px 10px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.12);color:#cbc0ea}.play.battle .qkind[data-kind=input]{background:rgba(167,139,250,.22);color:#d8c9ff}.play.battle .qkind[data-kind=truefalse]{background:rgba(110,231,168,.18);color:#a8f0cb}.play.battle .qkind[data-kind=pairs]{background:rgba(110,196,255,.18);color:#b6e0ff}.play.battle .qkind[data-kind=order]{background:rgba(255,210,122,.18);color:#ffdfa3}.play.battle .qkind[data-kind=multi]{background:rgba(255,150,200,.18);color:#ffc4e0}.play.battle .qkind[data-kind=bucket]{background:rgba(126,196,255,.2);color:#bfe4ff}.play.battle .bins .bin,.play.battle .cardrow .chipbtn,.play.battle .opts .opt,.play.battle .pool .chipbtn,.play.battle .tfrow .tfbtn{animation:opt-in .3s cubic-bezier(.22,1,.36,1) both}@keyframes opt-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.play.battle .bins .bin:first-child,.play.battle .cardrow .chipbtn:first-child,.play.battle .opts .opt:first-child,.play.battle .pool .chipbtn:first-child{animation-delay:60ms}.play.battle .bins .bin:nth-child(2),.play.battle .cardrow .chipbtn:nth-child(2),.play.battle .opts .opt:nth-child(2),.play.battle .pool .chipbtn:nth-child(2){animation-delay:.11s}.play.battle .cardrow .chipbtn:nth-child(3),.play.battle .opts .opt:nth-child(3),.play.battle .pool .chipbtn:nth-child(3){animation-delay:.16s}.play.battle .cardrow .chipbtn:nth-child(4),.play.battle .opts .opt:nth-child(4),.play.battle .pool .chipbtn:nth-child(4){animation-delay:.21s}.play.battle .cardrow .chipbtn:nth-child(5),.play.battle .opts .opt:nth-child(5),.play.battle .pool .chipbtn:nth-child(5){animation-delay:.26s}.play.battle .opt.ok{animation:opt-hit .42s ease-out}.play.battle .opt.bad{animation:opt-miss .38s ease-out}@keyframes opt-hit{0%{transform:scale(1)}35%{transform:scale(1.04);box-shadow:0 3px 0 #17694a,0 0 34px #4ade9bcc}to{transform:scale(1)}}@keyframes opt-miss{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}55%{transform:translateX(4px)}80%{transform:translateX(-2px)}}.play.battle .combo{animation:combo-pop .42s cubic-bezier(.22,1,.36,1) both}@keyframes combo-pop{0%{opacity:0;transform:translateY(8px) scale(.86)}60%{transform:translateY(-2px) scale(1.06)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.play.battle .bins .bin,.play.battle .cardrow .chipbtn,.play.battle .combo,.play.battle .opt.bad,.play.battle .opt.ok,.play.battle .opts .opt,.play.battle .pool .chipbtn,.play.battle .qcard,.play.battle .tfrow .tfbtn{animation:none}}.play.battle .pcell{color:var(--on-dark);background:linear-gradient(180deg,rgba(42,33,68,.88),rgba(24,18,44,.86));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 3px 0 rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.16),0 8px 22px rgba(8,5,18,.4);text-shadow:0 1px 2px rgba(0,0,0,.35)}.play.battle .pcell.sel{background:linear-gradient(180deg,rgba(122,96,190,.95),rgba(78,60,132,.92));box-shadow:0 3px 0 rgba(0,0,0,.45),inset 0 0 0 2px #a78bfa,0 0 22px rgba(167,139,250,.4)}.play.battle .pcell.done{background:linear-gradient(180deg,rgba(63,206,142,.35),rgba(31,138,96,.35));box-shadow:inset 0 0 0 1.5px rgba(126,240,182,.5)}.play.battle .pcell.bad{background:linear-gradient(180deg,rgba(224,107,107,.9),rgba(185,71,71,.9));box-shadow:0 3px 0 #7d2b2b,inset 0 0 0 2px #ff9d9d}.play.battle .coach{margin-bottom:clamp(4px,.8vh,9px);font-size:clamp(11.5px,1.4vh,12.5px)}.play.battle .coach-mascot{width:clamp(26px,4vh,38px);height:auto}.play.battle .qtext{font-size:clamp(17px,2.6vh,26px);line-height:1.25}.play.battle .qkind{margin-bottom:clamp(4px,.9vh,10px)}.play.battle .opts{gap:clamp(6px,.9vh,9px);margin-top:clamp(7px,1.2vh,12px)}.play.battle .opt,.play.battle .tfbtn{padding:clamp(9px,1.6vh,16px) 18px;font-size:clamp(14px,1.9vh,17px)}.play.battle .opt.multi{padding-left:46px}.play.battle .btn:disabled{background:rgba(255,255,255,.12);color:#9b93b8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.play.battle .answerbox{margin-top:clamp(7px,1.2vh,12px)}.play.battle .answerbox input{padding:clamp(10px,1.7vh,16px) 16px;font-size:clamp(15px,2vh,18px)}.play.battle .pairs{gap:clamp(6px,.9vh,9px);margin-top:clamp(7px,1.2vh,12px)}.play.battle .pairs .col{gap:clamp(6px,1vh,10px)}.play.battle .pairs button{padding:clamp(8px,1.4vh,14px) 12px;font-size:clamp(13px,1.8vh,16px)}.play.battle .order .slots{margin-bottom:clamp(6px,1.2vh,14px)}.play.battle .chipbtn{padding:clamp(7px,1.3vh,12px) 14px;font-size:clamp(12.5px,1.7vh,15px)}.play.battle .buckets{gap:clamp(6px,1.2vh,12px)}.play.battle .bin{min-height:clamp(62px,9vh,92px);padding:clamp(6px,1.1vh,10px) 12px}.play.battle .hintline{margin-top:clamp(5px,1vh,11px)}.play.battle .combo{margin:clamp(4px,.8vh,10px) auto;padding:clamp(4px,.8vh,8px) 14px;font-size:clamp(11.5px,1.6vh,13.5px)}@media (max-height:760px){.play.battle .playbar{padding:8px 14px}.play.battle .battle-stage{min-height:150px}.play.battle .coach-mascot{width:26px}}.binitems em.back{cursor:pointer;transition:background .14s,transform .14s}.binitems em.back:hover{background:rgba(255,255,255,.22);transform:translateY(-1px)}.binitems em.back:after{content:" ×";opacity:.55;font-weight:800}.play.battle .order{display:grid;grid-gap:clamp(7px,1.2vh,12px);gap:clamp(7px,1.2vh,12px);margin-top:clamp(7px,1.2vh,12px)}.play.battle .order .slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:clamp(4px,.8vh,7px);gap:clamp(4px,.8vh,7px);margin:0;padding:0;list-style:none}.play.battle .order .slot{display:grid;grid-template-columns:24px 1fr;align-items:center;grid-gap:10px;gap:10px;min-height:0;padding:clamp(6px,1vh,10px) 12px;border-radius:14px;border:1.5px dashed rgba(255,255,255,.2);background:rgba(255,255,255,.045);text-align:left;cursor:default;transition:border-color .14s,background .14s,transform .14s}.play.battle .order .slot b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.12);font-size:12px;font-weight:800;color:#cbc0ea}.play.battle .order .slot .slotval{font-size:clamp(12.5px,1.7vh,15px);font-weight:700;line-height:1.25;color:#8e85ad}.play.battle .order .slot.filled{border-style:solid;border-color:rgba(255,255,255,.22);background:linear-gradient(180deg,rgba(42,33,68,.9),rgba(24,18,44,.88));cursor:pointer}.play.battle .order .slot.filled .slotval{color:#f3f0ff}.play.battle .order .slot.filled b{background:rgba(255,210,122,.22);color:#ffd479}.play.battle .order .slot.over{border-style:solid;border-color:var(--gold);background:rgba(233,169,60,.18);transform:translateY(-2px)}.play.battle .order .slot.ok{border-color:rgba(110,231,168,.55);background:rgba(63,206,142,.18)}.play.battle .order .slot.bad{border-color:rgba(255,210,122,.5);background:rgba(233,169,60,.16)}.play.battle .order .slot.bad b{background:rgba(255,210,122,.24);color:#ffd479}.play.battle .order .pool{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(5px,.9vh,8px)}.play.battle .order .pool .chipbtn{touch-action:none;cursor:-webkit-grab;cursor:grab;padding:clamp(6px,1vh,10px) 12px;font-size:clamp(12px,1.6vh,14px)}.play.battle .order .pool .chipbtn:active{cursor:-webkit-grabbing;cursor:grabbing}.play.battle .verdict h3{font-size:clamp(14px,1.9vh,17px);line-height:1.25;margin-bottom:3px}.play.battle .verdict h3 b{padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}.play.battle .verdict p{font-size:clamp(12px,1.6vh,14px);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.play.battle .verdict .inner{gap:clamp(10px,2vw,16px)}.play.battle .verdict .btn{min-width:132px}