/* Satin printed board and fixed typographic slots, sized with the board zoom. */
.board-surface {
 border:.35cqw solid #254d62;background:linear-gradient(125deg,#fff9e7,#e4ead7 58%,#c4d8c6);
 box-shadow:inset 0 0 0 .16cqw #fff7d9,0 .45cqw 0 #467184,0 .85cqw 0 #18394b,0 1.15cqw 0 #102a38,0 1.8cqw 1.8cqw #1e160e66;
}
.board-inlay {
 border:1px solid #8eaa95;
 background:radial-gradient(ellipse at 35% 15%,#fffbedbb,transparent 65%),repeating-linear-gradient(0deg,#ffffff09 0 1px,transparent 1px 3px),linear-gradient(135deg,#e4edda,#cfdfc8);
 box-shadow:inset 0 0 0 .45cqw #eef1d8,inset 0 0 0 .6cqw #a9bca4,inset 0 0 5cqw #77967b22;
}
/* Equal square spaces on all four edges share the same content template. */
.board-3d {height:var(--board-size,700px);aspect-ratio:1;}
.board-tiles {gap:0;overflow:visible;grid-template-rows:repeat(11,minmax(0,1fr));}
.tile.side-west .tile-art,.tile.side-east .tile-art {display:block;}
.tile,.tile.has-owner {
 border:.065cqw solid #758578;border-radius:.12cqw;
 background:linear-gradient(135deg,#fffdf2 5%,#f4f1e3 65%,#e4e4d5);
 box-shadow:inset 0 .13cqw .12cqw #fff,inset -.12cqw -.16cqw .18cqw #b6b7a340;text-shadow:none;
}
.tile:before {
 height:.7cqw;border-bottom:1px solid #0003;
 background:linear-gradient(180deg,#ffffff55,#ffffff00 45%,#00000015),var(--tile-color);box-shadow:inset 0 1px #ffffff70;
}
.tile .tile-content,.tile.has-title .tile-content,.tile.side-north .tile-content,.tile.side-south .tile-content,.tile.side-west .tile-content,.tile.side-east .tile-content {
 display:grid;grid-template-rows:2.55cqw minmax(0,1fr) 1.25cqw;align-items:center;justify-items:center;gap:.15cqw;
 padding:.98cqw .35cqw 1.6cqw;transform:none;
}
.tile .tile-name,.tile.corner .tile-name,.tile.side-west .tile-name,.tile.side-east .tile-name {
 display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-height:none;min-height:0;
 font:650 1.02cqw/1.18 "Segoe UI",system-ui,sans-serif;letter-spacing:0;text-transform:none;text-align:center;color:#24392f;overflow-wrap:normal;text-wrap:balance;
}
.tile .tile-art,.tile.has-title .tile-art,.tile.has-owner .tile-art {
 width:4.3cqw;height:100%;max-height:3.7cqw;filter:drop-shadow(.15cqw .3cqw .15cqw #35402a40);
}
.tile .tile-price,.tile.corner .tile-price {
 display:block;align-self:center;font:700 1cqw/1.15 "Segoe UI",system-ui,sans-serif;color:#30473a;
 font-variant-numeric:tabular-nums;letter-spacing:.025cqw;margin:0;padding:0;white-space:nowrap;
}
.tile .owner-label,.tile .owner-callout,.tile:is(.side-north,.side-south,.side-east,.side-west) .owner-callout,.tile.has-owner:is([data-position="9"],[data-position="19"],[data-position="29"],[data-position="39"]) .owner-callout {
 height:1.28cqw;padding:.15cqw .3cqw;bottom:0;border-top:1px solid #ffffff35;border-left:.35cqw solid var(--owner-color);
 background:linear-gradient(#344b45,#243b36);color:#f7f8ee;font:600 .76cqw/1.1 "Segoe UI",system-ui,sans-serif;text-align:center;letter-spacing:.025cqw;
}
.tile .owner-label.bank-owned {background:#e0e5d7;color:#5b6a5c;border-top:1px solid #bec9b6;font-size:.72cqw;}
.tile:not(.has-title) .tile-content {
 display:grid;grid-template-rows:2.5cqw minmax(0,1fr) 1.1cqw;padding:.55cqw .35cqw .5cqw;gap:.12cqw;
}
.tile:not(.has-title) .tile-name {height:100%;max-height:none;}
.tile:not(.has-title) .tile-art {height:100%;max-height:4cqw;width:4.7cqw;}
.tile:not(.has-title) .tile-price {font-size:.68cqw;letter-spacing:.03cqw;}
.tile.type-card {background:linear-gradient(135deg,#fffbed,#e5ecde);}
.tile.type-jail {background:linear-gradient(135deg,#f9edd5,#dfd0ae);}
.tile.type-start {background:linear-gradient(135deg,#f6f3d5,#d3e4c7);}
.tile.type-goToJail {background:linear-gradient(135deg,#ffe9d7,#e5c3a9);}
.tile.selected {outline:2px solid #e7bb55;outline-offset:-2px;box-shadow:inset 0 0 0 .35cqw #ffe39a88;}
.tile:hover {filter:brightness(1.04);}
.tile:focus-visible {outline:2px solid #156e9b;outline-offset:-3px;}
.tile.mortgaged {background:repeating-linear-gradient(135deg,#dddccd 0 5px,#ccd0c1 5px 10px);}
.board-token {width:3.5cqw;height:5.8cqw;filter:drop-shadow(.24cqw .45cqw .2cqw #192c2855);}
.board-token.active-pawn:after {border:1px solid #fff4ba;box-shadow:0 0 .5cqw #eec96599;}
.tile .buildings {filter:drop-shadow(.2cqw .35cqw .16cqw #27382b66);}
.printed-deck {
 border:.3cqw solid #fffdf1;background:linear-gradient(140deg,#41b5e9,#0874b7 60%,#055490);
 box-shadow:inset 0 0 0 1px #ffffff66,.12cqw .2cqw 0 #bec3b5,.25cqw .4cqw 0 #fffcef,.38cqw .6cqw 0 #b9bcae,.5cqw .8cqw 0 #fffcef,.9cqw 1.2cqw .65cqw #34433255;
}
.die .die-face {background:linear-gradient(135deg,#fffdf5,#eee5d4);border-color:#c5bba6;box-shadow:inset .12cqw .12cqw .3cqw #fff,inset -.1cqw -.1cqw .25cqw #bbae9766;}
.die .die-top {background:linear-gradient(135deg,#fffef8,#f7f0e3);}
.die .die-right {background:linear-gradient(135deg,#e6dcc9,#c5baa5);}
.die .pip {background:#25312e;box-shadow:inset 0 1px 2px #0009,0 1px #fff8;}
.property-line {display:flex;align-items:baseline;justify-content:space-between;gap:12px;line-height:1.5;}
.property-line>span:last-child,.property-line>b,.property-line>strong {text-align:right;font-variant-numeric:tabular-nums;}
.property-overview strong,.player-info span,.turn-balance b {font-variant-numeric:tabular-nums;}

/* Turn information occupies its own strip instead of covering printed spaces. */
.turn-activity {
 position:static;transform:none;width:auto;max-width:none;margin:0;padding:8px 14px;
 display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 14px;
 border:0;border-left:3px solid var(--activity-color,#d5b461);border-bottom:1px solid #ffffff15;
 border-radius:0;background:#102433;box-shadow:none;text-align:left;backdrop-filter:none;
}
.turn-activity strong {font-size:9px;line-height:1.4;}
.turn-activity p {grid-column:1;margin:0;font-size:10px;line-height:1.4;color:#d5e1e6;}
.turn-activity small {grid-column:2;grid-row:1 / 3;align-self:center;font-size:9px;line-height:1.4;text-align:right;}
.tile.corner .tile-art {display:block;}
@media(max-width:700px) {
 .turn-activity {padding:7px 10px;gap:3px 8px;}
 .turn-activity strong {font-size:8px;}
 .turn-activity p,.turn-activity small {font-size:8px;}
 .turn-activity small {max-width:90px;}
}

/* Player financial overview */
.turn-banner[role="button"] {cursor:pointer;}
.turn-banner[role="button"]:hover {border-color:#7dc7ed;}
.turn-banner[role="button"]:focus-visible {outline:3px solid #7dc7ed;outline-offset:3px;}
.turn-balance .finance-open-hint {display:block;font-size:8px;letter-spacing:.06em;color:#b9dbed;margin-top:3px;}
#modal.finance-modal {width:min(820px,94vw);max-width:94vw;}
.finance-intro {color:#acd5e9;}
.finance-metrics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 20px;}
.finance-metrics>div {padding:13px;background:#ffffff08;border:1px solid #ffffff18;border-radius:10px;min-width:0;}
.finance-metrics dt {font-size:12px;color:#b6cad6;line-height:1.5;}
.finance-metrics dd {margin:6px 0 0;color:#f1f7fa;font-size:19px;font-weight:700;overflow-wrap:anywhere;}
.finance-note {font-size:12px;line-height:1.6;color:#b6cad6;}
.finance-properties {display:grid;gap:10px;margin:16px 0;}
.finance-property {padding:14px;border:1px solid #ffffff20;border-radius:10px;}
.finance-property>strong,.finance-property>small {display:block;overflow-wrap:anywhere;}
.finance-property>small {margin-top:5px;color:#b6cad6;}
.finance-property .finance-metrics {margin-bottom:0;}
@media(max-width:480px){.finance-metrics{grid-template-columns:1fr;gap:7px;}.finance-metrics dd{font-size:18px;}.finance-property .finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}}
