.game-screen{gap:var(--ui-space-2);min-height:0;padding:0 calc(var(--ui-space-2) + var(--ui-safe-right)) calc(var(--ui-space-2) + var(--ui-safe-bottom)) calc(var(--ui-space-2) + var(--ui-safe-left));-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;flex:auto;display:flex;position:relative;overflow:hidden}.hud{display:contents}.hud__footer{gap:var(--ui-space-2);flex-direction:column;flex:none;display:flex}.hud__footer-main{justify-content:space-between;align-items:center;gap:var(--ui-space-3);min-width:0;display:flex}.hud__footer-meta{min-width:0}.hud__side{flex:none;min-width:0}.game-board-host{flex:auto;justify-content:center;align-items:center;min-height:0;display:flex}.game-board-area{width:var(--game-board-size,min(calc(100vw - 16px), calc(100dvh - 240px)));height:var(--game-board-size,min(calc(100vw - 16px), calc(100dvh - 240px)));aspect-ratio:1;border-radius:var(--ui-radius);background:var(--ui-surface-sunken);max-width:100%;max-height:100%;box-shadow:var(--ui-shadow);touch-action:none;margin:0 auto;position:relative}.game-board-slot{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.game-board-slot>canvas{width:100%;height:100%;display:block}.game-board-grid-wrap{z-index:1;position:absolute;inset:0}.a11y-board-grid{outline:none;grid-template-rows:repeat(8,1fr);width:100%;height:100%;display:grid}.a11y-board-grid__row{grid-template-columns:repeat(8,1fr);min-height:0;display:grid}.a11y-board-grid__cell{color:#0000;width:100%;height:100%;font:inherit;cursor:pointer;touch-action:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:relative}.a11y-board-grid__cell:focus-visible{outline:3px solid var(--ui-focus);outline-offset:-3px;z-index:2}.a11y-board-grid__cell.is-legal:after{content:"";border:2px solid var(--ui-accent);opacity:.55;border-radius:50%;position:absolute;inset:38%}.a11y-board-grid__cell.is-hint:after{border-style:dashed;border-color:var(--ui-gold);opacity:.9;inset:22%}.game-screen.has-corner-legal .a11y-board-grid__cell.is-legal[data-square="0"]:after,.game-screen.has-corner-legal .a11y-board-grid__cell.is-legal[data-square="7"]:after,.game-screen.has-corner-legal .a11y-board-grid__cell.is-legal[data-square="56"]:after,.game-screen.has-corner-legal .a11y-board-grid__cell.is-legal[data-square="63"]:after{border-color:var(--ui-gold);opacity:1;animation:1.2s ease-in-out infinite game-corner-pulse}@keyframes game-corner-pulse{0%,to{opacity:.7;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.pause-overlay{z-index:20;padding:calc(var(--ui-space-4) + var(--ui-safe-top)) var(--ui-space-4) calc(var(--ui-space-4) + var(--ui-safe-bottom));animation:game-fade-in var(--ui-motion-ms) var(--ui-ease) both;background:#040a08b8;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pause-dialog{gap:var(--ui-space-3);width:min(100%,360px);padding:var(--ui-space-5);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-lg);background:var(--ui-surface-raised);box-shadow:var(--ui-shadow);outline:none;flex-direction:column;display:flex}.pause-dialog__title{font-size:var(--ui-fs-xl);text-align:center;margin:0}.pause-dialog__desc{color:var(--ui-text-muted);text-align:center;margin:0}.pause-dialog__actions{gap:var(--ui-space-2);flex-direction:column;display:flex}.pause-dialog__hint{color:var(--ui-text-muted);font-size:var(--ui-fs-xs);text-align:center;margin:0}@keyframes game-fade-in{0%{opacity:0}to{opacity:1}}@media (min-width:600px){.game-screen{gap:var(--ui-space-3);padding-left:calc(var(--ui-space-4) + var(--ui-safe-left));padding-right:calc(var(--ui-space-4) + var(--ui-safe-right))}.game-board-area{--game-board-size:min(calc(100vw - 48px), calc(100dvh - 280px), 560px)}.hud__footer{gap:var(--ui-space-3)}}@media (min-width:1024px),(orientation:landscape) and (min-aspect-ratio:6/5){.game-screen{align-items:center;gap:var(--ui-space-3);padding:calc(var(--ui-space-2) + var(--ui-safe-top)) calc(var(--ui-space-4) + var(--ui-safe-right)) calc(var(--ui-space-2) + var(--ui-safe-bottom)) calc(var(--ui-space-4) + var(--ui-safe-left));grid-template:"topbar topbar topbar""self board rival"minmax(0,1fr)"footer footer footer"/minmax(0,1fr) minmax(0,auto) minmax(0,1fr);display:grid}.hud-topbar{border:1px solid var(--ui-border);border-radius:var(--ui-radius);grid-area:topbar}.hud__side--self{grid-area:self;place-self:center end;width:100%}.hud__side--rival{grid-area:rival;place-self:center start;width:100%}.game-board-host{grid-area:board}.hud__footer{grid-area:footer;width:100%}.game-board-area{--game-board-size:min(calc(100dvh - 48px), 720px)}.hud-player{align-items:stretch;gap:var(--ui-space-2);padding:var(--ui-space-3);flex-direction:column}.hud-player__count{font-size:var(--ui-fs-2xl)}.hud__footer-main{justify-content:center;gap:var(--ui-space-5)}.hud__footer{flex-flow:wrap;justify-content:center;align-items:center}.hud__footer-meta{flex:200px;max-width:360px}.hud-actions{flex:none;min-width:12em}}@media (max-width:359px){.game-screen{gap:var(--ui-space-1);padding-left:calc(var(--ui-space-1) + var(--ui-safe-left));padding-right:calc(var(--ui-space-1) + var(--ui-safe-right))}.hud-topbar__title{font-size:var(--ui-fs-sm)}.hud-player{padding:var(--ui-space-1) var(--ui-space-2)}.hud-player__count{font-size:var(--ui-fs-lg)}.hud-score__value{font-size:var(--ui-fs-md)}.hud-score.is-leader .hud-score__value{font-size:var(--ui-fs-lg)}}[data-motion=off] .a11y-board-grid__cell.is-legal:after,[data-reduced-motion=true] .a11y-board-grid__cell.is-legal:after,[data-motion=off] .pause-overlay,[data-reduced-motion=true] .pause-overlay{animation:none}@media (prefers-reduced-motion:reduce){.a11y-board-grid__cell.is-legal:after{animation:none}}.hud-disc{vertical-align:-.1em;border-radius:50%;flex:none;width:1em;height:1em;display:inline-block}.hud-disc--black{background:var(--ui-disc-black);border:2px solid var(--ui-text-muted);box-shadow:inset 0 0 0 1px #000}.hud-disc--white{background:var(--ui-disc-white);border:2px solid var(--ui-surface-sunken)}[data-disc-marks=on] .hud-disc--black{background-image:repeating-linear-gradient(45deg,#0000 0 3px,#ffffff73 3px 4px)}[data-disc-marks=on] .hud-disc--white{background-image:radial-gradient(circle, var(--ui-surface-sunken) 0 30%, transparent 32%)}.hud-topbar{align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-2) var(--ui-space-3);border-bottom:1px solid var(--ui-border);background:var(--ui-surface);display:flex}.hud-topbar__center{text-align:center;flex:auto;min-width:0}.hud-topbar__title{font-size:var(--ui-fs-md);white-space:nowrap;text-overflow:ellipsis;margin:0;line-height:1.25;overflow:hidden}.hud-topbar__state{align-items:baseline;gap:var(--ui-space-1);color:var(--ui-text-muted);font-size:var(--ui-fs-sm);display:inline-flex}.hud-topbar__dots{letter-spacing:.1em;display:none}.hud-topbar.is-thinking .hud-topbar__dots{animation:1.2s steps(4,end) infinite hud-dots;display:inline}.hud-topbar.is-thinking .hud-topbar__status{color:var(--ui-accent)}.hud-topbar.is-awaiting .hud-topbar__status{color:var(--ui-accent);font-weight:600}@keyframes hud-dots{0%,to{opacity:.2}50%{opacity:1}}.hud-player{justify-content:space-between;align-items:center;gap:var(--ui-space-2);min-width:0;padding:var(--ui-space-2) var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);transition:border-color .16s var(--ui-ease), box-shadow .16s var(--ui-ease);display:flex}.hud-player__head{align-items:center;gap:var(--ui-space-2);min-width:0;display:flex}.hud-player__names{flex-direction:column;min-width:0;line-height:1.2;display:flex}.hud-player__name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.hud-player__sub{color:var(--ui-text-muted);font-size:var(--ui-fs-xs);white-space:nowrap}.hud-player__dots{color:var(--ui-accent);display:none}.hud-player.is-thinking .hud-player__dots{animation:1.2s steps(4,end) infinite hud-dots;display:inline}.hud-player__score{align-items:baseline;gap:var(--ui-space-1);font-variant-numeric:tabular-nums;display:flex}.hud-player__count{font-size:var(--ui-fs-xl);transition:transform .16s var(--ui-ease);font-weight:800;line-height:1}.hud-player__unit{color:var(--ui-text-muted);font-size:var(--ui-fs-xs)}.hud-player.is-leading .hud-player__count{color:var(--ui-gold)}.hud-player.is-turn{border-color:var(--ui-accent-strong);box-shadow:0 0 0 1px var(--ui-accent-strong), 0 0 16px #34d68f4d}.hud-player.is-turn .hud-player__name{color:var(--ui-accent)}.hud-score-panel{gap:var(--ui-space-1);flex-direction:column;min-width:0;display:flex}.hud-score-panel__scores{gap:var(--ui-space-3);align-items:baseline;display:flex}.hud-score{align-items:baseline;gap:var(--ui-space-1);font-variant-numeric:tabular-nums;transition:transform .16s var(--ui-ease);display:inline-flex}.hud-score__name{color:var(--ui-text-muted);font-size:var(--ui-fs-sm)}.hud-score__value{font-size:var(--ui-fs-lg);font-weight:800;line-height:1}.hud-score.is-leader .hud-score__value{font-size:var(--ui-fs-xl);color:var(--ui-gold)}.hud-score.is-trailing .hud-score__value{color:var(--ui-text-muted)}.hud-score.is-punching{animation:hud-punch .22s var(--ui-ease)}@keyframes hud-punch{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}.hud-turn{align-items:center;gap:var(--ui-space-1);color:var(--ui-text-muted);font-size:var(--ui-fs-xs);display:inline-flex}.hud-turn__dot{background:var(--ui-text-muted);border-radius:50%;width:.6em;height:.6em}.hud-turn[data-player="1"] .hud-turn__dot{background:var(--ui-disc-black);border:2px solid var(--ui-text-muted)}.hud-turn[data-player="2"] .hud-turn__dot{background:var(--ui-disc-white)}.hud-turn.is-awaiting{color:var(--ui-accent)}.hud-turn.is-thinking .hud-turn__dot{animation:.9s ease-in-out infinite hud-pulse}@keyframes hud-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}.hud-ratio{align-items:center;gap:var(--ui-space-2);min-width:0;display:flex}.hud-ratio__track{border:1px solid var(--ui-border-strong);background:var(--ui-surface-sunken);border-radius:999px;flex:auto;height:8px;display:flex;overflow:hidden}.hud-ratio__fill{height:100%;transition:width .32s cubic-bezier(.34,1.56,.64,1)}.hud-ratio__fill--black{background:var(--ui-disc-black);box-shadow:inset -2px 0 0 var(--ui-text-muted)}.hud-ratio__fill--white{background:var(--ui-disc-white)}.hud-ratio.is-flash .hud-ratio__track{animation:.5s ease-out hud-ratio-flash}@keyframes hud-ratio-flash{0%{box-shadow:0 0 #ffd166cc}to{box-shadow:0 0 0 6px #ffd16600}}.hud-ratio__label{color:var(--ui-text-muted);font-size:var(--ui-fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.hud-style{align-items:baseline;gap:var(--ui-space-1);font-variant-numeric:tabular-nums;display:inline-flex;position:relative}.hud-style__icon{color:var(--ui-gold)}.hud-style__label{color:var(--ui-text-muted);font-size:var(--ui-fs-xs);letter-spacing:.08em}.hud-style__value{font-weight:800;font-size:var(--ui-fs-lg);line-height:1}.hud-style.is-gaining .hud-style__value{animation:hud-punch .22s var(--ui-ease)}.hud-style__floats{pointer-events:none;width:0;height:0;position:absolute;bottom:0;left:100%}.hud-style__float{color:var(--ui-gold);white-space:nowrap;opacity:0;font-weight:800;position:absolute;bottom:0;left:0}.hud-style__float.is-flying{animation:hud-style-float .9s var(--ui-ease) forwards}@keyframes hud-style-float{0%{opacity:0;transform:translate(0)scale(.8)}20%{opacity:1}to{opacity:0;transform:translate(.6em,-1.4em)scale(1.05)}}.hud-streak{align-items:center;gap:var(--ui-space-1);padding:0 var(--ui-space-2);border:1px solid var(--ui-border-strong);background:var(--ui-surface-raised);color:var(--ui-text);font-size:var(--ui-fs-xs);letter-spacing:.04em;white-space:nowrap;border-radius:999px;font-weight:700;display:inline-flex}.hud-streak__flame{filter:grayscale(.2)}.hud-streak__value{font-variant-numeric:tabular-nums}.hud-streak.is-active{border-color:var(--ui-gold);color:var(--ui-gold);animation:hud-streak-in .24s var(--ui-ease)}.hud-streak.is-hot .hud-streak__flame,.hud-streak.is-max .hud-streak__flame{animation:.7s ease-in-out infinite hud-flame}.hud-streak.is-hot{font-size:var(--ui-fs-sm)}.hud-streak.is-max{font-size:var(--ui-fs-sm);box-shadow:0 0 12px #ffd16673}@keyframes hud-streak-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}@keyframes hud-flame{0%,to{transform:scale(1)}50%{transform:scale(1.18)rotate(-4deg)}}.hud-xp{align-items:center;gap:var(--ui-space-2);min-width:0;font-size:var(--ui-fs-xs);color:var(--ui-text-muted);display:flex}.hud-xp__level{color:var(--ui-text);flex:none;font-weight:700}.hud-xp__track{background:var(--ui-surface-sunken);border:1px solid var(--ui-border);border-radius:999px;flex:auto;height:6px;overflow:hidden}.hud-xp__fill{background:linear-gradient(90deg, var(--ui-accent-strong), var(--ui-accent));height:100%;transition:width .4s var(--ui-ease)}.hud-xp__remaining{white-space:nowrap;font-variant-numeric:tabular-nums;flex:none}.hud-actions{gap:var(--ui-space-2);display:flex}.hud-action{flex:1 1 0;min-width:0}.hud-popup-layer{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.hud-popup{white-space:nowrap;letter-spacing:.02em;text-align:center;text-shadow:0 2px #0000008c,0 0 12px #00000073;will-change:transform, opacity;font-weight:900;position:absolute;transform:translate(-50%,-50%)}.hud-popup--combo{color:var(--ui-text);animation:hud-popup-pop .75s var(--ui-ease) forwards;font-size:clamp(1.1rem,5vw,2rem)}.hud-popup--combo.is-tier-0{color:var(--ui-accent);font-size:clamp(.9rem,3.5vw,1.25rem)}.hud-popup--combo.is-tier-1{color:var(--ui-accent)}.hud-popup--combo.is-tier-2{color:var(--ui-gold)}.hud-popup--combo.is-tier-3{color:#ffb36b;font-size:clamp(1.2rem,6vw,2.4rem)}.hud-popup--combo.is-tier-4{background:linear-gradient(90deg,#ff8a8a,#ffd166,#6ff2b2,#9ad8ff);color:#0000;filter:drop-shadow(0 2px #0000008c);-webkit-background-clip:text;background-clip:text;font-size:clamp(1.3rem,6.5vw,2.6rem)}.hud-popup--counter{color:var(--ui-gold);animation:hud-counter-pop .7s var(--ui-ease) forwards;font-size:clamp(.85rem,3.5vw,1.2rem);transform:translate(-50%,-160%)}.hud-popup--judgement{font-size:var(--ui-fs-sm);padding:0 var(--ui-space-2);background:var(--ui-surface-raised);border:1px solid var(--ui-accent-strong);color:var(--ui-accent);animation:hud-judgement .9s var(--ui-ease) forwards;border-radius:999px;transform:translate(-50%,-240%)}.hud-popup--judgement.is-good{border-color:var(--ui-border-strong);color:var(--ui-text)}@keyframes hud-popup-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}18%{opacity:1;transform:translate(-50%,-50%)scale(1.4)}30%{transform:translate(-50%,-50%)scale(1)}60%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-120%)scale(1)}}@keyframes hud-counter-pop{0%{opacity:0;transform:translate(-50%,-120%)scale(.6)}25%{opacity:1;transform:translate(-50%,-160%)scale(1.15)}to{opacity:0;transform:translate(-50%,-260%)scale(1)}}@keyframes hud-judgement{0%{opacity:0;transform:translate(-50%,-200%)scale(.7)}20%{opacity:1;transform:translate(-50%,-240%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-300%)scale(1)}}.hud-banner{z-index:3;pointer-events:none;text-align:center;position:absolute;top:8%;left:50%;transform:translate(-50%)}.hud-banner.is-visible .hud-banner__panel{animation:hud-banner-in .26s var(--ui-ease) both}.hud-banner__panel{align-items:center;gap:var(--ui-space-1);padding:var(--ui-space-2) var(--ui-space-5);border:2px solid var(--ui-gold);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);background:#14201ceb;flex-direction:column;display:inline-flex}.hud-banner__text{letter-spacing:.04em;color:var(--ui-gold);font-size:clamp(1.1rem,5vw,1.8rem);font-weight:900}.hud-banner__sub{color:var(--ui-text);font-size:var(--ui-fs-sm)}.hud-banner.is-tone-positive .hud-banner__panel{border-color:var(--ui-accent)}.hud-banner.is-tone-positive .hud-banner__text{color:var(--ui-accent)}.hud-banner.is-tone-neutral .hud-banner__panel{border-color:var(--ui-border-strong)}.hud-banner.is-tone-neutral .hud-banner__text{color:var(--ui-text)}@keyframes hud-banner-in{0%{opacity:0;transform:translateY(-12px)scale(.92)}to{opacity:1;transform:none}}[data-motion=off] .hud-popup,[data-reduced-motion=true] .hud-popup,[data-motion=off] .hud-banner__panel,[data-reduced-motion=true] .hud-banner__panel,[data-motion=off] .hud-score.is-punching,[data-reduced-motion=true] .hud-score.is-punching,[data-motion=off] .hud-streak,[data-reduced-motion=true] .hud-streak,[data-motion=off] .hud-ratio.is-flash .hud-ratio__track,[data-reduced-motion=true] .hud-ratio.is-flash .hud-ratio__track,[data-motion=off] .hud-style__float,[data-reduced-motion=true] .hud-style__float{animation:none}[data-motion=off] .hud-popup--combo,[data-reduced-motion=true] .hud-popup--combo{opacity:1}[data-motion=off] .hud-topbar__dots,[data-reduced-motion=true] .hud-topbar__dots,[data-motion=off] .hud-turn.is-thinking .hud-turn__dot,[data-reduced-motion=true] .hud-turn.is-thinking .hud-turn__dot,[data-motion=off] .hud-streak .hud-streak__flame,[data-reduced-motion=true] .hud-streak .hud-streak__flame{animation:none}[data-motion=off] .hud-ratio__fill,[data-reduced-motion=true] .hud-ratio__fill,[data-motion=off] .hud-xp__fill,[data-reduced-motion=true] .hud-xp__fill{transition:none}.result-screen{width:100%;max-width:var(--ui-content-max);padding:calc(var(--ui-space-4) + var(--ui-safe-top)) calc(var(--ui-space-4) + var(--ui-safe-right)) calc(var(--ui-space-4) + var(--ui-safe-bottom)) calc(var(--ui-space-4) + var(--ui-safe-left));gap:var(--ui-space-4);flex-direction:column;flex:auto;margin:0 auto;display:flex}.result-stages{gap:var(--ui-space-3);flex-direction:column;flex:auto;display:flex}.result-stage{display:none}.result-stage.is-done{display:block}.result-stage.is-active{animation:result-stage-in var(--ui-motion-ms) var(--ui-ease) both;display:block}.result-stage__title{margin:0 0 var(--ui-space-2);color:var(--ui-text-muted);font-size:var(--ui-fs-sm);letter-spacing:.08em;font-weight:700}@keyframes result-stage-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.result-stage--cutin{padding:var(--ui-space-5) 0;text-align:center}.result-cutin{font-size:var(--ui-fs-2xl);letter-spacing:.04em;margin:0;font-weight:900;line-height:1.1}[data-result=win] .result-cutin{color:var(--ui-gold);text-shadow:0 0 24px #ffd16673}[data-result=draw] .result-cutin{color:var(--ui-accent)}[data-result=lose] .result-cutin{color:var(--ui-text)}.result-cutin__sub{margin:var(--ui-space-2) 0 0;color:var(--ui-text-muted)}.result-score{align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-4);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.result-score__side{align-items:center;gap:var(--ui-space-1);flex-direction:column;min-width:0;display:flex}.result-score__label{color:var(--ui-text-muted);font-size:var(--ui-fs-xs)}.result-score__value{font-family:var(--ui-font-mono);font-size:var(--ui-fs-2xl);font-variant-numeric:tabular-nums;font-weight:800}.result-score__value--hero{color:var(--ui-accent)}.result-score__value--rival{color:var(--ui-text)}.result-score__vs{color:var(--ui-text-muted);font-size:var(--ui-fs-sm)}.result-highlights{gap:var(--ui-space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.result-highlight{gap:var(--ui-space-1);padding:var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);flex-direction:column;display:flex}.result-highlight__label{color:var(--ui-text-muted);font-size:var(--ui-fs-xs)}.result-highlight__value{color:var(--ui-gold);font-size:var(--ui-fs-lg);font-variant-numeric:tabular-nums;font-weight:800}.result-xp__rows{gap:var(--ui-space-1);margin:0 0 var(--ui-space-2);flex-direction:column;padding:0;list-style:none;display:flex}.result-xp__row{justify-content:space-between;gap:var(--ui-space-2);padding:var(--ui-space-1) var(--ui-space-2);border-radius:var(--ui-radius-sm);background:var(--ui-surface);font-size:var(--ui-fs-sm);animation:result-row-in .16s var(--ui-ease) both;display:flex}.result-xp__row-value{color:var(--ui-accent);font-family:var(--ui-font-mono);font-variant-numeric:tabular-nums}.result-xp__head{margin-bottom:var(--ui-space-1);justify-content:space-between;align-items:baseline;font-weight:700;display:flex}.result-xp__caption{color:var(--ui-accent);font-variant-numeric:tabular-nums}.result-xp__track{background:var(--ui-surface-sunken);border:1px solid var(--ui-border);border-radius:999px;height:10px;overflow:hidden}.result-xp__fill{border-radius:inherit;background:linear-gradient(90deg, var(--ui-accent-strong), var(--ui-accent));width:0;height:100%;transition:width .32s var(--ui-ease);display:block}@keyframes result-row-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.result-levelup{margin-top:var(--ui-space-3);padding:var(--ui-space-3);border:1px solid var(--ui-gold);border-radius:var(--ui-radius);background:var(--ui-surface-raised);color:var(--ui-gold);animation:result-levelup-in .32s var(--ui-ease) both}.result-levelup__title{margin:0 0 var(--ui-space-1);font-weight:900}.result-levelup__rewards{padding-left:var(--ui-space-4);color:var(--ui-text);font-size:var(--ui-fs-sm);margin:0}.result-levelup__skin{margin:var(--ui-space-1) 0 0;color:var(--ui-accent);font-size:var(--ui-fs-sm)}@keyframes result-levelup-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.result-stage--coins.is-active{align-items:center;gap:var(--ui-space-2);flex-wrap:wrap;display:flex}.result-coin{align-items:center;gap:var(--ui-space-1);padding:var(--ui-space-2) var(--ui-space-3);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:999px;display:inline-flex}.result-coin__icon{color:var(--ui-gold)}.result-coin__label{color:var(--ui-text-muted);font-size:var(--ui-fs-xs)}.result-coin__value{color:var(--ui-gold);font-variant-numeric:tabular-nums;font-weight:800}.result-capsule{align-items:center;gap:var(--ui-space-2);min-height:var(--ui-tap-min);padding:var(--ui-space-2) var(--ui-space-3);border:1px dashed var(--ui-border-strong);border-radius:var(--ui-radius);background:var(--ui-surface-raised);color:var(--ui-text);font:inherit;cursor:pointer;display:inline-flex}.result-capsule__icon{color:var(--ui-accent);animation:1.2s ease-in-out infinite result-capsule-pulse}.result-capsule__value{color:var(--ui-text-muted);font-family:var(--ui-font-mono)}.result-capsule.is-opened{border-style:solid;border-color:var(--ui-gold)}.result-capsule.is-opened .result-capsule__icon{color:var(--ui-gold);animation:none}.result-capsule.is-opened .result-capsule__value{color:var(--ui-gold);font-weight:800}@keyframes result-capsule-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.result-unlocks{gap:var(--ui-space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.result-unlock{align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-2) var(--ui-space-3);border-radius:var(--ui-radius-sm);background:var(--ui-surface);font-size:var(--ui-fs-sm);display:flex}.result-unlock--none{color:var(--ui-text-muted)}.result-suggestion{margin:0 0 var(--ui-space-2);padding:var(--ui-space-2) var(--ui-space-3);color:var(--ui-accent);font-size:var(--ui-fs-sm);text-align:center;background:#6ff2b21f;border-radius:999px}.result-actions{gap:var(--ui-space-2);flex-direction:column;display:flex}.result-again{width:100%}.result-empty{gap:var(--ui-space-4);padding:var(--ui-space-6) 0;text-align:center;flex-direction:column;display:flex}.result-empty__text{color:var(--ui-text-muted);margin:0}[data-motion=off] .result-stage.is-active,[data-motion=off] .result-xp__row,[data-motion=off] .result-levelup,[data-reduced-motion=true] .result-stage.is-active,[data-reduced-motion=true] .result-xp__row,[data-reduced-motion=true] .result-levelup,[data-motion=off] .result-capsule__icon,[data-reduced-motion=true] .result-capsule__icon{animation:none}[data-motion=off] .result-xp__fill,[data-reduced-motion=true] .result-xp__fill{transition:none}@media (min-width:600px){.result-highlights{grid-template-columns:repeat(4,minmax(0,1fr))}.result-actions{flex-direction:row;justify-content:center}.result-again{width:auto;min-width:50%}}.meta-header{justify-content:space-between;align-items:center;gap:var(--ui-space-2);padding-bottom:var(--ui-space-3);display:flex}.meta-header__heading{align-items:center;gap:var(--ui-space-2);min-width:0;display:flex}.meta-header__titles{min-width:0}.meta-header__title{font-size:var(--ui-fs-xl);margin:0;line-height:1.2}.meta-header__subtitle{margin:var(--ui-space-1) 0 0;color:var(--ui-text-muted);font-size:var(--ui-fs-sm)}.meta-header__actions{align-items:center;gap:var(--ui-space-2);display:flex}.meta-coin{align-items:center;gap:var(--ui-space-1);min-height:var(--ui-tap-min);padding:0 var(--ui-space-3);border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:999px;font-weight:700;display:inline-flex}.meta-coin__icon{color:var(--ui-gold)}.meta-coin__value{font-variant-numeric:tabular-nums}.meta-xp{gap:var(--ui-space-1);flex-direction:column;display:flex}.meta-xp__head{justify-content:space-between;align-items:baseline;gap:var(--ui-space-2);font-size:var(--ui-fs-sm);display:flex}.meta-xp__level{font-weight:800}.meta-xp__caption{color:var(--ui-text-muted)}.meta-xp__track{border:1px solid var(--ui-border);background:var(--ui-surface-sunken);border-radius:999px;height:8px;overflow:hidden}.meta-xp__fill{border-radius:inherit;background:linear-gradient(90deg, var(--ui-accent-strong), var(--ui-accent));height:100%;transition:width .32s var(--ui-ease);display:block}.daily-screen,.puzzle-screen,.collection-screen,.achievements-screen,.stats-screen{width:100%;max-width:var(--ui-content-max);padding:calc(var(--ui-space-3) + var(--ui-safe-top)) calc(var(--ui-space-4) + var(--ui-safe-right)) calc(var(--ui-space-4) + var(--ui-safe-bottom)) calc(var(--ui-space-4) + var(--ui-safe-left));gap:var(--ui-space-3);flex-direction:column;flex:auto;margin:0 auto;display:flex}.daily-main,.puzzle-main,.collection-main,.achievements-main,.stats-main{gap:var(--ui-space-4);overscroll-behavior:contain;flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.daily-section,.stats-section{gap:var(--ui-space-2);padding:var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);flex-direction:column;display:flex}.daily-section__title,.stats-section__title{font-size:var(--ui-fs-md);margin:0}.daily-section__hint{color:var(--ui-text-muted);font-size:var(--ui-fs-xs);margin:0}.daily-login__grid{gap:var(--ui-space-1);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.daily-login__cell{padding:var(--ui-space-2) var(--ui-space-1);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-sunken);font-size:var(--ui-fs-xs);text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.daily-login__cell.is-done{border-color:var(--ui-accent-strong);color:var(--ui-text-muted)}.daily-login__cell.is-current{border-color:var(--ui-gold);box-shadow:inset 0 0 0 1px var(--ui-gold)}.daily-login__coins{color:var(--ui-gold);font-variant-numeric:tabular-nums;font-weight:800}.daily-login__bonus{color:var(--ui-accent)}.daily-login__status{font-size:var(--ui-fs-sm);margin:0}.daily-login__result{color:var(--ui-accent);font-size:var(--ui-fs-sm);margin:0}.daily-ticket{color:var(--ui-text-muted);font-size:var(--ui-fs-xs);margin:0}.daily-missions{gap:var(--ui-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.daily-mission{gap:var(--ui-space-1) var(--ui-space-2);padding:var(--ui-space-2);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-sunken);grid-template-columns:minmax(0,1fr) auto;display:grid}.daily-mission.is-claimable{border-color:var(--ui-gold)}.daily-mission.is-claimed{opacity:.7}.daily-mission__head{align-items:center;gap:var(--ui-space-2);grid-column:1/-1;min-width:0;display:flex}.daily-mission__tier{min-width:1.6em;padding:0 var(--ui-space-1);border-radius:var(--ui-radius-sm);background:var(--ui-surface-raised);color:var(--ui-text-muted);font-size:var(--ui-fs-xs);text-align:center;flex:none}.daily-mission--hard .daily-mission__tier{color:var(--ui-gold)}.daily-mission__text{min-width:0;font-size:var(--ui-fs-sm);flex:auto}.daily-mission__coins{color:var(--ui-gold);font-size:var(--ui-fs-xs);font-variant-numeric:tabular-nums}.daily-mission__progress{align-items:center;gap:var(--ui-space-2);min-width:0;display:flex}.daily-mission__track{background:var(--ui-bg);border-radius:999px;flex:auto;height:8px;overflow:hidden}.daily-mission__fill{border-radius:inherit;background:var(--ui-accent-strong);height:100%;transition:width .32s var(--ui-ease);display:block}.daily-mission__count{color:var(--ui-text-muted);font-size:var(--ui-fs-xs);font-variant-numeric:tabular-nums}.daily-mission__claim{grid-area:2/2}.daily-missions__all{color:var(--ui-accent);font-size:var(--ui-fs-sm);margin:0}.daily-puzzle__status{color:var(--ui-text-muted);font-size:var(--ui-fs-sm);margin:0}.puzzle-turn{color:var(--ui-text-muted);font-size:var(--ui-fs-sm);text-align:center;margin:0}.puzzle-board{aspect-ratio:1;border-radius:var(--ui-radius);background:#1f5c3f;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;width:100%;max-width:100%;padding:4px;display:grid}.puzzle-cell{min-width:0;min-height:0;color:inherit;font:inherit;cursor:default;background:#2a7a55;border:1px solid #00000059;border-radius:2px;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.puzzle-cell.is-empty:not(:disabled){cursor:pointer}.puzzle-cell.is-empty:not(:disabled):after{content:"";aspect-ratio:1;background:#ffffff73;border-radius:999px;width:18%}.puzzle-cell.is-selected{outline:3px solid var(--ui-gold);outline-offset:-3px}.puzzle-cell__disc{aspect-ratio:1;border-radius:999px;width:78%;font-size:0;display:block}.puzzle-cell.is-black .puzzle-cell__disc{background:var(--ui-disc-black);border:1px solid var(--ui-border-strong)}.puzzle-cell.is-white .puzzle-cell__disc{background:var(--ui-disc-white);border:1px solid var(--ui-border)}.puzzle-cell.is-black .puzzle-cell__disc:after{content:"";aspect-ratio:1;background:var(--ui-disc-white);border-radius:999px;width:30%;margin:35% auto 0;display:block}.puzzle-confirm{align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-2);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius);background:var(--ui-surface-raised);flex-wrap:wrap;display:flex}.puzzle-confirm__text{flex:auto;font-weight:700}.puzzle-verdict{gap:var(--ui-space-1);padding:var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);flex-direction:column;display:flex}.puzzle-verdict.is-correct{border-color:var(--ui-accent)}.puzzle-verdict.is-wrong{border-color:var(--ui-gold)}.puzzle-verdict__title{font-size:var(--ui-fs-xl);margin:0;font-weight:900}.puzzle-verdict.is-correct .puzzle-verdict__title{color:var(--ui-accent)}.puzzle-verdict.is-wrong .puzzle-verdict__title{color:var(--ui-gold)}.puzzle-verdict__detail{color:var(--ui-text-muted);font-size:var(--ui-fs-sm);margin:0}.puzzle-explain{gap:var(--ui-space-2);padding:var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);flex-direction:column;display:flex}.puzzle-explain__title{font-size:var(--ui-fs-md);margin:0}.puzzle-explain__info{color:var(--ui-text-muted);font-size:var(--ui-fs-sm);margin:0}.puzzle-explain__actions,.puzzle-actions{gap:var(--ui-space-2);flex-wrap:wrap;display:flex}.collection-summary{justify-content:flex-end;display:flex}.collection-count{color:var(--ui-text-muted);font-size:var(--ui-fs-sm);font-variant-numeric:tabular-nums}.collection-tabs{gap:var(--ui-space-1);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.collection-tab{min-height:var(--ui-tap-min);padding:var(--ui-space-1);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);color:var(--ui-text-muted);font:inherit;font-size:var(--ui-fs-xs);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.collection-tab.is-selected{border-color:var(--ui-accent);color:var(--ui-text);box-shadow:inset 0 0 0 1px var(--ui-accent)}.collection-tab__icon{font-size:var(--ui-fs-md)}.collection-grid{gap:var(--ui-space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.collection-card{gap:var(--ui-space-2);padding:var(--ui-space-2);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);flex-direction:column;display:flex}.collection-card.is-equipped{border-color:var(--ui-accent)}.collection-card.is-locked{opacity:.75}.collection-card__preview{aspect-ratio:16/9;border-radius:var(--ui-radius-sm);background:var(--ui-surface-sunken);justify-content:center;align-items:center;display:flex}.collection-card__disc{aspect-ratio:1;background:radial-gradient(circle at 35% 30%, #fff 0 18%, var(--ui-disc-black) 60%);border:1px solid var(--ui-border-strong);border-radius:999px;width:40%}.collection-card__preview.is-disc-neon .collection-card__disc{box-shadow:0 0 18px var(--ui-accent)}.collection-card__preview.is-disc-candy .collection-card__disc{background:radial-gradient(circle at 35% 30%,#fff 0 18%,#ff8fc7 60%)}.collection-card__board{aspect-ratio:1;background:repeating-conic-gradient(#2a7a55 0% 25%,#1f5c3f 0% 50%) 50%/25% 25%;border-radius:4px;width:60%}.collection-card__spark,.collection-card__note{color:var(--ui-gold);font-size:var(--ui-fs-xl)}.collection-card__body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.collection-card__name{font-size:var(--ui-fs-sm);margin:0}.collection-card__desc{color:var(--ui-text-muted);font-size:var(--ui-fs-xs);margin:0}.collection-card__unlock{color:var(--ui-accent);font-size:var(--ui-fs-xs);margin:0}.collection-card__unlock.is-locked{color:var(--ui-text-muted)}.collection-card__actions .ui-btn{width:100%}.collection-notice{padding:var(--ui-space-2);border:1px solid var(--ui-gold);border-radius:var(--ui-radius-sm);color:var(--ui-gold);font-size:var(--ui-fs-sm);margin:0}.collection-confirm{gap:var(--ui-space-1);flex-direction:column;display:flex}.collection-confirm p{margin:0}.collection-confirm__price{color:var(--ui-gold);font-weight:800}.collection-confirm__balance{color:var(--ui-text-muted);font-size:var(--ui-fs-sm)}.achievements-summary-wrap{gap:var(--ui-space-1);flex-direction:column;display:flex}.achievements-summary{margin:0;font-weight:700}.achievements-summary__track{border:1px solid var(--ui-border);background:var(--ui-surface-sunken);border-radius:999px;height:8px;overflow:hidden}.achievements-summary__fill{border-radius:inherit;background:var(--ui-gold);height:100%;transition:width .32s var(--ui-ease);display:block}.achievements-filters{gap:var(--ui-space-1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.achievements-filter{min-height:var(--ui-tap-min);padding:var(--ui-space-1);border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text-muted);font:inherit;font-size:var(--ui-fs-sm);cursor:pointer;border-radius:999px}.achievements-filter.is-selected{border-color:var(--ui-accent);color:var(--ui-text);box-shadow:inset 0 0 0 1px var(--ui-accent)}.achievements-list{gap:var(--ui-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.achievements-item{gap:var(--ui-space-2);padding:var(--ui-space-2);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);display:flex}.achievements-item__medal{width:var(--ui-tap-min);height:var(--ui-tap-min);background:var(--ui-surface-sunken);border:1px solid var(--ui-border);border-radius:999px;flex:none;justify-content:center;align-items:center;display:flex}.achievements-item.is-unlocked .achievements-item__medal{border-color:var(--ui-gold);color:var(--ui-gold)}.achievements-item.is-locked .achievements-item__medal{color:var(--ui-surface-sunken);background:var(--ui-border)}.achievements-item.is-locked .achievements-item__name{color:var(--ui-text-muted)}.achievements-item__body{gap:var(--ui-space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.achievements-item__head{justify-content:space-between;gap:var(--ui-space-2);display:flex}.achievements-item__name{font-size:var(--ui-fs-sm);margin:0}.achievements-item__coins{color:var(--ui-gold);font-size:var(--ui-fs-xs);font-variant-numeric:tabular-nums}.achievements-item__desc,.achievements-item__state{color:var(--ui-text-muted);font-size:var(--ui-fs-xs);margin:0}.achievements-item.is-unlocked .achievements-item__state{color:var(--ui-accent)}.achievements-item__progress{align-items:center;gap:var(--ui-space-2);display:flex}.achievements-item__track{background:var(--ui-bg);border-radius:999px;flex:auto;height:6px;overflow:hidden}.achievements-item__fill{border-radius:inherit;background:var(--ui-accent-strong);height:100%;display:block}.achievements-item__count{color:var(--ui-text-muted);font-size:var(--ui-fs-xs);font-variant-numeric:tabular-nums}.achievements-empty{color:var(--ui-text-muted);text-align:center;margin:0}.stats-profile{gap:var(--ui-space-2);padding:var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);flex-direction:column;display:flex}.stats-profile__title{font-size:var(--ui-fs-lg);margin:0;font-weight:800}.stats-profile__xp{color:var(--ui-text-muted);font-size:var(--ui-fs-xs);margin:0}.stats-cards{gap:var(--ui-space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.stats-card{padding:var(--ui-space-2);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);flex-direction:column;gap:2px;display:flex}.stats-card__label{color:var(--ui-text-muted);font-size:var(--ui-fs-xs)}.stats-card__value{font-size:var(--ui-fs-md);font-variant-numeric:tabular-nums;font-weight:800}.stats-levels{gap:var(--ui-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.stats-level{align-items:center;gap:var(--ui-space-2);font-size:var(--ui-fs-sm);grid-template-columns:5.5rem minmax(0,1fr) auto;display:grid}.stats-level.is-empty{color:var(--ui-text-muted)}.stats-level__track{background:var(--ui-surface-sunken);border-radius:999px;height:8px;overflow:hidden}.stats-level__fill{border-radius:inherit;background:var(--ui-accent-strong);height:100%;display:block}.stats-level__value{color:var(--ui-text-muted);font-size:var(--ui-fs-xs);font-variant-numeric:tabular-nums;text-align:right}[data-motion=off] .meta-xp__fill,[data-motion=off] .daily-mission__fill,[data-motion=off] .achievements-summary__fill,[data-reduced-motion=true] .meta-xp__fill,[data-reduced-motion=true] .daily-mission__fill,[data-reduced-motion=true] .achievements-summary__fill{transition:none}@media (min-width:600px){.collection-grid,.stats-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-login__grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (max-width:359px){.daily-screen,.puzzle-screen,.collection-screen,.achievements-screen,.stats-screen{padding-left:calc(var(--ui-space-3) + var(--ui-safe-left));padding-right:calc(var(--ui-space-3) + var(--ui-safe-right))}.collection-grid{grid-template-columns:minmax(0,1fr)}.stats-level{grid-template-columns:4.5rem minmax(0,1fr) auto}}:root{--ui-bg:#0b1210;--ui-surface:#14201c;--ui-surface-raised:#1c2b26;--ui-surface-sunken:#0a0f0e;--ui-border:#3a4d46;--ui-border-strong:#5d776d;--ui-text:#f1f6f3;--ui-text-muted:#a9bbb3;--ui-text-inverse:#06100c;--ui-accent:#6ff2b2;--ui-accent-strong:#34d68f;--ui-accent-ink:#04140d;--ui-gold:#ffd166;--ui-gold-ink:#1b1403;--ui-danger:#ff8a8a;--ui-danger-ink:#2a0707;--ui-focus:#9ad8ff;--ui-disc-black:#101312;--ui-disc-white:#f7faf8;--ui-font:system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", "Yu Gothic", sans-serif;--ui-font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--ui-fs-xs:.75rem;--ui-fs-sm:.875rem;--ui-fs-md:1rem;--ui-fs-lg:1.25rem;--ui-fs-xl:1.75rem;--ui-fs-2xl:2.5rem;--ui-lh:1.55;--ui-space-1:.25rem;--ui-space-2:.5rem;--ui-space-3:.75rem;--ui-space-4:1rem;--ui-space-5:1.5rem;--ui-space-6:2rem;--ui-space-7:3rem;--ui-radius-sm:6px;--ui-radius:12px;--ui-radius-lg:20px;--ui-shadow:0 6px 24px #00000073;--ui-tap-min:44px;--ui-content-max:560px;--ui-wide-max:1024px;--ui-safe-top:env(safe-area-inset-top,0px);--ui-safe-right:env(safe-area-inset-right,0px);--ui-safe-bottom:env(safe-area-inset-bottom,0px);--ui-safe-left:env(safe-area-inset-left,0px);--ui-motion-ms:.25s;--ui-text-scale:1;--ui-ease:cubic-bezier(.2, .7, .2, 1)}.ui-root{font-size:calc(var(--ui-fs-md) * var(--ui-text-scale))}[data-contrast=high]{--ui-bg:#000;--ui-surface:#0d0d0d;--ui-surface-raised:#1a1a1a;--ui-border:#8a8a8a;--ui-border-strong:#fff;--ui-text:#fff;--ui-text-muted:#e0e0e0;--ui-accent:#fff;--ui-accent-ink:#000;--ui-focus:#ff0}[data-motion=off] *,[data-reduced-motion=true] *{scroll-behavior:auto!important}[data-motion=off] .ui-screen--enter,[data-motion=off] .ui-screen--leave,[data-reduced-motion=true] .ui-screen--enter,[data-reduced-motion=true] .ui-screen--leave{animation-name:ui-fade-in;animation-duration:.1s;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ui-btn{justify-content:center;align-items:center;gap:var(--ui-space-2);min-height:var(--ui-tap-min);min-width:var(--ui-tap-min);padding:var(--ui-space-2) var(--ui-space-4);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface-raised);color:var(--ui-text);font:inherit;cursor:pointer;transition:transform .12s var(--ui-ease), background-color .12s var(--ui-ease), border-color .12s var(--ui-ease);text-align:center;font-weight:600;line-height:1.2;display:inline-flex}.ui-btn:hover:not(:disabled){border-color:var(--ui-border-strong);background:#24362f}.ui-btn:active:not(:disabled){transform:scale(.97)}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.ui-btn--primary{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-ink)}.ui-btn--primary:hover:not(:disabled){background:var(--ui-accent-strong);border-color:var(--ui-accent-strong)}.ui-btn--ghost{color:var(--ui-text);background:0 0;border-color:#0000}.ui-btn--ghost:hover:not(:disabled){background:var(--ui-surface);border-color:var(--ui-border)}.ui-btn--danger{background:var(--ui-danger);border-color:var(--ui-danger);color:var(--ui-danger-ink)}.ui-btn--chip{min-height:var(--ui-tap-min);padding:var(--ui-space-1) var(--ui-space-3);font-size:var(--ui-fs-sm);color:var(--ui-text-muted);background:0 0;border-radius:999px;font-weight:500}.ui-btn--chip:hover:not(:disabled){color:var(--ui-text)}.ui-btn--sm{min-height:var(--ui-tap-min);font-size:var(--ui-fs-sm)}.ui-btn--lg{min-height:56px;padding:var(--ui-space-3) var(--ui-space-6);border-radius:var(--ui-radius-lg);font-size:var(--ui-fs-lg)}.ui-btn[data-primary]{box-shadow:0 0 0 1px #6ff2b259,0 8px 28px #34d68f40}.ui-icon-btn{width:var(--ui-tap-min);height:var(--ui-tap-min);border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);font:inherit;font-size:var(--ui-fs-lg);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-icon-btn:hover:not(:disabled){border-color:var(--ui-border-strong)}.ui-icon-btn:disabled{opacity:.45}.ui-root :focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}.ui-toggle{justify-content:space-between;align-items:center;gap:var(--ui-space-3);width:100%;min-height:var(--ui-tap-min);padding:var(--ui-space-2) 0;color:var(--ui-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.ui-toggle__label{flex:auto;min-width:0}.ui-toggle__track{border:1px solid var(--ui-border-strong);background:var(--ui-surface-sunken);width:48px;height:28px;transition:background-color .16s var(--ui-ease);border-radius:999px;flex:none;position:relative}.ui-toggle__thumb{background:var(--ui-text-muted);width:20px;height:20px;transition:transform .16s var(--ui-ease), background-color .16s var(--ui-ease);border-radius:50%;position:absolute;top:3px;left:3px}.ui-toggle.is-on .ui-toggle__track{background:var(--ui-accent-strong);border-color:var(--ui-accent-strong)}.ui-toggle.is-on .ui-toggle__thumb{background:var(--ui-accent-ink);transform:translate(20px)}.ui-toggle__state{color:var(--ui-text-muted);font-size:var(--ui-fs-sm);text-align:right;flex:0 0 2.5em}[data-motion=off] .ui-toggle__thumb,[data-motion=off] .ui-toggle__track{transition:none}.ui-slider{gap:var(--ui-space-1);padding:var(--ui-space-2) 0;flex-direction:column;display:flex}.ui-slider__head{justify-content:space-between;align-items:baseline;gap:var(--ui-space-3);display:flex}.ui-slider__label{color:var(--ui-text)}.ui-slider__value{color:var(--ui-text-muted);font-variant-numeric:tabular-nums}.ui-slider__input{width:100%;height:var(--ui-tap-min);accent-color:var(--ui-accent-strong);cursor:pointer;margin:0}.ui-field{gap:var(--ui-space-2);margin:var(--ui-space-2) 0;flex-direction:column;display:flex}.ui-field__label{color:var(--ui-text-muted);font-size:var(--ui-fs-sm)}.ui-segmented{gap:var(--ui-space-1);padding:var(--ui-space-1);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface-sunken);flex-wrap:wrap;display:flex}.ui-segmented__option{min-width:64px;min-height:var(--ui-tap-min);padding:var(--ui-space-1) var(--ui-space-3);border-radius:var(--ui-radius-sm);color:var(--ui-text-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;flex:auto;font-weight:600}.ui-segmented__option:hover:not(:disabled){color:var(--ui-text)}.ui-segmented__option.is-selected{background:var(--ui-accent);color:var(--ui-accent-ink)}.ui-segmented__option:disabled{opacity:.45;cursor:not-allowed}.is-disabled{opacity:.55}.ui-section{margin:var(--ui-space-5) 0}.ui-section__head{margin-bottom:var(--ui-space-2)}.ui-section__title{font-size:var(--ui-fs-lg);color:var(--ui-text);margin:0}.ui-section__hint{margin:var(--ui-space-1) 0 0;color:var(--ui-text-muted);font-size:var(--ui-fs-sm)}.ui-section__body{gap:var(--ui-space-1);padding:var(--ui-space-2) var(--ui-space-4);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);flex-direction:column;display:flex}.ui-field-row{justify-content:space-between;align-items:center;gap:var(--ui-space-3);min-height:var(--ui-tap-min);display:flex}.ui-field-row__text{flex-direction:column;min-width:0;display:flex}.ui-field-row__desc{color:var(--ui-text-muted);font-size:var(--ui-fs-sm)}.ui-textfield{gap:var(--ui-space-1);margin:var(--ui-space-2) 0;flex-direction:column;display:flex}.ui-textfield__label{color:var(--ui-text-muted);font-size:var(--ui-fs-sm)}.ui-input{width:100%;min-height:var(--ui-tap-min);padding:var(--ui-space-2) var(--ui-space-3);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-sm);background:var(--ui-surface-sunken);color:var(--ui-text);font:inherit;font-family:var(--ui-font-mono);font-size:var(--ui-fs-sm);-webkit-user-select:text;user-select:text}.ui-input--area{resize:vertical}.ui-modal-backdrop{z-index:100;padding:calc(var(--ui-space-4) + var(--ui-safe-top)) var(--ui-space-4) calc(var(--ui-space-4) + var(--ui-safe-bottom));animation:ui-fade-in var(--ui-motion-ms) var(--ui-ease) both;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-modal{border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-lg);background:var(--ui-surface-raised);width:min(100%,480px);max-height:min(90dvh,720px);box-shadow:var(--ui-shadow);animation:ui-fade-scale-in var(--ui-motion-ms) var(--ui-ease) both;outline:none;flex-direction:column;display:flex}.ui-modal--wide{width:min(100%,720px)}.ui-modal__head{justify-content:space-between;align-items:center;gap:var(--ui-space-3);padding:var(--ui-space-4);border-bottom:1px solid var(--ui-border);display:flex}.ui-modal__title{font-size:var(--ui-fs-lg);margin:0}.ui-modal__close{width:var(--ui-tap-min);height:var(--ui-tap-min);color:var(--ui-text);font-size:var(--ui-fs-xl);cursor:pointer;background:0 0;border:0;border-radius:999px;line-height:1}.ui-modal__close:hover{background:var(--ui-surface)}.ui-modal__body{min-height:0;padding:var(--ui-space-4);flex:auto;overflow-y:auto}.ui-modal__text{color:var(--ui-text);margin:0}.ui-modal__actions{justify-content:flex-end;gap:var(--ui-space-2);padding:var(--ui-space-4);border-top:1px solid var(--ui-border);flex-wrap:wrap;display:flex}.ui-toast-host{right:calc(var(--ui-space-4) + var(--ui-safe-right));bottom:calc(var(--ui-space-4) + var(--ui-safe-bottom));z-index:200;gap:var(--ui-space-2);max-width:min(360px, calc(100vw - 2 * var(--ui-space-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.ui-toast-list{gap:var(--ui-space-2);flex-direction:column;display:flex}.ui-toast{align-items:flex-start;gap:var(--ui-space-2);padding:var(--ui-space-3) var(--ui-space-4);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius);background:var(--ui-surface-raised);color:var(--ui-text);box-shadow:var(--ui-shadow);font-size:var(--ui-fs-sm);pointer-events:auto;animation:ui-toast-in .18s var(--ui-ease) both;display:flex}.ui-toast__icon{color:var(--ui-accent);flex:none;font-weight:700}.ui-toast--warning .ui-toast__icon{color:var(--ui-gold)}.ui-toast--error .ui-toast__icon{color:var(--ui-danger)}.ui-toast--leaving{opacity:0}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ui-placeholder{justify-content:center;align-items:center;gap:var(--ui-space-3);padding:var(--ui-space-6);text-align:center;flex-direction:column;flex:auto;display:flex}.ui-placeholder__title{font-size:var(--ui-fs-lg);margin:0}.ui-placeholder__hint{color:var(--ui-text-muted);margin:0}.ui-placeholder__actions{gap:var(--ui-space-2);display:flex}.boot-screen{padding:calc(var(--ui-space-4) + var(--ui-safe-top)) var(--ui-space-4) calc(var(--ui-space-4) + var(--ui-safe-bottom));flex:auto;justify-content:center;align-items:center;display:flex}.boot-notice{width:min(100%,480px);padding:var(--ui-space-5);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-lg);background:var(--ui-surface-raised);box-shadow:var(--ui-shadow)}.boot-notice__title{margin:0 0 var(--ui-space-3);font-size:var(--ui-fs-lg)}.boot-notice__text{margin:0 0 var(--ui-space-3);color:var(--ui-text)}.boot-notice__hint{margin:0 0 var(--ui-space-3);color:var(--ui-text-muted);font-size:var(--ui-fs-sm)}.boot-notice__actions{margin-top:var(--ui-space-4);justify-content:flex-end;display:flex}.boot-notice .ui-btn[data-primary]{width:100%}.boot-splash{gap:var(--ui-space-2);display:flex}.boot-splash__disc{border:2px solid var(--ui-border-strong);border-radius:50%;width:24px;height:24px}.boot-splash__disc--black{background:var(--ui-disc-black)}.boot-splash__disc--white{background:var(--ui-disc-white)}.title-screen{justify-content:space-between;gap:var(--ui-space-4);width:100%;max-width:var(--ui-content-max);padding:calc(var(--ui-space-3) + var(--ui-safe-top)) calc(var(--ui-space-4) + var(--ui-safe-right)) calc(var(--ui-space-4) + var(--ui-safe-bottom)) calc(var(--ui-space-4) + var(--ui-safe-left));flex-direction:column;flex:auto;margin:0 auto;display:flex}.title-screen__top{justify-content:space-between;align-items:center;gap:var(--ui-space-2);display:flex}.title-badges{align-items:center;gap:var(--ui-space-2);min-width:0;display:flex}.title-coin,.title-level{align-items:center;gap:var(--ui-space-1);min-height:32px;padding:var(--ui-space-1) var(--ui-space-3);border:1px solid var(--ui-border);background:var(--ui-surface);font-size:var(--ui-fs-sm);font-variant-numeric:tabular-nums;border-radius:999px;display:inline-flex}.title-coin__icon{color:var(--ui-gold)}.title-screen__hero{flex:auto;justify-content:center;align-items:center;min-height:0;display:flex}.title-logo{align-items:center;gap:var(--ui-space-2);letter-spacing:.04em;text-align:center;flex-direction:column;margin:0;font-size:clamp(1.75rem,9vw,3.25rem);font-weight:900;line-height:1;display:flex}.title-logo__text{align-items:center;display:inline-flex}.title-logo__sub{color:var(--ui-accent);letter-spacing:.5em;font-size:.5em}.title-logo__o{font-size:inherit;width:var(--ui-tap-min);height:var(--ui-tap-min);min-width:var(--ui-tap-min);min-height:var(--ui-tap-min);margin:calc((var(--ui-tap-min) - 1em) / -2) .04em;cursor:pointer;vertical-align:middle;perspective:200px;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.title-logo__disc{background:var(--ui-disc-white);width:.86em;height:.86em;box-shadow:inset 0 0 0 .06em var(--ui-border-strong);transition:transform .32s var(--ui-ease), background-color .32s var(--ui-ease);border-radius:50%}.title-logo__o.is-flipped .title-logo__disc{background:var(--ui-disc-black);transform:rotateY(180deg)}.title-screen__bottom{gap:var(--ui-space-3);flex-direction:column;display:flex}.title-play-wrap{align-items:center;gap:var(--ui-space-1);flex-direction:column;display:flex}.title-play{width:100%;max-width:420px}.title-play__hint{color:var(--ui-text-muted);font-size:var(--ui-fs-sm);margin:0}.title-menu{gap:var(--ui-space-1);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.title-menu__item{gap:var(--ui-space-1);min-width:0;padding:var(--ui-space-2) var(--ui-space-1);font-size:var(--ui-fs-sm);flex-direction:column;font-weight:500;position:relative}.title-menu__icon{font-size:var(--ui-fs-lg)}.title-menu__badge{background:var(--ui-gold);min-width:18px;height:18px;color:var(--ui-gold-ink);font-size:var(--ui-fs-xs);text-align:center;border-radius:999px;padding:0 4px;font-weight:800;line-height:18px;position:absolute;top:2px;right:6px}.title-menu__badge.is-pulsing{animation:1.6s ease-in-out infinite title-badge-pulse}[data-motion=off] .title-menu__badge.is-pulsing,[data-reduced-motion=true] .title-menu__badge.is-pulsing{animation:none}@keyframes title-badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.mode-screen{gap:var(--ui-space-4);width:100%;max-width:var(--ui-content-max);padding:calc(var(--ui-space-3) + var(--ui-safe-top)) calc(var(--ui-space-4) + var(--ui-safe-right)) calc(var(--ui-space-4) + var(--ui-safe-bottom)) calc(var(--ui-space-4) + var(--ui-safe-left));flex-direction:column;flex:auto;margin:0 auto;display:flex}.mode-screen__header{align-items:center;gap:var(--ui-space-2);display:flex}.mode-screen__title{font-size:var(--ui-fs-lg);margin:0}.mode-levels{gap:var(--ui-space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mode-card{align-items:flex-start;gap:var(--ui-space-1);min-height:84px;padding:var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);font:inherit;text-align:left;cursor:pointer;flex-direction:column;display:flex}.mode-card:hover:not(:disabled){border-color:var(--ui-border-strong)}.mode-card.is-selected{border-color:var(--ui-accent);box-shadow:inset 0 0 0 1px var(--ui-accent)}.mode-card__level{color:var(--ui-accent);font-size:var(--ui-fs-sm);font-weight:800}.mode-card.is-selected .mode-card__level{color:var(--ui-accent)}.mode-card__name{font-weight:700}.mode-card__desc{color:var(--ui-text-muted);font-size:var(--ui-fs-xs)}.mode-options{gap:var(--ui-space-2);flex-direction:column;display:flex}.mode-local{text-align:left;justify-content:flex-start}.mode-local.is-on{border-color:var(--ui-accent);box-shadow:inset 0 0 0 1px var(--ui-accent)}.mode-screen__footer{margin-top:auto}.mode-start{width:100%}.settings-panel{flex-direction:column;display:flex}.settings-juice-row,.settings-fx-row{align-items:center;gap:var(--ui-space-2);display:flex}.settings-juice-row>.ui-field,.settings-fx-row>.ui-toggle{flex:auto;min-width:0}.settings-data{gap:var(--ui-space-2);padding:var(--ui-space-2) 0;flex-direction:column;display:flex}.settings-data__actions{gap:var(--ui-space-2);flex-wrap:wrap;display:flex}.settings-danger{padding:var(--ui-space-2) 0;justify-content:flex-start;display:flex}.settings-credit{margin:var(--ui-space-2) 0 0;color:var(--ui-text-muted);font-size:var(--ui-fs-xs)}.settings-footer{padding:var(--ui-space-4) 0;justify-content:center;display:flex}.is-testing{animation:.4s ease-in-out settings-test-shake}.is-testing-flash{animation:.4s ease-in-out settings-test-flash}@keyframes settings-test-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes settings-test-flash{0%,to{filter:brightness()}50%{filter:brightness(1.25)}}@media (min-width:600px){.mode-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.title-menu{gap:var(--ui-space-2)}}@media (min-width:1024px){.title-screen{max-width:var(--ui-wide-max)}.mode-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-card{min-height:96px}}@media (max-width:359px){.ui-screen-frame,.title-screen,.mode-screen{padding-left:calc(var(--ui-space-3) + var(--ui-safe-left));padding-right:calc(var(--ui-space-3) + var(--ui-safe-right))}.ui-segmented__option{min-width:48px;padding:var(--ui-space-1) var(--ui-space-2);font-size:var(--ui-fs-sm)}.title-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-levels{grid-template-columns:minmax(0,1fr)}.ui-toast-host{left:calc(var(--ui-space-2) + var(--ui-safe-left));right:calc(var(--ui-space-2) + var(--ui-safe-right));max-width:none}}*,:before,:after{box-sizing:border-box}html,body{background:var(--ui-bg);color:var(--ui-text);font-family:var(--ui-font);overscroll-behavior:none;margin:0;padding:0}body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.ui-root{height:100vh;height:100dvh;color:var(--ui-text);font-family:var(--ui-font);line-height:var(--ui-lh);-webkit-user-select:none;user-select:none;touch-action:manipulation;background:radial-gradient(120% 80% at 50% -10%, #1d3a2e 0%, transparent 60%), var(--ui-bg);flex-direction:column;display:flex;overflow-x:hidden}.ui-stage{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.ui-overlay-root{z-index:50;position:relative}.ui-screen{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;animation:ui-fade-scale-in var(--ui-motion-ms) var(--ui-ease) both;outline:none;flex-direction:column;flex:auto;display:flex;position:relative;overflow-y:auto}.ui-screen--enter{animation:ui-fade-scale-in var(--ui-motion-ms) var(--ui-ease) both}.ui-screen--leave{animation:ui-fade-out var(--ui-motion-ms) var(--ui-ease) both;pointer-events:none;position:absolute;inset:0}.ui-screen--instant{animation:none}@keyframes ui-fade-scale-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-fade-out{0%{opacity:1}to{opacity:0}}.ui-screen-frame{width:100%;min-height:0;max-width:var(--ui-content-max);padding:calc(var(--ui-space-4) + var(--ui-safe-top)) calc(var(--ui-space-4) + var(--ui-safe-right)) calc(var(--ui-space-4) + var(--ui-safe-bottom)) calc(var(--ui-space-4) + var(--ui-safe-left));flex-direction:column;flex:auto;margin:0 auto;display:flex}.ui-screen__header{justify-content:space-between;align-items:center;gap:var(--ui-space-3);padding-bottom:var(--ui-space-3);flex-wrap:wrap;display:flex}.ui-screen__heading{align-items:center;gap:var(--ui-space-2);min-width:0;display:flex}.ui-screen__titles{min-width:0}.ui-screen__title{font-size:var(--ui-fs-xl);margin:0;line-height:1.2}.ui-screen__subtitle{margin:var(--ui-space-1) 0 0;color:var(--ui-text-muted);font-size:var(--ui-fs-sm)}.ui-screen__actions{align-items:center;gap:var(--ui-space-2);display:flex}.ui-screen__main{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.ui-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}[hidden]{display:none!important}@media (min-width:600px){:root{--ui-content-max:600px}.ui-screen-frame{padding-left:calc(var(--ui-space-6) + var(--ui-safe-left));padding-right:calc(var(--ui-space-6) + var(--ui-safe-right))}.ui-screen__title{font-size:var(--ui-fs-2xl)}}@media (min-width:1024px){:root{--ui-content-max:720px}.ui-screen-frame{max-width:var(--ui-wide-max)}}@media (orientation:landscape) and (max-height:520px){.ui-root{min-height:100dvh}.ui-screen__main{overflow-y:auto}}
