@font-face{font-family:Rajdhani;src:url(/assets/rajdhani-500-ByNUCHrt.woff2)format("woff2");font-weight:500;font-display:block}@font-face{font-family:Rajdhani;src:url(/assets/rajdhani-600-CXCVEoA9.woff2)format("woff2");font-weight:600;font-display:block}@font-face{font-family:Rajdhani;src:url(/assets/rajdhani-700-BPDUZo87.woff2)format("woff2");font-weight:700;font-display:block}:root{--bg:#120f14;--panel:#1e1a22;--line:#3a3340;--text:#d9d2c6;--muted:#8a8178;--ember:#ff8a2a;--ember-hot:#ffd166;--danger:#e04848;--ok:#6cc46c;--font:"Rajdhani", system-ui, sans-serif}*{box-sizing:border-box}html,body,#app{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);margin:0;font-size:14px}.screen{min-height:100%;padding:24px}.center{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.title{letter-spacing:4px;color:var(--ember);text-shadow:0 4px #5a2a10;margin:0;font-size:48px}.subtitle{color:var(--ember-hot);margin:0}.muted{color:var(--muted)}.error{color:var(--danger)}.btn{font-family:var(--font);color:var(--text);background:var(--panel);border:2px solid var(--line);cursor:pointer;padding:10px 20px;font-size:16px}.btn:hover,.btn:focus-visible{border-color:var(--ember);color:var(--ember-hot);outline:none}.btn.primary{border-color:var(--ember);color:var(--ember-hot);padding:12px 32px;font-size:20px}.btn:disabled{opacity:.5;cursor:default}.btn.small{padding:4px 10px;font-size:13px}.settings{flex-direction:column;align-items:center;gap:18px;max-width:640px;margin:0 auto;display:flex}.settings-group{border:2px solid var(--line);background:var(--panel);width:100%;padding:12px 16px}.settings-group h2{color:var(--ember-hot);margin:0 0 8px;font-size:18px}.settings-row{justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.settings-row .input{letter-spacing:0;width:auto;padding:4px 8px}.bindings{color:var(--muted);align-items:center;gap:8px;display:flex}.input{font-family:var(--font);color:var(--text);background:var(--panel);border:2px solid var(--line);letter-spacing:2px;width:9em;padding:10px 12px;font-size:16px}.input:focus-visible{border-color:var(--ember);outline:none}.room{flex-direction:column;align-items:center;gap:10px;display:flex}.room-join,.room-actions{gap:8px;display:flex}.room-settings{flex-wrap:wrap;justify-content:center;gap:8px 14px;max-width:720px;display:flex}.room-choice{color:var(--muted);align-items:center;gap:6px;display:flex}.room-choice .input{letter-spacing:0;width:auto;padding:6px 8px}.room-list{border-collapse:collapse;min-width:420px}.room-list caption{color:var(--ember-hot);text-align:left;padding-bottom:4px}.room-list td{border-top:1px solid var(--line);padding:4px 10px}.room-members{text-align:center;margin:0;padding:0;list-style:none}.match-screen{background:#000;position:fixed;inset:0}.game-host{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.game-frame{cursor:none;position:absolute;inset:0}.game-frame canvas{width:100%;height:100%;position:absolute;inset:0}.match-status{text-align:center;width:100%;color:var(--muted);position:absolute;top:50%}.title.small{font-size:28px}.results{flex-direction:column;gap:12px;max-width:760px;margin:0 auto;display:flex}.scoreboard{border-collapse:collapse;width:100%}.scoreboard th,.scoreboard td{border-bottom:1px solid var(--line);text-align:left;padding:4px 8px}.scoreboard tr.bot td{color:var(--muted)}.echo{color:#2ec0c8}.awards{margin:0;padding:0;list-style:none}.section{color:var(--ember);margin:8px 0 0;font-size:16px}.home-links{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tabs{gap:8px;display:flex}.btn.active{border-color:var(--ember);color:var(--ember-hot)}.scoreboard tr.you td{color:var(--ember-hot)}.outcome.win{color:var(--ok)}.outcome.loss{color:var(--danger)}.xp-gained{color:var(--ember-hot);margin:0;font-size:20px}.xp-bar{appearance:none;border:2px solid var(--line);background:var(--bg);width:100%;height:14px}.xp-bar::-webkit-progress-bar{background:var(--bg)}.xp-bar::-webkit-progress-value{background:var(--ember)}.xp-bar::-moz-progress-bar{background:var(--ember)}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 16px;margin:0;display:grid}.stat-grid dt{color:var(--muted)}.stat-grid dd{margin:0;font-size:18px}
