*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #1a1a2e;--surface: #222244;--surface-light: #2a2a4a;--text: #e0e0e0;--text-dim: #888888;--p1-color: #00BFFF;--p2-color: #FF4444;--block-color: #DDAA00;--highlight: #44FF44;--selected: #4488FF;--error: #FF4444;--card-active: #44FF44;--border: #444466}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}#app{display:flex;flex-direction:column;min-height:100vh;max-width:1100px;margin:0 auto;padding:12px;gap:12px}#status-bar{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px}#status-bar .player-indicator{font-weight:700;font-size:16px}#status-bar .p1{color:var(--p1-color)}#status-bar .p2{color:var(--p2-color)}#status-bar .sep{color:var(--text-dim)}#status-bar .move-type{font-weight:600}#status-bar .tokens{margin-left:auto;color:var(--text-dim)}#status-bar .seat-indicator{font-weight:700;font-size:12px;padding:2px 8px;border-radius:4px;border:1px solid}#status-bar .seat-indicator.p1{color:var(--p1-color);border-color:var(--p1-color)}#status-bar .seat-indicator.p2{color:var(--p2-color);border-color:var(--p2-color)}#game-area{display:grid;grid-template-columns:auto 280px;gap:12px;flex:1}#board-container{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;padding:16px}#ui-container{display:flex;flex-direction:column;gap:12px}.ui-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px}.ui-section h3{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:8px}.card-hand{display:flex;gap:6px;flex-wrap:wrap}.card-btn{padding:6px 10px;border:2px solid var(--border);border-radius:6px;background:var(--surface-light);color:var(--text-dim);font-size:12px;font-weight:600;cursor:default;transition:border-color .15s,color .15s}.card-btn.applicable{border-color:var(--card-active);color:var(--text);cursor:pointer}.card-btn.applicable:hover{background:#353}.card-btn.used{opacity:.35;text-decoration:line-through}.decline-btn{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-light);color:var(--text);font-size:12px;cursor:pointer}.decline-btn:hover{background:#433;border-color:var(--error)}.action-controls{display:flex;flex-direction:column;gap:8px}.action-prompt{font-size:13px;color:var(--text)}.dice-row{display:flex;gap:6px;align-items:center}.roll-btn{padding:8px 16px;border:none;border-radius:6px;background:var(--selected);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.roll-btn:hover{filter:brightness(1.15)}.dice-input{width:62px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-light);color:var(--text);font-size:13px;text-align:center}.submit-btn{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-light);color:var(--text);font-size:12px;cursor:pointer}.submit-btn:hover{border-color:var(--selected)}.option-btn{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-light);color:var(--text);font-size:13px;cursor:pointer;width:100%;text-align:left}.option-btn:hover{border-color:var(--selected);background:#2a2a5a}.event-log{max-height:200px;overflow-y:auto;font-size:12px;font-family:Consolas,Courier New,monospace;line-height:1.6}.event-log .evt{padding:1px 0}.event-log .evt-player{display:inline-block;width:2.5ch;font-weight:700;margin-right:.5ch}.event-log .evt-player.p1{color:var(--p1-color)}.event-log .evt-player.p2{color:var(--p2-color)}.event-log .evt-move{color:#8c8}.event-log .evt-capture{color:var(--error)}.event-log .evt-card{color:#c8f}.event-log .evt-roll{color:var(--block-color)}.event-log .evt-turn{color:var(--text-dim)}.event-log .evt-error{color:var(--error);font-weight:600}.event-log .evt-game{color:var(--highlight);font-weight:600}#action-bar{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 16px;display:flex;align-items:center;gap:12px}.bar-btn{padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface-light);color:var(--text);font-size:13px;cursor:pointer}.bar-btn:hover{border-color:var(--text-dim)}.bar-btn.danger{border-color:#533;color:var(--error)}.bar-btn.danger:hover{border-color:var(--error);background:#322}.bar-spacer{flex:1}.hidden{display:none!important}.lobby{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;gap:32px}.lobby h1{font-size:48px;letter-spacing:4px;color:var(--text)}.lobby-actions{display:flex;flex-direction:column;align-items:center;gap:16px}.lobby-btn{padding:12px 32px;border:1px solid var(--border);border-radius:8px;background:var(--surface-light);color:var(--text);font-size:16px;font-weight:600;cursor:pointer;min-width:200px}.lobby-btn:hover{border-color:var(--text-dim)}.lobby-btn.primary{background:var(--selected);border-color:var(--selected);color:#fff}.lobby-btn.primary:hover{filter:brightness(1.15)}.lobby-join{display:flex;gap:8px;align-items:center}.lobby-input{width:100px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-light);color:var(--text);font-size:20px;font-weight:700;text-align:center;letter-spacing:4px;text-transform:uppercase}.lobby-input::placeholder{color:var(--text-dim);letter-spacing:4px}.lobby-local{color:var(--text-dim);font-size:14px;text-decoration:none;margin-top:8px}.lobby-local:hover{color:var(--text)}.invite-btn{margin-left:auto;font-size:12px;font-weight:600;padding:2px 10px;border-radius:4px;border:1px solid;background:transparent;cursor:pointer;font-family:inherit;white-space:nowrap}.invite-btn.conn-ok{color:var(--highlight);border-color:var(--highlight)}.invite-btn.conn-ok:hover{background:var(--highlight);color:var(--bg)}.invite-btn.conn-off{color:var(--text-dim);border-color:var(--border);cursor:default}.invite-btn:disabled{color:var(--text-dim);border-color:var(--border);cursor:default;opacity:.6}.replay-controls{display:flex;flex-direction:column;gap:8px;padding:8px 0}.replay-indicator{font-size:13px;color:var(--text);text-align:center}.replay-btn-row{display:flex;gap:6px;justify-content:center}.replay-btn{padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:16px;cursor:pointer;min-width:40px}.replay-btn:hover:not(:disabled){border-color:var(--selected);color:var(--selected)}.replay-btn:disabled{opacity:.3;cursor:default}.action-prompt.waiting{color:var(--text-dim);font-style:italic}@media(max-width:768px){#game-area{grid-template-columns:1fr}#ui-container{order:1}}
