/* Shared-table setup and controls. The archived board designs stay untouched. */
.hero-actions{flex-wrap:wrap}
.hero-actions .local-play-button{flex-basis:100%;max-width:345px;justify-content:space-between}
.player-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
.avatar-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.avatar-option{min-width:0;width:100%}
.avatar-option .avatar{max-width:100%}
.local-players{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.local-player-row{display:grid;grid-template-columns:40px minmax(0,1fr) 58px;align-items:center;gap:9px;border:1px solid #d6d9bf;border-radius:12px;padding:10px;background:#f8f4df}
.local-player-avatar{height:57px;overflow:hidden;background:var(--player);border-radius:9px}
.local-player-avatar .avatar{width:42px;height:63px}
.modal .local-player-row label{margin:0;font-size:10px;min-width:0}
.modal .local-player-row input{width:100%;padding:9px 6px;margin-top:5px;font-size:12px}
.field-hint{font-size:11px;color:#7b8365;line-height:1.6;margin:8px 0 15px}
.local-mode-label{display:flex;gap:6px;align-items:center;font-size:10px;color:#607354;white-space:nowrap}
.dice-setting-button{display:flex;gap:6px;align-items:center;border:1px solid #d4dbc5;border-radius:7px;background:#f1f3e6;font:inherit;font-size:10px;padding:6px 9px;white-space:nowrap}
.dice-setting-button:hover{background:#e5eaca}
.in-game .player-chip{flex:1 0 148px}
.in-game .player-chip strong{max-width:140px}
.in-game .player-chip small{position:static;display:block;font-size:8px;line-height:1;margin-top:3px}
.in-game .player-chip b{margin-top:3px}
#physical-dice-form{width:100%}
.physical-dice-inputs{display:grid;gap:10px}
.physical-dice-inputs fieldset{border:0;margin:0;padding:0;min-width:0}
.physical-dice-inputs legend{font-size:10px;color:#697750;margin:0 0 5px;font-weight:700}
.physical-dice-inputs legend{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}
.die-number{width:48px;height:27px;border:1px solid #c5cdac;border-radius:6px;background:#fffdf3;color:#294d38;text-align:center;font:inherit;font-size:12px;padding:3px}
.die-number:focus{outline:2px solid #759d5d;outline-offset:1px}
.die-choices{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.die-choice{position:relative;cursor:pointer;display:block;border-radius:8px;line-height:0}
.die-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.die-choice .die{width:100%;max-height:40px;transition:transform .15s,filter .15s;pointer-events:none}
.die-choice input:checked+.die{transform:translateY(-3px);filter:drop-shadow(0 3px 0 #355c3d)}
.die-choice input:checked+.die rect{fill:#f4d064;stroke:#355c3d;stroke-width:4}
.die-choice input:focus-visible+.die{outline:3px solid #5486a7;outline-offset:2px;border-radius:9px}
.physical-dice-total{font-size:11px;text-align:center;color:#697750;margin:13px 0 10px;min-height:17px}
#physical-dice-form>.button{width:100%;font-size:12px;min-height:43px;padding:10px}
.physical-dice-cinema,.money-cinema{position:fixed;inset:0;z-index:32;display:flex;align-items:center;justify-content:center;padding:18px;background:radial-gradient(ellipse,#173c2cbd,#162b24e6);backdrop-filter:blur(4px)}
.physical-dice-cinema{pointer-events:none}
.physical-dice-result{text-align:center;color:#fff4cb}
.physical-dice-result .eyebrow{color:#d7cd9d;font-size:11px}
.physical-dice-result h2{font-size:28px;margin:12px 0 24px}
.physical-dice-result>div{display:flex;justify-content:center;gap:14px}
.physical-dice-result .die{width:74px;height:74px}
.physical-dice-result>strong{font-size:58px;display:block;margin-top:18px}
.money-receipt{position:relative;overflow:hidden;width:min(440px,100%);max-height:90dvh;display:flex;flex-direction:column;background:#fffae9;border:1px solid #f7e5a7;border-radius:22px;color:#294d38;box-shadow:0 24px 80px #0b211966;padding:25px 28px 18px;text-align:center}
.money-eyebrow{display:flex;align-items:center;justify-content:center;gap:7px;color:#85956a;font-size:9px;font-weight:800;letter-spacing:2px}
.money-receipt h2{font-size:27px;letter-spacing:-.8px;margin:12px 0 18px;line-height:1.15}
.money-flow{display:grid;grid-template-columns:1fr 76px 1fr;align-items:center;gap:5px;margin-bottom:18px}
.money-person{display:flex;flex-direction:column;align-items:center;min-width:0}
.money-person .avatar{width:50px;height:75px;filter:drop-shadow(0 5px 0 #d4dec1)}
.bank-emblem{height:75px;width:60px;display:grid;place-items:center;color:#42694b;background:#e4ebd1;border-radius:17px;border:1px solid #c4d1ae}
.money-person>b{font-size:12px;line-height:1.3;margin-top:10px;overflow-wrap:anywhere;max-width:100%}
.money-person>span:last-child{font-size:10px;font-weight:700;margin-top:5px}
.debit{color:#b36347}.credit{color:#478153}
.money-flight{position:relative;height:50px;color:#8d9e73;font-size:26px}
.money-flight>span{opacity:.35}
.money-flight i{position:absolute;left:calc(50% - 22px);top:7px;width:44px;height:25px;display:grid;place-items:center;background:#b8d4a1;color:#315b37;border:2px solid #66995e;box-shadow:0 2px 0 #446e3d33;border-radius:4px;font-family:inherit;font-weight:800;font-size:12px;font-style:normal;opacity:0}
.money-amount{border-top:1px dashed #c8cfaf;border-bottom:1px dashed #c8cfaf;padding:17px 0;margin:0 -3px}
.money-amount>span{font-size:10px;font-weight:700;display:block;color:#839269;line-height:1.4}
.money-amount>strong{display:block;font-size:36px;letter-spacing:-1.2px;margin-top:5px;font-variant-numeric:tabular-nums}
.money-amount>small{display:block;font-size:10px;color:#87956e;margin-top:4px}
.money-details{overflow:auto;min-height:0;text-align:left;margin:13px 0 2px;scrollbar-width:thin}
.money-line{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #e5e7d2}
.money-line:last-child{border:0}
.money-line>div{min-width:0}.money-line b{font-size:10px;font-weight:700;display:block;overflow-wrap:anywhere;line-height:1.5}
.money-line b span{color:#9ca67c}.money-line small{display:block;font-size:9px;color:#8a946f;margin-top:3px;line-height:1.4}
.money-line>strong{font-size:11px;white-space:nowrap}
.money-continue{display:flex;gap:8px;align-items:center;justify-content:center;color:#6b8054;border:0;background:none;padding:10px;font-family:inherit;font-weight:700;font-size:11px;cursor:pointer;flex-shrink:0}
.money-continue:hover{color:#294d38}
.money-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#91b378;transform-origin:left}
@media(max-width:850px){
 .local-mode-label{font-size:0;gap:0}.local-mode-label svg{width:18px;height:18px}
 .in-game .player-chip{flex:1 0 138px}
 .game-header nav{gap:7px}.dice-setting-button{font-size:9px;padding:5px}
}
@media(max-width:650px){
 .local-players{grid-template-columns:1fr;gap:8px}
 .local-player-row{grid-template-columns:36px minmax(0,1fr) 66px;padding:8px 10px}
 .local-player-avatar{height:48px}.local-player-avatar .avatar{height:56px;width:38px}
 .hero-actions .local-play-button{max-width:none;justify-content:center;font-size:13px}
 .player-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
 .player-slot:last-child.empty{grid-column:auto;min-height:257px;flex-direction:column}
 .avatar-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .avatar-option .avatar{height:73px}.avatar-option>span{font-size:8px}
 .game-header .match-meta{gap:5px;font-size:9px;padding-left:7px}
 .dice-setting-button span{display:none}.dice-setting-button{width:29px;height:29px;justify-content:center}
 .action-dock:has(#physical-dice-form){max-height:52%}
 .die-choice .die{max-height:36px}
 .money-receipt{padding:20px 20px 12px;border-radius:18px}
 .money-receipt h2{font-size:25px;margin-bottom:14px}
 .money-amount>strong{font-size:32px}.money-flow{margin-bottom:13px}
}
@media(max-height:620px){
 .money-receipt{padding:15px 24px 8px}
 .money-receipt h2{font-size:23px;margin:8px 0 10px}
 .money-flow{margin-bottom:10px}.money-person .avatar{height:52px;width:35px}.bank-emblem{height:52px;width:50px}
 .money-amount{padding:8px 0}.money-amount>strong{font-size:29px}
 .money-details{margin-top:6px}.money-line{padding:6px 0}
}
@media(prefers-reduced-motion:reduce){
 .die-choice .die{transition:none}.money-cinema,.physical-dice-cinema{backdrop-filter:none}
}
