:root { --ink:#080808; --sky:#ace2ee; --paper:#fff9e6; --yellow:#ffc90f; --orange:#ff7f26; --pink:#ff9db7; --white:#fff; --purple:#8841b2; }
*,*::before,*::after { box-sizing:border-box; }
[hidden] { display:none !important; }
html,body { width:100%; height:100%; margin:0; overflow:hidden; }
body { background:var(--sky); color:var(--ink); font:16px/1.25 "Trebuchet MS",Arial,sans-serif; }
img { display:block; max-width:100%; }
button,input,select { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.55; }
:focus-visible { outline:3px solid var(--purple); outline-offset:2px; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { line-height:1.1; }
h1 { font-size:1.3rem; }
h2 { font-size:1.12rem; }
h3 { font-size:1rem; }
.skip-link { position:fixed; z-index:100; top:4px; left:4px; padding:6px; transform:translateY(-140%); background:var(--white); border:3px solid var(--ink); }
.skip-link:focus { transform:none; }
.shell { width:min(100%,1100px); height:100vh; height:100dvh; margin:auto; padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); display:flex; flex-direction:column; gap:4px; overflow:hidden; }
.masthead { flex:none; height:32px; display:flex; justify-content:space-between; align-items:center; min-width:0; }
.masthead .wordmark { width:112px; max-height:32px; object-fit:contain; }
.masthead strong { font-size:.73rem; text-transform:uppercase; text-align:right; }
main { position:relative; display:flex; flex-direction:column; flex:1; min-width:0; min-height:0; gap:4px; overflow:hidden; }
.message-bar { flex:none; min-height:30px; display:flex; align-items:center; gap:7px; padding:3px 8px; background:var(--white); border:2px solid var(--ink); font-size:.78rem; font-weight:900; }
.connection-light { width:11px; height:11px; flex:none; border:2px solid var(--ink); border-radius:50%; background:var(--yellow); }
.connection-light[data-mode="online"] { background:#72b600; }
.connection-light[data-mode="waiting"] { background:var(--orange); }
.error-message { position:absolute; z-index:20; top:34px; left:0; right:0; padding:8px; border:3px solid var(--ink); background:var(--pink); box-shadow:3px 3px 0 var(--ink); font-size:.85rem; font-weight:800; }
.panel { min-width:0; min-height:0; padding:10px; background:var(--paper); border:3px solid var(--ink); }
.entry { flex:1; display:flex; flex-direction:column; justify-content:center; gap:9px; }
.entry > p { font-size:.84rem; max-width:60ch; }
.entry-local { display:grid; grid-template-columns:1fr auto; align-items:center; gap:5px 12px; padding:9px; border:3px solid var(--ink); background:#fff7be; }
.entry-local h2 { grid-column:1; }
.entry-local p { grid-column:1; font-size:.78rem; font-weight:700; }
.entry-local a { grid-column:2; grid-row:1 / span 2; text-decoration:none; display:grid; place-items:center; }
.entry-online-title { font-size:1rem; }
.entry form { display:grid; gap:8px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
label { display:block; min-width:0; font-size:.82rem; font-weight:900; }
input,select { display:block; width:100%; min-width:0; min-height:48px; margin-top:3px; padding:5px 7px; border:3px solid var(--ink); border-radius:0; background:var(--white); color:var(--ink); }
input[readonly] { background:#f6f4e9; }
#join-code { text-transform:uppercase; }
.mode-help { font-size:.79rem; font-weight:700; }
.entry-actions { display:flex; gap:7px; }
.entry-actions .button { flex:1; }
.button { min-width:0; min-height:48px; padding:6px 9px; border:3px solid var(--ink); border-radius:0; color:var(--ink); font-size:.88rem; font-weight:900; line-height:1.1; overflow-wrap:anywhere; }
.button.primary { background:var(--yellow); }
.button.secondary { background:var(--white); }
.button.orange { background:var(--orange); }
.button:not(:disabled):hover { filter:brightness(.94); }
.room-view { flex:1; display:flex; flex-direction:column; gap:4px; min-width:0; min-height:0; overflow:hidden; }
.room-ticket { flex:none; min-height:37px; display:flex; align-items:center; gap:8px; padding:4px 8px; border:3px solid var(--ink); background:var(--yellow); }
.room-ticket h1 { font-size:1rem; white-space:nowrap; }
.room-ticket span { min-width:0; font-size:.72rem; font-weight:900; }
.mode-tag { flex:none; padding:3px; border:2px solid var(--ink); background:var(--white); white-space:nowrap; }
#room-state { margin-left:auto; text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.progress { flex:none; height:48px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:3px solid var(--ink); background:var(--white); }
.progress > div { min-width:0; padding:2px 5px; }
.progress > div + div { border-left:2px solid var(--ink); }
.progress > div:last-child { background:var(--yellow); }
.progress span,.progress strong { display:block; }
.progress span { font-size:.62rem; font-weight:900; text-transform:uppercase; }
.progress strong { font-size:.82rem; line-height:1.12; overflow:hidden; text-overflow:ellipsis; }
.progress .clock-cell strong { font-variant-numeric:tabular-nums; font-size:1.15rem; }
.clock-cell small { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.room-tabs { flex:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2px; }
.room-tab { min-width:0; min-height:48px; padding:4px 2px; border:3px solid var(--ink); background:var(--white); font-size:.82rem; font-weight:900; }
.room-tab[aria-selected="true"] { background:var(--orange); }
.view { flex:1; min-width:0; min-height:0; overflow:hidden; }
#view-play { display:flex; flex-direction:column; gap:4px; }
.controller-strip { flex:none; display:flex; align-items:center; flex-wrap:wrap; gap:4px; padding:3px 7px; border:2px solid var(--ink); background:var(--white); font-size:.78rem; }
.controller-strip strong { flex:1; min-width:0; }
.controller-strip span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.controller-strip .button { min-height:36px; padding:3px 6px; font-size:.75rem; }
.lobby { flex:1; display:flex; flex-direction:column; justify-content:center; gap:7px; background:#fff0a2; }
.lobby h2 { margin-bottom:3px; }
.inline-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:6px; }
.inline-controls select { margin:0; }
.career-detail { font-size:.79rem; }
.lobby-buttons { display:flex; gap:6px; }
.lobby-buttons .button { flex:1; }
.fine-print { font-size:.78rem; }
.match { flex:1; display:flex; flex-direction:column; min-height:0; gap:4px; }
.play-heading { display:none; }
.play-heading h2 { font-size:1rem; }
.dashboard { flex:1; min-width:0; min-height:0; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); grid-template-rows:auto minmax(0,1fr); gap:4px; }
.live-board { grid-column:1; grid-row:1 / span 2; border:3px solid var(--ink); background:var(--paper); }
.live-roster { grid-column:2; grid-row:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(29px,1fr); gap:3px; max-height:210px; min-width:0; min-height:0; margin:0; padding:0; list-style:none; }
.compact-player { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px; min-width:0; padding:3px 5px; border:2px solid var(--ink); background:var(--white); font-size:.69rem; line-height:1.08; }
.compact-player.current { background:#fff0a2; box-shadow:inset 4px 0 var(--orange); }
.compact-player.doomed { background:#e8e3ea; }
.compact-player strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.compact-player span { min-width:0; font-weight:800; white-space:nowrap; }
.decision-stack { grid-column:2; grid-row:2; display:flex; flex-direction:column; gap:4px; min-width:0; min-height:0; }
.latest-event { flex:none; min-width:0; min-height:32px; padding:3px 7px; border:2px solid var(--ink); background:var(--white); font-size:.75rem; font-weight:800; line-height:1.12; overflow:hidden; }
.sticker,.seat-count { padding:2px 6px; border:2px solid var(--ink); background:var(--pink); font-size:.69rem; font-weight:900; text-transform:uppercase; }
.sticker.phase-changed { animation:phase-settle 180ms ease-out; }
.play-pages,.page-controls,.choice-pages { flex:none; display:flex; align-items:center; justify-content:space-between; gap:4px; }
.play-pages .button,.page-controls .button,.choice-pages .button { flex:0 0 auto; min-height:40px; padding:4px 7px; font-size:.73rem; }
.play-pages .button { min-height:32px; }
.play-pages span,.page-controls span,.choice-pages span { flex:1; min-width:0; font-size:.76rem; font-weight:900; text-align:center; }
.action-panel,.card-panel,.scene-panel,.results-panel { flex:1; min-height:0; overflow:hidden; }
.action-panel { padding:6px; background:#fff0a2; }
.decision-stack > .card-panel,.decision-stack > .scene-panel { flex:0 1 auto; max-height:140px; }
.match[data-detail="results"] .action-panel { flex:none; max-height:70px; }
.match[data-detail="results"] .results-panel { flex:1; }
.section-head { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-bottom:6px; padding-bottom:4px; border-bottom:3px solid var(--ink); }
.section-head h2,.section-head h3 { margin:0; }
.action-description { margin-bottom:7px; font-size:.82rem; }
.action-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; align-items:start; }
.action-controls > label { min-width:0; }
.action-controls > .outcomes-selector { grid-column:1 / -1; }
.action-controls select { min-height:44px; margin-top:2px; font-size:.78rem; }
.action-controls > .button { min-height:48px; }
.action-panel[data-can-sell="true"] .action-controls { grid-template-columns:repeat(6,minmax(0,1fr)); }
.action-panel[data-can-sell="true"] .action-controls > label { grid-column:span 3; }
.action-panel[data-can-sell="true"] .action-controls > .outcomes-selector { grid-column:1/-1; }
.action-panel[data-can-sell="true"] .action-controls > .button { grid-column:span 2; }
.action-panel[data-can-sell="true"] .action-controls > .button:first-of-type:nth-last-of-type(2),
.action-panel[data-can-sell="true"] .action-controls > .button:last-of-type:nth-of-type(2) { grid-column:span 3; }
.action-panel[data-kind="voluntary-sale"] .action-controls > label { grid-column:1/-1; }
.sale-preview { margin:0; padding:4px 6px; border:2px solid var(--ink); background:var(--white); font-size:.78rem; font-weight:900; }
.roll-die { display:grid; place-items:center; width:54px; height:50px; justify-self:center; border:3px solid var(--ink); border-radius:8px 4px 9px 5px; background:var(--white); font:48px/1 "Segoe UI Symbol","DejaVu Sans",sans-serif; }
.roll-progress { align-self:center; opacity:1 !important; }
.action-panel[data-kind="result-presentation"] { background:#fff0a2; box-shadow:inset 5px 0 var(--orange); }
.outcome-cash { margin:0; padding:5px 7px; border:2px solid var(--ink); background:var(--white); font-weight:900; font-size:.92rem; }
.outcome-wait { margin:0; font-size:.74rem; font-weight:800; }
.board-pawns img.landed { outline:4px solid var(--orange); box-shadow:0 0 0 7px var(--yellow); z-index:2; }
.action-controls > p,.action-controls > ul,.action-controls > img { grid-column:1/-1; }
.choice-note,.attack-preview { margin:0; padding:4px 6px; border:2px solid var(--ink); background:var(--white); font-size:.77rem; overflow-wrap:anywhere; }
.attack-preview { background:#f8d3dc; }
.odds-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; margin:0; padding:0; list-style:none; font-size:.68rem; }
.odds-list li { min-width:0; padding:3px; border:2px solid var(--ink); background:var(--white); }
.property-art { width:80px; max-height:78px; object-fit:contain; border:2px solid var(--ink); background:var(--white); }
.card-id { padding:3px 5px; border:2px solid var(--ink); background:var(--pink); font-size:.72rem; }
.card-content { display:flex; align-items:flex-start; gap:8px; }
.card-content img { width:min(28%,105px); border:2px solid var(--ink); }
.card-content p { min-width:0; font-size:.83rem; font-weight:800; overflow-wrap:anywhere; }
.scene-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,42%); align-items:center; gap:8px; padding:8px; border:3px solid var(--ink); background:#f8d3dc; }
.scene-panel[data-scene="reckoning"] { background:#ffcda5; }
.scene-panel[data-scene="doom"] { background:#e8e3ea; }
.scene-panel[data-scene="victory"] { background:#fff0a2; }
.scene-panel.scene-arrive { animation:scene-settle 180ms ease-out; }
.scene-panel h3 { margin-bottom:4px; }
.scene-panel p { font-size:.82rem; }
.scene-panel img { width:100%; max-height:100%; object-fit:contain; border:2px solid var(--ink); background:var(--white); }
@keyframes scene-settle { from { transform:translateY(5px); } to { transform:none; } }
@keyframes phase-settle { from { transform:translateY(3px); } to { transform:none; } }
.results { display:grid; gap:5px; margin:0 0 7px; padding:0; list-style:none; }
.results li { display:grid; gap:4px; padding:9px; border:2px solid var(--ink); background:var(--white); }
.results li.winner { background:var(--yellow); }
.results li b { overflow-wrap:anywhere; }
.rematch-button { margin-top:7px; }
#view-table,#view-history,#view-room,#view-board { display:flex; flex-direction:column; gap:7px; }
#view-room > h2 { flex:none; }
.room-subpage { flex:1; min-height:0; display:flex; flex-direction:column; align-items:stretch; gap:8px; }
#view-table .section-head { flex:none; }
.seats,.players,.events { display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.seat,.player { display:flex; align-items:center; gap:5px; min-width:0; padding:4px; border:2px solid var(--ink); background:var(--white); }
.seat { min-height:66px; }
.seat > img,.player > img { flex:none; width:42px; height:52px; object-fit:contain; }
.seat > div:nth-child(2),.player > div:nth-child(2) { flex:1; min-width:0; }
.seat strong,.player strong,.subline { display:block; overflow-wrap:anywhere; }
.seat strong,.player strong { font-size:.83rem; line-height:1.1; }
.subline { font-size:.71rem; }
.flags,.player-values { display:grid; justify-items:end; min-width:50px; gap:2px; text-align:right; }
.player.current { background:#fff0a2; }
.player.doomed { background:#e8e3ea; }
.player-values b { font-size:.88rem; }
.player-values small { font-size:.69rem; }
.tag { display:inline-block; margin-left:3px; padding:1px 3px; border:1px solid var(--ink); background:var(--sky); font-size:.57rem; line-height:1.1; text-transform:uppercase; vertical-align:middle; white-space:nowrap; }
.tag.you { background:var(--yellow); }
.tag.ready { background:#c7e994; }
.tag.unready { background:#ededed; }
.tag.turn { background:var(--orange); }
.tag.computer { background:#d7bafa; }
.flags .tag { margin:0; }
.connection { font-size:.63rem; font-weight:800; }
.bot-controls { display:grid; gap:5px; margin-top:2px; }
.bot-controls p { font-size:.72rem; }
.bot-controls .button { justify-self:start; }
.remove-computers { display:flex; flex-wrap:wrap; gap:5px; }
.remove-computers .button { min-height:42px; }
#view-board h2 small { font-size:.68rem; }
.board-panel { flex:1; min-width:0; min-height:0; display:grid; place-items:center; container-type:size; }
.board-wrap { position:relative; width:min(100cqw,100cqh); height:min(100cqw,100cqh); aspect-ratio:1; }
.board-wrap > img { width:100%; height:100%; aspect-ratio:1; object-fit:contain; border:2px solid var(--ink); }
.board-pawns { position:absolute; inset:0; }
.landing-space { position:absolute; width:14.2857%; height:14.2857%; transform:translate(-50%,-50%); border:3px solid var(--orange); background:rgba(255,201,15,.35); }
.board-pawns img { position:absolute; width:7%; height:auto; transform:translate(-50%,-50%); border:2px solid var(--ink); border-radius:50%; background:var(--white); }
.board-pawns img.current { outline:3px solid var(--yellow); z-index:1; }
.events li { min-width:0; padding:7px; border:2px solid var(--ink); background:var(--white); overflow-wrap:anywhere; }
.events small,.events span { display:block; }
.events small { font-size:.68rem; font-weight:900; text-transform:uppercase; }
.events span { font-size:.82rem; }
.invite-panel { display:grid; gap:4px; }
.invite-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:5px; }
.invite-controls input { margin:0; font-size:.75rem; }
.invite-panel p,.room-help { font-size:.77rem; }
.sound-panel { display:flex; align-items:center; gap:8px; }
.sound-panel label { display:flex; align-items:center; flex:1; gap:5px; }
.sound-panel input[type="range"] { flex:1; min-height:48px; margin:0; padding:0; border:0; accent-color:var(--purple); }
.archive-panel { display:grid; gap:4px; }
.archive-panel h3 { font-size:.9rem; }
.archive-links .button { min-height:48px; }
.forfeit-button { align-self:flex-start; }
dialog { width:min(92vw,520px); max-height:min(90vh,90dvh); padding:14px; border:4px solid var(--ink); border-radius:0; background:var(--paper); color:var(--ink); }
dialog::backdrop { background:rgba(0,0,0,.68); }
.dialog-actions { display:flex; gap:6px; }
.dialog-actions .button { flex:1; }
.noscript { margin:8px; padding:8px; border:3px solid var(--ink); background:var(--yellow); }
@media (max-width:600px) {
  .sound-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 8px; }
  .sound-panel label { grid-column:1 / -1; }
  .masthead { height:37px; }
  .masthead .wordmark { width:112px; max-height:37px; }
  .masthead strong { font-size:.65rem; }
  .form-grid { grid-template-columns:1fr; gap:5px; }
  .entry { gap:5px; padding:7px; }
  .entry-local { grid-template-columns:1fr; padding:5px; gap:3px; }
  .entry-local h2,.entry-local p,.entry-local a { grid-column:1; grid-row:auto; }
  .entry-local h2 { font-size:.94rem; }
  .entry-local p { font-size:.68rem; }
  .entry-local a { min-height:48px; }
  .entry-online-title { font-size:.94rem; }
  .entry form { gap:5px; }
  .entry > p { font-size:.75rem; }
  .entry h1 { font-size:1.18rem; }
  .entry label { font-size:.76rem; }
  .entry input,.entry select { margin-top:1px; min-height:48px; }
  .entry-actions .button { font-size:.77rem; padding:5px; }
  .room-ticket { padding:2px 5px; gap:4px; }
  .room-ticket h1 { font-size:.8rem; }
  .room-ticket span { font-size:.62rem; }
  .mode-tag { padding:2px; }
  .room-tab { font-size:.73rem; }
  .panel { padding:7px; }
  .controller-strip { padding:2px 5px; }
  .dashboard { grid-template-columns:minmax(0,1fr) minmax(0,.94fr); grid-template-rows:minmax(0,210px) minmax(0,1fr); }
  .live-board { grid-column:1; grid-row:1; }
  .live-roster { grid-column:2; grid-row:1; grid-template-columns:1fr; grid-template-rows:repeat(6,minmax(0,1fr)); grid-auto-rows:0; gap:2px; max-height:none; height:100%; overflow:hidden; }
  .compact-player { display:flex; gap:2px; padding:1px 3px; font-size:.65rem; }
  .compact-player strong { flex:1; }
  .compact-player span { flex:none; font-size:.57rem; }
  .decision-stack { grid-column:1 / -1; grid-row:2; }
  .latest-event { min-height:32px; max-height:39px; padding:3px 5px; font-size:.66rem; }
  .decision-stack > .card-panel,.decision-stack > .scene-panel { max-height:65px; }
  .card-content img,.scene-panel img { display:none; }
  .action-description { font-size:.77rem; }
  .action-controls > .button { font-size:.75rem; padding:4px; }
  .card-content img { width:min(24%,80px); }
  .scene-panel { grid-template-columns:1fr; align-content:start; }
  .scene-panel img { max-height:150px; }
}
@media (max-height:690px) {
  .shell { gap:3px; padding-top:max(3px,env(safe-area-inset-top)); padding-bottom:max(3px,env(safe-area-inset-bottom)); }
  .masthead { display:none; }
  main,.room-view { gap:3px; }
  .room-ticket { min-height:26px; }
  .progress { height:44px; }
  .room-tab { min-height:44px; }
  .progress span { font-size:.58rem; }
  .progress strong { font-size:.74rem; }
  .progress .clock-cell strong { font-size:1.04rem; }
  .play-heading { display:none; }
  .match { gap:0; }
  .play-pages .button,.page-controls .button { min-height:32px; }
  .action-panel { padding:5px; }
  .action-panel .section-head { margin-bottom:2px; padding-bottom:2px; border-bottom-width:2px; }
  .action-description { margin-bottom:2px; font-size:.7rem; line-height:1.12; }
  .action-controls { gap:4px; }
  .action-controls select { min-height:40px; }
  .attack-preview,.choice-note { padding:2px 4px; font-size:.68rem; line-height:1.1; }
  .odds-list { font-size:.62rem; }
}
@media (max-width:600px) and (max-height:690px) {
  .message-bar { min-height:20px; max-height:20px; padding:0 4px; font-size:.64rem; overflow:hidden; }
  #connection-status { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .room-ticket { min-height:22px; }
  .progress { height:38px; }
  .room-tab { min-height:40px; }
  .controller-strip { padding:0 3px; }
  #view-play { gap:3px; }
  .dashboard { grid-template-rows:max(112px,calc(128px - env(safe-area-inset-bottom))) minmax(0,1fr); }
  .compact-player { padding:0 2px; font-size:.64rem; }
  .compact-player span { font-size:.58rem; }
  .decision-stack { gap:3px; }
  .latest-event { min-height:34px; max-height:34px; font-size:.62rem; }
  .decision-stack > .card-panel,.decision-stack > .scene-panel { max-height:52px; }
  .property-art { display:none; }
  .scene-panel { padding:4px; }
}
@media (max-width:360px) and (max-height:600px) {
  .controller-strip .button { min-height:32px; }
  .play-pages .button { min-height:28px; }
  .progress > div { padding:1px 3px; }
  .progress strong { font-size:.64rem; line-height:1.05; }
  .progress span { font-size:.51rem; line-height:1; }
  .dashboard { grid-template-rows:max(80px,calc(88px - env(safe-area-inset-bottom))) minmax(0,1fr); }
  .compact-player { font-size:.53rem; }
  .compact-player span { font-size:.49rem; }
  .action-panel .sticker { display:none; }
  .action-description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
  .action-panel[data-kind="result-presentation"] .action-description,
  .action-panel[data-kind="turn-review"] .action-description { display:block; -webkit-line-clamp:unset; overflow:visible; font-size:.67rem; line-height:1.12; margin-bottom:3px; }
  .action-panel[data-kind="voluntary-sale"] .action-description,
  .action-panel[data-kind="property"] .action-description,
  .action-panel[data-kind="liquidation"] .action-description { display:block; -webkit-line-clamp:unset; overflow:visible; }
  .sale-preview { padding:2px 4px; font-size:.7rem; }
  .action-panel[data-kind="result-presentation"] .section-head h3,
  .action-panel[data-kind="turn-review"] .section-head h3 { font-size:.8rem; line-height:1.08; overflow-wrap:anywhere; }
  .action-panel[data-kind="result-presentation"] .outcome-cash { padding:2px 4px; font-size:.74rem; }
  .action-panel[data-kind="result-presentation"] .outcome-wait { font-size:.62rem; line-height:1.1; }
  .match[data-presentation="result"] .latest-event { display:none; }
  .attack-preview,.choice-note { padding:2px 3px; font-size:.65rem; }
  .latest-event { min-height:29px; max-height:29px; padding:2px 4px; font-size:.58rem; line-height:1.05; }
  .odds-list { gap:1px; font-size:.52rem; line-height:1.05; }
  .odds-list li { padding:1px; }
  .decision-stack > .card-panel,.decision-stack > .scene-panel { max-height:42px; }
}
@media (prefers-reduced-motion:reduce) {
  .scene-panel.scene-arrive,.sticker.phase-changed { animation:none; }
}

.reading-controls { display:flex; flex-wrap:wrap; gap:4px; flex-shrink:0; }
.reading-controls .button { min-height:32px; padding:3px 6px; font-size:.72rem; }
@media (max-height:690px) { .reading-controls .button { min-height:28px; font-size:.63rem; } }

.review-status { margin:0; font-size:.7rem; font-weight:900; }
.match[data-review="true"] .play-pages,.match[data-review="true"] .latest-event { display:none; }
.match[data-review="true"] .action-panel { flex:1; max-height:none; }
