:root{--ink:#3b2e45;--ink-2:#624f6c;--ink-3:#75627f;--accent:#74558a;--accent-strong:#5f4474;--accent-soft:#efe5f4;--on-accent:#fffaf5;--surface:#fffaf5;--surface-page:#f7f0f6;--surface-sunken:#efe6f1;--surface-float:#fff6effa;--line:#e6dae9;--line-strong:#cdb8d6;--band:#fffaf5d6;--band-line:#cdb8d6;--gold-bg:#fff0db;--gold-ink:#6d522b;--gem-bg:#eaf1ff;--gem-ink:#43608c;--good:#336b56;--good-bg:#e2efe6;--bad:#9c3f49;--bad-bg:#f8e1dd;--reward-bg:#f3e6d0;--reward-ink:#684b25;--badge:#d9695b;--r-s:12px;--r-m:18px;--r-l:26px;--r-pill:999px;--control:52px;--control-s:44px;--t-xs:12px;--t-s:14px;--t-m:16px;--t-l:19px;--t-xl:24px;--t-2xl:32px;--w-regular:500;--w-medium:600;--w-bold:700;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--shadow-float:0 10px 28px -14px #3b2e4573;--shadow-card:0 2px 10px #3b2e450f}.contrast{--ink:#241a2b;--ink-2:#3b2e45;--ink-3:#4a3b54;--accent:#5a3f6e;--accent-strong:#472f5a;--line:#bfa9c9;--line-strong:#8f76a0;--surface-float:#fffaf5;--band:#fffaf5f2;--band-line:#8f76a0;--gold-ink:#4f3a1c;--gem-ink:#2f4a73;--good:#1f5a44;--bad:#8a2c37}:root{color:var(--ink);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);background:#251e2e;font-family:ui-rounded,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:not(input)::selection{background:0 0}img{-webkit-user-drag:none}html,body{touch-action:pan-x pan-y;width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(at top,#494056,#251e2e 72%);place-items:center;display:grid}input{-webkit-user-select:text;user-select:text}button,input{font:inherit}button{appearance:none;cursor:pointer;touch-action:manipulation;color:inherit;-webkit-user-select:none;user-select:none;border:0}button:disabled{opacity:.45}:is(button,[role=button],summary,input):focus-visible{outline:3px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}button svg{flex-shrink:0;width:22px;height:22px}svg{vertical-align:middle}h1,h2,h3,p{margin:0}#app{--ad-height:0px;--band-space:0px;--floor:max(var(--safe-bottom), var(--band-space));isolation:isolate;background:#aca3bd;width:min(100%,500px);height:100dvh;position:relative;overflow:hidden;box-shadow:0 0 90px #0003}#app:before{content:"";z-index:-1;background-image:var(--realm-image);pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:0}#stage{left:0;right:0;top:calc(var(--safe-top) + 148px);pointer-events:none;contain:strict;position:absolute;bottom:0}#stage canvas{display:block;position:absolute;inset:0}#ui{pointer-events:none;position:absolute;inset:0}#ui button,#ui [role=button],#ui .result{pointer-events:auto}#app[data-entering=true] .score{opacity:var(--entry-progress,0)}.bar{z-index:3;top:calc(var(--safe-top) + 12px);justify-content:space-between;align-items:center;gap:var(--s-2);display:flex;position:absolute;left:18px;right:18px}.tools{align-items:center;gap:var(--s-2);display:flex}.crystal,.spark{object-fit:contain;flex-shrink:0;width:28px;height:28px}.wallet{gap:var(--s-2);flex-shrink:0;display:flex}.balance{height:var(--control);border-radius:var(--r-m);min-width:84px;font-size:var(--t-l);font-weight:var(--w-medium);font-variant-numeric:tabular-nums;box-shadow:var(--shadow-float);align-items:center;gap:6px;padding:0 14px 0 10px;display:flex}.balance[data-currency=crystals]{background:var(--gold-bg);color:var(--gold-ink)}.balance[data-currency=sparks]{background:var(--gem-bg);color:var(--gem-ink)}.balance .crystal,.balance .spark{width:28px;height:28px}.icon{width:var(--control);height:var(--control);border-radius:var(--r-m);background:var(--surface-float);color:var(--ink-2);box-shadow:var(--shadow-float);place-items:center;display:grid}.icon svg{width:24px;height:24px}.primary,.secondary{justify-content:center;align-items:center;gap:var(--s-2);width:100%;min-height:var(--control);padding:var(--s-3) var(--s-4);border-radius:var(--r-m);font-size:var(--t-m);font-weight:var(--w-bold);display:flex}.primary{background:var(--accent);color:var(--on-accent)}.primary>span{text-align:center;flex:1}.secondary{background:var(--accent-soft);color:var(--accent-strong)}.plain,.new-run{width:100%;min-height:var(--control-s);color:var(--ink-2);font-size:var(--t-s);font-weight:var(--w-medium);background:0 0;justify-content:center;align-items:center;gap:6px;display:flex}progress{appearance:none;border-radius:var(--r-pill);background:var(--surface-sunken);width:100%;height:6px;accent-color:var(--accent);border:0;display:block;overflow:hidden}progress::-webkit-progress-bar{background:var(--surface-sunken);border-radius:var(--r-pill)}progress::-webkit-progress-value{background:var(--accent);border-radius:var(--r-pill)}progress::-moz-progress-bar{background:var(--accent)}#app{--sky-ink:var(--ink);--sky-glow:#fff4e9}#app[data-world="1"],#app[data-world="2"]{--sky-ink:#fff6ef;--sky-glow:#3d416890}.wordmark{color:var(--sky-ink);font-size:var(--t-xs);font-weight:var(--w-bold);letter-spacing:.27em;white-space:nowrap;justify-content:center;align-items:center;gap:14px;line-height:1.5;display:inline-flex}.wordmark:before,.wordmark:after{content:"";opacity:.5;background:currentColor;width:24px;height:1px}.bar.home-bar{height:auto;display:block}.menu-tools{justify-content:space-between;gap:var(--s-3);display:flex}@media (max-width:350px){.wallet{gap:6px}.balance{min-width:76px;font-size:var(--t-m);padding-inline:8px 10px}}@media (max-height:560px){:root{--control:46px}}.home-title{top:calc(var(--safe-top) + 84px);text-align:center;pointer-events:none;color:var(--sky-ink);text-shadow:0 0 20px var(--sky-glow);position:absolute;left:0;right:0}.home-title h1{font-size:clamp(36px,11vw,48px);font-weight:var(--w-bold);letter-spacing:-.03em;line-height:1}.home-title p{margin-top:var(--s-2);font-size:var(--t-m);font-weight:var(--w-bold);letter-spacing:.02em;font-variant-numeric:tabular-nums}@media (max-height:620px){.home-title{top:calc(var(--safe-top) + 70px)}.home-title h1{font-size:32px}}.home{left:16px;right:16px;bottom:calc(96px + var(--ad-height) + var(--safe-bottom));justify-items:center;gap:var(--s-3);text-align:center;pointer-events:none;display:grid;position:absolute}.start-prompt{border-radius:var(--r-pill);background:var(--surface-float);color:var(--ink);font-size:var(--t-l);font-weight:var(--w-bold);letter-spacing:-.01em;box-shadow:var(--shadow-float);padding:15px 30px;animation:3.6s ease-in-out infinite prompt-breathe;display:inline-block}@keyframes prompt-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}#app[data-menu=modes] .start-prompt{animation-play-state:paused}.reduced .start-prompt{animation:none}.mode-button{align-items:center;gap:var(--s-3);border-radius:var(--r-m);background:var(--surface-float);width:min(270px,100%);min-height:60px;color:var(--ink);text-align:left;box-shadow:var(--shadow-float);pointer-events:auto;padding:8px 14px 8px 8px;display:flex}.mode-button-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-strong);border-radius:14px;flex:none;place-items:center;display:grid}.mode-button-icon svg{width:24px;height:24px}.mode-button-text{flex:1;min-width:0;display:grid}.mode-button-text b{font-size:var(--t-m);font-weight:var(--w-bold);line-height:1.2}.mode-button-text small{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2)}.mode-button>svg{width:18px;height:18px;color:var(--ink-2)}@media (max-height:620px){.home{bottom:calc(88px + var(--ad-height) + var(--safe-bottom));gap:var(--s-2)}.start-prompt{padding-block:12px}}#sheet[data-kind=modes][open]{width:min(100%,500px);max-width:100%;height:100dvh;max-height:100dvh;box-shadow:none;color:var(--ink);background:0 0;border:0;border-radius:0;margin:0 auto;overflow:hidden}#sheet[data-kind=modes]::backdrop{background:0 0}.mode-heading{justify-content:space-between;align-items:center;gap:var(--s-3);margin:-6px -6px var(--s-4) 0;display:flex}.mode-heading h2{font-size:var(--t-l);font-weight:var(--w-bold);letter-spacing:-.02em;margin:0}.mode-close{width:var(--control-s);height:var(--control-s);border-radius:var(--r-m);background:var(--surface-sunken);color:var(--ink-2);box-shadow:none;flex-shrink:0;place-items:center;display:grid}.mode-close svg{width:20px;height:20px}.mode-card{left:16px;right:16px;bottom:max(30px, calc(var(--safe-bottom) + 9dvh));max-height:calc(100dvh - var(--safe-top) - 110px);overscroll-behavior:contain;padding:var(--s-6);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-float);position:absolute;overflow:hidden auto}.mode-card.mode-morphing{overflow:hidden}#sheet[data-kind=modes].with-banner .mode-card{bottom:max(calc(var(--safe-bottom) + 88px), calc(var(--safe-bottom) + 9dvh));max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 104px)}.mode-card{scrollbar-width:none}.mode-card::-webkit-scrollbar{display:none}.mode-options,.duration-options{isolation:isolate;border-radius:var(--r-m);background:var(--surface-sunken);gap:3px;padding:3px;display:flex;position:relative}.mode-option,.duration-options button{z-index:1;min-width:0;min-height:var(--control);color:var(--ink-2);font-size:var(--t-m);font-weight:var(--w-medium);background:0 0;border-radius:15px;flex:1;padding:10px 6px;transition:color .16s;position:relative}.mode-option.selected,.duration-options button.selected{color:var(--ink);background:0 0}.mode-selection,.duration-selection{background:var(--surface);box-shadow:var(--shadow-card);pointer-events:none;border-radius:15px;position:absolute;top:3px;bottom:3px;left:3px}.mode-selection{width:calc(50% - 4.5px)}.mode-card[data-duel=true] .mode-selection{transform:translate(calc(100% + 3px))}.duration-selection{width:calc(33.3333% - 4px)}.duration-options[data-duration="60"] .duration-selection{transform:translate(calc(100% + 3px))}.duration-options[data-duration=endless] .duration-selection{transform:translate(calc(200% + 6px))}.duration-options button{min-height:46px}.mode-tiles .mode-option{justify-items:center;gap:2px;min-height:108px;padding:12px 6px;display:grid}.mode-tile-icon{background:var(--surface);width:44px;height:44px;color:var(--ink-2);box-shadow:var(--shadow-card);border-radius:14px;place-items:center;margin-bottom:4px;transition:background-color .2s,color .2s;display:grid}.mode-option.selected .mode-tile-icon{background:var(--accent);color:var(--on-accent)}.mode-tile-icon svg{width:24px;height:24px}.mode-tiles .mode-option b{font-size:var(--t-m);font-weight:var(--w-bold)}.mode-tiles .mode-option small{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2)}.mode-stats{gap:var(--s-2);margin-top:var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mode-stats>span{background:var(--surface-sunken);border-radius:14px;justify-items:center;gap:2px;padding:10px 4px;display:grid}.mode-stats b{font-size:var(--t-l);font-weight:var(--w-bold);font-variant-numeric:tabular-nums}.mode-stats small{font-size:var(--t-xs);color:var(--ink-2)}.mode-stats>.is-rank b{max-width:100%;font-size:var(--t-m);white-space:nowrap;text-overflow:ellipsis;line-height:1.5;overflow:hidden}.arena-duration{min-width:0;margin:var(--s-4) 0 0;border:0;padding:0}.arena-duration legend{margin-bottom:var(--s-2);font-size:var(--t-s);font-weight:var(--w-medium);color:var(--ink-2);padding:0}.mode-hint{margin:var(--s-4) 0 var(--s-5);text-align:center;font-size:var(--t-s);color:var(--ink-2);line-height:1.5}.mode-card .primary{min-height:56px;font-size:var(--t-l)}.mode-card .new-run{margin:var(--s-2) 0 -8px}.friend-actions{justify-content:center;align-items:center;gap:var(--s-3);margin-top:10px;display:flex}.friend-actions>span{background:var(--line-strong);width:1px;height:14px}.friend-action{min-height:var(--control-s);color:var(--accent-strong);font-size:var(--t-s);font-weight:var(--w-medium);background:0 0;padding:9px 6px}.room-panel{text-align:center;padding:3px 0}.room-panel h2{margin:var(--s-3) 0 10px;font-size:var(--t-xl);font-weight:var(--w-bold);letter-spacing:-.02em}.room-panel p{margin:10px 0 var(--s-5);font-size:var(--t-m);color:var(--ink-2);line-height:1.5}.room-eyebrow{margin:2px 0 var(--s-4);font-size:var(--t-xs);font-weight:var(--w-bold);letter-spacing:.14em;color:var(--ink-3);display:block}.room-panel label{margin:var(--s-6) 0 10px;text-align:left;font-size:var(--t-s);color:var(--ink-2);display:block}.room-code{border:1px solid var(--line-strong);border-radius:var(--r-m);background:var(--surface-sunken);width:100%;min-height:78px;color:var(--ink);text-align:center;font-family:inherit;font-size:clamp(28px,7vw,36px);line-height:1.2;font-weight:var(--w-bold);letter-spacing:.14em;text-indent:.14em;padding:14px 8px}.room-code::placeholder{color:var(--ink-3);opacity:.6}.room-length{margin:var(--s-2) 0 var(--s-6);font-size:var(--t-xs);color:var(--ink-2);display:block}.room-panel .room-wait{font-size:var(--t-s);justify-content:center;align-items:center;gap:9px;margin-bottom:6px;display:flex}.room-wait>span{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite alternate room-pulse}.room-panel .room-error,.room-error{min-height:0;color:var(--bad);font-size:var(--t-s)}.room-error:empty{display:none}.room-panel input+.room-error{margin:var(--s-3) 0}.room-panel input~.primary{margin-top:18px}.room-progress{border-radius:var(--r-pill);background:var(--surface-sunken);width:112px;height:5px;margin:15px auto 28px;overflow:hidden}.room-progress>span{border-radius:inherit;background:var(--accent);height:100%;transform:scaleX(var(--match-progress,.08));transform-origin:0;transition:transform .18s linear;display:block}.rematch-note{text-align:center;min-height:18px;font-size:var(--t-s);color:var(--ink-2)}@keyframes room-pulse{to{opacity:.35}}.reduced .room-wait>span{animation:none}.reduced .room-progress>span{transition:none}#app[data-menu=modes] #ui>*{opacity:0}#app[data-menu=modes] .home-tap{pointer-events:none}#ui>.home,#ui>.home-title,#ui>.home-bar,#ui>.bottom-nav{transition:opacity .18s}@media (max-height:480px) and (min-width:600px){.mode-card .mode-details{column-gap:var(--s-4);grid-template-columns:1fr 1fr;align-items:center;display:grid}.mode-details .arena-duration,.mode-details .arena-duration+.primary{margin-top:var(--s-3)}.mode-details .mode-hint{font-size:var(--t-s);margin:10px 0}.friend-actions{margin-top:var(--s-1);grid-column:1/-1}}@media (max-height:620px){.mode-card{bottom:max(14px, var(--safe-bottom));max-height:calc(100dvh - var(--safe-top) - max(14px, var(--safe-bottom)) - 14px);padding:17px}.mode-heading{margin-bottom:var(--s-3)}.arena-duration{margin-top:17px}.arena-duration+.primary{margin-top:18px}.mode-hint{margin:var(--s-4) 0}.mode-option{min-height:var(--control-s)}.mode-tiles .mode-option{min-height:84px;padding-block:8px}.mode-tile-icon{width:36px;height:36px;margin-bottom:2px}.mode-stats{margin-top:var(--s-3)}.mode-stats>span{padding-block:6px}.duration-options button{min-height:40px}.mode-card .primary{min-height:48px}}@media (max-width:350px){.mode-card{padding:18px;left:12px;right:12px}.mode-option,.duration-options button{font-size:var(--t-s)}}.intro-dim{z-index:5;pointer-events:auto;background:#2218328c;position:absolute;inset:0}#ui>.home.is-intro{z-index:6}.home.is-intro:not(.is-intro-play) .mode-button,.home.is-intro-play .start-prompt{box-shadow:0 0 0 3px var(--surface), 0 0 0 6px var(--accent), var(--shadow-float)}.intro-target:after{content:"";z-index:2;border:2.5px dashed var(--accent);pointer-events:none;border-radius:19px;animation:1.1s ease-in-out infinite alternate intro-blink;position:absolute;inset:-5px}@keyframes intro-blink{0%{opacity:1}to{opacity:.15}}.reduced .intro-target:after{animation:none}.home.is-intro-play .mode-button{visibility:hidden}.mode-button.is-nudged{animation:.48s nudge}.reduced .mode-button.is-nudged{animation:none}#sheet[data-kind=modes]:has(.mode-card.is-intro)::backdrop{background:#2218328c}.mode-card.is-intro>.intro-dim{border-radius:inherit}.mode-card.is-intro .mode-options{isolation:auto}.mode-card.is-intro .intro-hint,.mode-card.is-intro .intro-target{z-index:6;position:relative}.mode-card.is-intro .mode-option.intro-target{background:var(--surface);box-shadow:var(--shadow-card)}.mode-card.is-intro .intro-target.is-nudged{animation:.48s nudge}.reduced .mode-card.is-intro .intro-target.is-nudged{animation:none}.intro-dim[data-act]{cursor:pointer}#ui:has(>.intro-dim)>.home-bar{z-index:6}#ui:has(>.intro-dim)>.home-bar .balance{opacity:.45}.intro-bubble{border-radius:var(--r-l);background:var(--surface);max-width:300px;color:var(--ink);box-shadow:var(--shadow-float);pointer-events:none;gap:4px;margin-bottom:6px;padding:14px 18px;display:grid;position:relative}.intro-bubble:after{content:"";background:var(--surface);border-radius:3px;width:14px;height:14px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.intro-bubble b{font-size:var(--t-m);font-weight:var(--w-bold)}.intro-bubble span{font-size:var(--t-s);color:var(--ink-2)}.intro-hint{margin-bottom:var(--s-2);border-radius:var(--r-m);background:var(--gold-bg);color:var(--gold-ink);font-size:var(--t-s);text-align:center;gap:2px;padding:12px 14px;display:grid}.intro-hint b{font-size:var(--t-m)}.intro-continue{grid-column:1/-1}dialog{--ad-height:0px;background:var(--surface);color:var(--ink);border:0;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 24px 64px #3b2e4547}dialog[open]{border-radius:0;flex-direction:column;width:min(100%,500px);max-width:100%;height:100dvh;max-height:100dvh;margin:0 auto;display:flex}dialog.primary-panel[open],dialog[data-kind=settings][open]{background:var(--surface-page);width:min(100%,500px);max-width:100%;height:100dvh;max-height:100dvh;box-shadow:none;border-radius:0;margin:0 auto}dialog::backdrop{background:#2a1c346b}.page-header{padding:calc(12px + var(--safe-top)) 18px 0;flex-shrink:0}.sub-header{align-items:center;gap:var(--s-3);display:flex}.sub-header h2{margin:0}dialog.overlay-panel[open]{justify-content:center;align-items:center;gap:var(--s-4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:none;background:#2a1c3457}dialog.overlay-panel::backdrop{background:0 0}.overlay-header{text-align:center}.overlay-header h2{font-size:var(--t-2xl);font-weight:var(--w-bold);letter-spacing:-.02em;color:var(--on-accent);text-shadow:0 2px 16px #2a1c3480}dialog.overlay-panel .sheet-content{flex:none;width:min(320px,100% - 48px);padding:0;overflow:visible}.overlay-panel .pause-body .dialog-note{color:var(--on-accent);font-size:var(--t-m);font-weight:var(--w-medium);text-shadow:0 1px 10px #2a1c3480}.overlay-panel .pause-body .primary,.overlay-panel .pause-body .secondary{min-height:58px;font-size:var(--t-l);box-shadow:var(--shadow-float)}.overlay-panel .pause-body .secondary{background:var(--surface);color:var(--ink)}.overlay-panel .pause-body .plain{color:var(--on-accent);font-size:var(--t-m)}.dialog-note{margin:0 0 var(--s-2);text-align:center;font-size:var(--t-m);color:var(--ink-2);font-variant-numeric:tabular-nums}.page-header h2{margin:var(--s-5) 0 0;font-size:var(--t-xl);line-height:1.25;font-weight:var(--w-bold);letter-spacing:-.02em}@media (max-width:340px){.page-header{padding-inline:12px}}.sheet-content{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;min-height:0;padding:var(--s-5) 18px var(--s-6);scrollbar-width:thin;flex:1;overflow-y:auto}dialog .bottom-nav{border-radius:0;flex-shrink:0;width:100%;margin:0;position:relative;bottom:auto;left:auto;right:auto;transform:none}dialog.with-banner:not(.overlay-panel) .sheet-content{margin-bottom:var(--ad-height)}.section-note{margin:0 0 var(--s-5);font-size:var(--t-s);color:var(--ink-2);line-height:1.6}.grid{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.card{text-align:left;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);min-width:0;color:var(--ink);box-shadow:var(--shadow-card);padding:0;position:relative;overflow:hidden}.card.chosen{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.card-state{width:28px;height:28px;color:var(--ink-2);background:#fffaf5d9;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.card-state svg{width:14px;height:14px}.card-info{padding:var(--s-3)}.card-info b{font-size:var(--t-m);font-weight:var(--w-bold);margin:0;display:block}.card-price{justify-content:center;align-items:center;gap:var(--s-1);min-height:36px;margin-top:var(--s-3);border-radius:var(--r-s);background:var(--surface-sunken);color:var(--ink);font-size:var(--t-s);font-weight:var(--w-medium);display:flex}.card.chosen .card-price{background:var(--accent);color:var(--on-accent)}.card-price .crystal{width:24px;height:24px;margin:0}.card-price svg{width:14px;height:14px}.currency-cost{justify-content:center;align-items:center;gap:5px;display:inline-flex}.currency-cost>span{line-height:1.1}.card .currency-cost img{width:24px;height:24px;margin:0}.material-art{background:linear-gradient(145deg,#fff5e9,#efddd8);place-items:center;height:154px;display:grid;position:relative}.material-art:before{content:"";background:radial-gradient(#5e476624,#0000 70%);width:70%;height:22px;position:absolute;bottom:18px;left:15%}[data-material="1"] .material-art{background:linear-gradient(145deg,#faf7f1,#e5e4ea)}[data-material="2"] .material-art{background:linear-gradient(145deg,#f0f7ec,#d8e9e0)}[data-material="3"] .material-art{background:linear-gradient(145deg,#e9e5ed,#c9c4d5)}[data-material="4"] .material-art{background:linear-gradient(145deg,#fcf3df,#eddfc4)}[data-material="5"] .material-art{background:linear-gradient(145deg,#f8f0f4,#e0e5f0)}.finish-preview{position:relative}.card .finish-preview{object-fit:contain;width:100%;height:154px;margin:0}.palette-swatches{margin-top:var(--s-2);gap:3px;display:flex}.palette-swatches i{border-radius:3px;flex:1;height:5px}.collection-note{margin:0 0 var(--s-4);font-size:var(--t-s);color:var(--ink-2);align-items:center;gap:10px;line-height:1.5;display:flex}.collection-note .spark{width:32px;height:32px}.worlds .card{flex-direction:column;display:flex}.world-art{aspect-ratio:4/5;flex-shrink:0;width:100%;position:relative;overflow:hidden}.card .world-art img{object-fit:cover;object-position:center 80%;width:100%;height:100%;margin:0;display:block;position:absolute;inset:0}.worlds .card-info{width:100%}.world-status{padding-top:var(--s-2);font-size:var(--t-s);font-weight:var(--w-medium);color:var(--ink-2)}.realm-goal{margin:var(--s-2) 0 3px}.realm-goal>span{font-size:var(--t-xs);color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:3px;display:flex}.card .realm-goal b{font-size:var(--t-xs);font-weight:var(--w-medium);display:inline}.realm-goal progress{height:5px;margin-top:5px}.realm-goal.complete>span{color:var(--accent-strong)}.realm-goal.complete progress::-webkit-progress-value{background:var(--accent-strong)}.realm-goal.complete progress::-moz-progress-bar{background:var(--accent-strong)}.settings-card,.help-card{margin:0 0 var(--s-4);padding:var(--s-1) var(--s-4);border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface)}.setting{justify-content:space-between;align-items:center;gap:var(--s-4);min-height:68px;padding:var(--s-4) 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:var(--t-m);display:flex}.setting:last-child{border:0}.setting span{gap:var(--s-1);display:grid}.setting span small{font-size:var(--t-xs);font-weight:var(--w-regular);color:var(--ink-3);margin-top:2px;line-height:1.5;display:block}.setting input[type=checkbox]{width:28px;height:28px;accent-color:var(--accent);flex-shrink:0}.volume-setting{gap:var(--s-1);padding-bottom:var(--s-2);grid-template-columns:minmax(0,1fr);display:grid}.volume-name{justify-content:space-between;align-items:baseline;gap:var(--s-3);display:flex}.volume-value{color:var(--ink-2);font-weight:var(--w-medium);font-variant-numeric:tabular-nums}.volume{--thumb:32px;--track:12px;height:var(--control);position:relative}.volume:before,.volume:after{content:"";top:calc(50% - var(--track) / 2);height:var(--track);border-radius:var(--r-pill);pointer-events:none;position:absolute;left:0}.volume:before{background:var(--line-strong);right:0}.volume:after{width:calc(var(--thumb) / 2 + var(--volume) * (100% - var(--thumb)));background:var(--accent)}.volume input{z-index:1;border-radius:var(--r-s);appearance:none;touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;display:block;position:relative}.volume input:focus-visible{outline-offset:0}.volume input::-webkit-slider-runnable-track{height:var(--thumb);background:0 0;border:0}.volume input::-webkit-slider-thumb{appearance:none;box-sizing:border-box;width:var(--thumb);height:var(--thumb);border:3px solid var(--accent);background:var(--surface);border-radius:50%}.volume input::-moz-range-track{height:var(--thumb);background:0 0;border:0}.volume input::-moz-range-progress{background:0 0}.volume input::-moz-range-thumb{box-sizing:border-box;width:var(--thumb);height:var(--thumb);border:3px solid var(--accent);background:var(--surface);border-radius:50%}@media (forced-colors:active){.volume:before,.volume:after{forced-color-adjust:none;background:graytext}.volume:after{background:highlight}}.help-card{padding:var(--s-4)}.help-card summary{cursor:pointer;min-height:44px;font-size:var(--t-m);font-weight:var(--w-medium);align-items:center;display:flex}.help-card p{margin-top:var(--s-3);font-size:var(--t-s);color:var(--ink-2);line-height:1.7}.version-note{padding:var(--s-4);text-align:center;font-size:var(--t-xs);color:var(--ink-3)}.pause-body{gap:var(--s-3);text-align:center;display:grid}.tap,.tap:active,.tap:focus{box-shadow:none;filter:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border:0;outline:none}.card-price.is-short{background:var(--bad-bg);color:var(--bad);font-weight:var(--w-bold)}.card.is-nudged{animation:.48s nudge}.card.is-nudged .realm-goal:not(.complete)>span{color:var(--bad)}@keyframes nudge{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.reduced .card.is-nudged{animation:none}.setting input[type=checkbox]{appearance:none;border-radius:var(--r-pill);background:var(--line-strong);cursor:pointer;flex-shrink:0;width:50px;height:30px;margin:0;transition:background-color .16s;position:relative}.setting input[type=checkbox]:before{content:"";background:var(--surface);border-radius:50%;width:24px;height:24px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #3b2e454d}.setting input[type=checkbox]:checked{background:var(--accent)}.setting input[type=checkbox]:checked:before{transform:translate(20px)}.card.armed{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.card.armed .card-price{background:var(--accent);color:var(--on-accent)}.buy-now{font-weight:var(--w-bold);margin-right:6px}.card.just-bought:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:#fff;animation:.7s bought;position:absolute;inset:0}@keyframes bought{0%{opacity:.6}to{opacity:0}}.reduced .card.just-bought:after{animation:none}.new-run.armed{color:var(--bad);font-weight:var(--w-bold)}.bottom-nav{z-index:4;grid-template-columns:repeat(var(--nav-count,5), minmax(0, 1fr));min-height:75px;padding:7px 10px calc(8px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--surface);pointer-events:auto;gap:2px;display:grid;position:absolute;bottom:0;left:0;right:0}.nav-selection{top:7px;bottom:calc(8px + var(--safe-bottom));left:calc(10px + var(--nav-index) * ((100% - 20px - (var(--nav-count,5) - 1) * 2px) / var(--nav-count,5) + 2px));width:calc((100% - 20px - (var(--nav-count,5) - 1) * 2px) / var(--nav-count,5));border-radius:var(--r-m);background:var(--accent-soft);pointer-events:none;position:absolute}.nav-item{border-radius:var(--r-m);min-height:52px;color:var(--ink-2);font-size:var(--t-xs);font-weight:var(--w-medium);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 2px;transition:color .18s;display:flex;position:relative}.nav-item svg{stroke-width:1.6px;width:23px;height:23px}.nav-item.selected{color:var(--accent-strong)}.page-veil{z-index:3;background:var(--surface-page);pointer-events:none;position:absolute;inset:0}#app.with-banner,dialog.with-banner[data-banner=nav]{--ad-height:80px}dialog.with-banner[data-banner=low]{--ad-height:calc(var(--safe-bottom) + 82px)}dialog.with-banner[data-banner=band]{--ad-height:calc(var(--safe-bottom) + 59px)}#app[data-band]{--band-space:calc(51px + var(--safe-bottom))}.banner-dock{z-index:4;left:16px;right:16px;bottom:calc(max(75px, 70px + var(--safe-bottom)) + 8px);pointer-events:auto;justify-content:center;align-items:center;height:66px;display:flex;position:absolute}.banner-dock[data-place=low]{bottom:calc(var(--safe-bottom) + 8px)}.banner-dock[data-place=band]{height:calc(51px + var(--safe-bottom));align-items:flex-start;padding-top:1px;bottom:0;left:0;right:0}.banner-dock:not([data-filled]){visibility:hidden}.banner-card,.banner-band{transform-origin:0 0;pointer-events:none;position:absolute;inset:0}.banner-card{border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-float)}.banner-band{background:var(--band);box-shadow:inset 0 1px var(--band-line)}.banner-dock[data-place=band]>.banner-card,.banner-dock:not([data-place=band])>.banner-band{opacity:0}.ad-surface{width:min(320px,100% - 20px);height:50px;position:relative}.banner-dock[data-place=band]>.ad-surface{width:min(320px,100%)}.ad-placeholder{border:1px dashed var(--line-strong);background:var(--surface);height:100%;color:var(--ink-3);border-radius:6px;justify-content:center;align-items:center;gap:10px;display:flex}.ad-placeholder span{font-size:var(--t-xs)}.ad-placeholder small{font-size:9px}.nav-badge{background:var(--badge);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:8px;left:calc(50% + 8px)}#notice{top:calc(var(--safe-top) + 67px);z-index:3;white-space:nowrap;text-overflow:ellipsis;text-align:center;border-radius:var(--r-pill);height:26px;line-height:26px;font-size:var(--t-xs);font-weight:var(--w-bold);pointer-events:none;background:var(--surface-float);color:var(--gold-ink);box-shadow:var(--shadow-float);background:var(--gold-bg);padding:0 12px;position:absolute;left:16px;right:16px;overflow:hidden}.tap{top:calc(var(--safe-top) + 94px);touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;position:absolute;bottom:0;left:0;right:0;box-shadow:none!important;background:0 0!important}#loading{z-index:10;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:25px;display:flex;position:absolute;inset:0}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.tap{touch-action:none;-webkit-user-select:none;outline:0;inset:0;box-shadow:none!important;background:0 0!important}.tap:focus-visible{outline:none}.tap:focus-visible:after{content:"Space or Enter to place";left:50%;bottom:calc(16px + var(--floor));white-space:nowrap;border:2px solid var(--on-accent);border-radius:var(--r-s);background:var(--ink);color:var(--on-accent);font-size:var(--t-s);padding:8px 12px;position:absolute;transform:translate(-50%)}.home-tap:focus-visible:after{content:"Space or Enter to ascend";bottom:calc(163px + var(--safe-bottom) + var(--ad-height))}#sheet-title:focus{outline:none}.studio-credit{color:var(--ink-2);font-size:var(--t-s);justify-content:center;align-items:center;gap:8px;padding:4px 0 16px;display:flex}.studio-credit img{border-radius:7px;width:25px;height:25px}.settings-links{flex-wrap:wrap;justify-content:center;margin:-8px 0 8px;display:flex}.privacy-link{box-shadow:none;font:inherit;width:max-content;min-height:44px;color:var(--ink-2);font-size:var(--t-s);white-space:nowrap;text-underline-offset:3px;background:0 0;border:0;align-items:center;padding:0 12px;text-decoration:underline;display:flex}.player-id{width:max-content;max-width:100%;min-height:44px;box-shadow:none;color:var(--ink-3);font-size:var(--t-xs);font-weight:var(--w-medium);white-space:nowrap;background:0 0;justify-content:center;align-items:center;margin:0 auto 8px;padding:0 16px;display:flex}.player-id b{color:var(--ink-2);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;letter-spacing:.04em}.player-id-label{justify-items:end;display:inline-grid}.player-id-label>span{grid-area:1/1;transition:opacity .2s,visibility .2s}.player-id-copied{opacity:0;visibility:hidden;color:var(--accent)}.player-id.is-copied .player-id-label>span:first-child{opacity:0;visibility:hidden}.player-id.is-copied .player-id-copied{opacity:1;visibility:visible}.trail-status{top:calc(var(--safe-top) + 158px);text-align:center;pointer-events:none;color:#fffaf5;text-shadow:0 1px 4px #362c46;font-size:14px;position:absolute;left:12px;right:12px}.trail-status small{font-size:var(--t-xs);margin-top:5px;display:block}.trail-status.is-gate>span{border-radius:var(--r-s);background:var(--good-bg);color:var(--good);text-shadow:none;padding:7px 10px;display:inline-block}.guide-hint{left:0;right:0;bottom:calc(var(--floor) + 28px);width:max-content;max-width:88%;padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);background:var(--surface-float);color:var(--ink);font-size:var(--t-s);font-weight:var(--w-medium);text-align:center;box-shadow:var(--shadow-float);pointer-events:none;margin-inline:auto;position:absolute}.reward-fx{z-index:30;pointer-events:none;position:fixed;inset:0;overflow:hidden}.reward-coin{will-change:transform, opacity;filter:drop-shadow(0 3px 4px #3b2e4540);width:30px;height:30px;position:fixed}.reward-glint{will-change:transform, opacity;border-radius:50%;width:10px;height:10px;position:fixed;box-shadow:0 0 10px 2px #fff0c8b3}.reward-amount{color:var(--gold-ink);font-size:26px;font-weight:var(--w-bold);white-space:nowrap;text-shadow:0 2px #fff6d6,0 0 18px #ffe08ae6;will-change:transform, opacity;position:fixed}.result{left:14px;right:14px;bottom:calc(var(--floor) + 16px);max-height:46%;padding:var(--s-4);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow-float);position:absolute;overflow:auto}.result-line{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.result-line>div{min-width:0}.result h2{font-size:var(--t-l);font-weight:var(--w-bold);line-height:1.25}.result-summary{min-width:0}.result-standing{font-size:var(--t-s);font-weight:var(--w-bold);color:var(--ink-2)}.result-standing.is-best{border-radius:var(--r-pill);background:var(--gold-bg);color:var(--gold-ink);padding:3px 10px;display:inline-block}.result-standing.is-near{color:var(--accent-strong)}.result .result-score{font-size:var(--t-m);font-weight:var(--w-medium);color:var(--ink-2);align-items:baseline;gap:6px;margin-top:4px;display:flex}.result-score b{font-size:40px;font-weight:var(--w-bold);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.05}.result-title{font-size:var(--t-s);color:var(--ink-2);margin-top:2px;line-height:1.4}.result-rewards{gap:var(--s-1);flex-shrink:0;display:grid}.result-earned{white-space:nowrap;font-size:var(--t-m);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:flex}.result-rewards .crystal,.result-rewards .spark{width:24px;height:24px}.result-trail{margin-top:var(--s-1);font-size:var(--t-xs);color:var(--ink-2);display:block}.result-actions{gap:var(--s-2)}.result-actions button{flex:1;min-width:0;padding-inline:6px}.reward-action{width:100%;margin-bottom:var(--s-2);justify-content:center;align-items:center;gap:var(--s-1);min-height:var(--control);border-radius:var(--r-m);background:var(--reward-bg);color:var(--reward-ink);font-size:var(--t-m);font-weight:var(--w-bold);display:flex}.reward-action>svg{width:16px;height:16px}.reward-action small{border:1px solid;border-radius:4px;margin-left:3px;padding:1px 4px;font-size:10px}.operation-status{margin-top:var(--s-2);text-align:center;font-size:var(--t-xs);color:var(--ink-2);display:block}.result-actions{grid-template-columns:1fr 2fr;display:grid}.result-earned.is-gold{color:var(--gold-ink)}.result-earned.is-gem{color:var(--gem-ink)}.duel-rank{justify-content:center;align-items:center;gap:var(--s-2);margin:6px 0 2px;display:flex}.duel-rank-name{font-size:var(--t-s);font-weight:var(--w-bold);color:var(--ink);white-space:nowrap}.duel-rank-change{font-size:var(--t-s);font-weight:var(--w-bold);color:var(--ink-2);font-variant-numeric:tabular-nums}.duel-rank-change.is-up{color:var(--accent-strong)}.duel-rank .stairs{flex:0 88px;min-width:56px;height:12px}.page-tabs{isolation:isolate;gap:var(--s-1);margin:0 0 var(--s-4);padding:var(--s-1);border-radius:var(--r-m);background:var(--surface-sunken);scrollbar-width:none;display:flex;position:relative;overflow-x:auto}.page-tab-selection{top:var(--s-1);bottom:var(--s-1);z-index:-1;background:var(--surface);width:0;box-shadow:var(--shadow-card);pointer-events:none;border-radius:14px;position:absolute;left:0}.page-tabs button{min-width:max-content;min-height:var(--control-s);color:var(--ink-2);font-size:var(--t-s);font-weight:var(--w-medium);white-space:nowrap;background:0 0;border-radius:14px;flex:1 0 auto;padding-inline:8px}.page-tabs button.selected{color:var(--ink)}@media (max-width:430px){.page-tabs button{padding-inline:5px;font-size:13px}}@media (max-width:340px){.page-tabs button{font-size:var(--t-xs);padding-inline:3px}}.summary-card{margin:0 0 var(--s-3);padding:var(--s-5) var(--s-4);border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);text-align:center;box-shadow:var(--shadow-card);justify-items:center;gap:4px;display:grid}.summary-top{width:100%;position:relative}.summary-label{font-size:var(--t-xs);font-weight:var(--w-bold);letter-spacing:.16em;color:var(--ink-2);display:block}.summary-action{width:var(--control-s);height:var(--control-s);background:var(--surface-sunken);color:var(--ink-2);border-radius:14px;place-items:center;display:grid;position:absolute;top:-10px;right:-6px}.summary-action svg{width:20px;height:20px}.summary-value{font-size:56px;font-weight:var(--w-bold);letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.05}.summary-caption{font-size:var(--t-s);color:var(--ink-2)}.summary-card .stairs{height:18px;margin-top:var(--s-3);justify-self:stretch}.summary-card .summary-button{margin-top:var(--s-3)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--s-3);margin:var(--s-5) 2px var(--s-2);display:flex}.section-head h3{font-size:var(--t-m);font-weight:var(--w-bold);margin:0}.section-head span{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2);font-variant-numeric:tabular-nums}.stairs{flex:0 120px;align-items:flex-end;gap:2px;min-width:56px;height:12px;display:flex}.stairs i{background:var(--surface-sunken);border-radius:2px;flex:1;height:100%}.stairs i:first-child{height:37%}.stairs i:nth-child(2){height:44%}.stairs i:nth-child(3){height:51%}.stairs i:nth-child(4){height:58%}.stairs i:nth-child(5){height:65%}.stairs i:nth-child(6){height:72%}.stairs i:nth-child(7){height:79%}.stairs i:nth-child(8){height:86%}.stairs i:nth-child(9){height:93%}.stairs i.on{background:var(--accent)}.mission-board{gap:var(--s-2);margin:0 0 var(--s-3);grid-template-columns:1fr 1fr;display:grid}.board-half{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);min-width:0;min-height:0;color:var(--ink);text-align:left;box-shadow:var(--shadow-card);align-content:start;gap:8px;padding:12px 14px;display:grid;position:relative}.board-half.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow-card)}.board-head{justify-content:space-between;align-items:baseline;gap:var(--s-2);min-width:0;display:flex}.board-label{font-size:var(--t-xs);font-weight:var(--w-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.board-half.selected .board-label{color:var(--accent-strong)}.board-count{font-size:26px;font-weight:var(--w-bold);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}.board-count small{font-size:var(--t-s);font-weight:var(--w-medium);letter-spacing:0;color:var(--ink-2)}.board-track{align-items:flex-end;gap:6px;display:flex}.board-track .stairs{flex:auto;gap:3px;min-width:0;height:22px}.board-track .stairs i{border-radius:3px}.board-prize{font-size:var(--t-s);font-weight:var(--w-bold);color:var(--gold-ink);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:1px;line-height:1;display:flex}.board-prize .crystal{width:22px;height:22px}.board-prize.is-claimed{color:var(--accent-strong)}.board-prize.is-claimed svg{stroke-width:2.4px;width:20px;height:20px}.board-time{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.login-line{align-items:center;gap:var(--s-3);min-height:64px;margin-top:var(--s-3);padding:10px var(--s-3);border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);display:flex}.login-line.is-paid{background:var(--surface-page)}.login-line .mission-target{background:var(--gold-bg)}.login-line .mission-target .crystal{width:28px;height:28px}.gift-row{align-items:center;gap:var(--s-3);min-height:70px;padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);display:flex;position:relative}.gift-icon{background:var(--gold-bg);width:44px;height:44px;color:var(--gold-ink);border-radius:14px;flex:none;place-items:center;display:grid}.gift-icon svg{width:24px;height:24px}.gift-row>div{flex:1;min-width:0;display:grid}.gift-row h3{font-size:var(--t-m);font-weight:var(--w-bold);margin:0}.gift-row small{font-size:var(--t-xs);color:var(--ink-2)}.gift-wait{font-size:var(--t-s);font-weight:var(--w-medium);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}:is(.claim,.mission-claim){min-height:var(--control-s);padding:0 var(--s-3);background:var(--accent);color:var(--on-accent);font-size:var(--t-s);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:4px;display:flex}:is(.claim,.mission-claim) :is(.crystal,.spark){width:20px;height:20px;margin-left:2px}.claim>svg{fill:currentColor;width:14px;height:14px}.claim small{font-size:var(--t-xs);font-weight:var(--w-medium);opacity:.85;margin-left:4px}.mission-list{gap:var(--s-2);display:grid}:is(.mission,.goal){align-items:center;gap:var(--s-3);width:100%;min-height:64px;padding:10px var(--s-3) 10px 10px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:var(--ink);text-align:left;display:flex;position:relative}.mission-target{background:var(--surface-sunken);width:44px;height:44px;font-size:var(--t-m);font-weight:var(--w-bold);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:14px;flex:none;place-items:center;display:grid}.mission-target.is-long{font-size:var(--t-s)}.mission-target .crystal{width:26px;height:26px}.mission-text{flex:1;min-width:0;display:block}:is(.mission,.goal) h4,.mission-title{font-size:var(--t-s);font-weight:var(--w-bold);margin:0;line-height:1.25;display:block}.mission-note{font-size:var(--t-xs);color:var(--ink-2);margin-top:4px;display:block}.mission-meter{align-items:flex-end;gap:var(--s-2);margin-top:8px;display:flex}.mission-meter :is(small,p){font-size:var(--t-xs);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;line-height:1}.mission-side{flex:none;justify-content:flex-end;align-items:center;gap:2px;min-width:64px;display:flex}.mission-side>svg{width:20px;height:20px;color:var(--ink-3);stroke-width:2px;margin-right:-4px}.mission-reward{color:var(--gold-ink);font-size:var(--t-s);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.mission-reward .crystal{width:24px;height:24px}.mission-claimed{color:var(--accent-strong);font-size:var(--t-s);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.mission-claimed svg{stroke-width:2.4px;width:18px;height:18px}.mission.is-ready{border-color:var(--gold-ink);background:var(--gold-bg)}.mission.is-ready .mission-target{background:var(--surface)}button.mission:active,:is(.mission.is-claimed,.goal.done){background:var(--surface-page)}.mission.is-claimed{min-height:52px;padding-block:4px}.mission.is-claimed .mission-target{width:36px;height:36px;color:var(--ink-2);background:0 0}:is(.mission.is-claimed,.goal.done) :is(h4,.mission-title){color:var(--ink-2)}:is(.mission.is-claimed,.goal.done) .stairs i.on{background:var(--line-strong)}.goal .mission-target{color:var(--accent-strong)}.goal .mission-target.is-none{color:var(--ink-3)}.goal.done .mission-target{background:0 0}.missions-done{margin:var(--s-3) 2px 0;text-align:center;font-size:var(--t-s);font-weight:var(--w-medium);color:var(--ink-2)}.just-claimed:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:#fff;animation:.7s bought;position:absolute;inset:0}.reduced .just-claimed:after{animation:none}.record-grid{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.record-grid>div{padding:var(--s-4);text-align:center;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface)}.record-grid b{font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--ink);font-variant-numeric:tabular-nums;display:block}.record-grid small{font-size:var(--t-xs);color:var(--ink-2);margin-top:6px;display:block}.record-collection{padding:0 var(--s-4);border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface)}.record-row{align-items:center;gap:var(--s-3);border-bottom:1px solid var(--line);min-height:52px;font-size:var(--t-s);color:var(--ink-2);font-variant-numeric:tabular-nums;display:flex}.record-row:last-child{border-bottom:0}.record-row>span:first-child{flex:1;min-width:0}.record-row b{font-weight:var(--w-bold);color:var(--ink);white-space:nowrap}.record-row .stairs{flex:0 96px;min-width:48px}.leaderboard-list{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.leaderboard-list li{align-items:center;gap:var(--s-3);min-height:64px;padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);display:flex}.leaderboard-list li.is-you{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.rank-number{text-align:center;width:28px;font-size:var(--t-s);font-weight:var(--w-bold);color:var(--ink-2);font-variant-numeric:tabular-nums}.rank-alias{min-width:0;font-size:var(--t-s);font-weight:var(--w-medium);overflow-wrap:anywhere;flex:1}.leaderboard-list small{font-size:var(--t-xs);font-weight:var(--w-regular);color:var(--ink-2);margin-top:2px;display:block}.leaderboard-list li>b{text-align:right;font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--ink);font-variant-numeric:tabular-nums}.leaderboard-list+.secondary{margin-top:var(--s-3)}.board-state{padding:var(--s-5);text-align:center;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);font-size:var(--t-s);color:var(--ink-2);margin:0;line-height:1.6}.board-state b{font-size:var(--t-m);font-weight:var(--w-bold);color:var(--ink);display:block}.board-state p{margin-top:4px}.board-privacy{margin:var(--s-4) 2px var(--s-2);font-size:var(--t-xs);color:var(--ink-3);line-height:1.6}.rank-status{min-height:0;margin:var(--s-2) 0 0;font-size:var(--t-xs);color:var(--ink-2)}.rank-status:empty{display:none}@media (max-width:350px){.board-half{padding:10px}.board-count{font-size:22px}:is(.mission,.goal){gap:10px;padding-left:8px}.mission-target{width:38px;height:38px}:is(.claim,.mission-claim){padding:0 10px}}@media (max-width:300px){.board-label{letter-spacing:.04em}.gift-icon{display:none}}.notice{z-index:7;top:calc(var(--safe-top) + 18px + var(--control));align-items:center;gap:var(--s-3);max-width:480px;min-height:64px;padding:10px var(--s-4) 10px 10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-float);pointer-events:none;border-radius:22px;margin:0 auto;display:flex;position:absolute;left:10px;right:10px}dialog>.notice{z-index:8}.notice.is-staged{visibility:hidden}#notice:not([hidden])~.notice{margin-top:34px}.notice-art{background:var(--surface-sunken);width:44px;height:44px;color:var(--ink-2);border-radius:13px;flex:none;place-items:center;display:grid;overflow:hidden}.notice-art svg{stroke-width:2.2px;width:24px;height:24px}.notice-art img{object-fit:contain;width:32px;height:32px}.notice:is([data-kind=gold],[data-kind=best]) .notice-art{background:var(--gold-bg);color:var(--gold-ink)}.notice[data-kind=gems] .notice-art{background:var(--gem-bg)}.notice[data-kind=finish] .notice-art img{width:150%;height:150%}.notice[data-kind=realm] .notice-art img{object-fit:cover;object-position:center 80%;width:100%;height:100%}.notice[data-kind=done] .notice-art{background:var(--accent-soft);color:var(--accent-strong)}.notice[data-kind=error] .notice-art{background:var(--bad-bg);color:var(--bad)}.notice-text{flex:1;gap:1px;min-width:0;display:grid}.notice-text :is(b,small){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notice-text b{font-size:var(--t-m);font-weight:var(--w-bold);line-height:1.25}.notice-text small{font-size:var(--t-s);color:var(--ink-2);line-height:1.3}.notice-amount{color:var(--gold-ink);font-size:var(--t-l);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;flex:none}@media (max-width:340px){.notice{padding-right:var(--s-3);gap:10px;left:8px;right:8px}}@media (max-height:560px){.result{padding:var(--s-3)}.result h2{font-size:var(--t-m)}.result-line{margin-bottom:6px}.result-score b{font-size:32px}}@media (max-width:340px){.bar{left:12px;right:12px}.result-actions button{font-size:var(--t-s)}.reward-action>svg{display:none}}.game-heading{top:calc(var(--safe-top) + 8px);text-align:center;pointer-events:none;position:absolute;left:0;right:0}.hud-title{color:var(--sky-ink);font-size:22px;font-weight:var(--w-bold);letter-spacing:-.02em;text-shadow:0 0 16px var(--sky-glow), 0 1px 2px #3b2e451f;line-height:30px;display:inline-block}.game-mode{top:calc(var(--safe-top) + 48px);border-radius:var(--r-l);background:var(--surface-float);width:26%;color:var(--ink);text-align:center;box-shadow:var(--shadow-float);pointer-events:none;padding:7px 6px;position:absolute;left:50%;transform:translate(-50%)}.game-mode b{font-size:clamp(22px,6.2vw,30px);line-height:1.12;font-weight:var(--w-bold);font-variant-numeric:tabular-nums;display:block}.game-mode small{font-size:10px;font-weight:var(--w-bold);letter-spacing:.1em;color:var(--ink-2);margin-top:3px;display:block}.solo-mode span{font-size:var(--t-xs);line-height:1.1;font-weight:var(--w-medium);color:var(--ink-2);display:block}.solo-mode b{letter-spacing:-.02em;font-size:23px}.game-player{top:calc(var(--safe-top) + 48px);width:30%;color:var(--ink);pointer-events:none;position:absolute;left:3%}.game-score{border-radius:var(--r-l);background:var(--surface-float);min-height:65px;box-shadow:var(--shadow-float);justify-content:center;align-items:center;gap:6px;padding:8px 7px;display:flex}.game-score>strong{font-size:clamp(16px, calc(min(10.5vw, 52px) - max(0, var(--score-digits,2) - 2) * 7px), 52px);font-weight:var(--w-bold);letter-spacing:-.05em;font-variant-numeric:tabular-nums;line-height:1}.game-flow{min-height:30px;padding:5px var(--s-2);border-radius:var(--r-pill);background:var(--gold-bg);color:var(--gold-ink);font-size:var(--t-xs);font-weight:var(--w-bold);letter-spacing:.02em;white-space:nowrap;box-shadow:var(--shadow-float);place-items:center;margin-top:6px;display:grid}.game-flow:empty{visibility:hidden}.lead-badge{border-radius:var(--r-pill);background:var(--gold-bg);min-width:38px;color:var(--gold-ink);font-size:var(--t-m);line-height:1;font-weight:var(--w-bold);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:2px;padding:5px 6px;display:inline-flex}.lead-badge svg{flex-shrink:0;width:13px;height:13px}.lead-badge[data-direction=behind]{background:var(--bad-bg);color:var(--bad)}.lead-badge[data-direction=behind] svg{transform:rotate(180deg)}.lead-badge[data-direction=even]{background:var(--surface-sunken);color:var(--ink-2)}.lead-badge[data-direction=even] svg{display:none}.game-control{z-index:3;top:calc(var(--safe-top) + 48px);border-radius:var(--r-m);background:var(--surface-float);width:56px;height:56px;color:var(--ink-2);box-shadow:var(--shadow-float);place-items:center;display:grid;position:absolute;right:3%}.game-control svg{width:23px;height:23px}.rival{top:calc(var(--safe-top) + 48px);border:2px solid var(--surface);border-radius:var(--r-l);width:26%;height:183px;color:var(--ink);pointer-events:none;contain:layout paint;box-shadow:var(--shadow-float);position:absolute;right:3%;overflow:hidden}.rival:before{content:"";background-image:var(--realm-image);opacity:.8;background-position:72%;background-size:cover;position:absolute;inset:0}.rival>strong{z-index:1;padding-top:var(--s-3);text-align:center;font-size:clamp(16px, calc(27px - max(0, var(--score-digits,2) - 3) * 4px), 27px);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;text-shadow:0 0 7px #fff8ee,0 0 15px #fff4e2;line-height:1.15;display:block;position:relative}.rival-name{z-index:1;text-align:center;font-size:11px;line-height:14px;font-weight:var(--w-bold);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 0 6px #fff8ee,0 0 12px #fff4e2;padding:0 6px;display:block;position:relative;overflow:hidden}#rival-canvas{width:100%;height:calc(100% - 57px);display:block;position:absolute;bottom:0;left:0}.rival.minimal{height:56px;box-shadow:none;background:0 0;border:0;border-radius:0}.rival.minimal:before{display:none}.rival.minimal>strong{padding-top:9px}.arena-countdown{width:108px;height:108px;color:var(--ink);background:var(--surface-float);box-shadow:var(--shadow-float);font-size:60px;font-weight:var(--w-bold);pointer-events:none;font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;line-height:1;display:grid;position:absolute;top:41%;left:50%;transform:translate(-50%,-50%)}.arena-status{width:max-content;max-width:86%;padding:var(--s-3) 18px;border-radius:var(--r-l);text-align:center;font-size:var(--t-s);color:var(--ink);background:var(--surface-float);box-shadow:var(--shadow-float);pointer-events:none;margin:0;line-height:1.4;position:absolute;top:35%;left:50%;transform:translate(-50%)}.connection-leave{z-index:5;left:0;right:0;bottom:max(24px, calc(var(--floor) + 12px));width:max-content;padding:var(--s-3) var(--s-5);border-radius:var(--r-m);background:var(--surface);color:var(--ink);font-size:var(--t-s);font-weight:var(--w-medium);box-shadow:var(--shadow-float);margin-inline:auto;position:absolute}.arena-result-detail{font-size:var(--t-s);color:var(--ink-2);margin-top:6px;line-height:1.4}.duel-final{margin-top:var(--s-2);font-size:var(--t-s);gap:28px;display:flex}.duel-final>span{gap:0 var(--s-2);grid-template-columns:auto auto;align-items:baseline;display:grid}.duel-final b{font-size:var(--t-xl);font-weight:var(--w-bold);font-variant-numeric:tabular-nums}.duel-final small{font-size:var(--t-xs);color:var(--ink-2);grid-column:1/-1}#app[data-arena=true] .result{max-height:50%}#app[data-entering=true] :is(.game-player,.game-mode,.rival,.game-control){opacity:var(--entry-progress,0)}.duel-spotlight{z-index:5;cursor:pointer;background:#2218328c;position:absolute;inset:0}.intro-bubble:is(.rival-bubble,.clock-bubble,.countdown-bubble){z-index:6;max-width:none;margin:0;position:absolute}.intro-bubble.rival-bubble{top:calc(var(--safe-top) + 48px + 183px + 16px);width:60%;right:3%}.intro-bubble.rival-bubble:after{inset:-7px calc(21.7% - 7px) auto auto;transform:rotate(45deg)}.intro-bubble.countdown-bubble{width:min(300px,84%);top:calc(41% + 72px);left:50%;transform:translate(-50%)}.intro-bubble.countdown-bubble:after{top:-7px;bottom:auto}.intro-bubble.clock-bubble{top:calc(var(--safe-top) + 48px + 50px + 16px);width:62%;left:4%}.intro-bubble.clock-bubble:after{top:-7px;bottom:auto;left:calc(74.2% - 7px);transform:rotate(45deg)}:is(.duel-spotlight,.rival-bubble,.clock-bubble,.countdown-bubble){opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility 0s linear .25s}#app:is([data-spotlight=rival],[data-spotlight=clock],[data-spotlight=countdown]) .duel-spotlight,#app[data-spotlight=rival] .rival-bubble,#app[data-spotlight=clock] .clock-bubble,#app[data-spotlight=countdown] .countdown-bubble{opacity:1;visibility:visible;transition:opacity .25s}#app:is([data-spotlight=rival],[data-spotlight=clock],[data-spotlight=countdown]) .duel-spotlight{pointer-events:auto}#app[data-spotlight=rival] .rival,#app[data-spotlight=clock] .arena-clock,#app[data-spotlight=countdown] .arena-countdown{z-index:6;box-shadow:0 0 0 3px var(--surface), 0 0 0 6px var(--accent), var(--shadow-float)}#app[data-screen=playing] #notice{top:calc(var(--safe-top) + 164px);z-index:4;width:max-content;max-width:86%;left:50%;right:auto;transform:translate(-50%)}@media (max-width:350px){.game-score{border-radius:20px;gap:3px;min-height:57px;padding:8px 4px}.lead-badge{min-width:29px;font-size:var(--t-xs);gap:1px;padding:4px}.lead-badge svg{width:11px;height:11px}.rival{height:155px}.rival-name{padding:0 3px;font-size:10px}.intro-bubble.rival-bubble{top:calc(var(--safe-top) + 48px + 155px + 16px)}.game-flow{font-size:11px}}@media (max-height:580px){.rival{height:145px}.intro-bubble.rival-bubble{top:calc(var(--safe-top) + 48px + 145px + 16px)}.arena-countdown{width:88px;height:88px;font-size:44px;top:45%}.intro-bubble.countdown-bubble{top:calc(45% + 62px)}.game-score{min-height:55px}.game-score>strong{font-size:clamp(16px, calc(38px - max(0, var(--score-digits,2) - 2) * 7px), 38px)}}#sheet[data-kind=modes][open] .mode-card{animation:.34s cubic-bezier(.2,.7,.2,1) both menu-arrive}#sheet[data-kind=modes].mode-updating .mode-card{animation:none}#sheet[data-kind=modes].is-closing .mode-card{animation:.2s ease-in both menu-depart}@keyframes menu-arrive{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-depart{to{opacity:0;transform:translateY(20px)}}@keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes disappear{to{opacity:0}}#loading{color:var(--ink);font-size:var(--t-s);background:linear-gradient(160deg,#b1b9ec 8%,#c2b8e4 53%,#f6d5cc);gap:22px}#loading .wordmark{font-size:18px}#loading .wordmark:before,#loading .wordmark:after{width:26px}.loading-track{border-radius:var(--r-pill);background:#3b2e4524;width:80px;height:3px;display:block;overflow:hidden}.loading-track:after{content:"";border-radius:inherit;background:var(--accent);width:45%;height:100%;animation:1.1s ease-in-out infinite loading-pass;display:block}@keyframes loading-pass{0%{transform:translate(-110%)}to{transform:translate(340%)}}#round-loading{z-index:8;pointer-events:none;background:#f5e4e719;place-items:center;display:grid;position:absolute;inset:0}.round-loading-content{bottom:max(18%,calc(var(--safe-bottom) + 95px));color:var(--ink);background:var(--surface-float);border-radius:var(--r-l);box-shadow:var(--shadow-float);font-size:var(--t-m);font-weight:var(--w-medium);flex-direction:column;align-items:center;gap:15px;padding:18px 27px;display:flex;position:absolute}#app[data-transition=preparing] #round-loading{animation:.18s both appear}#app[data-transition=revealing] #round-loading{animation:.22s both disappear}#app[data-transition=preparing] #ui{opacity:0;transition:opacity .16s}#app[data-transition=revealing] #ui{opacity:1;transition:opacity .2s}#app[data-host-paused=true] *,#app[data-host-paused=true] :after{animation-play-state:paused!important}.reduced .mode-card,.reduced #round-loading,.reduced .loading-track:after{animation:none!important}.reduced .loading-track:after{opacity:.6;width:100%}.reduced *,.reduced :after{transition-duration:0s!important}.reduced #sheet[data-kind=modes].is-closing{opacity:0}.contrast .home-modes{background:var(--surface-sunken)}
