:root{--bg: #140d1a;--bg-raised: #1e1526;--bg-card: #251a30;--border: #3a2a47;--text: #f4ecf7;--muted: #a892b8;--accent: #e5006d;--accent-hover: #ff2f8b;--warn: #d98324;--ok: #3fae6b;--radius: 14px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2{margin:0}h2{font-size:1.05rem;margin-bottom:.6rem;color:var(--muted);font-weight:600;letter-spacing:.02em;text-transform:uppercase}input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.7rem .8rem;font-size:1rem;width:100%}input:focus{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;border:0;border-radius:10px;padding:.65rem 1rem;background:var(--bg-raised);color:var(--text);cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .05s ease}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;font-weight:600}button.primary:not(:disabled):hover{background:var(--accent-hover)}button.ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}button.warn{background:var(--warn);color:#1b1008;font-weight:600}button.big{padding:.9rem 1.2rem;font-size:1.05rem}button.full{width:100%}.screen{max-width:560px;margin:0 auto;min-height:100%;padding:0 1rem 3rem}.screen.center{display:flex;align-items:center;justify-content:center}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:.82rem}.mt{margin-top:.6rem}.error{color:#ff8faf;font-size:.9rem;margin:.4rem 0 0}.row{display:flex;align-items:center}.row.gap{gap:.5rem}.row.spread{justify-content:space-between}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 0 1.2rem;position:sticky;top:0;background:linear-gradient(var(--bg) 75%,transparent);z-index:5}.brand{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.4rem}.brand.small{font-size:1.05rem}.brand .bell{font-size:1.3em}.pill{background:var(--bg-card);border:1px solid var(--border);border-radius:999px;padding:.3rem .7rem;font-size:.85rem;color:var(--muted)}.content{display:flex;flex-direction:column;gap:1.6rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.card.subtle{background:var(--bg-raised)}.card.login{width:100%;max-width:360px;display:flex;flex-direction:column;gap:.5rem;padding:1.6rem}.card.login label{font-size:.8rem;color:var(--muted);margin-top:.5rem}.card.login .brand{justify-content:center;margin-bottom:1rem}.card.login .primary{margin-top:1.2rem}.request-buttons{display:grid;gap:.7rem}.request-btn{display:flex;align-items:center;gap:.8rem;padding:1.1rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);font-size:1.1rem;font-weight:600;text-align:left}.request-btn:not(:disabled):hover{border-color:var(--accent)}.request-btn .emoji{font-size:1.6rem}.request-btn .small{margin-left:auto;font-weight:400}.request-card{margin-bottom:.7rem}.request-card .req-title{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.05rem}.request-card .emoji{font-size:1.3rem}.request-card.status-active{border-color:var(--accent)}.request-card.status-acknowledged{border-color:var(--ok)}.request-card.status-pending_game{border-color:var(--warn)}.timer{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700}.history{display:flex;flex-direction:column;gap:.3rem}.history-row{display:flex;justify-content:space-between;padding:.5rem .2rem;border-bottom:1px solid var(--border)}.notif-toggle .row{gap:.5rem}
