:root{color-scheme:dark;font-family:Trebuchet MS,Verdana,sans-serif;line-height:1.5;font-weight:400;background:radial-gradient(circle at top,rgba(242,166,90,.16),transparent 28%),radial-gradient(circle at bottom right,rgba(17,138,178,.18),transparent 30%),linear-gradient(180deg,#10202a,#081217 54%,#050a0d);color:#f7f1de;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}a{color:inherit}:root{--bg-deep: #071015;--bg-panel: #0d1820;--bg-panel-strong: #101e27;--bg-soft: rgba(255, 255, 255, .04);--border-soft: rgba(197, 217, 224, .12);--border-strong: rgba(197, 217, 224, .2);--text-main: #f5f1e6;--text-soft: #aab8bc;--accent: #ff8f4d;--accent-strong: #ffd166;--shadow-lg: 0 28px 60px rgba(0, 0, 0, .3)}.app-shell{min-height:100vh;height:100vh;padding:10px;color:var(--text-main);overflow:hidden}.landing-card,.modal-card,.toast-error,.waiting-stage,.screen-panel{border:1px solid var(--border-soft);background:linear-gradient(180deg,#ffffff0a,#ffffff03),var(--bg-panel);box-shadow:var(--shadow-lg)}.landing-card{width:min(760px,100%);margin:9vh auto 0;padding:48px;border-radius:32px;text-align:center}.landing-card h1,.modal-card h2,.waiting-stage h2,.screen-panel h1{margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:clamp(2.1rem,4vw,4rem);line-height:.95;letter-spacing:-.04em}.lead,.subtle-copy,.hint,.event-row,.waiting-stage p{color:var(--text-soft)}.eyebrow{margin:0 0 8px;color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;font-weight:700}.landing-actions,.panel-actions,.rail-summary,.rail-topbar{display:flex;gap:12px;flex-wrap:wrap}.landing-actions{justify-content:center;margin-top:32px}.landing-powered{margin:18px 0 0;color:var(--text-soft);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}button,input{font:inherit}button,.list-button{border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:12px 18px;background:linear-gradient(135deg,var(--accent),#ffb36b);color:#121920;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease;box-shadow:0 12px 30px #ff8f4d38;font-weight:700}button.secondary,.ghost-button,.list-button{background:#ffffff0a;color:var(--text-main);box-shadow:none}button:hover,.list-button:hover{transform:translateY(-1px);box-shadow:0 16px 34px #0000002e;border-color:var(--border-strong)}.hero-button{min-width:190px}.game-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:0;min-height:calc(100vh - 20px);border:1px solid var(--border-soft);border-radius:24px;overflow:hidden;background:radial-gradient(circle at top right,rgba(255,143,77,.12),transparent 28%),linear-gradient(180deg,#ffffff05,#fff0),var(--bg-deep);box-shadow:var(--shadow-lg)}.hud-rail{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:0;background:linear-gradient(180deg,#ffffff08,#fff0),var(--bg-panel);border-right:1px solid var(--border-soft);min-height:0;overflow:hidden}.rail-section{padding:18px;border-bottom:1px solid rgba(255,255,255,.05)}.rail-primary{display:grid;gap:16px}.rail-feed{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.rail-topbar{justify-content:space-between;align-items:flex-start}.rail-topbar h2,.compact-header h3{margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:1.8rem;line-height:1;letter-spacing:-.04em}.rail-summary{align-items:center;justify-content:space-between}.panel-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.compact-header{margin-bottom:12px}.compact-header h3{font-size:1.2rem}.status-pill{padding:8px 12px;border-radius:999px;background:#ffffff14;text-transform:capitalize;font-size:.82rem;color:var(--text-main)}.roster-list,.scoreboard-list,.modal-list,.binding-grid{display:grid;gap:10px}.roster-row,.scoreboard-row,.list-button{border-radius:10px;background:var(--bg-soft);padding:12px 14px}.roster-row,.scoreboard-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.roster-identity{display:flex;align-items:center;gap:10px;min-width:0}.player-color-chip{width:12px;height:12px;border-radius:3px;flex:0 0 auto;box-shadow:0 0 0 1px #ffffff14}.scoreboard-row{grid-template-columns:24px minmax(0,1fr) auto auto}.roster-row p,.scoreboard-row span{margin:0}.event-feed{display:block;border-radius:10px;background:#ffffff0a;padding:14px 16px;line-height:1.55;min-height:0;overflow:auto}.event-row{margin:0}.event-row+.event-row{margin-top:6px}.roster-meta{display:grid;justify-items:end;gap:4px;font-size:.9rem;color:var(--text-soft)}.play-panel{min-width:0;min-height:0;padding:8px;display:flex;position:relative}.arena-shell{flex:1;min-height:0;height:calc(100vh - 36px);border-radius:14px;overflow:hidden;border:1px solid rgba(197,217,224,.12);background:linear-gradient(180deg,#ffffff06,#fff0),#081217;box-shadow:inset 0 0 0 1px #ffffff06;display:grid;place-items:center}.arena-canvas{display:block;width:auto;height:100%;max-width:100%;max-height:100%;background:#081217}.match-over-overlay{position:absolute;inset:8px;display:grid;place-items:center;background:#050a0d8f}.match-over-card{width:min(560px,calc(100% - 32px));padding:24px;border:1px solid var(--border-soft);border-radius:18px;background:linear-gradient(180deg,#ffffff0d,#ffffff04),var(--bg-panel);box-shadow:var(--shadow-lg);display:grid;gap:14px;text-align:center}.match-over-card>.secondary{justify-self:center}.match-over-scores{display:grid;gap:10px}.match-over-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:#ffffff0a}.replay-controls-overlay{position:absolute;inset:auto 12px 12px;display:grid;place-items:center;pointer-events:none}.replay-controls-card{width:min(620px,calc(100% - 24px));padding:16px 18px;border:1px solid var(--border-soft);border-radius:14px;background:linear-gradient(180deg,#ffffff0d,#ffffff04),#081217eb;box-shadow:var(--shadow-lg);display:grid;gap:12px;pointer-events:auto}.replay-controls-card h3{margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:1.35rem;line-height:1;letter-spacing:-.04em}.replay-controls-actions{display:flex;gap:10px;flex-wrap:wrap}.replay-controls-card input[type=range]{width:100%}.waiting-stage{flex:1;min-height:calc(100vh - 36px);border-radius:0;padding:36px;display:grid;place-items:center;text-align:center}.modal-scrim{position:fixed;inset:0;display:grid;place-items:center;background:#04080a8c;padding:20px;z-index:4}.modal-card{width:min(460px,100%);padding:24px;border-radius:18px;display:grid;gap:14px}.modal-card label{display:grid;gap:8px;color:#d9dbc9}.modal-card input,.modal-card select{border:1px solid var(--border-soft);border-radius:10px;padding:12px 14px;background:#ffffff0d;color:inherit}.list-button{width:100%;display:flex;justify-content:space-between;color:inherit;text-align:left}.binding-button{display:flex;justify-content:space-between;align-items:center;gap:12px}.toast-error{position:fixed;left:24px;bottom:24px;max-width:min(520px,calc(100vw - 48px));padding:14px 16px;border-radius:12px;z-index:5}.screen-state{min-height:100vh;display:grid;place-items:center;padding:24px;color:var(--text-main)}.screen-panel{width:min(720px,100%);padding:32px;border-radius:18px}.debug-panel{display:grid;gap:10px;margin-top:20px;padding:16px 18px;border-radius:12px;background:#ffffff0a}.debug-panel div{display:flex;justify-content:space-between;gap:16px;align-items:center}.debug-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}@media(max-width:1200px){.game-layout{grid-template-columns:300px minmax(0,1fr)}}@media(max-width:980px){.app-shell{padding:12px}.game-layout{grid-template-columns:1fr;min-height:auto}.hud-rail{border-right:0;border-bottom:1px solid var(--border-soft)}.play-panel{padding:12px}.arena-shell{height:auto}.arena-canvas,.waiting-stage{min-height:420px;height:auto;max-height:none}}
