@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color-scheme:dark;--bg-base: #05070f;--bg-panel: rgba(15, 18, 39, .72);--bg-panel-alt: rgba(12, 15, 27, .78);--border-soft: rgba(255, 255, 255, .08);--text-body: #f5f7ff;--text-muted: #9fb5d9;--accent: #7c3aed;--accent-soft: #9d5bff;--warn: #ffb347;--live: #4ade80;--danger: #ff5f5f}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Space Grotesk,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#05070f;color:var(--text-body);overflow-x:hidden;overflow-y:auto}img{max-width:100%;display:block}button,input,select{font-family:inherit}.app-shell{display:flex;flex-direction:column;padding:24px 32px;gap:24px}.app-header{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border:1px solid var(--border-soft);border-radius:24px;background:#080a18b3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-status{display:flex;align-items:center;gap:16px}h1,h2,h3,strong{font-weight:600;margin:0}h2{font-size:11px}p{margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--text-muted);margin-bottom:6px}.app-grid{flex:1;display:grid;grid-template-columns:320px minmax(0,1fr) 320px;gap:24px;min-height:0;height:100%;overflow:hidden}.app-grid>section{min-height:0;max-height:100%;overflow-y:auto;padding-right:8px;scrollbar-gutter:stable both-edges}.app-grid>section::-webkit-scrollbar{width:6px}.app-grid>section::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px}.sidebar{display:flex;flex-direction:column;gap:20px;min-height:0}.panel-block{background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:24px;padding:20px;display:flex;flex-direction:column;scrollbar-gutter:stable both-edges;gap:16px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel-block.fill{flex:1;min-height:0}.panel-block__header{display:flex;justify-content:space-between;align-items:center;gap:16px}.text-input{width:100%;padding:12px 14px;border-radius:16px;background:#ffffff08;border:1px solid var(--border-soft);color:var(--text-body);font-size:15px}.field-label{font-size:13px;color:var(--text-muted)}.field-hint{font-size:12px;color:var(--text-muted)}.avatar-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.avatar-chip{border:1px solid transparent;border-radius:18px;padding:10px 12px;background:#ffffff05;color:var(--text-body);display:flex;align-items:center;gap:12px;cursor:pointer;transition:border .2s,background .2s}.avatar-chip img{width:32px;height:32px}.avatar-chip.selected{border-color:var(--accent);background:#7c3aed1f}.primary-button{border:none;padding:12px 20px;border-radius:16px;background:linear-gradient(120deg,var(--accent),var(--accent-soft));color:#fff;font-weight:600;cursor:pointer}.primary-button:disabled{opacity:.4;cursor:not-allowed}.primary-button.sm{padding:8px 12px;border-radius:12px;font-size:13px}.ghost-button{border:1px solid var(--border-soft);background:transparent;color:var(--text-body);border-radius:14px;padding:8px 14px;cursor:pointer}.ghost-button.sm{padding:6px 10px;font-size:12px}.volume-slider label{display:block;font-size:13px;margin-bottom:6px;color:var(--text-muted)}.volume-slider input[type=range]{width:100%}.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.option-card{border-radius:18px;border:1px solid var(--border-soft);background:#ffffff05;color:var(--text-body);padding:12px;text-align:left;cursor:pointer}.option-card.active{border-color:var(--accent);background:#7c3aed1f}.option-card__text{color:var(--text-muted);font-size:13px}.queue-actions{display:flex;flex-direction:column;gap:8px}.queue-warning{color:var(--warn);font-size:13px}.queue-status{font-size:13px;color:var(--text-muted)}.center-stage{display:flex;flex-direction:column;gap:20px;min-height:0}.stage-wrapper{flex:none;min-height:0;height:clamp(420px,48vh,560px);display:flex;justify-content:flex-start;align-items:flex-start;border-radius:32px;padding:12px;border:1px solid var(--border-soft);background:var(--bg-panel-alt);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:relative;overflow:hidden}.game-canvas{width:100%;height:100%;border-radius:24px;display:block;object-fit:contain}.game-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;background:#05070fa6;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;pointer-events:none}.game-overlay .label{text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--text-muted)}.game-overlay .countdown-value{font-size:clamp(3rem,8vw,5rem);font-weight:700}.game-overlay .countdown-value.sm{font-size:clamp(1.8rem,4vw,3rem)}.scoreboard{background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:24px;padding:18px}.scoreboard__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.scoreboard__mode{display:flex;align-items:center;gap:12px}.match-timer{padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.1);font-weight:600}.match-timer.critical{border-color:var(--danger);color:var(--danger);animation:pulse 1s infinite}.match-clock{padding:12px 18px;border-radius:18px;border:1px solid var(--border-soft);background:#ffffff08;display:flex;flex-direction:column;gap:4px;min-width:130px;text-align:right}.match-clock .label{font-size:12px;color:var(--text-muted)}.match-clock.critical{border-color:var(--danger);color:var(--danger)}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.scoreboard__list{display:flex;flex-direction:column;gap:10px}.scoreboard__row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:16px;background:#00000026}.scoreboard__row.self{border:1px solid var(--accent)}.scoreboard__meta{flex:1;margin-left:12px}.score{font-size:20px}.player-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:4px}.player-card{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:16px;background:#ffffff05}.player-card.self{border:1px solid var(--accent)}.player-card__meta{display:flex;align-items:center;gap:12px}.avatar-thumb{width:40px;height:40px;border-radius:50%;background:#ffffff0d;display:grid;place-items:center}.player-name{font-weight:600}.player-status{font-size:12px;color:var(--text-muted)}.tone-idle{color:var(--text-muted)}.tone-warn{color:var(--warn)}.tone-live{color:var(--live)}.tone-accent{color:var(--accent-soft)}.challenge-status{padding:10px 12px;border-radius:14px;font-size:13px}.challenge-status.pending{background:#7c3aed1f;border:1px solid var(--accent)}.challenge-status.accepted{background:#4ade801a;border:1px solid var(--live)}.challenge-status.declined,.challenge-status.cancelled,.challenge-status.error,.challenge-status.timeout{background:#ff5f5f1a;border:1px solid var(--danger)}.challenge-list{display:flex;flex-direction:column;gap:12px}.challenge-card{padding:12px;border-radius:16px;background:#ffffff05;border:1px solid var(--border-soft)}.challenge-card__actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.countdown{font-size:12px;color:var(--warn)}.rooms-stack{display:flex;flex-direction:column;gap:12px;max-height:180px;overflow-y:auto}.room-card{padding:12px;border-radius:16px;background:#ffffff05;border:1px solid var(--border-soft);display:flex;justify-content:space-between}.room-card__meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.latency-badge{border-radius:16px;padding:12px 16px;background:#ffffff0a;border:1px solid var(--border-soft);display:flex;flex-direction:column;gap:4px;text-align:right}.latency-badge .label{font-size:12px;color:var(--text-muted)}.latency-badge.good strong{color:var(--live)}.latency-badge.warning strong{color:var(--warn)}.latency-badge.bad strong{color:var(--danger)}.empty-state{font-size:13px;color:var(--text-muted)}@media(max-width:1400px){.app-grid{grid-template-columns:260px minmax(0,1fr) 260px}}@media(max-width:1100px){body{overflow-y:auto}.app-shell{padding:16px}.app-grid{grid-template-columns:1fr;overflow-y:auto}.sidebar{flex-direction:column}}@media(min-width:700px){.app-shell{height:100vh}}
