.app-action-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3);border:1px solid var(--color-border-contrast);border-radius:var(--radius-pill);color:var(--type-action-label-color);font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:var(--type-action-label-weight);letter-spacing:var(--type-action-label-letter-spacing);line-height:var(--type-action-label-line-height);box-shadow:none}.app-action-button.primary-action{background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}.app-action-button.secondary-action{background:var(--color-button-secondary-bg);color:var(--color-button-secondary-text)}.app-action-button.danger-action{background:var(--color-button-danger-bg);color:var(--color-button-danger-text)}.primary-action,.secondary-action,.danger-action{width:100%;max-width:min(22rem,75vw);margin-inline:auto}.action-button-rounded{border-radius:var(--radius-pill)}.app-action-button:disabled{opacity:var(--opacity-disabled)}.floating-back-button{position:fixed;top:max(var(--space-3),env(safe-area-inset-top));left:max(var(--space-3),env(safe-area-inset-left));width:var(--size-control-floating);height:var(--size-control-floating);display:grid;place-items:center;z-index:5;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-secondary);box-shadow:none}.floating-back-button .control-icon{width:var(--size-icon-lg);height:var(--size-icon-lg)}.leaderboard-page-shell{background:var(--color-page-bg)}.screen.leaderboard-page-screen{padding:0;justify-content:flex-start;align-items:center;overflow-y:auto;overflow-x:hidden}.leaderboard-page-body{width:min(100%,22rem);padding:var(--space-2) .5rem max(env(safe-area-inset-bottom),2.5rem);flex:0 0 auto}.leaderboard-page-empty{color:var(--type-body-meta-color);text-align:center;padding:var(--space-3) 0;font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:var(--type-body-meta-weight)}.leaderboard-page-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto}.leaderboard-page-table th,.leaderboard-page-table td{padding:var(--space-2, .5rem) var(--space-2);text-align:left;font-family:var(--type-body-meta-family);font-size:var(--type-action-label-size);border-bottom:1px solid var(--color-border-soft);white-space:nowrap}.leaderboard-page-table th{font-size:var(--type-body-meta-size);font-weight:var(--type-body-meta-weight);line-height:var(--type-body-meta-line-height);color:var(--type-body-meta-color);text-transform:var(--type-action-label-wide-text-transform);letter-spacing:var(--type-action-label-wide-letter-spacing)}.leaderboard-page-table .col-rank{width:4.5ch}.leaderboard-page-table .col-player{min-width:0}.leaderboard-page-table .col-combo{width:6ch;text-align:right}.leaderboard-row{position:relative}.leaderboard-row:last-child td{border-bottom:0}.leaderboard-row-first .leaderboard-rank-badge,.leaderboard-row-first .leaderboard-combo-value,.leaderboard-row-first .leaderboard-player-name{color:var(--color-gold)}.leaderboard-rank-badge{display:inline-flex;align-items:center;min-width:0;font-family:var(--type-metric-inline-family);font-size:var(--type-metric-inline-size);font-weight:var(--type-metric-inline-weight);color:var(--color-primary)}.leaderboard-player-name{display:block;font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:var(--type-action-label-weight);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-combo-value{display:inline-block;color:var(--color-primary);font-family:var(--type-metric-inline-family);font-size:var(--type-metric-inline-size);font-weight:var(--type-metric-inline-weight)}@media(max-width:480px){.leaderboard-page-body{padding-left:.25rem;padding-right:.25rem}.leaderboard-page-table th,.leaderboard-page-table td{padding:var(--space-2, .375rem) var(--space-2)}.leaderboard-page-table th{font-size:var(--type-body-meta-size)}}.burst-transition-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:block;pointer-events:all;cursor:default;background-color:transparent}@keyframes sweep-down{0%{transform:translateY(calc(-100dvh - max(80vw,50dvh)))}to{transform:translateY(0)}}@keyframes sweep-up{0%{transform:translateY(0)}to{transform:translateY(calc(-100dvh - max(80vw,50dvh)))}}@keyframes text-fade-in{0%{opacity:0;transform:translateY(calc(var(--space-4) * -1))}to{opacity:1;transform:translateY(0)}}.burst-transition-screen.is-exiting{animation:sweep-up .5s cubic-bezier(.85,0,.15,1) forwards}.wipe-group{position:absolute;left:0;bottom:0;width:100%;height:100dvh;animation:sweep-down .6s cubic-bezier(.85,0,.15,1) both}.wipe-primary{color:var(--color-primary);z-index:1}.wipe-rect{position:absolute;left:0;bottom:0;width:100%;height:200dvh;background-color:currentColor}.wipe-circle{position:absolute;left:50%;top:100%;width:max(160vw,100dvh);height:max(160vw,100dvh);transform:translate(-50%,-50%);border-radius:50%;background-color:currentColor}.wipe-text-overlay{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-inverse);z-index:3;pointer-events:none;opacity:0;animation:text-fade-in .3s ease-out both;animation-delay:.35s}.wipe-text-content{display:inline-flex;align-items:center;justify-content:center;gap:var(--type-display-hero-gap);font-family:var(--type-display-hero-family);font-weight:var(--type-display-hero-weight);letter-spacing:var(--type-display-hero-letter-spacing);text-transform:var(--type-display-hero-text-transform);font-size:var(--type-display-hero-size)}.game-screen{gap:var(--space-3);--combo-backspace-icon-size: 1.75rem;--combo-enter-icon-size: 2rem}.game-screen .single-value-display,.game-screen .multiplayer-board{animation:game-entry-fade .4s ease-out both}.game-screen .single-controls-grid,.game-screen .multiplayer-controls-grid{animation:game-entry-slide-up .5s cubic-bezier(.22,1,.36,1) .12s both}@keyframes game-entry-fade{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes game-entry-slide-up{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.game-screen .single-value-display,.game-screen .multiplayer-board,.game-screen .single-controls-grid,.game-screen .multiplayer-controls-grid{animation:none}}.single-game-screen{flex:1;position:relative}.tutorial-hint{position:absolute;left:0;right:0;z-index:10;display:grid;gap:var(--space-2);width:min(100%,28rem);margin-inline:auto;padding:var(--space-2) var(--space-2);border-radius:var(--radius-panel);background:var(--color-surface-base);pointer-events:none}.tutorial-hint--top{top:0;border-radius:0 0 var(--radius-panel) var(--radius-panel)}.tutorial-hint--bottom{bottom:0;border-radius:var(--radius-panel) var(--radius-panel) 0 0}.tutorial-hint-title{margin:0;font-family:var(--type-action-label-family);font-size:var(--type-body-meta-size);font-weight:800;line-height:1.15;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}.tutorial-hint-body{margin:0;color:var(--color-ink-soft);font-family:var(--type-action-label-family);font-size:var(--type-body-meta-size);font-weight:600;line-height:1.35}.tutorial-hint-actions{display:grid;gap:var(--space-2)}.tutorial-hint .app-action-button{pointer-events:auto}@media(max-width:480px){.tutorial-hint{width:100%;padding:var(--space-2) var(--space-2)}}.single-value-display{position:relative;flex:1;display:grid;place-items:center;text-align:center;min-height:0;overflow:visible}.single-value-display>.number-blob-display{place-self:stretch}.single-value-display strong{display:block;font-family:var(--type-display-game-family);font-size:var(--type-display-game-size);font-weight:var(--type-display-game-weight);line-height:var(--type-display-game-standalone-line-height);color:var(--color-ink);font-variant-numeric:tabular-nums}.single-controls-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:var(--space-2);align-items:stretch;min-height:0;touch-action:none}.keypad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;min-width:0;gap:var(--space-2);margin-top:var(--space-3);touch-action:none}.keypad button{min-height:var(--size-keypad-button-min);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.solo-keypad{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));width:100%;aspect-ratio:1;margin-top:0;gap:var(--keypad-row-gap)}.solo-keypad button{min-height:0}.keypad-row{--keypad-row-gap: var(--space-keypad-gap-compact);--keypad-reserve: 22rem;--keypad-avail-h: max( 10rem, min( var(--size-keypad-cluster-max), calc(100dvh - var(--keypad-reserve)) ) );--keypad-row-w: calc( (4 * var(--keypad-avail-h) + var(--keypad-row-gap)) / 3 );display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--keypad-row-gap);align-items:stretch;touch-action:none;width:min(100%,var(--keypad-row-w));justify-self:center;align-self:center;margin-inline:auto}.keypad-row>.keypad{grid-column:span 3;min-width:0}.combo-actions-column{container-type:inline-size;display:grid;grid-template-rows:1fr 2fr;gap:var(--keypad-row-gap);width:100%;min-width:0;touch-action:none}.combo-backspace-button,.combo-enter-button{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0 var(--space-5);border:0;box-shadow:none;min-width:0}.combo-backspace-button.app-action-button.secondary-action{aspect-ratio:1;padding:0;background:var(--color-game-self)}.combo-enter-button.app-action-button.secondary-action{padding:0;background:var(--color-game-self)}.combo-backspace-button .control-icon{width:var(--combo-backspace-icon-size);height:var(--combo-backspace-icon-size);stroke-width:2.35}.control-button-content{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0}.control-button-main{display:flex;align-items:center;justify-content:center}.control-button-keybind{display:none;position:absolute;top:75%;left:50%;font-family:var(--type-action-label-family);font-size:.62rem;font-weight:800;line-height:1;letter-spacing:.08em;text-transform:uppercase;opacity:.72;transform:translate(-50%,-50%);white-space:nowrap}.combo-enter-button .control-icon{width:var(--combo-enter-icon-size);height:var(--combo-enter-icon-size)}@media(min-width:900px){.game-screen{--combo-backspace-icon-size: 2rem;--combo-enter-icon-size: 2.35rem}.control-button-keybind{display:block}}@media(max-width:768px){.game-screen{--combo-backspace-icon-size: 1.6rem;--combo-enter-icon-size: 1.85rem}}@media(max-width:480px){.game-screen{--combo-backspace-icon-size: 1.45rem;--combo-enter-icon-size: 1.7rem}.keypad-row{--keypad-row-gap: var(--space-keypad-gap-mobile)}.prime-key-button{font-size:var(--type-display-input-compact-size)}}.solo-score-pop{position:absolute;top:50%;left:50%;z-index:5;pointer-events:none;font-family:var(--type-display-burst-family);font-size:var(--type-display-burst-size);font-weight:var(--type-display-burst-soft-weight);color:var(--color-gold);white-space:nowrap;animation:solo-score-pop .9s ease-out forwards}@keyframes solo-score-pop{0%{opacity:0;transform:translate(-50%,-50%) translateY(.3rem) scale(.88)}18%{opacity:1;transform:translate(-50%,-50%) translateY(-.3rem) scale(1.06)}to{opacity:0;transform:translate(-50%,-50%) translateY(-2.5rem) scale(1)}}.multiplayer-game-screen{--multiplayer-tutorial-top-offset: clamp(4.35rem, 15vw, 5.45rem);position:relative;flex:1;gap:var(--space-2);padding-top:max(var(--space-2),env(safe-area-inset-top));padding-right:max(var(--space-2),env(safe-area-inset-right));padding-bottom:max(var(--space-2),env(safe-area-inset-bottom));padding-left:max(var(--space-2),env(safe-area-inset-left))}.multiplayer-controls-grid{position:relative}.multiplayer-game-screen .multiplayer-tutorial-hint-safe-top{top:calc(max(var(--space-2),env(safe-area-inset-top)) + var(--multiplayer-tutorial-top-offset));border-radius:var(--radius-panel)}.tutorial-highlight-frame{outline:2px solid var(--color-highlight-outline);outline-offset:.2rem}.tutorial-highlight-frame-queue{width:100%}.multiplayer-keypad.tutorial-highlight-frame,.tutorial-highlight-button{outline:2px solid var(--color-highlight-outline);outline-offset:.12rem}.multiplayer-board{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);overflow:visible;width:min(100%,32rem);margin-inline:auto}.multiplayer-column{display:grid;place-items:center}.multiplayer-column-enemy{width:min(35%,9rem);aspect-ratio:1;margin-top:auto}.multiplayer-column-self{width:min(55%,15rem);aspect-ratio:1;margin-top:-2rem;margin-bottom:auto;z-index:1}.multiplayer-blob-anchor{position:relative;width:100%;height:100%;display:grid;place-items:center}.multiplayer-column .number-blob-display{padding:0;width:100%;height:100%}.multiplayer-column-self .number-blob-display-size-self{--number-blob-scale-factor: .78}.multiplayer-column-enemy .number-blob-display-size-enemy{--number-blob-scale-factor: .44}.multiplayer-column-self .number-blob-field:before{inset:auto 12% 6%;height:14%;background:transparent;filter:none}.multiplayer-column-enemy .number-blob-field:before{inset:auto 24% 10%;height:9%;background:transparent;filter:none}.multiplayer-hp-bar{--hp-hit-duration: 0s;--hp-regen-duration: 0s;--hp-transition-duration: max( var(--hp-hit-duration), var(--hp-regen-duration) );position:relative;display:grid;gap:var(--space-2);width:100%}@keyframes multiplayer-hp-shake{0%,to{transform:translate(0)}20%{transform:translate(-.35rem)}40%{transform:translate(.3rem)}60%{transform:translate(-.2rem)}80%{transform:translate(.14rem)}}@keyframes multiplayer-hp-flash{0%{opacity:var(--opacity-subtle)}35%{opacity:var(--opacity-muted)}to{opacity:0}}.multiplayer-hp-bar--hit{animation:multiplayer-hp-shake var(--hp-hit-duration) cubic-bezier(.22,1,.36,1)}@keyframes multiplayer-hp-regen-rise{0%,to{transform:translateY(0)}45%{transform:translateY(-.18rem)}72%{transform:translateY(-.08rem)}}@keyframes multiplayer-hp-regen-shine{0%{opacity:0;transform:translate(-150%) skew(-18deg)}20%{opacity:var(--opacity-subtle)}to{opacity:0;transform:translate(520%) skew(-18deg)}}.multiplayer-hp-copy{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.multiplayer-perfect-tag{position:absolute;inset-inline:0;top:0;margin-inline:auto;width:fit-content;display:inline-flex;align-items:center;justify-content:center;color:var(--color-gold);font-family:var(--type-action-label-family);font-size:var(--type-body-meta-size);font-weight:var(--type-metric-inline-weight);letter-spacing:.14em;line-height:1;text-transform:uppercase;animation:multiplayer-perfect-tag 1.12s cubic-bezier(.16,.9,.2,1) forwards}.multiplayer-hp-name,.multiplayer-hp-stat{font-family:var(--type-metric-inline-family);font-size:var(--type-metric-inline-size);font-weight:var(--type-metric-inline-weight);letter-spacing:var(--type-action-label-caps-letter-spacing);line-height:var(--type-metric-inline-line-height)}.multiplayer-hp-bar-self .multiplayer-hp-name{color:var(--color-game-self)}.multiplayer-hp-bar-enemy .multiplayer-hp-name{color:var(--color-game-opponent)}.multiplayer-hp-stat{font-variant-numeric:tabular-nums}.multiplayer-hp-bar-self .multiplayer-hp-stat{color:var(--color-game-self)}.multiplayer-hp-bar-enemy .multiplayer-hp-stat{color:var(--color-game-opponent)}.multiplayer-hp-track{position:relative;width:100%;height:var(--size-health-bar);overflow:hidden;border-radius:var(--radius-pill);background:var(--color-track)}.multiplayer-hp-track:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-danger);opacity:0;pointer-events:none}.multiplayer-hp-bar--hit .multiplayer-hp-track:after{animation:multiplayer-hp-flash calc(var(--hp-hit-duration) + .12s) ease-out}.multiplayer-hp-track:before{content:"";position:absolute;top:-45%;left:0;width:18%;height:190%;background:var(--color-gold-strong);opacity:0;pointer-events:none}.multiplayer-hp-bar--regen .multiplayer-hp-track:before{animation:multiplayer-hp-regen-shine calc(var(--hp-regen-duration) + .18s) ease-out}.multiplayer-hp-fill{display:block;height:100%;border-radius:inherit;transition:width var(--hp-transition-duration) cubic-bezier(.22,1,.36,1)}.multiplayer-hp-bar-self .multiplayer-hp-fill{background:var(--color-game-self)}.multiplayer-hp-bar-enemy .multiplayer-hp-fill{background:var(--color-game-opponent)}.multiplayer-hp-bar--danger .multiplayer-hp-fill{background:var(--color-danger)}.multiplayer-hp-bar--danger .multiplayer-hp-stat{color:var(--color-danger);animation:hp-danger-pulse 1.2s ease-in-out infinite}.multiplayer-hp-bar--danger .multiplayer-hp-name{color:var(--color-danger)}@keyframes hp-danger-pulse{0%,to{opacity:1}50%{opacity:var(--opacity-soft)}}.multiplayer-hp-pop{--multiplayer-hp-pop-index: 0;--multiplayer-hp-pop-count: 1;--multiplayer-hp-pop-bottom: calc(100% - var(--space-1));position:absolute;left:50%;bottom:calc(var(--multiplayer-hp-pop-bottom) + var(--multiplayer-hp-pop-index) * 1.15rem);transform:translate(calc(-50% + (var(--multiplayer-hp-pop-index) - (var(--multiplayer-hp-pop-count) - 1) / 2) * 1.85rem));font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:var(--type-action-label-weight);line-height:var(--type-action-label-line-height);animation:multiplayer-hp-pop .7s ease-out forwards;text-align:center;white-space:nowrap;pointer-events:none}.multiplayer-hp-pop-damage{color:var(--color-danger)}.multiplayer-hp-pop-regen{color:var(--color-gold)}@keyframes multiplayer-hp-pop{0%{opacity:0;transform:translate(-50%) translateY(.2rem) scale(.92)}20%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-.35rem) scale(1)}}@keyframes multiplayer-perfect-tag{0%{opacity:0;transform:translateY(.1rem) scale(.72)}20%{opacity:1;transform:translateY(0) scale(1.04)}68%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-.12rem) scale(.92)}}.multiplayer-attack-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible;z-index:3}.multiplayer-attack-particle{position:absolute;left:0;top:0;width:var(--particle-size);height:var(--particle-size);opacity:var(--particle-opacity)}.multiplayer-attack-particle-circle{border-radius:50%;transform:translate(calc(var(--particle-x) - 50%),calc(var(--particle-y) - 50%))}.multiplayer-attack-particle-ball{box-sizing:border-box;border:2px solid var(--color-border-inverse-soft);border-radius:50%;transform:translate(calc(var(--particle-x) - 50%),calc(var(--particle-y) - 50%))}.multiplayer-attack-particle-ring{border-radius:50%;box-sizing:border-box;transform:translate(calc(var(--particle-x) - 50%),calc(var(--particle-y) - 50%))}.multiplayer-attack-particle-self{background:var(--color-game-self)}.multiplayer-attack-particle-enemy{background:var(--color-game-opponent)}.multiplayer-attack-particle-ring.multiplayer-attack-particle-self{background:transparent;border:2px solid var(--color-game-self)}.multiplayer-attack-particle-ring.multiplayer-attack-particle-enemy{background:transparent;border:2px solid var(--color-game-opponent)}.multiplayer-controls-grid{margin-top:auto;gap:var(--space-2);touch-action:none}.multiplayer-controls-grid .multiplayer-hp-bar{margin-bottom:var(--space-1)}.multiplayer-keypad{margin-top:0;gap:var(--space-keypad-gap-mobile)}@media(min-width:900px){.multiplayer-game-screen{--multiplayer-tutorial-top-offset: 4.85rem}}@media(max-width:768px){.multiplayer-game-screen{--multiplayer-tutorial-top-offset: clamp(4.1rem, 20vw, 5rem)}.multiplayer-column-self{width:min(52%,13rem)}.multiplayer-column-enemy{width:min(32%,7.5rem)}.multiplayer-column-self .number-blob-display-size-self{--number-blob-scale-factor: .72}.multiplayer-column-enemy .number-blob-display-size-enemy{--number-blob-scale-factor: .39}}@media(max-height:780px){.multiplayer-game-screen{gap:var(--space-2);padding-top:max(var(--space-2),env(safe-area-inset-top));padding-right:max(var(--space-2),env(safe-area-inset-right));padding-bottom:max(var(--space-2),env(safe-area-inset-bottom));padding-left:max(var(--space-2),env(safe-area-inset-left))}.multiplayer-board{gap:var(--space-2)}.multiplayer-column-self{width:min(48%,12rem)}.multiplayer-column-enemy{width:min(28%,6.5rem)}}@media(max-width:480px){.multiplayer-column-self{width:min(48%,11rem)}.multiplayer-column-enemy{width:min(28%,6rem)}.multiplayer-column-self .number-blob-display-size-self{--number-blob-scale-factor: .66}.multiplayer-column-enemy .number-blob-display-size-enemy{--number-blob-scale-factor: .35}}.combo-panel{grid-column:1 / -1;width:100%;block-size:4.1rem}.combo-bar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;column-gap:.12rem;width:100%;block-size:100%;padding:.45rem 0;box-sizing:border-box}.combo-bar-item{display:inline-flex;align-items:center;gap:.12rem;flex:0 0 auto}.combo-bar-chip{display:inline-flex;align-items:center;justify-content:center;width:1.62rem;height:1.62rem;padding:0;border-radius:var(--radius-pill);background:var(--color-game-self);color:var(--color-text-inverse);font-family:var(--type-display-burst-family);font-size:.74rem;font-weight:700;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.combo-bar-chip-pending{opacity:var(--opacity-muted)}.combo-bar-sep{color:var(--color-ink-soft);font-family:var(--type-display-burst-family);font-size:.74rem;font-weight:600;line-height:1}.prime-key-button{--prime-key-font-size: var(--type-display-input-size);aspect-ratio:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius-pill);background:var(--color-game-keypad-bg);color:var(--color-game-keypad-text);font-family:var(--type-display-input-family);font-size:var(--prime-key-font-size);font-weight:var(--type-display-input-weight);line-height:var(--type-display-input-line-height);font-variant-numeric:tabular-nums;box-shadow:none;transition:background-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease,opacity .12s ease}.prime-key-button:disabled{opacity:var(--opacity-disabled)}.prime-key-button--highlighted{background:var(--color-highlight-bg);color:var(--color-primary);box-shadow:inset 0 0 0 2px var(--color-highlight-border)}.prime-key-button:focus-visible,.prime-key-button:active{background:var(--color-game-keypad-active-bg);color:var(--color-game-keypad-active-text)}.prime-key-button:active{transform:scale(.985)}.prime-key-button-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.08rem;min-width:0;transform:translateY(-.02em)}.prime-key-button-main{display:flex;align-items:center;justify-content:center;min-width:0}.prime-key-button-hint{display:none;font-family:var(--type-action-label-family);font-size:.62rem;font-weight:800;line-height:1;letter-spacing:.08em;text-transform:uppercase;opacity:.72}@media(min-width:900px){.prime-key-button-hint{display:block}}.number-blob-display{--number-blob-scale-factor: 1;--number-blob-font-size-base: var(--type-display-game-size);--number-blob-stage-color: var(--color-primary);--number-blob-reveal-color: var(--color-secondary);--number-blob-stage-reveal-delay: 1s;--number-blob-value-fade-delay: 1s;--number-blob-split-color: var(--color-secondary);--number-blob-split-clear-color: color-mix( in srgb, var(--color-secondary) 82%, white );--number-blob-border-color: var(--color-border-inverse-soft);--number-blob-max-size: 21.5rem;--number-blob-size: min( var(--number-blob-available-size, 100%), var(--number-blob-max-size) );--number-blob-padding: calc(1.75rem * var(--number-blob-scale-factor));--number-blob-main-font-size: calc( var(--number-blob-font-size-base) * var(--number-blob-scale-factor) );--number-blob-clear-font-size: var(--number-blob-main-font-size);--number-blob-split-font-size: calc( var(--type-display-burst-size) * var(--number-blob-scale-factor) );--number-blob-split-padding: calc(.8rem * var(--number-blob-scale-factor));--number-blob-border-width: calc(2px * var(--number-blob-scale-factor));flex:1;display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0;padding:var(--space-2) 0 var(--space-2)}.number-blob-display-solo{--number-blob-stage-color: var(--color-button-primary-bg);--number-blob-reveal-color: var(--color-button-primary-bg);--number-blob-stage-reveal-delay: 0s;--number-blob-value-fade-delay: 0s;--number-blob-split-color: var(--color-button-primary-bg);--number-blob-split-clear-color: var(--color-button-primary-bg)}.number-blob-field{position:relative;display:grid;place-items:center;width:var(--number-blob-size);height:var(--number-blob-size);max-width:100%;max-height:100%;aspect-ratio:1;isolation:isolate}.number-blob-field:before{content:"";position:absolute;inset:auto 22% 7%;height:12%;border-radius:50%;background:var(--color-blob-shadow);filter:blur(10px);pointer-events:none;z-index:-1}.number-blob-field.is-blob-hidden:before{opacity:0;background:transparent}.number-main-blob{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;padding:var(--number-blob-padding);border:var(--number-blob-border-width) solid var(--number-blob-border-color);border-radius:50%;background:var(--number-blob-stage-color);transform:translateY(0) scale(1);transition:opacity .14s ease;animation:number-blob-idle 6.6s ease-in-out infinite}.number-main-blob-shell{position:relative;z-index:1;display:grid;place-items:center;width:100%;min-width:0;min-height:0;aspect-ratio:1}.number-main-blob strong{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;font-family:var(--type-display-game-family);font-size:calc(var(--number-blob-main-font-size) * var(--number-blob-digit-scale, 1));line-height:var(--type-display-game-line-height);font-variant-numeric:tabular-nums;font-weight:var(--type-display-game-weight);letter-spacing:var(--type-display-game-letter-spacing);color:var(--type-display-game-color);text-align:center;transition:opacity .12s ease,transform .12s ease}.number-main-blob{overflow:hidden;min-width:0;min-height:0}.number-blob-display-multiplayer .number-main-blob,.number-blob-display-multiplayer .number-blob-clear-pop{--number-blob-stage-color: var(--color-game-opponent)}.number-blob-display-multiplayer.number-blob-display-size-self .number-main-blob,.number-blob-display-multiplayer.number-blob-display-size-self .number-blob-clear-pop{--number-blob-stage-color: var(--color-game-self)}.number-blob-display-multiplayer.number-blob-display-size-enemy .number-main-blob,.number-blob-display-multiplayer.number-blob-display-size-enemy .number-blob-clear-pop{--number-blob-stage-color: var(--color-game-opponent)}.number-blob-display-size-enemy,.number-blob-display-size-self{--number-blob-scale-factor: .5;--number-blob-max-size: calc(21.5rem * var(--number-blob-scale-factor))}.number-main-blob-shell.is-impact-active{animation:number-blob-impact .52s cubic-bezier(.18,.85,.26,1)}.number-main-blob-shell.is-impact-active>.number-main-blob{animation-play-state:paused}.number-blob-display.is-combo-running .number-main-blob-shell.is-impact-active{animation-duration:.52s}@keyframes blob-fault-jolt{0%{transform:translate(0)}14%{transform:translate(-.9rem)}30%{transform:translate(.72rem)}46%{transform:translate(-.42rem)}64%{transform:translate(.22rem)}to{transform:translate(0)}}@keyframes blob-fault-flash{0%{background:var(--number-blob-stage-color)}16%{background:var(--color-danger)}54%{background:color-mix(in srgb,var(--color-danger) 74%,var(--number-blob-stage-color))}to{background:var(--number-blob-stage-color)}}.number-main-blob-shell.is-fault-active{animation:blob-fault-jolt .62s cubic-bezier(.22,.68,.32,1);will-change:transform}.number-main-blob-shell.is-fault-active>.number-main-blob{animation:blob-fault-flash .56s ease-out forwards,number-blob-idle 6.6s ease-in-out infinite}.number-main-blob.is-stage-reveal{opacity:0;transform:scale(.12);background:var(--number-blob-reveal-color);animation:number-blob-stage-reveal 2s cubic-bezier(.2,.84,.22,1) var(--number-blob-stage-reveal-delay) both}.number-main-blob.is-cleared{opacity:0;transform:scale(.18)}.number-main-blob strong.is-value-hidden{opacity:0;animation:number-blob-value-fade-in 2s ease var(--number-blob-value-fade-delay) forwards}.number-blob-clear-pop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;padding:var(--number-blob-padding);border:var(--number-blob-border-width) solid var(--color-border-inverse-soft);border-radius:50%;background:var(--number-blob-stage-color);animation:number-blob-clear-pop .26s cubic-bezier(.2,.9,.3,1) forwards;pointer-events:none}.number-blob-clear-pop-value{display:block;font-family:var(--type-display-game-family);font-size:calc(var(--number-blob-clear-font-size) * var(--number-blob-digit-scale, 1));line-height:var(--type-display-game-line-height);font-variant-numeric:tabular-nums;font-weight:var(--type-display-game-weight);letter-spacing:var(--type-display-game-letter-spacing);color:var(--type-display-game-color)}.number-blob-split-echo{position:absolute;z-index:4;left:50%;top:50%;width:calc(var(--echo-size) * var(--number-blob-scale-factor));aspect-ratio:1;display:grid;place-items:center;padding:var(--number-blob-split-padding);border:var(--number-blob-border-width) solid var(--color-border-inverse-subtle);border-radius:50%;background:var(--number-blob-split-color);transform:translate(-50%,-50%) rotate(var(--echo-angle)) translateY(0) rotate(var(--echo-counter-angle)) scale(.32);opacity:0;animation:number-blob-split-float .82s ease-out forwards}.number-blob-split-echo.is-clear-burst{background:var(--number-blob-split-clear-color);animation-duration:.9s}.number-blob-display-multiplayer.number-blob-display-size-self .number-blob-split-echo{background:var(--color-game-self)}.number-blob-display-multiplayer.number-blob-display-size-self .number-blob-split-echo.is-clear-burst{background:color-mix(in srgb,var(--color-game-self) 78%,white)}.number-blob-display-multiplayer.number-blob-display-size-enemy .number-blob-split-echo{background:var(--color-game-opponent)}.number-blob-display-multiplayer.number-blob-display-size-enemy .number-blob-split-echo.is-clear-burst{background:color-mix(in srgb,var(--color-game-opponent) 78%,white)}.number-blob-display-multiplayer.number-blob-display-size-self .number-main-blob{border-color:color-mix(in srgb,var(--color-game-self) 36%,transparent)}.number-blob-display-multiplayer.number-blob-display-size-enemy .number-main-blob{border-color:color-mix(in srgb,var(--color-game-opponent) 36%,transparent)}.number-blob-split-value{display:block;font-family:var(--type-display-burst-family);font-size:var(--number-blob-split-font-size);line-height:var(--type-display-burst-echo-line-height);font-variant-numeric:tabular-nums;font-weight:var(--type-display-burst-weight);color:var(--type-display-game-color)}@keyframes number-blob-idle{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-.2rem) scale(1.012)}72%{transform:translateY(.12rem) scale(.992)}to{transform:translateY(0) scale(1)}}@keyframes number-blob-impact{0%{transform:scale(.88)}56%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes number-blob-stage-reveal{0%{background:var(--number-blob-reveal-color);opacity:0;transform:translateY(0) scale(.12)}68%{background:color-mix(in srgb,var(--number-blob-reveal-color) 38%,var(--number-blob-stage-color));opacity:1;transform:translateY(-.05rem) scale(.96)}to{background:var(--number-blob-stage-color);opacity:1;transform:translateY(0) scale(1)}}@keyframes number-blob-value-fade-in{0%{opacity:0}72%{opacity:0}to{opacity:1}}@media(max-width:768px){.number-blob-display-size-enemy,.number-blob-display-size-self{--number-blob-max-size: calc(17.7rem * var(--number-blob-scale-factor))}}@media(min-width:900px){.number-blob-display{--number-blob-max-size: 19rem}}@keyframes number-blob-clear-pop{0%{opacity:1;transform:scale(1)}45%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(.62)}}@keyframes number-blob-split-float{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--echo-angle)) translateY(0) rotate(var(--echo-counter-angle)) scale(.32)}24%{opacity:1;transform:translate(-50%,-50%) rotate(var(--echo-angle)) translateY(calc(var(--echo-distance) * -.82 * var(--number-blob-scale-factor))) rotate(var(--echo-counter-angle)) scale(1.02)}72%{opacity:1;transform:translate(-50%,-50%) rotate(var(--echo-angle)) translateY(calc(var(--echo-distance) * -1.12 * var(--number-blob-scale-factor))) rotate(var(--echo-counter-angle)) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--echo-angle)) translateY(calc(var(--echo-distance) * -1.24 * var(--number-blob-scale-factor))) rotate(var(--echo-counter-angle)) scale(.92)}}@media(max-width:768px){.number-blob-display{--number-blob-padding: calc(1.4rem * var(--number-blob-scale-factor))}}@media(max-width:480px){.number-blob-display{--number-blob-max-size: 18.6rem;--number-blob-padding: calc(1.15rem * var(--number-blob-scale-factor))}.number-blob-display-size-enemy,.number-blob-display-size-self{--number-blob-max-size: calc(16.5rem * var(--number-blob-scale-factor))}}@keyframes scrim-fade{0%{opacity:0}to{opacity:1}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(1.25rem) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes stat-pop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.06);opacity:1}to{opacity:1;transform:scale(1)}}@keyframes button-slide{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.score-dialog-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:max(var(--space-3),env(safe-area-inset-top)) max(var(--space-3),env(safe-area-inset-right)) max(var(--space-3),env(safe-area-inset-bottom)) max(var(--space-3),env(safe-area-inset-left));background:var(--color-overlay-soft);-webkit-backdrop-filter:blur(var(--blur-overlay));backdrop-filter:blur(var(--blur-overlay));animation:scrim-fade .3s ease-out both}.score-dialog{width:min(100%,var(--size-score-dialog-width));border:2px solid var(--color-primary);border-radius:var(--radius-panel);background:var(--color-surface-base);display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden;animation:dialog-enter .4s cubic-bezier(.34,1.56,.64,1) .1s both}.score-dialog-header{width:100%;padding:var(--space-3);background:var(--color-primary)}.score-dialog-title{display:block;font-family:var(--type-title-panel-family);font-size:var(--type-title-panel-size);font-weight:var(--type-title-panel-weight);line-height:var(--type-title-panel-line-height);letter-spacing:var(--type-title-panel-letter-spacing);text-transform:var(--type-title-panel-text-transform);color:var(--type-title-panel-color)}.score-dialog-hero{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:var(--space-3) var(--space-3) 0;animation:stat-pop .45s cubic-bezier(.34,1.56,.64,1) .3s both}.score-dialog-hero-label{margin:0;font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-body-meta-weight);line-height:var(--type-body-meta-line-height);letter-spacing:var(--type-action-label-hero-letter-spacing);text-transform:var(--type-action-label-wide-text-transform);color:var(--type-body-meta-color)}.score-dialog-hero-value{margin:0;font-family:var(--type-display-results-family);font-size:var(--type-display-results-size);font-weight:var(--type-display-results-weight);line-height:var(--type-display-results-line-height);color:var(--color-primary)}.score-dialog-best-row{display:flex;justify-content:center;align-items:center;min-height:1.6rem;padding:var(--space-2) var(--space-3)}.score-dialog-new-best{display:inline-block;padding:.15rem .6rem;border-radius:var(--radius-pill);background:var(--color-gold);color:var(--color-text-inverse);font-family:var(--type-action-label-family);font-size:var(--type-body-meta-size);font-weight:var(--type-action-label-weight);letter-spacing:var(--type-action-label-caps-letter-spacing);text-transform:var(--type-action-label-caps-text-transform);animation:stat-pop .45s cubic-bezier(.34,1.56,.64,1) .5s both}.score-dialog-best-label{display:inline-flex;align-items:center;gap:.3em;padding:.15rem .55rem;border-radius:var(--radius-pill);background:var(--color-surface-accent)}.score-dialog-best-prefix{font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-body-meta-weight);color:var(--type-body-meta-color);letter-spacing:var(--type-action-label-caps-letter-spacing);text-transform:var(--type-action-label-caps-text-transform)}.score-dialog-best-value{font-family:var(--type-metric-inline-family);font-size:var(--type-metric-inline-size);font-weight:var(--type-metric-inline-weight);line-height:var(--type-metric-inline-line-height);color:var(--color-primary)}.score-dialog-stats{display:flex;flex-direction:column;gap:var(--space-2);width:100%;padding:0 var(--space-3) var(--space-3);animation:stat-pop .45s cubic-bezier(.34,1.56,.64,1) .45s both}.score-dialog-stat-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2) var(--space-4)}.score-dialog-stat-label{font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:var(--type-action-label-weight);color:var(--color-ink)}.score-dialog-stat-value{font-family:var(--type-metric-inline-family);font-size:var(--type-metric-inline-size);font-weight:var(--type-metric-inline-weight);color:var(--color-primary)}.score-dialog .app-action-button{animation:button-slide .3s ease-out .55s both}.score-dialog-actions{display:flex;gap:var(--space-2);width:calc(100% - 2 * var(--space-3));margin:var(--space-2) var(--space-3) var(--space-3)}.score-dialog-actions .app-action-button{flex:1}.score-dialog--battle{width:min(100%,24rem)}.score-dialog-players{display:flex;width:100%;padding:var(--space-3) 0 var(--space-2)}.score-dialog-player{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);animation:stat-pop .45s cubic-bezier(.34,1.56,.64,1) both}.score-dialog-player:first-child{animation-delay:.3s}.score-dialog-player:last-child{animation-delay:.42s}.score-dialog-player-divider{width:1px;align-self:stretch;background:var(--color-border-soft);flex-shrink:0}.score-dialog-player-name{margin:0;padding-bottom:var(--space-2);font-family:var(--type-metric-inline-family);font-size:var(--type-metric-inline-size);font-weight:var(--type-metric-inline-weight);line-height:var(--type-metric-inline-line-height);letter-spacing:var(--type-action-label-caps-letter-spacing);text-transform:var(--type-action-label-caps-text-transform);color:var(--color-ink);border-bottom:2px solid var(--color-border-soft)}.score-dialog-player--winner .score-dialog-player-name{color:var(--color-gold)}.score-dialog-crown{width:1.1em;height:1.1em;vertical-align:-.15em;margin-right:.2em;transform:rotate(-15deg);filter:drop-shadow(0 0 2px var(--color-gold-soft))}.score-dialog-player--loser .score-dialog-player-name{color:var(--color-ink-soft)}.score-dialog-player .score-dialog-stats{padding:0 var(--space-2) 0;animation:none}.score-dialog-player .score-dialog-stat-row{padding:var(--space-2) var(--space-3)}.score-dialog--battle .score-dialog-actions{border-top:1px solid var(--color-border-soft);margin-top:var(--space-3);padding-top:var(--space-3)}.score-dialog--victory{border-color:var(--color-gold)}.score-dialog--victory .score-dialog-header{background:var(--color-gold)}.score-dialog--victory .score-dialog-hero-value{color:var(--color-gold)}.score-dialog--defeat{border-color:var(--color-ink-soft);animation-duration:.65s;animation-timing-function:cubic-bezier(.34,1.1,.64,1)}.score-dialog--defeat .score-dialog-header{background:var(--color-ink-soft)}.score-dialog--defeat .score-dialog-hero-value{color:var(--color-ink-soft)}@media(max-width:480px){.score-dialog--battle{width:min(100%,20rem)}}.confetti-layer{position:absolute;top:50%;left:50%;pointer-events:none;z-index:1}.confetti-dot{position:absolute;width:var(--confetti-size);height:var(--confetti-size);border-radius:50%;animation:confetti-burst 1.3s cubic-bezier(.16,.9,.2,1) var(--confetti-delay) both}.confetti-dot:nth-child(3n+1){background:var(--color-gold)}.confetti-dot:nth-child(3n+2){background:var(--color-gold-strong)}.confetti-dot:nth-child(3n){background:var(--color-primary-strong)}@keyframes confetti-burst{0%{opacity:0;transform:rotate(var(--confetti-angle)) translateY(0) scale(0)}30%{opacity:1;transform:rotate(var(--confetti-angle)) translateY(calc(var(--confetti-distance) * -.45)) scale(1.15)}to{opacity:0;transform:rotate(var(--confetti-angle)) translateY(calc(var(--confetti-distance) * -1)) scale(.6)}}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.single-top-bar{display:grid;grid-template-columns:var(--single-top-bar-side-width, auto) minmax(0,1fr) var(--single-top-bar-side-width, auto);align-items:center;column-gap:var(--space-2);padding:0;width:100%}.single-top-bar-side{min-width:0;display:flex;align-items:center;width:100%}.single-top-bar-side-start{justify-content:flex-start}.single-top-bar-side-end{justify-content:flex-end}.single-game-screen .top-bar-back-button{width:var(--size-control);height:var(--size-control);border-radius:var(--radius-pill);background:transparent;color:var(--color-button-primary-bg)}.top-bar-back-button{padding:var(--space-0);border:0;background:transparent;color:var(--color-secondary);display:grid;place-items:center}.top-bar-back-button .control-icon{width:var(--size-icon-lg);height:var(--size-icon-lg)}.single-timer-shell{display:flex;align-items:center;min-width:0;position:relative;width:100%;justify-self:center}.single-timer-penalty-lane{position:absolute;right:0;left:0;bottom:calc(50% + (var(--size-timer-bar) / 2) + var(--space-timer-gap));min-height:var(--size-timer-penalty-lane);display:flex;align-items:flex-start;justify-content:flex-end;pointer-events:none}.single-timer-bar{width:100%;position:relative;height:var(--size-timer-bar);overflow:hidden;border-radius:var(--radius-pill);background:var(--color-track)}.single-game-screen .single-timer-bar{background:color-mix(in srgb,var(--color-button-primary-bg) 18%,white)}.single-timer-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary-strong),var(--color-secondary));transition:width 1s linear}.single-game-screen .single-timer-fill{background:var(--color-button-primary-bg)}.single-timer-penalty{font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:var(--type-action-label-weight);color:var(--color-danger);line-height:var(--type-action-label-line-height);animation:timer-penalty-pop .7s ease-out forwards}.single-score-pill{min-width:var(--size-score-pill-min);padding:var(--space-0);border-radius:0;background:transparent;display:flex;align-items:baseline;justify-content:flex-end;gap:var(--space-score-label-gap);text-align:right;white-space:nowrap}.single-score-pill strong{display:inline-block;margin-top:var(--space-0);font-family:var(--type-metric-inline-family);font-size:var(--type-metric-inline-size);font-weight:var(--type-metric-inline-weight);line-height:var(--type-metric-inline-line-height);color:var(--type-metric-inline-color)}.single-score-unit{font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-body-meta-weight);line-height:var(--type-body-meta-line-height);text-transform:var(--type-body-meta-lowercase-transform);color:var(--type-body-meta-color)}@media(max-width:480px){.single-top-bar{column-gap:var(--space-2)}}.multiplayer-top-bar{align-items:center}.multiplayer-score-pill{min-width:var(--size-score-pill-min-wide)}@keyframes timer-penalty-pop{0%{opacity:0;transform:translateY(.45rem) scale(.92)}20%{opacity:1}to{opacity:0;transform:translateY(-.8rem) scale(1)}}.pause-overlay-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:max(var(--space-3),env(safe-area-inset-top)) max(var(--space-3),env(safe-area-inset-right)) max(var(--space-3),env(safe-area-inset-bottom)) max(var(--space-3),env(safe-area-inset-left));background:var(--color-overlay-strong);-webkit-backdrop-filter:blur(var(--blur-overlay));backdrop-filter:blur(var(--blur-overlay));animation:pause-scrim-fade .2s ease-out both}@keyframes pause-scrim-fade{0%{opacity:0}to{opacity:1}}.pause-overlay-panel{width:min(100%,var(--size-score-dialog-width));border:2px solid var(--color-primary);border-radius:var(--radius-panel);background:var(--color-surface-base);display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden;animation:pause-panel-enter .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes pause-panel-enter{0%{opacity:0;transform:translateY(1rem) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.pause-overlay-header{width:100%;padding:var(--space-3) var(--space-3);background:var(--color-primary)}.pause-overlay-title{display:block;font-family:var(--type-title-panel-family);font-size:var(--type-title-panel-size);font-weight:var(--type-title-panel-weight);line-height:var(--type-title-panel-line-height);letter-spacing:var(--type-title-panel-letter-spacing);text-transform:var(--type-title-panel-text-transform);color:var(--type-title-panel-color)}.pause-overlay-actions{display:flex;flex-direction:column;gap:var(--space-2);width:calc(100% - 2 * var(--space-3));margin:var(--space-3)}.account-page-shell{background:var(--color-page-bg)}.screen.account-page-screen{padding:0;justify-content:flex-start;align-items:center;overflow-y:auto;overflow-x:hidden}.account-page-body{width:min(100%,22rem);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5) 1.5rem max(env(safe-area-inset-bottom),2.5rem);margin:0 auto;align-items:center}.account-page-section{display:grid;gap:var(--space-2)}.account-page-form{gap:var(--space-2)}.account-page-field-block{display:grid;gap:var(--space-2)}.account-page-input{min-height:3rem;border:1px solid var(--color-border-soft);border-radius:var(--radius-input);padding:var(--space-2) var(--space-3);background:var(--color-surface-strong);color:var(--color-ink);text-align:center}.account-page-input::placeholder{color:var(--color-placeholder)}.account-page-input:focus{outline:none;border-color:var(--color-outline-strong)}.account-page-primary-action{width:100%;min-height:3.5rem}.account-page-status{margin:var(--space-0);text-align:center;font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-action-label-weight);line-height:var(--type-body-meta-relaxed-line-height)}.account-page-status-error{color:var(--color-danger)}.account-page-status-success{color:var(--color-primary-strong)}.account-page-logout-section{gap:var(--space-2);width:100%}.account-page-divider{height:1px;background:var(--color-track)}.account-page-name-display{display:flex;justify-content:center;align-items:center;margin-top:var(--space-2)}.account-name-badge{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:2px solid #fff;border-radius:var(--radius-pill);color:#fff;font-size:var(--type-title-size);font-weight:700;padding:var(--space-1) var(--space-4);cursor:pointer;transition:background .2s,color .2s}.account-name-badge:hover{background:#ffffff26}.account-name-badge:active{background:#ffffff40}.account-edit-dialog-body{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-3);width:100%}.account-stats-container{width:100%;display:flex;justify-content:center}.account-stats-loading,.account-page-error{text-align:center;padding:var(--space-4);color:var(--color-muted)}.account-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-4)}.account-stat-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-surface);padding:var(--space-3);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-1)}.account-stat-card:first-child{grid-column:1 / -1;background:linear-gradient(135deg,var(--color-primary-soft),var(--color-surface));border-color:var(--color-primary-strong)}.account-stat-card:first-child .stat-value{color:var(--color-primary-strong);font-size:2rem}.stat-label{font-size:var(--type-body-meta-size);color:var(--color-muted);font-weight:600}.stat-value{font-size:var(--type-title-size);font-weight:800;color:var(--color-ink)}.account-stats-container-inner{display:flex;flex-direction:column;gap:var(--space-4);width:100%}.account-exp-banner{display:flex;flex-direction:column;gap:var(--space-2);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-surface);padding:var(--space-3);box-shadow:0 4px 20px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.account-exp-header{display:flex;justify-content:space-between;align-items:baseline;font-weight:700}.solo-pregame-shell{background:var(--color-page-bg)}.screen.solo-pregame-screen{padding:0;justify-content:flex-start;align-items:center;overflow-y:auto;overflow-x:hidden}.solo-pregame-body{width:min(100%,22rem);display:flex;flex-direction:column;gap:2.5rem;padding:0 var(--space-2) max(env(safe-area-inset-bottom),2rem);margin:auto 0}.solo-pregame-pb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);width:100%;max-width:14rem;align-self:center}.solo-pregame-pb-title{font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-body-meta-weight);line-height:var(--type-body-meta-line-height);color:var(--type-body-meta-color);text-transform:var(--type-action-label-wide-text-transform);letter-spacing:var(--type-action-label-wide-letter-spacing);text-align:center}.solo-pregame-pb-stat{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2) var(--space-4)}.solo-pregame-pb-value{font-family:var(--type-metric-inline-family);font-size:var(--type-metric-inline-size);font-weight:var(--type-metric-inline-weight);color:var(--color-primary)}.solo-pregame-pb-label{font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:var(--type-action-label-weight);color:var(--color-ink)}.solo-pregame-start-btn.app-action-button{width:100%;min-height:3.5rem;flex:0 0 auto;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,filter .2s ease}@media(hover:hover){.solo-pregame-start-btn.app-action-button:hover{transform:scale(1.02) translateY(-2px);filter:brightness(1.2)}}.solo-pregame-start-btn.app-action-button:active{transform:scale(.97);filter:brightness(.9)}@media(max-width:480px){.solo-pregame-body{padding-left:.25rem;padding-right:.25rem}}.auth-page-shell{background:var(--color-page-bg)}.screen.auth-page-screen{padding:0;justify-content:flex-start;align-items:center;overflow-y:auto;overflow-x:hidden}.auth-page-body{width:min(100%,22rem);display:grid;gap:var(--space-3);padding:var(--space-3) 1.5rem max(env(safe-area-inset-bottom),2.5rem);flex:0 0 auto}.auth-page-section{display:grid;gap:var(--space-2)}.auth-page-form{gap:var(--space-2)}.auth-page-field-block{display:grid;gap:var(--space-2)}.auth-page-input{min-height:3rem;border:1px solid var(--color-border-soft);border-radius:var(--radius-input);padding:var(--space-2) var(--space-3);background:var(--color-surface-strong);color:var(--color-ink);text-align:center}.auth-page-input::placeholder{color:var(--color-placeholder)}.auth-page-input:focus{outline:none;border-color:var(--color-outline-strong)}.auth-page-primary-action{width:100%;min-height:3.5rem;margin-top:var(--space-2)}.auth-page-social-section{gap:var(--space-2)}.auth-page-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-2)}.auth-page-divider-line{height:1px;background:var(--color-track)}.auth-page-divider-text{font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-body-meta-weight);line-height:var(--type-body-meta-line-height);color:var(--type-body-meta-color);text-transform:var(--type-action-label-wide-text-transform);letter-spacing:var(--type-action-label-wide-letter-spacing)}.auth-page-google-button{width:100%;min-height:3rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-3);border:2px solid var(--color-border-soft);border-radius:var(--radius-pill);background:var(--color-surface-strong);color:var(--color-ink);font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:var(--type-action-label-weight);letter-spacing:var(--type-action-label-letter-spacing);transition:transform .16s ease,border-color .16s ease}.auth-page-google-button:hover:not(:disabled){transform:scale(1.02);border-color:var(--color-outline-strong)}.auth-page-google-button:active:not(:disabled){transform:scale(.98)}.auth-page-google-button:disabled{opacity:var(--opacity-muted);cursor:not-allowed}.auth-page-google-mark{width:1.35rem;height:1.35rem;flex:none}.auth-page-footer-section{gap:var(--space-2)}.auth-page-footer-copy{margin:var(--space-0);text-align:center;font-family:var(--type-body-meta-family);font-size:var(--type-action-label-size);font-weight:var(--type-body-meta-weight);color:var(--color-ink-soft)}.auth-page-switch-button{color:var(--color-primary-strong);font:inherit;font-weight:var(--type-action-label-weight);text-decoration:underline;text-underline-offset:.16em}.auth-page-status{margin:var(--space-0);text-align:center;font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-action-label-weight);line-height:var(--type-body-meta-relaxed-line-height)}.auth-page-status-error{color:var(--color-danger)}.auth-page-status-success{color:var(--color-primary-strong)}.friends-page-shell{background:var(--color-page-bg)}.screen.friends-page-screen{padding:0;justify-content:flex-start;align-items:center;overflow:hidden}.friends-page-body{width:min(100%,26rem);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-6) max(env(safe-area-inset-bottom),var(--space-6));flex:1;min-height:0}.friends-add-form{display:grid;grid-template-columns:1fr var(--size-control);gap:var(--space-2)}.friends-add-input{min-height:var(--size-control);border:1px solid var(--color-border-soft);border-radius:var(--radius-input);padding:var(--space-2) var(--space-3);background:var(--color-surface-strong);color:var(--color-ink);font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:var(--type-action-label-weight)}.friends-add-input::placeholder{color:var(--color-placeholder)}.friends-add-input:focus{outline:none;border-color:var(--color-outline-strong)}.friends-add-btn{width:var(--size-control);min-width:var(--size-control);min-height:var(--size-control);padding:var(--space-0)}.friends-status{margin:var(--space-0);text-align:center;font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-action-label-weight);line-height:var(--type-body-meta-relaxed-line-height)}.friends-status-error{color:var(--color-danger)}.friends-status-success{color:var(--color-primary-strong)}.friends-list-section{flex:1;min-height:0}.friends-loading,.friends-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-height:var(--size-friend-empty-min-height);text-align:center;color:var(--type-body-meta-color)}.friends-empty,.friends-empty-hint{margin:var(--space-0);font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);line-height:var(--type-body-meta-relaxed-line-height);color:var(--type-body-meta-color)}.friends-empty{font-weight:var(--type-action-label-weight)}.friends-empty-hint{font-weight:var(--type-body-meta-weight);opacity:var(--opacity-soft)}.friends-list{display:flex;flex-direction:column;list-style:none;margin:var(--space-0);padding:var(--space-0);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.friends-list::-webkit-scrollbar{display:none}.friends-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-0)}.friends-row+.friends-row{border-top:1px solid var(--color-border-soft)}.friends-avatar{width:var(--size-friend-avatar);height:var(--size-friend-avatar);flex:0 0 var(--size-friend-avatar);border-radius:var(--radius-pill);background:var(--color-primary-strong);display:flex;align-items:center;justify-content:center}.friends-avatar-initial{font-family:var(--type-action-label-family);font-size:var(--type-body-meta-size);font-weight:800;color:var(--color-text-inverse);line-height:1}.friends-name{flex:1;min-width:0;font-family:var(--type-body-meta-family);font-size:var(--type-metric-inline-size);font-weight:var(--type-action-label-weight);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friends-score{min-width:var(--size-friend-score-min);font-family:var(--type-metric-inline-family);font-size:var(--type-body-meta-size);font-weight:var(--type-metric-inline-weight);color:var(--color-primary);text-align:right}.friends-remove-btn{width:var(--size-control);height:var(--size-control);flex:0 0 var(--size-control);border:0;border-radius:var(--radius-pill);background:var(--color-button-subtle-bg);color:var(--color-button-subtle-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.friends-remove-btn:disabled{background:var(--color-button-disabled-bg);color:var(--color-button-disabled-text);cursor:not-allowed}.screen.screen-menu{padding:0;justify-content:flex-start;align-items:center;background:var(--color-page-bg)}.menu-layout{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;position:relative}.menu-version-label{position:absolute;top:max(env(safe-area-inset-top),.9rem);left:max(env(safe-area-inset-left),.9rem);z-index:10;font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-body-meta-weight);line-height:var(--type-body-meta-line-height);letter-spacing:var(--type-body-meta-letter-spacing);color:#ffffffa3;pointer-events:none;-webkit-user-select:none;user-select:none}.menu-title-orb{--menu-title-diameter: max(160vw, 130dvh);position:absolute;left:50%;top:calc(50dvh - var(--menu-title-diameter));width:var(--menu-title-diameter);height:var(--menu-title-diameter);margin:0;padding:2.5rem 2.5rem 8rem;border:.2rem solid var(--color-outline-strong);border-radius:50%;background:var(--color-primary);overflow:hidden;z-index:2;transform:translate(-50%)}.hero-title{margin:var(--space-0);position:absolute;left:50%;top:25dvh;width:92vw;max-width:32rem;font-family:var(--type-display-hero-family);font-size:var(--type-display-hero-size);line-height:var(--type-display-hero-line-height);font-weight:var(--type-display-hero-weight);letter-spacing:var(--type-display-hero-letter-spacing);text-transform:var(--type-display-hero-text-transform);color:var(--type-display-hero-color);display:inline-flex;align-items:center;justify-content:center;gap:var(--type-display-hero-gap);transform:translate(-50%,-50%);z-index:3}.menu-content{position:absolute;bottom:0;left:0;right:0;top:48dvh;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);padding:0 var(--space-6);padding-bottom:max(env(safe-area-inset-bottom),2.5rem)}.menu-mode-cards{display:flex;align-items:flex-start;justify-content:center;gap:var(--space-6);width:100%}.mode-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);background:none;border:0;cursor:pointer}.mode-card-blob{--mode-blob-size: min(38vw, 9rem);position:relative;width:var(--mode-blob-size);height:var(--mode-blob-size);border-radius:50%;border:2px solid var(--color-border-inverse-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;transition:transform .18s ease,box-shadow .18s ease;animation:mode-blob-idle 6.6s ease-in-out infinite}.mode-card-solo .mode-card-blob,.mode-card-tutorial .mode-card-blob{background:var(--color-primary-strong);animation-delay:0s}.mode-card-battle .mode-card-blob{background:var(--color-secondary);animation-delay:-3.3s}.mode-card-blob:after{content:"";position:absolute;left:18%;right:18%;bottom:-10%;height:14%;border-radius:50%;background:var(--color-blob-shadow);filter:blur(8px);pointer-events:none;z-index:-1}.mode-card:hover .mode-card-blob{transform:translateY(-3px) scale(1.03)}.mode-card:active .mode-card-blob{transform:scale(.95);transition-duration:.08s}.mode-card.mode-card-clicked .mode-card-blob{animation:jelly-water-burst .7s cubic-bezier(.1,.9,.2,1) forwards!important}@keyframes jelly-water-burst{0%{transform:scale(.9);box-shadow:0 0 0 0 var(--color-primary-strong)}30%{transform:scale(1.15);box-shadow:0 0 0 15px transparent}to{transform:scale(.85);box-shadow:0 0 0 35px transparent}}@keyframes mode-blob-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.mode-card-icon{width:1.5rem;height:1.5rem;stroke-width:2.2;color:var(--color-text-inverse)}.mode-card-title{font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:800;letter-spacing:var(--type-action-label-caps-letter-spacing);text-transform:var(--type-action-label-caps-text-transform);color:var(--color-text-inverse);line-height:1.1}.menu-toast-layer{position:fixed;bottom:calc(max(env(safe-area-inset-bottom),2.5rem) + 5rem);left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:40}.menu-toast{max-width:var(--size-toast-width);padding:var(--space-toast-y) var(--space-toast-x);border-radius:var(--radius-input);background:var(--color-toast-bg);color:var(--color-toast-text);font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:var(--type-action-label-weight);letter-spacing:var(--type-action-label-letter-spacing);line-height:var(--type-body-meta-line-height);text-align:center;animation:menu-toast-pop 2.2s ease forwards}@keyframes menu-toast-pop{0%{opacity:0;transform:translateY(12px)}18%{opacity:1;transform:translateY(0)}72%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.dialog-scrim{position:fixed;inset:calc(-1*env(safe-area-inset-top,0px)) 0 calc(-1*env(safe-area-inset-bottom,0px));z-index:50;display:grid;place-items:center;padding:calc(1.5rem + env(safe-area-inset-top,0px)) 1.5rem calc(1.5rem + env(safe-area-inset-bottom,0px));background:var(--color-overlay-soft);animation:menu-scrim-fade .2s ease-out}@keyframes menu-scrim-fade{0%{opacity:0}to{opacity:1}}.dialog-panel{width:min(100%,20rem);border-radius:var(--radius-panel);background:var(--color-surface-strong);border:2px solid var(--color-primary);overflow:hidden;animation:menu-dialog-slide .3s cubic-bezier(.34,1.56,.64,1)}@media(prefers-reduced-motion:reduce){.mode-card-blob{animation:none;transition:none}}@keyframes menu-dialog-slide{0%{opacity:0;transform:translateY(1rem) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--color-primary);color:var(--color-text-inverse)}.dialog-title{font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:var(--type-action-label-weight);letter-spacing:var(--type-action-label-caps-letter-spacing);text-transform:var(--type-action-label-caps-text-transform)}.dialog-close{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);cursor:pointer;color:var(--color-text-inverse);opacity:var(--opacity-subtle);transition:opacity .15s}.dialog-close:hover{opacity:1}.dialog-body{padding:var(--space-3)}.dialog-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:0 var(--space-3) var(--space-3)}.dialog-actions>.app-action-button{width:min(100%,14rem)}.dialog-actions-top{padding-top:var(--space-3)}.dialog-input{width:100%;font-family:var(--type-body-meta-family);font-size:var(--type-action-label-size);font-weight:var(--type-body-meta-weight);text-align:center}.dialog-input:focus{outline:none;border-color:var(--color-outline-strong)}@media(max-width:768px){.menu-title-orb{padding:1.8rem 1.8rem 5.5rem}}.hamburger-menu{--menu-top-spacing: .75rem;position:absolute;top:max(env(safe-area-inset-top),var(--menu-top-spacing));right:max(env(safe-area-inset-right),var(--menu-top-spacing));z-index:10;display:flex;flex-direction:column;align-items:flex-end}.hamburger-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;background:transparent;color:var(--color-text-inverse);border:none;cursor:pointer;opacity:var(--opacity-soft);transition:transform .15s ease,opacity .15s ease}.hamburger-toggle:hover{opacity:1;transform:scale(1.05)}.hamburger-toggle:active{opacity:1;transform:scale(.95)}.hamburger-icon{position:absolute;transition:opacity .2s ease,transform .2s ease}.hamburger-icon-hidden{opacity:0;transform:rotate(180deg) scale(.6)}.hamburger-icon-bars:not(.hamburger-icon-hidden){opacity:1;transform:rotate(0) scale(1)}.hamburger-icon-chevron:not(.hamburger-icon-hidden){opacity:1;transform:rotate(0) scale(1)}.hamburger-dropdown{display:flex;flex-direction:column;align-items:center;overflow:hidden;max-height:0;opacity:0;transition:max-height .25s cubic-bezier(.34,1.56,.64,1),opacity .15s ease;pointer-events:none}.hamburger-dropdown-open{max-height:8rem;opacity:1;pointer-events:auto}.opponent-picker-shell{background:var(--color-page-bg)}.screen.opponent-picker-screen{padding:0;justify-content:flex-start;align-items:center;overflow:hidden}.opponent-picker-body{width:min(100%,26rem);display:flex;flex-direction:column;gap:1.75rem;padding:var(--space-3) 1.5rem max(env(safe-area-inset-bottom),1.5rem);flex:1;min-height:0}.online-player-avatar-bot{background:var(--color-secondary)}.online-player-bot-icon{width:1.15rem;height:1.15rem;stroke-width:2;color:var(--color-text-inverse)}.online-section{display:flex;flex-direction:column;gap:.85rem}.online-section-grow{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.online-section-title{margin:0;display:flex;align-items:center;gap:.45rem;font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-body-meta-weight);letter-spacing:var(--type-action-label-wide-letter-spacing);text-transform:var(--type-action-label-wide-text-transform);color:var(--type-body-meta-color);line-height:var(--type-body-meta-line-height);flex:0 0 auto}.online-section-icon{width:1.05rem;height:1.05rem;stroke-width:2.2;opacity:var(--opacity-soft)}.online-empty-state{display:flex;flex-direction:column;gap:.25rem;padding:.65rem 0}.online-empty{margin:0;font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-action-label-weight);color:var(--type-body-meta-color);line-height:var(--type-body-meta-relaxed-line-height)}.online-empty-hint{margin:0;font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-body-meta-weight);color:var(--type-body-meta-color);line-height:var(--type-body-meta-relaxed-line-height);opacity:var(--opacity-soft)}.online-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.online-list::-webkit-scrollbar{display:none}.online-section-grow>.online-list{flex:1;min-height:0}.online-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 0}.online-row+.online-row{border-top:1px solid var(--color-border-soft)}.online-player-avatar{width:2.5rem;height:2.5rem;flex:0 0 2.5rem;border-radius:50%;background:var(--color-primary-strong);display:flex;align-items:center;justify-content:center}.online-player-initial{font-family:var(--type-action-label-family);font-size:var(--type-body-meta-size);font-weight:800;color:var(--color-text-inverse);line-height:1}.online-name{flex:1;min-width:0;font-family:var(--type-body-meta-family);font-size:var(--type-metric-inline-size);font-weight:var(--type-action-label-weight);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-invite-btn{box-sizing:border-box;width:5.5rem;min-width:5.5rem;flex:0 0 5.5rem;min-height:2.2rem;padding:.3rem .6rem;border-radius:var(--radius-pill);background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-family:var(--type-action-label-family);font-size:var(--type-body-meta-size);font-weight:var(--type-action-label-weight);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;letter-spacing:var(--type-action-label-letter-spacing);transition:opacity .12s ease;text-align:center;line-height:1;white-space:nowrap}.online-invite-btn:hover{opacity:var(--opacity-subtle)}.online-invite-btn:active{opacity:1}.online-invite-btn-disabled{background:var(--color-button-disabled-bg);color:var(--color-button-disabled-text);cursor:not-allowed}.online-invite-btn-disabled:hover,.online-invite-btn-disabled:active{opacity:1}.screen.vs-screen{padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-primary)}.vs-screen .floating-back-button{color:var(--color-text-inverse)}.vs-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6)}.vs-player-column{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);min-width:5.5rem}.vs-avatar-wrap{position:relative;display:flex;align-items:center;justify-content:center}.vs-avatar{width:5rem;height:5rem;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;border:2px solid var(--color-border-inverse-soft)}.vs-avatar-self{background:var(--color-button-accent-bg);color:var(--color-button-accent-text)}.vs-avatar-opponent{background:var(--color-secondary);color:var(--color-text-inverse)}.vs-avatar-initial{font-family:var(--type-action-label-family);font-size:var(--type-metric-prominent-size);font-weight:var(--type-action-label-weight);letter-spacing:var(--type-action-label-caps-letter-spacing);line-height:1}.vs-avatar-dot{width:1rem;height:1rem;border-radius:50%;background:currentColor}.vs-avatar-bot-icon{width:1.8rem;height:1.8rem;stroke-width:1.8}.vs-ready-badge{position:absolute;bottom:-2px;right:-2px;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--color-text-inverse);box-shadow:0 0 0 2px var(--color-primary)}.vs-ready-check{color:var(--color-primary);stroke-width:3}.vs-player-name{font-family:var(--type-metric-inline-family);font-size:var(--type-metric-inline-size);font-weight:var(--type-metric-inline-weight);color:var(--color-text-inverse);opacity:var(--opacity-subtle);max-width:6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.vs-divider{font-family:var(--type-display-hero-family);font-size:3rem;font-weight:var(--type-display-hero-weight);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-inverse);line-height:1;opacity:var(--opacity-subtle)}.vs-bottom{position:absolute;bottom:0;left:0;width:100%;display:flex;justify-content:center;padding:1.5rem 1.5rem max(env(safe-area-inset-bottom,0px),2rem)}.vs-ready-btn.app-action-button{width:min(100%,16rem);min-height:3.5rem;background:var(--color-button-primary-bg);border-color:var(--color-button-primary-bg)}.vs-ready-btn-active.app-action-button{background:var(--color-ready-button-bg);border-color:var(--color-ready-button-bg);color:var(--color-ready-button-text)}@media(max-width:480px){.online-invite-btn{width:5rem;min-width:5rem;flex-basis:5rem;min-height:2rem}}:root{color:var(--color-ink);background:var(--color-page-bg);font-family:var(--font-family-base);line-height:var(--line-height-base)}*{box-sizing:border-box}html{width:100%;height:100%;min-height:100dvh;height:-webkit-fill-available;overflow:hidden;overflow:clip;overscroll-behavior:none}body{position:fixed;top:0;right:0;bottom:0;left:0;margin:var(--space-0);width:100%;height:100%;min-height:100dvh;height:-webkit-fill-available;background:var(--color-page-bg);overflow:hidden;overflow:clip;overscroll-behavior:none}button,input{font:inherit}button{border:0;padding:0;background:transparent;color:inherit}input{width:100%;border:1px solid var(--color-border-soft);border-radius:var(--radius-input);padding:var(--space-2) var(--space-3);background:var(--color-surface-strong)}input::placeholder{color:var(--color-placeholder)}#root,.app-shell,.fullscreen-shell{width:100%;height:100%;min-height:100dvh;overflow:hidden;overflow:clip}.screen{width:100%;height:100%;min-height:100dvh;padding:max(var(--space-3),env(safe-area-inset-top)) max(var(--space-3),env(safe-area-inset-right)) max(var(--space-3),env(safe-area-inset-bottom)) max(var(--space-3),env(safe-area-inset-left));display:flex;flex-direction:column;overflow:hidden}.label{margin:var(--space-0);text-transform:var(--type-action-label-wide-text-transform);letter-spacing:var(--type-action-label-wide-letter-spacing);font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-body-meta-weight);line-height:var(--type-body-meta-line-height);color:var(--type-body-meta-color)}.page-header-band{--_header-curve-size: max(160vw, 100vh);position:relative;width:100%;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;padding:max(1.5rem,calc(env(safe-area-inset-top) + 1.5rem)) var(--space-3) 2rem;z-index:1}.page-header-band:before{content:"";position:absolute;left:50%;bottom:0;width:var(--_header-curve-size);height:var(--_header-curve-size);border-radius:50%;background:var(--color-primary);transform:translate(-50%);z-index:-1}.page-title-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%}.page-title-row .floating-back-button{position:static;justify-self:start;color:var(--color-text-inverse)}.page-title{margin:var(--space-0);font-family:var(--type-action-label-family);font-size:var(--type-action-label-size);font-weight:var(--type-action-label-weight);letter-spacing:var(--type-action-label-caps-letter-spacing);text-transform:var(--type-action-label-caps-text-transform);color:var(--color-text-inverse)}.page-hero-icon{width:4.5rem;height:4.5rem;margin-top:1.5rem;color:var(--color-text-inverse)}.page-header-band:has(.page-hero-icon){padding-bottom:3.5rem}.page-tagline{margin:var(--space-2) var(--space-0) var(--space-0);font-family:var(--type-body-meta-family);font-size:var(--type-body-meta-size);font-weight:var(--type-body-meta-weight);letter-spacing:var(--type-action-label-wide-letter-spacing);text-transform:var(--type-action-label-wide-text-transform);color:var(--color-text-inverse);opacity:.75;text-align:center}.control-icon{width:var(--size-icon);height:var(--size-icon);stroke-width:2.1}.hero-title-filled-o{width:.66em;height:.66em;flex:0 0 .66em;border-radius:50%;background:currentColor;transform:translateY(-.015em)}:root{--font-family-base: "Avenir Next", "Helvetica Neue", sans-serif;--font-family-display: var(--font-family-base);--font-family-numeric: var(--font-family-base);--font-weight-number-emphasis: 700;--line-height-base: 1.4;--type-display-hero-family: var(--font-family-display);--type-display-hero-size: 4.25rem;--type-display-hero-weight: 900;--type-display-hero-line-height: .82;--type-display-hero-letter-spacing: .015em;--type-display-hero-gap: .035em;--type-display-hero-text-transform: uppercase;--type-display-hero-color: var(--color-text-inverse);--type-display-game-family: var(--font-family-numeric);--type-display-game-size: 5.4rem;--type-display-game-weight: var(--font-weight-number-emphasis);--type-display-game-line-height: 1;--type-display-game-standalone-line-height: .92;--type-display-game-letter-spacing: .02em;--type-display-game-color: var(--color-text-inverse);--type-display-input-family: var(--font-family-numeric);--type-display-input-size: 3rem;--type-display-input-compact-size: 1.4rem;--type-display-input-weight: var(--font-weight-number-emphasis);--type-display-input-line-height: 1;--type-display-input-color: var(--color-keypad-button-text);--type-display-results-family: var(--font-family-numeric);--type-display-results-size: 2.9rem;--type-display-results-weight: var(--font-weight-number-emphasis);--type-display-results-line-height: 1;--type-display-results-color: var(--color-primary);--type-display-burst-family: var(--font-family-numeric);--type-display-burst-size: 2.4rem;--type-display-burst-weight: 800;--type-display-burst-soft-weight: 700;--type-display-burst-line-height: 1;--type-display-burst-letter-spacing: .08em;--type-display-burst-support-line-height: 1.2;--type-display-burst-echo-line-height: .88;--type-display-burst-color: var(--color-secondary);--type-title-panel-family: var(--font-family-display);--type-title-panel-size: 2.15rem;--type-title-panel-weight: 800;--type-title-panel-line-height: 1.1;--type-title-panel-letter-spacing: .06em;--type-title-panel-text-transform: uppercase;--type-title-panel-color: var(--color-text-inverse);--type-metric-inline-family: var(--font-family-numeric);--type-metric-inline-size: 1rem;--type-metric-inline-weight: var(--font-weight-number-emphasis);--type-metric-inline-line-height: 1;--type-metric-inline-color: var(--color-primary);--type-metric-prominent-size: 1.25rem;--type-action-label-family: var(--font-family-base);--type-action-label-size: 1.02rem;--type-action-label-weight: 700;--type-action-label-line-height: 1.1;--type-action-label-letter-spacing: .01em;--type-action-label-color: var(--color-text-inverse);--type-action-label-caps-letter-spacing: .03em;--type-action-label-caps-text-transform: uppercase;--type-action-label-wide-letter-spacing: .12em;--type-action-label-wide-line-height: 1;--type-action-label-wide-text-transform: uppercase;--type-action-label-hero-letter-spacing: .14em;--type-action-label-support-line-height: 1.2;--type-body-meta-family: var(--font-family-base);--type-body-meta-size: .82rem;--type-body-meta-weight: 600;--type-body-meta-line-height: 1.35;--type-body-meta-letter-spacing: .02em;--type-body-meta-relaxed-line-height: 1.5;--type-body-meta-lowercase-transform: lowercase;--type-body-meta-color: var(--color-ink-soft);--color-primary: #184e77;--color-primary-strong: #168aad;--color-secondary: #34a0a4;--color-ink: #223247;--color-ink-soft: rgba(16, 27, 46, .72);--color-blob-shadow: rgba(16, 27, 46, .08);--color-text-inverse: #ffffff;--color-surface-base: rgba(255, 255, 255, .94);--color-surface-strong: #ffffff;--color-surface-accent: rgba(22, 138, 173, .18);--color-highlight-bg: rgba(22, 138, 173, .2);--color-highlight-border: rgba(22, 138, 173, .3);--color-highlight-outline: rgba(22, 138, 173, .38);--color-border-soft: rgba(24, 78, 119, .2);--color-border-contrast: rgba(255, 255, 255, .26);--color-border-inverse-soft: rgba(255, 255, 255, .28);--color-border-inverse-subtle: rgba(255, 255, 255, .24);--color-outline-strong: rgba(24, 78, 119, .44);--color-keypad-button-bg: rgba(24, 78, 119, .12);--color-keypad-button-text: rgba(16, 27, 46, .54);--color-disabled-bg: rgba(24, 78, 119, .12);--color-disabled-text: rgba(16, 27, 46, .54);--color-page-bg: #f4f7fb;--color-track: rgba(16, 27, 46, .12);--color-danger: #c43a3a;--color-gold: #d4a017;--color-gold-strong: #e8b825;--color-gold-soft: rgba(212, 160, 23, .14);--color-overlay-soft: rgba(16, 27, 46, .2);--color-overlay-strong: rgba(16, 27, 46, .26);--color-placeholder: rgba(16, 27, 46, .28);--color-ready-button-bg: rgba(16, 27, 46, .62);--color-ready-button-text: rgba(255, 255, 255, .74);--color-toast-bg: rgba(24, 78, 119, .96);--color-toast-text: var(--color-text-inverse);--color-button-primary-bg: var(--color-primary-strong);--color-button-primary-text: var(--color-text-inverse);--color-button-accent-bg: var(--color-primary-strong);--color-button-accent-text: var(--color-text-inverse);--color-button-secondary-bg: var(--color-secondary);--color-button-secondary-text: var(--color-text-inverse);--color-button-danger-bg: var(--color-danger);--color-button-danger-text: var(--color-text-inverse);--color-button-subtle-bg: var(--color-surface-accent);--color-button-subtle-text: var(--color-primary);--color-button-disabled-bg: var(--color-disabled-bg);--color-button-disabled-text: var(--color-disabled-text);--color-game-self: var(--color-primary-strong);--color-game-opponent: var(--color-secondary);--color-game-keypad-bg: rgba(16, 27, 46, .08);--color-game-keypad-text: var(--color-keypad-button-text);--color-game-keypad-active-bg: rgba(16, 27, 46, .14);--color-game-keypad-active-text: rgba(16, 27, 46, .68);--space-0: 0;--space-1: .3rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-timer-gap: var(--space-1);--space-penalty-offset: var(--space-1);--space-score-pill-y: var(--space-2);--space-score-pill-x: .7rem;--space-score-label-gap: .2rem;--space-top-bar-y: var(--space-3);--space-top-bar-x: .95rem;--space-keypad-gap-compact: .4rem;--space-keypad-gap-mobile: var(--space-1);--space-ready-badge-top: .6rem;--space-ready-badge-y: var(--space-1);--space-ready-badge-x: .7rem;--space-toast-y: var(--space-3);--space-toast-x: var(--space-4);--space-buffer-strip-x: var(--space-4);--radius-input: 14px;--radius-button: 18px;--radius-panel: 24px;--radius-pill: 999px;--radius-orb: 999px;--size-control: 2.75rem;--size-control-floating: 2.9rem;--size-icon: 1.1rem;--size-icon-lg: 1.5rem;--size-icon-xl: 1.75rem;--size-timer-bar: .5rem;--size-health-bar: .65rem;--size-timer-penalty-lane: .9rem;--size-score-pill-min: 4.75rem;--size-score-pill-min-wide: 5.5rem;--size-keypad-button-min: 4.5rem;--size-keypad-cluster-max: 22rem;--size-control-rail-min: 4.9rem;--size-control-rail-min-mobile: 4.4rem;--size-settings-width: 22rem;--size-settings-height: 28rem;--size-score-dialog-width: 18rem;--size-room-panel-width: 22rem;--size-friend-avatar: 2.5rem;--size-friend-empty-min-height: 8rem;--size-friend-score-min: 3rem;--font-size-keypad-digit: var(--type-display-input-size);--font-size-keypad-digit-mobile: var(--type-display-input-compact-size);--size-menu-title-orb: 17rem;--size-menu-blob-min-height: 7.2rem;--size-menu-blob-icon: 1.9rem;--size-waiting-card-min-height: 6.75rem;--size-waiting-mark-min-width: 5.5rem;--size-waiting-mark-min-height: 1.62rem;--size-toast-width: 18rem;--opacity-disabled: .38;--opacity-muted: .5;--opacity-soft: .7;--opacity-subtle: .85;--shadow-panel: 0 18px 42px rgba(8, 17, 28, .08);--shadow-toast: 0 18px 34px rgba(16, 27, 46, .22);--blur-panel: 14px;--blur-overlay: 10px}@media(min-width:900px){:root{--type-display-hero-size: 5.5rem;--type-display-game-size: 6.3rem;--type-display-input-size: 3.7rem;--type-display-results-size: 3.5rem;--type-display-burst-size: 3rem;--type-title-panel-size: 2.5rem;--type-metric-inline-size: 1.15rem;--type-action-label-size: 1.1rem;--type-body-meta-size: .9rem}}@media(max-width:768px){:root{--type-display-hero-size: 3.5rem;--type-display-game-size: 4.9rem;--type-display-input-size: 2.6rem;--type-display-results-size: 2.6rem;--type-display-burst-size: 2.1rem;--type-title-panel-size: 1.95rem;--type-metric-inline-size: .95rem;--type-action-label-size: 1rem;--type-body-meta-size: .76rem}}@media(max-width:480px){:root{--type-display-hero-size: 2.5rem;--type-display-game-size: 4.4rem;--type-display-input-size: 2rem;--type-display-results-size: 2.4rem;--type-display-burst-size: 1.65rem;--type-title-panel-size: 1.75rem;--type-metric-inline-size: .88rem;--type-action-label-size: 1rem;--type-body-meta-size: .68rem}}
