*{box-sizing:border-box;margin:0}:root{--bg: #1a1c22;--panel: #242731;--panel-2: #2c303c;--text: #e6e8ee;--muted: #9aa0b0;--accent: #d4a940;--danger: #e05555;--ok: #4caf7d;--radius: 12px}html,body,#root{height:100%}body{background:radial-gradient(1200px 600px at 50% -10%,#262b3a,var(--bg));color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:var(--panel-2);border:1px solid #3a3f4e;border-radius:var(--radius);padding:10px 14px;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;gap:2px;transition:transform .06s,background .15s}button:hover:not(:disabled){background:#343948;transform:translateY(-1px)}button:disabled{opacity:.45;cursor:default}button small{color:var(--muted);font-size:11px}button.primary{background:var(--accent);border-color:var(--accent);color:#1c1500;font-weight:600}button.danger{background:#46242a;border-color:var(--danger)}button.claim{border-color:var(--accent)}button.ghost{background:transparent}button.selected{outline:2px solid var(--accent);background:#3a3320}button.big{padding:14px 22px;font-size:17px}select{font:inherit;background:var(--panel-2);color:var(--text);border:1px solid #3a3f4e;border-radius:8px;padding:6px 10px}.app{height:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom)}.centered{margin:auto;text-align:center}.logo{font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,8vw,38px);letter-spacing:2px;font-weight:700;line-height:1.1;background:linear-gradient(180deg,#f3d37a,#b8860b);-webkit-background-clip:text;background-clip:text;color:transparent;text-align:center}.muted{color:var(--muted)}.toast{position:fixed;top:12px;left:50%;transform:translate(-50%);background:#46242a;border:1px solid var(--danger);padding:10px 16px;border-radius:var(--radius);z-index:50;cursor:pointer;max-width:90vw}.toast-x{color:var(--muted);margin-left:8px}.waiting{display:flex;flex-direction:column;gap:16px;padding-top:28px;padding-bottom:24px;overflow-y:auto}.brand{text-align:center}.tagline{margin-top:4px;letter-spacing:2px;font-size:13px;text-transform:uppercase}.small{font-size:12px}.setting-panel .intro{font-family:Georgia,serif;font-style:italic;line-height:1.55;color:#cdd2df}.cast{list-style:none;display:flex;flex-direction:column;gap:12px}.cast li{display:flex;gap:12px;align-items:flex-start}.cast-glyph{flex:0 0 auto;width:40px;height:40px;border-radius:8px;border:2px solid #3a3f4e;background:var(--panel-2);display:inline-flex;align-items:center;justify-content:center;font-size:20px}.cast-body{display:flex;flex-direction:column;gap:2px}.cast-name{font-weight:600;color:var(--text)}.cast-tip{font-size:13px;color:var(--muted);line-height:1.4}.how-to summary{cursor:pointer;font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.how-to summary:hover{color:var(--accent)}.how-to-body{display:flex;flex-direction:column;gap:10px;margin-top:12px;font-size:14px;line-height:1.5;color:#cdd2df}.how-to-body strong{color:var(--accent);font-weight:600}.panel{background:var(--panel);border-radius:var(--radius);padding:16px}.panel h2{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:10px}.member-list{list-style:none;display:flex;flex-direction:column;gap:8px}.member-list li{display:flex;align-items:center;gap:10px}.member-list img,.avatar-fallback{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--panel-2)}.member-list .disconnected{opacity:.45}.tag{font-size:10px;text-transform:uppercase;background:var(--panel-2);border-radius:6px;padding:2px 6px;color:var(--accent)}.tag.you{color:var(--ok)}.row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.footer{text-align:center;margin-top:auto;padding:14px 0}.footer a{color:var(--muted);text-decoration:none}.footer a:hover{color:var(--accent)}.game{display:flex;flex-direction:column;height:100%;gap:8px;padding-top:8px}.game-header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.theme-name{color:var(--accent);font-weight:600}.countdown{font-variant-numeric:tabular-nums}.countdown.urgent{color:var(--danger);font-weight:700}.seats{display:flex;gap:8px;flex-wrap:wrap}.seat{background:var(--panel);border-radius:var(--radius);padding:8px 10px;flex:1 1 100px;border:1px solid transparent}.seat.turn{border-color:var(--accent)}.seat.dead{opacity:.4;filter:grayscale(1)}.seat-name{font-size:13px;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-cards{display:flex;gap:4px;margin-bottom:6px}.coins{font-size:13px}.card{width:40px;height:56px;border-radius:6px;border:2px solid #3a3f4e;background:var(--panel-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:16px;overflow:hidden}.card.back{background:repeating-linear-gradient(45deg,#2c303c,#2c303c 4px,#262a35 4px,#262a35 8px);color:#555c70}.card.revealed{opacity:.35;filter:grayscale(.8)}.card .card-name{font-size:8px;text-align:center}.card.big{width:72px;height:100px;font-size:28px}.card.big .card-name{font-size:11px}.banner{background:var(--panel);border-radius:var(--radius);padding:8px 12px;font-size:14px}.banner.pending{border-left:3px solid var(--accent)}.log{flex:1;overflow-y:auto;background:#0000002e;border-radius:var(--radius);padding:10px 12px;font-size:13px;min-height:80px}.log-line{padding:2px 0;color:var(--muted)}.log-line.turn_started{color:var(--accent);margin-top:4px}.log-line.challenge_declared,.log-line.card_lost,.log-line.player_eliminated{color:var(--danger)}.log-line.game_over{color:var(--accent);font-weight:700}.my-area{background:var(--panel);border-radius:var(--radius);padding:10px 12px;border:1px solid transparent}.my-area.my-turn{border-color:var(--accent);box-shadow:0 0 18px #d4a94040}.my-status{display:flex;justify-content:space-between;margin-bottom:8px}.my-name em{color:var(--accent);font-style:normal}.hand{display:flex;gap:8px}.dock{background:var(--panel);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px}.urgent-dock{border:1px solid var(--accent)}.dock .hint{font-size:13px;color:var(--muted);margin-bottom:8px}.action-btn{min-width:96px}.action-title{font-weight:600}.actions{display:flex;gap:8px;flex-wrap:wrap}.waiting-dot{font-size:11px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b0fbf;display:flex;align-items:center;justify-content:center;z-index:40}.game-over{text-align:center;display:flex;flex-direction:column;gap:18px;padding:28px 36px}
