:root{background:#160e19;color:#f3e5d2}
/* Theme tokens for the shared lobby and spectator controls. */
#lobby .games-lobby-shell,#room-controls{
 --gl-surface:#2d1d31;--gl-soft:#38263b;--gl-ink:#fff0dc;
 --gl-muted:#e0c6d2;--gl-border:#997083;--gl-action:#efc78a;
}
.games-lobby-shell .games-lobby-primary{color:#3a2132}
.games-lobby-shell .games-lobby-secondary{color:var(--gl-ink)}
.games-room-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#2d1d31;border:1px solid #997083;border-radius:9px;padding:9px 13px;margin:9px 0;color:#fff0dc;font-size:13px;font-weight:700}
.games-room-back{background:#66405b;color:#fff1da;border:1px solid #bc8b70;border-radius:7px;padding:8px 12px;font:inherit;cursor:pointer}
.games-room-back:disabled{opacity:.5}
.games-spectating #game button{cursor:default;opacity:.8}
body{background:radial-gradient(circle at 48% -12%,#542f4f 0,#251626 55%,#140b19 100%)}
.header{border-color:#99785e}.eyebrow{color:#e8b77f}.heading{color:#fff0d1}
.ui-panel{background:#342134dc;border-color:#87627b}
.panel-title{color:#e4c393}.ui-badge{border-color:#7b5874;background:#422e48;color:#f3decf}
.ui-badge.seat.own{border-color:#ddbe86;color:#ffedc7}.ui-badge.discard{font-size:11px;opacity:.8}
.player-seat{padding:9px;background:#291b2d;border:1px solid #76516d;border-radius:10px;min-width:205px}
.seats{gap:12px}.deck-panel{background:#392337}
.playing-card{width:116px;height:148px;padding:15px 9px;white-space:normal;line-height:1.15;
background:linear-gradient(145deg,#fff6df,#e9d7b8);border:3px double #8c674a;color:#452338;
font:700 18px Georgia,serif;text-align:center}
.playing-card::before{background:linear-gradient(90deg,#b38550,#f0d49e,#b38550);height:6px}
.hand-card.playable .playing-card{box-shadow:0 0 0 2px #e9bd79,0 8px 24px #0007}
.card-caption{color:#e8ceab}.card-picker{min-width:175px;max-width:260px}
.card-picker>summary{cursor:pointer;background:#6b3659;color:#fff2d1;border:1px solid #c29374;border-radius:8px;padding:9px 10px;font-size:12px;font-weight:700}
.card-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:4px;
max-height:270px;overflow-y:auto;padding:6px;background:#25172a;border:1px solid #815e73;border-radius:8px}
.card-option{font-size:12px!important;text-align:left}
.ui-button,.secondary{background:#66405b;border-color:#bc8b70;color:#fff1da}
.primary{background:#efc78a;border-color:#ffdda4;color:#3a2132}
.lobby-panel{background:#2d1d31;border-color:#997083}.lobby-panel h1{color:#ffe7c4}
.lobby-form input,.lobby-form select{background:#1d1523;border-color:#916d7b}
.confirm-popover,dialog{background:#38253b;border-color:#d3a677;color:#fff3df}
.confirm-eyebrow{color:#f0c589}
.peek{font:600 20px Georgia,serif;color:#ffe4a9}.secret-panel{border-color:#e4ba7b}
.log-line{color:#e1c8ce}
@media(max-width:650px){.playing-card{width:100px;height:125px;font-size:15px}.card-picker{min-width:140px}.lobby-panel h1{font-size:42px}}

/* Browser-WASM Lua local selection workflow. */
.hand-card.selected .playing-card{
  outline:3px solid #f1cb85;outline-offset:4px;
  transform:translateY(-5px);
}
.target-panel{border-color:#d7af7c;background:#3d2940}
.target-panel .ui-text.target-summary{font:600 18px Georgia,serif;color:#ffe6b3}
.target-instructions{color:#e4ced7;font-size:14px}
.target-choices,.guess-choices{display:flex;gap:9px;flex-wrap:wrap}
.target-panel .ui-button{min-width:100px}
.target-panel .guess-choice{background:#5b3c5e;border-color:#c18c90}
.target-panel .primary{color:#422535;background:#f3cc90}
.target-panel .secondary{background:transparent}
@media(max-width:650px){
 .target-panel .ui-button{min-width:0;flex:1 1 42%}
 .target-panel .guess-choice{flex-basis:28%}
}
