:root{--bg: #0f1220;--panel: #1a1f33;--panel-2: #232a44;--accent: #6c8cff;--accent-2: #ffcb6b;--text: #e8ecf8;--muted: #9aa3c0;--good: #5fd38a;--close: #ffcb6b;--bad: #ff7a7a;--radius: 14px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(1200px 600px at 70% -10%,#1c2540 0%,var(--bg) 60%),var(--bg);color:var(--text)}button{font:inherit;cursor:pointer}input,select{font:inherit}.app{max-width:1100px;margin:0 auto;padding:0 16px 48px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:12px;flex-wrap:wrap}.logo{background:none;border:0;color:var(--text);font-size:1.25rem;font-weight:800}.topbar nav{display:flex;align-items:center;gap:14px}.link{background:none;border:0;color:var(--muted);text-decoration:underline}.link:hover{color:var(--text)}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.on{background:var(--good)}.dot.off{background:var(--bad)}.lang-switch{background:var(--panel-2);color:var(--text);border:1px solid #33406e;border-radius:8px;padding:6px 8px}.btn{background:var(--panel-2);color:var(--text);border:1px solid #33406e;padding:10px 16px;border-radius:10px}.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#0c1023;font-weight:700}.btn.big{padding:14px 22px;font-size:1.05rem;width:100%;margin-top:18px}.panel{background:var(--panel);border:1px solid #2a3252;border-radius:var(--radius);padding:20px}.center{text-align:center}.hero h1{font-size:2.4rem;margin:16px 0 8px}.hero p{color:var(--muted);max-width:640px;line-height:1.5}.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.card{background:var(--panel);border:1px solid #2a3252;border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:10px}.card input{background:var(--panel-2);border:1px solid #33406e;color:var(--text);padding:10px 12px;border-radius:10px}.hint{color:var(--muted);font-size:.85rem}.lobby-head{display:flex;justify-content:space-between;align-items:flex-start}.code strong{letter-spacing:3px;font-size:1.3rem;color:var(--accent-2)}.ranked-tag{color:var(--muted);font-size:.9rem}.lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}fieldset{border:0;padding:0;display:flex;flex-direction:column;gap:14px}fieldset label{display:flex;flex-direction:column;gap:6px;font-size:.95rem}fieldset label.checkbox{flex-direction:row;align-items:center;gap:8px}select{background:var(--panel-2);border:1px solid #33406e;color:var(--text);padding:8px;border-radius:8px}.waiting{text-align:center;color:var(--muted);margin-top:18px}.players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.players li{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:8px 10px;background:var(--panel-2);border-radius:8px;align-items:center}.players li.me{outline:1px solid var(--accent)}.guest{color:var(--muted);font-size:.8rem}.pscore{font-weight:700;color:var(--accent-2)}.game{display:grid;grid-template-columns:1fr 280px;gap:16px;margin-top:8px}.game-main{display:flex;flex-direction:column;gap:14px}.game-side{background:var(--panel);border:1px solid #2a3252;border-radius:var(--radius);padding:16px}.game-side h3{margin:8px 0}.timerbar{position:relative;height:26px;background:var(--panel-2);border-radius:13px;overflow:hidden}.timerfill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width 1s linear}.timertext{position:absolute;right:12px;top:3px;font-weight:700;color:#0c1023}.round-meta{color:var(--muted)}.notice{background:var(--panel);border:1px solid #2a3252;border-radius:var(--radius);padding:22px;line-height:1.7;font-size:1.05rem;white-space:pre-wrap}.hints{display:flex;gap:8px;flex-wrap:wrap}.hint-chip{background:var(--panel-2);border:1px dashed #4a557f;padding:6px 10px;border-radius:999px;font-size:.85rem}.guessbar{display:flex;gap:10px}.guessbar input{flex:1;background:var(--panel-2);border:1px solid #33406e;color:var(--text);padding:12px 14px;border-radius:10px;font-size:1.05rem}.feedback{padding:10px 14px;border-radius:10px;font-weight:600}.feedback.correct{background:#5fd38a26;color:var(--good)}.feedback.close{background:#ffcb6b26;color:var(--close)}.feedback.wrong{background:#ff7a7a1f;color:var(--bad)}.found-banner{padding:14px;background:#5fd38a26;color:var(--good);border-radius:10px;text-align:center;font-weight:600}.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--muted)}.reveal .answer strong{color:var(--accent-2);font-size:1.4rem}.masked-terms{color:var(--muted)}.ranking{list-style:none;margin:16px 0;padding:0;display:flex;flex-direction:column;gap:8px}.ranking li{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;background:var(--panel-2);padding:12px 14px;border-radius:10px}.ranking li.me{outline:1px solid var(--accent)}.row{display:flex;gap:12px;align-items:center}.authbar{position:relative}.auth-pop{position:absolute;right:0;top:28px;z-index:20;background:var(--panel);border:1px solid #2a3252;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px;width:240px}.auth-pop input{background:var(--panel-2);border:1px solid #33406e;color:var(--text);padding:8px 10px;border-radius:8px}.tabs{display:flex;gap:8px}.tabs button{flex:1;background:var(--panel-2);border:0;color:var(--muted);padding:6px;border-radius:8px}.tabs button.active{background:var(--accent);color:#0c1023}.auth-err{color:var(--bad);font-size:.85rem}.who{color:var(--text);margin-right:8px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--bad);color:#fff;padding:12px 18px;border-radius:10px;cursor:pointer;box-shadow:0 8px 30px #0006}@media (max-width: 820px){.cards,.lobby-grid,.game{grid-template-columns:1fr}}
