:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e8edf5;background:#090d14;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:radial-gradient(circle at top left,rgba(54,89,151,.14),transparent 34rem),#090d14}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.app-shell{width:min(1500px,calc(100% - 40px));margin:0 auto;padding:36px 0 80px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:28px}.topbar-actions{display:flex;flex-direction:column;align-items:flex-end;gap:13px}.eyebrow{margin-bottom:8px;color:#8394ad;font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:5px;font-size:clamp(2rem,4vw,3.1rem);line-height:1.05}h2{margin-bottom:3px;font-size:1.08rem}.subtitle,.panel-header p{margin-bottom:0;color:#8394ad}.game-status{display:flex;align-items:center;gap:16px;padding-top:9px;color:#a8b4c6}.game-status strong{color:#eef4ff}.status-badge{padding:6px 10px;border:1px solid #284a39;border-radius:999px;background:#10271e;color:#79d7a3;font-size:.82rem;font-weight:700}.user-menu{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 14px;border:1px solid #1d2634;border-radius:12px;background:#0f151fe0}.user-menu>div{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.user-label{color:#718096;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.user-menu strong{color:#edf3fc;font-size:.88rem}.primary-button,.secondary-button{border-radius:9px;font-weight:700;transition:border-color .12s ease,background .12s ease,transform .12s ease}.primary-button{min-height:44px;padding:10px 16px;border:1px solid #4e79bd;background:#315f9f;color:#f4f8ff}.primary-button:not(:disabled):hover{background:#3a6db1}.secondary-button{min-height:36px;padding:7px 11px;border:1px solid #344155;background:#151e2b;color:#c9d4e3}.secondary-button:not(:disabled):hover{border-color:#4d5f79;background:#1a2636}.primary-button:not(:disabled):active,.secondary-button:not(:disabled):active{transform:translateY(1px)}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.summary-card,.panel{border:1px solid #1d2634;background:#0f151feb;box-shadow:0 14px 40px #00000024}.summary-card{display:flex;flex-direction:column;gap:7px;min-height:88px;padding:17px 19px;border-radius:12px}.summary-card span{color:#7f8da1;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.summary-card strong{font-size:1.15rem;font-weight:650}.panel{margin-top:18px;border-radius:14px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;gap:20px;padding:19px 22px;border-bottom:1px solid #1b2431}.table-wrapper{width:100%;overflow-x:auto}.players-table{width:100%;border-collapse:collapse;white-space:nowrap}.players-table th,.players-table td{padding:12px 16px;border-bottom:1px solid #171f2b;text-align:right}.players-table th{color:#718096;background:#0c1119;font-size:.73rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.players-table th:nth-child(1),.players-table th:nth-child(2),.players-table th:nth-child(3),.players-table td:nth-child(1),.players-table td:nth-child(2),.players-table td:nth-child(3){text-align:left}.players-table tbody tr:last-child td{border-bottom:0}.players-table tbody tr:hover{background:#121a26}.player-name{color:#f0f4fb;font-weight:650}.player-dead{opacity:.42}.numeric-important{color:#f1f5fb;font-variant-numeric:tabular-nums}.delta-positive{color:#6dd39e;font-weight:650}.delta-negative{color:#f27d82;font-weight:650}.chart-panel{padding-bottom:20px}.chart-wrapper{width:100%;padding:12px 18px 2px;overflow-x:auto}.score-chart{display:block;width:100%;min-width:760px;height:auto}.chart-grid{stroke:#202a38;stroke-width:1}.chart-axis{stroke:#536177;stroke-width:1}.chart-axis-label{fill:#74839a;font-size:12px}.score-line{stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-legend{display:flex;flex-wrap:wrap;gap:10px 18px;padding:6px 24px 0}.legend-item{display:inline-flex;align-items:center;gap:7px;color:#a3afc0;font-size:.8rem}.legend-color{width:10px;height:10px;border-radius:50%}.centered-state{display:grid;min-height:70vh;place-items:center}.loading-card,.error-card{width:min(480px,100%);padding:28px;border:1px solid #263143;border-radius:14px;background:#101722}.loading-card{color:#9cacc1;text-align:center}.error-card h1{font-size:1.4rem}.error-card p{margin-bottom:0;color:#d88787}.session-error-card .secondary-button{margin-top:20px}.auth-page{display:grid;min-height:100vh;padding:24px;place-items:center}.auth-card{width:min(430px,100%);padding:34px;border:1px solid #202b3b;border-radius:16px;background:#0f151ff5;box-shadow:0 24px 70px #0000004d}.auth-card h1{margin-bottom:9px;font-size:2rem}.auth-subtitle{margin-bottom:26px;color:#8394ad}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form label{display:flex;flex-direction:column;gap:7px}.auth-form label>span{color:#a7b4c6;font-size:.82rem;font-weight:650}.auth-form input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #2d394c;border-radius:9px;outline:none;background:#0b111a;color:#eef4ff;transition:border-color .12s ease,box-shadow .12s ease}.auth-form input:focus{border-color:#4a76b6;box-shadow:0 0 0 3px #4a76b629}.auth-form input:disabled{opacity:.65}.auth-error{padding:10px 12px;border:1px solid #5a3035;border-radius:9px;background:#241416;color:#ee9da3;font-size:.84rem}@media(max-width:900px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-direction:column}.topbar-actions{align-items:flex-start;width:100%}.game-status{padding-top:0}.user-menu>div{align-items:flex-start}}@media(max-width:580px){.app-shell{width:min(100% - 24px,1500px);padding-top:22px}.summary-grid{grid-template-columns:1fr}.game-status{flex-wrap:wrap}.user-menu{width:100%;justify-content:space-between}.auth-page{padding:12px}.auth-card{padding:26px 20px}}
