:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;--page-padding: clamp(.9rem, 1.3vw, 1.5rem);--panel-radius: clamp(1.25rem, 1.8vw, 2rem);--panel-padding: clamp(1rem, 1.5vw, 1.4rem);--surface-gap: clamp(.65rem, 1.2vh, 1rem);--shell-max: 94rem;--copy-max: 38rem;--header-rail-width: 28rem;--page-background: linear-gradient(180deg, #15110e 0%, #0d0a08 100%);--panel-surface: rgba(22, 18, 15, .9);--panel-surface-strong: rgba(25, 21, 18, .94);--panel-surface-muted: rgba(31, 27, 23, .82);--surface-plain: rgba(16, 13, 11, .72);--surface-plain-strong: rgba(12, 10, 9, .82);--border-color: rgba(193, 161, 116, .16);--border-color-strong: rgba(193, 161, 116, .28);--text-color: #f3eee7;--text-muted: rgba(231, 223, 210, .7);--text-subtle: rgba(231, 223, 210, .56);--accent-color: #c79a56;--accent-contrast: #15110d;--accent-soft: rgba(199, 154, 86, .16);--button-secondary-bg: rgba(36, 29, 24, .9);--button-ghost-border: rgba(193, 161, 116, .16);--warning-bg: rgba(84, 37, 37, .72);--warning-border: rgba(214, 132, 132, .28);--neutral-bg: rgba(39, 32, 27, .84);--neutral-border: rgba(193, 161, 116, .18);--current-row: rgba(199, 154, 86, .08);--line-color: rgba(193, 161, 116, .12);color:var(--text-color)}:root[data-web-theme=graphite]{--page-background: linear-gradient(180deg, #12161b 0%, #0b0e12 100%);--panel-surface: rgba(20, 24, 29, .9);--panel-surface-strong: rgba(23, 28, 34, .94);--panel-surface-muted: rgba(28, 34, 41, .82);--surface-plain: rgba(15, 18, 22, .72);--surface-plain-strong: rgba(11, 14, 18, .82);--border-color: rgba(126, 149, 179, .16);--border-color-strong: rgba(126, 149, 179, .28);--text-color: #edf1f6;--text-muted: rgba(217, 225, 235, .7);--text-subtle: rgba(217, 225, 235, .56);--accent-color: #7f97b5;--accent-contrast: #10151a;--accent-soft: rgba(127, 151, 181, .16);--button-secondary-bg: rgba(29, 36, 44, .9);--button-ghost-border: rgba(126, 149, 179, .16);--warning-bg: rgba(79, 34, 43, .72);--warning-border: rgba(196, 113, 132, .28);--neutral-bg: rgba(30, 37, 45, .84);--neutral-border: rgba(126, 149, 179, .18);--current-row: rgba(127, 151, 181, .08);--line-color: rgba(126, 149, 179, .12)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:100%;margin:0}body{min-height:100dvh;background:var(--page-background);overflow:hidden;overscroll-behavior:none;color:var(--text-color)}button,input,textarea,select{font:inherit}img{display:block}.app-shell{width:100%;height:100dvh;max-height:100dvh;padding:var(--page-padding);display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--surface-gap);overflow:hidden}.theme-switcher{display:inline-flex;gap:.2rem;padding:.22rem;border-radius:999px;border:1px solid var(--border-color);background:var(--surface-plain-strong)}.theme-switcher__button{border:0;border-radius:999px;background:transparent;color:var(--text-subtle);padding:.4rem .72rem;font-weight:700;cursor:pointer}.theme-switcher__button.is-active{background:var(--button-secondary-bg);color:var(--text-color);box-shadow:inset 0 0 0 1px var(--border-color)}.banner-stack{display:grid;gap:.75rem;max-height:min(20dvh,9rem);overflow:auto;align-content:start;min-height:0}.app-stack{width:min(100%,44rem);display:grid;gap:1rem;min-height:0;max-height:100%}.inline-banner,.status-panel,.summary-panel,.leaderboard-panel,.stage-card{border-radius:var(--panel-radius);border:1px solid var(--border-color);background:var(--panel-surface);box-shadow:0 12px 26px #0000002e}.inline-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem}.inline-banner strong,.inline-banner p{margin:0}.inline-banner p{color:var(--text-muted)}.inline-banner--neutral{border-color:var(--neutral-border);background:var(--neutral-bg)}.inline-banner--highlight{border-color:var(--border-color-strong);background:var(--accent-soft)}.inline-banner--warning{border-color:var(--warning-border);background:var(--warning-bg)}.inline-banner__actions,.status-panel__actions,.summary-actions,.hud-actions{display:flex;flex-wrap:wrap;gap:.75rem}.center-stage{display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}.status-panel,.summary-panel,.name-panel{width:min(100%,44rem);padding:calc(var(--panel-padding) * 1.15);display:grid;gap:1rem;max-height:100%;overflow:auto}.status-banner{margin:0;border-radius:1rem;border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--text-color);padding:.9rem 1rem}.status-banner--neutral{border-color:var(--neutral-border);background:var(--neutral-bg);color:var(--text-color)}.status-banner--inline{margin-bottom:0}.status-panel--error{border-color:var(--warning-border)}.eyebrow{margin:0;color:var(--accent-color);text-transform:uppercase;letter-spacing:.2em;font-size:.74rem;font-weight:800}.status-panel h1,.summary-panel h1,.leaderboard-screen h1,.hud-panel h1,.result-overlay h2,.leaderboard-panel h2,.leaderboard-card-row h3{margin:0}.status-panel p,.summary-panel p,.leaderboard-screen p,.hud-panel p,.leaderboard-card-row p{margin:0;color:var(--text-muted)}.name-form{display:grid;gap:1rem}.form-field{display:grid;gap:.5rem}.form-field span,.supporting-text,.leaderboard-current-player,.leaderboard-panel__header p,.leaderboard-empty,.leaderboard-time,.metric-card span,.hud-body,.hud-player,.result-overlay__card p:last-child{color:var(--text-subtle)}.text-input{width:100%;border:1px solid var(--border-color);border-radius:1rem;padding:.92rem 1rem;color:var(--text-color);background:var(--surface-plain);outline:none}.text-input:focus{border-color:var(--border-color-strong);box-shadow:0 0 0 3px var(--accent-soft)}.decision-button{border:1px solid transparent;border-radius:999px;padding:.92rem 1.35rem;color:var(--accent-contrast);background:var(--accent-color);font-weight:800;cursor:pointer;transition:transform .14s ease,opacity .14s ease,background-color .14s ease,border-color .14s ease}.decision-button:hover:enabled{transform:translateY(-1px);opacity:.96}.decision-button:disabled{cursor:not-allowed;opacity:.56}.decision-button--secondary{background:var(--button-secondary-bg);color:var(--text-color);border-color:var(--border-color)}.decision-button--ghost{background:transparent;color:var(--text-muted);border-color:var(--button-ghost-border)}.decision-button--nav{width:10.25rem;min-width:10.25rem;text-align:center}.decision-button--wide{flex:1 1 16rem;min-height:4rem;display:grid;gap:.1rem;justify-items:center}.decision-button--wide span{font-size:1rem}.decision-button--wide small{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.game-shell{display:flex;flex-direction:column;gap:var(--surface-gap);min-height:0;overflow:hidden}.hud-panel{display:grid;gap:.75rem;padding:0 0 .7rem;align-content:start;border:0;border-bottom:1px solid var(--line-color);border-radius:0;background:transparent;box-shadow:none}.hud-copy{display:grid;gap:.25rem;max-width:var(--copy-max)}.hud-side{display:grid;gap:.45rem;align-content:start;justify-items:end;width:var(--header-rail-width)}.hud-actions{width:100%;justify-content:flex-end}.hud-player--compact{justify-self:start;text-align:left;font-size:.92rem}.metrics-grid{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.summary-stats{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr))}.metric-card{min-width:0;padding:.45rem .15rem .5rem;border-radius:0;border:0;border-bottom:1px solid var(--line-color);background:transparent}.metric-card strong{display:block;margin-top:.25rem;font-size:clamp(1rem,.4vw + .95rem,1.15rem)}.metrics-grid .metric-card{min-width:6.5rem}.metrics-grid .metric-card strong{font-size:1.08rem}.game-stage-panel{flex:1 1 auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none;overflow:hidden;position:relative}.stage-shell{min-height:0;height:100%}.stage-card{padding:var(--panel-padding);display:flex;align-items:center;justify-content:center;position:relative;height:100%;min-height:0;max-height:100%;overflow:hidden;background:transparent;border-color:var(--border-color);box-shadow:none}.mobile-stage-overlay{display:none}.swipe-shell{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.swipe-card{position:relative;min-height:0;max-width:100%;max-height:100%;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;transition:transform .18s ease}.swipe-card.is-dragging{transition:none;cursor:grabbing}.swipe-card:not(.is-dragging){cursor:grab}.swipe-card__image-frame{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.swipe-card__image{width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none}.swipe-card__preload{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.swipe-card__hint{position:absolute;top:1rem;padding:.42rem .78rem;border-radius:999px;font-weight:800;letter-spacing:.12em;font-size:.76rem;z-index:2}.swipe-card__hint--left{left:1rem;background:#ff5f7f2e;border:1px solid rgba(255,95,127,.35);color:#ffc7d3;opacity:var(--left-hint-opacity)}.swipe-card__hint--right{right:1rem;background:#53d6a02e;border:1px solid rgba(83,214,160,.35);color:#c8ffe8;opacity:var(--right-hint-opacity)}.result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2rem);background:#03070c80;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.result-overlay__card{width:min(100%,26rem);padding:1.35rem;border-radius:1.5rem;border:1px solid var(--border-color);background:var(--panel-surface-strong);text-align:center;box-shadow:0 12px 28px #0003}.result-overlay__status{margin:0 0 .6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.result-overlay__status.is-correct{color:#7ef0be}.result-overlay__status.is-incorrect{color:#ff99ad}.decision-bar{position:absolute;left:50%;bottom:clamp(.75rem,2.2vh,1.35rem);transform:translate(-50%);display:flex;align-items:center;gap:.45rem;padding:.3rem;border-radius:999px;border:1px solid var(--border-color);background:var(--surface-plain-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 8px 22px #00000038;pointer-events:none;z-index:4}.decision-bar .decision-button{pointer-events:auto}.decision-button--overlay{min-width:5.6rem;padding:.72rem 1rem;font-size:.95rem;font-weight:700}.summary-actions{display:flex;flex-wrap:wrap}.leaderboard-screen{display:flex;flex-direction:column;gap:1rem;min-height:0;overflow:hidden;position:relative}.leaderboard-theme-switcher{justify-self:end}.leaderboard-header{display:grid;gap:1rem}.leaderboard-header__copy{display:grid;gap:.35rem}.leaderboard-header__title,.leaderboard-header__body{margin:0}.leaderboard-header__side{display:grid;gap:.8rem;justify-items:end;align-content:start;width:var(--header-rail-width)}.leaderboard-header__actions{display:grid;gap:.45rem;justify-items:end;width:100%}.leaderboard-header__button-row{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.leaderboard-mobile-sections{display:none}.leaderboard-accordion{border-bottom:1px solid var(--line-color)}.leaderboard-accordion__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:0;background:transparent;color:var(--text-color);padding:.85rem 0;text-align:left;cursor:pointer}.leaderboard-accordion__toggle strong{display:block;font-size:1.55rem;line-height:1.05}.leaderboard-accordion__toggle small{display:block;margin-top:.25rem;color:var(--text-subtle);font-size:.98rem}.leaderboard-accordion__icon{color:var(--accent-color);font-size:1.6rem;line-height:1}.leaderboard-accordion__content{padding:.2rem 0 .9rem}.leaderboard-panels{display:grid;flex:1 1 auto;gap:1rem;min-height:0;overflow:auto;padding-right:.15rem}.leaderboard-panel{padding:var(--panel-padding);display:grid;gap:1rem;min-width:0;min-height:0;background:var(--panel-surface-strong);box-shadow:0 10px 22px #00000029}.leaderboard-panel__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.leaderboard-card-list{display:grid;gap:.75rem}.leaderboard-card-row{display:grid;gap:.3rem;padding:.95rem 0;border-radius:0;border:0;border-bottom:1px solid var(--line-color);background:transparent}.leaderboard-card-row.is-current,.leaderboard-table tbody tr.is-current{background:var(--current-row)}.leaderboard-rank{color:var(--accent-color);font-size:.78rem;font-weight:800;letter-spacing:.1em}.leaderboard-table-shell{display:none;overflow:auto;border-radius:.9rem;border:1px solid var(--border-color);background:transparent}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table th,.leaderboard-table td{padding:.85rem 1rem;text-align:left}.leaderboard-table thead th{color:var(--text-subtle);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.leaderboard-table tbody tr+tr td{border-top:1px solid var(--line-color)}@media(min-width:600px){.status-panel,.summary-panel,.name-panel{width:min(100%,48rem);margin-inline:auto}.hud-panel,.leaderboard-screen{width:min(100%,var(--shell-max));margin-inline:auto}.leaderboard-header__actions{justify-items:end}.leaderboard-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}}@media(min-width:900px){:root{--shell-max: 104rem}.game-stage-panel,.stage-card,.swipe-shell{overflow-x:visible;overflow-y:hidden}.swipe-card{max-width:none;max-height:none}.stage-card{padding:0;border-top:0;border-right:0;border-bottom:0;border-left:0;border-radius:0}.hud-panel{grid-template-columns:minmax(18rem,1fr) auto auto;align-items:center}.hud-side{justify-items:end}.hud-player--compact{justify-self:end;text-align:right}.metrics-grid{width:auto;justify-self:center;grid-template-columns:repeat(4,minmax(7.25rem,8.25rem));align-self:center}.decision-bar{gap:.4rem}.leaderboard-table-shell{display:block}.leaderboard-card-list{display:none}.leaderboard-panels{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(min-width:1400px){:root{--shell-max: 114rem;--panel-padding: 1.45rem}.metrics-grid{grid-template-columns:repeat(4,minmax(7.5rem,8.5rem))}.hud-panel h1,.status-panel h1,.summary-panel h1,.leaderboard-screen h1{font-size:clamp(2rem,1.2vw + 1.35rem,2.7rem)}}@media(min-width:1900px){:root{--shell-max: 124rem;--copy-max: 42rem}.app-shell{gap:1.1rem}.metrics-grid{grid-template-columns:repeat(4,minmax(7.75rem,8.75rem))}.summary-stats{grid-template-columns:repeat(4,minmax(10rem,1fr))}}@media(min-width:2500px){:root{--shell-max: 134rem;--page-padding: 1.5rem}.hud-panel,.leaderboard-panel,.summary-panel,.status-panel,.stage-card{border-radius:2rem}.decision-button{font-size:1rem}}@media(max-height:900px){:root{--page-padding: .8rem;--panel-padding: .95rem;--surface-gap: .75rem}.app-shell{gap:.75rem}.banner-stack{max-height:min(18dvh,7.75rem);gap:.5rem}.inline-banner{padding:.75rem .85rem}.status-panel h1,.summary-panel h1,.leaderboard-screen h1,.hud-panel h1{font-size:clamp(1.55rem,1.1rem + 1.8vh,2.15rem)}.metric-card{padding:.75rem .85rem}.metric-card strong{font-size:1.1rem}.decision-button{padding:.8rem 1.1rem}.decision-button--wide{min-height:3.45rem}}@media(max-height:820px){:root{--page-padding: .7rem;--panel-padding: .85rem;--surface-gap: .6rem}.inline-banner__actions,.status-panel__actions,.summary-actions,.hud-actions{gap:.5rem}.hud-copy{gap:.35rem}.metrics-grid,.summary-stats{gap:.5rem}.stage-card{padding:.75rem}.decision-button{padding:.72rem 1rem}.decision-button--overlay{min-width:5rem;padding:.64rem .9rem}.decision-button--wide{min-height:3rem}.decision-button--wide small{font-size:.7rem}}@media(max-height:720px){.banner-stack{max-height:min(15dvh,5.5rem)}.inline-banner{padding:.6rem .75rem}.inline-banner p,.status-panel p,.summary-panel p,.leaderboard-screen p,.hud-panel p,.leaderboard-card-row p{font-size:.92rem}.decision-button{padding:.65rem .95rem}.decision-button--overlay{min-width:4.6rem;padding:.58rem .82rem}.decision-button--wide{min-height:2.75rem}.decision-button--wide span{font-size:.92rem}.metrics-grid,.summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.leaderboard-card-row{padding:.75rem}.leaderboard-table th,.leaderboard-table td{padding:.6rem .75rem}}@media(max-width:899px){.app-shell{width:100%}.inline-banner,.hud-panel,.summary-panel,.status-panel,.leaderboard-panel,.stage-card{box-shadow:0 18px 42px #00000047}.leaderboard-screen{gap:.75rem;overflow:auto}.leaderboard-header__title,.leaderboard-header__body{display:none}.leaderboard-header__copy{gap:0}.leaderboard-theme-switcher{position:static;align-self:stretch}.leaderboard-header__side,.leaderboard-header__actions{justify-items:stretch;width:100%}.leaderboard-header__button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;justify-content:stretch;width:100%}.leaderboard-header__button-row .decision-button{width:100%}.leaderboard-mobile-sections{display:grid;gap:0;align-content:start;flex:0 0 auto;min-height:auto;overflow:visible}.leaderboard-panels{display:none}.leaderboard-card-list{gap:0}.leaderboard-accordion__content{padding-bottom:.75rem}}@media(max-width:599px){.game-shell{gap:.35rem}.hud-panel{display:none}.game-stage-panel{width:calc(100% + 1.6rem);margin-inline:-.8rem}.stage-card{padding:3.2rem 0 4.25rem;border-left:0;border-right:0;border-radius:0}.mobile-stage-overlay{position:absolute;top:.7rem;left:.8rem;right:.8rem;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:.6rem;pointer-events:none}.mobile-stage-progress,.mobile-stage-action{pointer-events:auto}.mobile-stage-progress{border-radius:999px;border:1px solid var(--border-color);background:var(--surface-plain-strong);color:var(--text-color);padding:.52rem .82rem;font-size:.9rem;font-weight:700;line-height:1}.mobile-stage-action{min-width:0;padding:.52rem .9rem;font-size:.92rem}.swipe-card__hint{display:none}.hud-side{justify-items:stretch;width:100%}.hud-side{justify-items:stretch}.header-theme-slot,.header-nav-slot{width:100%}.theme-switcher{width:100%;justify-content:center}.app-shell{padding:.8rem;grid-template-rows:minmax(0,1fr)}.inline-banner,.leaderboard-header,.summary-panel,.status-panel,.name-panel{gap:.85rem}.inline-banner{flex-direction:column;align-items:stretch}.inline-banner__actions,.status-panel__actions,.summary-actions,.hud-actions{flex-direction:column}.decision-button,.decision-button--wide{width:100%}.decision-bar{gap:.35rem;max-width:calc(100% - 1.25rem);bottom:.75rem}.decision-bar .decision-button,.decision-button--overlay{width:auto;min-width:4.35rem}.swipe-card__hint{top:.75rem}.swipe-card__hint--left{left:.75rem}.swipe-card__hint--right{right:.75rem}}
