/* Desktop tabletop. Scoped to the game so personal review keeps its own layout. */
body:has(#game.active){background:#f4f3ed}
body:has(#game.active) .rail{width:80px;padding:26px 14px;align-items:center;background:#173f36;color:#eaf0e1;border:0}
body:has(#game.active) .rail .brand{justify-content:center}
body:has(#game.active) .rail .brand>span:last-child,body:has(#game.active) .brand-sub,body:has(#game.active) .rail-bottom,body:has(#game.active) .rail .nav span{display:none}
body:has(#game.active) .rail .mark{background:#dceab5;color:#173f36}
body:has(#game.active) .rail nav{width:100%;margin-top:44px}
body:has(#game.active) .rail .nav{width:100%;justify-content:center;font-size:23px;padding:12px 0;margin-bottom:10px;color:#a8c0b3;border-radius:13px}
body:has(#game.active) .rail .nav.active{background:#dceab5;color:#173f36}
body:has(#game.active) main{margin-left:80px;padding:0 26px;max-width:none}
body:has(#game.active) .top{height:54px;font-size:11px}
#game.active{padding:22px 0}
#game>.eyebrow{margin-bottom:8px;color:#4c6d5a;letter-spacing:2.4px}
#game>h1{font:500 34px/1.12 Georgia,serif;letter-spacing:-1.1px;margin:0 0 8px}
#game>.intro{font-size:12px;margin:0 0 14px;color:#6b7c6e}
#game>.notice{background:transparent;border:0;padding:0;font-size:10px;color:#7b8174;margin:0 0 10px}
#game-root{position:relative}
#game-root .game-edition{position:absolute;right:0;top:-76px;display:flex;align-items:center;gap:10px;color:#5c6c5d;font-size:11px}
#game-root .game-edition select{font-size:13px;font-weight:700;max-width:170px;background:#fffdf6;border-color:#d1d8c8}
#game-root .game-error:empty{display:none}
#game-root .game-error:not(:empty){padding:12px 16px;border:1px solid #d59b81;border-radius:9px;background:#fff0e8;margin:10px 0}
#game-root .game-turn{display:grid;grid-template-columns:1fr auto;column-gap:15px;border:0;margin:0;padding:8px 0 14px;position:relative}
#game-root .game-turn h2{font:500 24px/1.15 Georgia,serif;margin:0 0 5px;letter-spacing:-.6px}
#game-root .game-turn>.subtle{font-size:11px;margin:0;grid-column:1}
#game-root .game-turn-badge{justify-self:start;grid-column:1;font-size:10px;line-height:1.5;letter-spacing:.3px;color:#3c6e55;background:#e3ebd6;padding:4px 9px;border-radius:20px;margin-top:8px}
#game-root .game-roll{grid-column:2;grid-row:1/4;display:flex;gap:12px;align-items:center;margin:0;padding:10px 16px;background:#fffdf7;border:1px solid #d9dfd1;border-radius:14px;box-shadow:0 3px 8px #193b2d06}
#game-root .game-roll-total{font:500 24px Georgia,serif;color:#284c3c}
#game-root .game-roll-await{font-size:11px;color:#81907d;max-width:140px;text-align:center}
#game-root .game-seats{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:9px;margin:0 0 14px;align-items:start}
#game-root .game-seat{background:#fffdf7;border:1px solid #d9dfd1;border-top:3px solid var(--seat-color);border-radius:12px;padding:12px 12px 10px;position:relative;box-shadow:0 3px 8px #18332304;min-width:0}
#game-root .game-seat.current{background:#f6faee;box-shadow:0 0 0 1px var(--seat-color);border-color:var(--seat-color)}
#game-root .game-seat-badge{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;background:var(--seat-color);font-size:10px;box-shadow:inset 0 1px 2px #fff8,0 2px 2px #173f3620}
#game-root .game-seat h3{font:600 13px/1.3 Arial,sans-serif;padding-right:24px;color:#2d4937;margin:0}
#game-root .game-seat>p.subtle:first-of-type{font-size:10px;line-height:1.4;margin:5px 0 8px;min-height:28px;color:#83907b}
#game-root .game-seat>p:not(.subtle){font-size:11px;margin:5px 0}
#game-root .game-seat>.subtle{font-size:10px;margin:5px 0;line-height:1.4}
#game-root .game-seat>.subtle:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#game-root .game-cash{font:500 22px/1.2 Georgia,serif;letter-spacing:-.5px;color:#254c37}
#game-root .game-goal-progress{height:4px;border-radius:5px;background:#e9edde;overflow:hidden;margin:9px 0}
#game-root .game-goal-progress>span{display:block;height:100%;border-radius:5px;background:var(--seat-color);max-width:100%}
#game-root .game-seat details{font-size:11px;line-height:1.5}
#game-root .game-seat details>summary{font-size:10px;color:#55704e;padding:2px 0}
#game-root .game-seat details[open]{padding-top:3px}
#game-root .game-seat details .subtle{font-size:10px;line-height:1.5}
#game-root .game-seat details .game-balance{font-size:10px;gap:5px}
#game-root .action-row{gap:7px}
#game-root button,#game-root .file-button{transition:background .14s,box-shadow .14s,transform .14s}
#game-root button:focus-visible,#game-root .file-button:focus-within{outline:3px solid #c7974a;outline-offset:3px}
#game-root button:disabled{opacity:.45;cursor:not-allowed}
#game-root #game-controls{margin:7px 0 10px;align-items:center}
#game-root #game-controls>button,#game-root #game-controls>.file-button{font-size:10px;background:transparent;border:1px solid #d1d9c9;padding:7px 10px;border-radius:7px}
#game-root .game-auto{font-size:10px;margin-left:auto;gap:7px;color:#64805d}
#game-root .game-auto input{width:16px;height:16px;accent-color:#3a6d49}
#game-root .game-seats+.action-row{margin:8px 0 4px}
#game-root .game-seats+.action-row button{font-size:10px;padding:7px 10px;border:0;border-radius:20px;background:transparent;color:#718368}
#game-root .game-seats+.action-row button.selected{background:#dde8ca!important;color:#365c38!important}
#game-root .game-layout{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:18px;margin:10px 0 18px;align-items:start}
#game-root .game-table-pane{min-width:0;grid-column:1;grid-row:1}
#game-root .game-event{grid-column:2;grid-row:1;position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto;border:1px solid #d8ddce;background:#fffdf6;border-radius:14px;padding:20px;box-shadow:0 6px 16px #203d2510;scrollbar-width:thin}
#game-root .game-event>h2{font:500 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:1.3px;color:#849376;margin:0 0 14px}
#game-root .game-event>p{font:12px/1.6 Arial,sans-serif;color:#596e50}
#game-root .game-event-title{font:500 22px/1.17 Georgia,serif;letter-spacing:-.5px;color:#29452e;margin:14px 0}
#game-root .game-card-zoom{display:block;width:100%;padding:12px;background:linear-gradient(145deg,#e5e8d9,#f4f0dc);border:1px solid #dce1cf;border-radius:10px;cursor:zoom-in;text-align:center;overflow:hidden;box-shadow:inset 0 1px 5px #18332208}
#game-root .game-card-image{display:block;max-height:210px;max-width:100%;height:auto;width:auto;margin:auto;object-fit:contain;border-radius:4px;filter:drop-shadow(0 5px 5px #1b30252b);transform:rotate(-1deg)}
#game-root .game-card-zoom:hover .game-card-image{transform:rotate(0)}
#game-root .game-card-zoom-hint{display:block;margin:11px 0 0;font:10px Arial,sans-serif;color:#788565}
#game-root .game-card-copy{font:12px/1.65 Arial,sans-serif;white-space:pre-wrap;margin:16px 0;color:#3e5138}
#game-root .game-card-source{display:inline-block;font-size:10px;color:#759261;margin:0 0 8px}
#game-root .game-event .game-balance{font-size:11px;gap:7px}
#game-root .game-terms{padding:13px 0;margin:13px 0}
#game-root .game-terms dt{color:#859074}
#game-root .game-terms dd{color:#354b2f}
#game-root #game-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;max-height:none;overflow:visible;padding:0;margin:16px 0 0}
#game-root #game-actions>button,#game-root .game-action-form button{font:600 12px/1.5 Arial,sans-serif;padding:12px 14px;border-radius:9px;text-align:left;box-shadow:0 2px 3px #193e2412}
#game-root #game-actions>button:hover:not(:disabled){background:#406d45;box-shadow:0 4px 8px #193e241a}
#game-root .game-action-form{background:#f2f5e9;padding:12px;border-radius:10px}
#game-root .game-action-form label{font:11px/1.5 Arial,sans-serif;color:#627654}
#game-root .game-action-form input{font:500 16px Georgia,serif;background:#fffdf6;padding:10px}
#game-root .game-cell-inspector{margin-top:12px;background:#fffdf6;border:1px solid #d6ddcb;border-radius:12px;padding:16px 18px;box-shadow:0 3px 8px #173a2510}
#game-root .game-inspector-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
#game-root .game-inspector-kicker{font-size:9px;letter-spacing:1px;color:#839275}
#game-root #game-cell-close{border:0;padding:4px 6px;font-size:10px;color:#718266;background:transparent}
#game-root .game-cell-inspector h3{font:500 20px Georgia,serif;margin:10px 0}
#game-root .game-cell-inspector p{font:12px/1.6 Arial,sans-serif;margin:8px 0;color:#5e7154}
#game-root .game-inspector-numbers{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:#35633e}
#game-root .game-inspector-numbers span{background:#eaf0dc;padding:7px 10px;border-radius:6px}
#game-root .game-card-dialog{width:min(970px,88vw);padding:22px;background:#f7f6ec;border-radius:15px;max-height:92vh;box-sizing:border-box}
#game-root .game-card-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
#game-root .game-card-dialog-top h2{font:500 23px Georgia,serif;margin:0}
#game-root #game-card-close{flex-shrink:0;font-size:12px}
#game-root .game-card-dialog>img{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;object-fit:contain;margin:auto}
#game-root .game-winner{grid-column:1/-1;margin:14px 0 0;font:500 26px Georgia,serif;background:#e6eccc;border:1px solid #b2c995;color:#345b33;box-shadow:0 6px 22px #4d702818}
#game-root #game-log{border-radius:12px;background:#e9ede0;padding:16px 20px;border-color:#d8dfcd}
#game-root #game-log>summary{font-size:11px;font-weight:600;color:#58724e}
#game-root .game-journal{max-height:190px;padding-left:18px}
#game-root .game-journal li{font-size:11px;line-height:1.6;margin:8px 0}
#game-root .game-setup-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start;margin-top:20px}
#game-root .game-setup-preview{min-width:0}
#game-root .game-setup-side{padding:25px;background:#fffdf6;border:1px solid #d9dfd0;border-radius:14px;box-shadow:0 10px 20px #193b2110}
#game-root .game-setup-kicker{font-size:9px;letter-spacing:2px;color:#7c9266}
#game-root .game-setup-side>h2{font:500 27px/1.15 Georgia,serif;letter-spacing:-.7px;margin:13px 0}
#game-root .game-setup-side .form-grid{grid-template-columns:1fr;gap:13px;padding:0;background:transparent;border:0;margin:20px 0 12px}
#game-root .game-setup-side label{font-size:11px;color:#718366;gap:6px}
#game-root .game-setup-side select,#game-root .game-setup-side input{background:#fafbf3;font-size:12px;width:100%;max-width:100%}
#game-root .game-setup-side label:has(input[type=checkbox]){display:flex;align-items:center;gap:12px;line-height:1.5}
#game-root .game-setup-side label input[type=checkbox]{width:18px;height:18px;flex-shrink:0}
#game-root .game-setup-side .form-grid>.subtle{font-size:9px;line-height:1.5;margin:0}
#game-root .game-setup-side .form-grid>.primary{padding:14px;font-size:13px;margin-top:6px}
#game-root .game-setup-side>.file-button{font-size:10px;padding:9px 12px}
@media(min-width:1700px){#game-root .game-layout{grid-template-columns:minmax(0,1fr) 380px;gap:24px}#game-root .game-event{padding:24px}#game-root .game-card-copy{font-size:13px}.game-table-pane{max-width:1330px}}
@media(max-width:1200px){body:has(#game.active) main{padding:0 18px}#game-root .game-layout{grid-template-columns:minmax(0,1fr) 302px;gap:13px}#game-root .game-event{padding:16px}#game-root .game-seats{grid-template-columns:repeat(auto-fit,minmax(142px,1fr))}#game-root .game-setup-layout{grid-template-columns:minmax(0,1fr) 315px;gap:16px}#game-root .game-setup-side{padding:20px}}
@media(max-width:980px){#game-root .game-layout{grid-template-columns:1fr}#game-root .game-event{grid-row:2;grid-column:1;position:static;max-height:none}#game-root .game-setup-layout{grid-template-columns:1fr}#game-root .game-setup-side .form-grid{grid-template-columns:1fr 1fr}#game-root .game-turn h2{font-size:22px}#game-root .game-seats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){#game-root *,#game-root *::before,#game-root *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep the table readable on large monitors and avoid duplicating the page hero in a running game. */
#game-area{max-width:1450px;margin-inline:auto}
#game:has(.game-turn)>.eyebrow,#game:has(.game-turn)>h1,#game:has(.game-turn)>.intro,#game:has(.game-turn)>.notice{display:none}
#game:has(.game-turn) .game-edition{position:static;display:flex;justify-content:flex-end;margin-bottom:3px}
#game-root .game-seat>p.subtle:first-of-type{min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#game-root .game-card-dialog>img{width:100%;height:auto;max-height:72vh}
