/* Presentation only: the saved field selects these shared theme tokens. */
html[data-theme] body{--gold:var(--theme-accent);--green:var(--theme-secondary);background:#111316;color:#f4f3ee}
html[data-theme] .play-area{background:var(--theme-panel);border-color:var(--theme-rail);border-radius:var(--theme-panel-radius)}
html[data-theme] .arena{background:linear-gradient(#0002,#0006),var(--theme-venue) center top/cover no-repeat}
html[data-theme] .felt{background:radial-gradient(ellipse,var(--theme-felt),var(--theme-felt-edge));border:var(--theme-rail-width) solid var(--theme-rail);box-shadow:0 0 0 1px var(--theme-accent),0 12px 30px #0009,inset 0 0 50px #0004}
html[data-theme] .stats,html[data-theme] .side-card,html[data-theme] .control-deck,html[data-theme] dialog{background:var(--theme-panel)}
html[data-theme] .player-box{background:var(--theme-panel);border-color:#aaa99e;color:#fff;border-radius:var(--theme-panel-radius)}
html[data-theme] .player-name{color:#eeeae4}html[data-theme] .player-info b{color:#fff}
html[data-theme] .hero .player-box{border:2px solid var(--theme-accent);box-shadow:0 0 16px #f6d48844}
html[data-theme] .acting .player-box{outline:2px solid #fcf3c4;outline-offset:3px}
html[data-theme] .folded:not(.hero){opacity:.42}
html[data-theme] .pot{background:var(--theme-pot-bg);border:1px solid var(--theme-accent)}
html[data-theme] .pot strong{color:#fff4cd}
html[data-theme] .position{background:#22262b;color:#fff;border-color:var(--theme-accent)}
html[data-theme] .position.dealer{background:var(--theme-accent);color:#19191b}
html[data-theme] .bet{color:var(--theme-blind-color);text-shadow:0 1px 3px #000}
html[data-theme] .action-buttons .call{background:var(--theme-call-bg);color:#fff;border-color:#a1d7c6}
html[data-theme] .action-buttons .primary,html[data-theme] .start{background:var(--theme-raise-bg);color:#17181a;border-color:var(--theme-raise-bg)}
html[data-theme] .action-buttons .fold{background:#482d35;color:#ffe0df;border-color:#b98387}
html[data-theme] .table-wordmark{color:#ffffff55;letter-spacing:2px;font-family:var(--theme-theme-font)}
.table-wordmark b{font-size:clamp(9px,1.2vw,16px)}
.venue-identity{grid-area:venue;display:flex;align-items:center;gap:12px;padding:12px 22px;min-width:0;background:linear-gradient(90deg,#0008,#0001);border-bottom:1px solid #ffffff25;color:var(--theme-accent)}
.venue-identity>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.venue-identity strong{font:700 clamp(15px,1.8vw,24px) var(--theme-theme-font);letter-spacing:1px}
#venueCaption{font-size:10px;letter-spacing:2px;color:var(--theme-secondary)}
#venueSlogan{font-size:12px;color:#dbd9d3}
.venue-emblem{font-size:32px;width:44px;text-align:center}
.fictional-label{margin-left:auto;font-size:10px;line-height:1.6;letter-spacing:1px;text-align:right;color:#bcbcb8}
.difficulty-description{font-size:14px;color:var(--theme-secondary);margin:0}
html[data-stage=neon] .venue-emblem{text-shadow:0 0 7px #92fac4,0 0 20px #53d898;color:#b7f6d4}
html[data-stage=banner] .venue-identity{border-left:6px solid var(--theme-accent);background:#64232d}
html[data-stage=minimal] .venue-identity{border-bottom:3px solid #d3626c;background:#161a1e}
html[data-stage=minimal] .venue-emblem{border:1px solid #e1e2df;font-family:monospace}
html[data-stage=ballroom] .venue-identity{border-block:1px solid #c9ac6c;background:linear-gradient(90deg,#10243c,#223f58)}
html[data-stage=broadcast] .venue-identity{background:linear-gradient(100deg,#3c1927,#171317);border-bottom:2px solid var(--theme-accent)}
html[data-stage=broadcast] .venue-identity strong{letter-spacing:2px}
html[data-theme] .playing .play-area{grid-template-areas:"stats" "strip" "venue" "notice" "arena" "pots" "timer" "controls" "footer";grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto auto auto}
.playing .venue-identity{padding:7px 16px}.playing #venueCaption{display:none}.playing .venue-emblem{font-size:25px}.playing .venue-identity strong{font-size:16px}.playing #venueSlogan{font-size:11px}
/* Seat summaries stay compact; the optional detail panel never expands the table. */
html[data-theme] .playing:has(#profileDialog[open]){overflow:hidden}
html[data-theme] .playing:has(#profileDialog[open]) .play-area{height:100%;min-height:0}
html[data-theme] #profileDialog[open]{position:fixed;inset:64px 12px auto auto;margin:0;width:min(310px,90vw);max-height:60dvh;overflow:auto;padding:14px;border-radius:12px}
#profileDialog .dialog-top{position:sticky;top:-14px;background:var(--theme-panel);z-index:2}
#profileDialog h2{font-size:18px;margin:8px 0}#profileDialog p{font-size:12px;line-height:1.5;margin:8px 0}
#profileDialog .hud-grid{gap:5px}#profileDialog .hud-grid>div{padding:5px}#profileDialog .hud-grid b{font-size:15px}
#profileDialog textarea{min-height:54px}
@media(max-width:600px){
 html[data-theme] .playing .seat:not(.hero){width:72px}
 html[data-theme] .playing .seat:not(.hero) .player-box{padding:8px 3px 3px;min-height:34px;border-radius:6px}
 html[data-theme] .playing .seat:not(.hero) .player-name{font-size:10px;line-height:12px;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px}
 html[data-theme] .playing .seat:not(.hero) .player-info b{font-size:12px;line-height:14px}
 html[data-theme] .playing .seat:not(.hero) .seat-cards{display:flex;min-height:26px;margin-bottom:3px}
 html[data-theme] .playing .seat:not(.hero) .card.small{width:22px;height:30px;padding:3px}
 html[data-theme] .playing .seat:not(.hero) .card.small b{font-size:13px}
 html[data-theme] .playing .seat:not(.hero) .card.small i{font-size:14px}
 html[data-theme] .playing .hero{width:104px;top:88%}
 html[data-theme] .playing .hero .player-box{min-height:35px;padding:8px 4px 3px}
 html[data-theme] .playing .hero .player-info b{font-size:14px}
 html[data-theme] .playing .felt{border-width:6px}
 .playing .venue-identity{padding:4px 9px;gap:6px;min-height:32px}.playing .venue-identity strong{font-size:12px;letter-spacing:.6px}
 .playing .venue-emblem{width:24px;font-size:20px}.playing #venueSlogan,.playing .fictional-label{display:none}
 html[data-theme] #profileDialog[open]{inset:52px 8px auto auto;width:250px;max-height:36dvh;padding:10px}
 #profileDialog .dialog-top{top:-10px}#profileDialog .hud-grid small{font-size:10px}
 html[data-theme] .playing .position{font-size:9px;right:-5px;top:12px;padding:0 3px}
 .sizing-note{font-size:10px}
}
.sizing-note{color:#c6c6bf;font-size:11px;margin:4px 0 0}

#profileDialog .dialog-close{position:sticky;top:-10px;z-index:3;background:var(--theme-panel);border:1px solid #aaa;padding:6px 12px;min-height:32px}
html[data-theme] header,html[data-theme] .tournament-strip{background:var(--theme-panel)}
html[data-theme] .playing .seat .player-box{background:var(--theme-panel);border-color:#b0aea4}
html[data-theme] .playing .seat.state-in .player-box{background:var(--theme-pot-bg);border-color:var(--theme-secondary)}
html[data-theme] .playing .seat.hero .player-box{border-color:var(--theme-accent);background:var(--theme-panel)}
html[data-theme] .playing .seat.acting .player-box{outline:2px solid #fff1b8;outline-offset:3px}
html[data-theme] .difficulty-badge,html[data-theme] .presets button,html[data-theme] .bb-stepper button,html[data-theme] .bb-input{background:var(--theme-panel);color:#f3eee4;border-color:#9d9c91}
html[data-theme] .raise-ticket{background:#764a38;color:#fff4d4;border-color:#f5c187}
html[data-theme] .ticket-allin{background:#8b2940;color:white;border-color:#ffa1ae}
/* Leave room for the fixed save status so no action-button label is covered. */
html[data-theme] .playing main{height:calc(100dvh - 70px)}
@media(max-width:600px){html[data-theme] .playing main{height:calc(100dvh - 66px)}}
html[data-theme] #profileDialog[open]{z-index:100}
@media(max-width:600px){
 html[data-theme] .playing .difficulty-badge{display:none}
 html[data-theme] .playing .stats{padding:3px 10px}
 html[data-theme] .playing .stats>div{padding-block:3px}
 html[data-theme] .playing .stats>div>span{margin-bottom:3px}
 html[data-theme] .playing .control-deck{margin:0 9px;padding:6px 0;min-height:0}
 html[data-theme] .playing .action-alert{padding:5px 7px;margin-bottom:5px;min-height:0;font-size:11px}
 html[data-theme] .playing .action-alert>div{gap:4px}
 html[data-theme] .playing .action-alert strong{font-size:13px}
 html[data-theme] .playing .action-buttons button{padding:8px 4px;font-size:15px;min-height:48px}
 html[data-theme] .playing .action-buttons small{margin-top:3px;font-size:10px}
 html[data-theme] .playing .decision-info{margin-bottom:4px;line-height:1.3}
 html[data-theme] .playing .seat-3,html[data-theme] .playing .seat-6{top:29%}
 html[data-theme] .playing .seat-2,html[data-theme] .playing .seat-7{top:53%}
 html[data-theme] .playing .seat-1,html[data-theme] .playing .seat-8{top:76%}
}
html[data-theme] .playing .blind-posting .action-label{display:none}
html[data-theme] .playing .blind-posting .bet{top:auto;bottom:-20px;left:50%}
@media(min-width:601px){
 html[data-theme] .playing .seat:not(.hero) .player-box{padding:9px 5px 4px;min-height:39px}
 html[data-theme] .playing .seat:not(.hero) .player-info b{font-size:14px}
 html[data-theme] .playing .seat:not(.hero) .player-name{font-size:12px}
 html[data-theme] .playing .seat:not(.hero) .seat-cards{min-height:26px}
 html[data-theme] .playing .seat:not(.hero) .card.small{width:22px;height:30px}
 html[data-theme] .playing .seat-3,html[data-theme] .playing .seat-6{top:29%}
 html[data-theme] .playing .seat-2,html[data-theme] .playing .seat-7{top:54%}
 html[data-theme] .playing .seat-1,html[data-theme] .playing .seat-8{top:78%}
}
