/* Property Empire: dimensional board, visible figurines and true six-face CSS dice. */
.city-board{grid-template-rows:1.35fr repeat(calc(var(--side,9) - 2),minmax(0,1fr)) 1.35fr;grid-template-columns:1.35fr repeat(calc(var(--side,9) - 2),minmax(0,1fr)) 1.35fr;padding:15px;gap:3px;background:linear-gradient(135deg,#f6d98d,#7a511f 3%,#d6ab53 4%,#0a2839 6%,#071b28 94%,#f5d997 96%,#75501c);border-color:#e1ba63;box-shadow:inset 0 0 0 2px #ffe8b7,inset 0 0 0 6px #684513,inset 0 0 0 8px #d4aa57,0 6px 0 #966621,0 12px 0 #4e351d,0 22px 35px #000a}
.empire-tilted .city-board{transform:rotateX(15deg) rotateZ(-1.5deg) scale(.97)}.board-scroll{perspective:1300px;padding-top:12px;padding-bottom:26px}
.city-space{isolation:isolate;overflow:visible;gap:3px;border:1px solid #b49b6a;border-bottom:3px solid #94713d;border-right:2px solid #a58b58;border-radius:5px;background:radial-gradient(ellipse at 20% 20%,#fffdf5,#f3e8ce 60%,#d8c293);box-shadow:inset 1px 2px 1px #fff,0 3px 0 #73542d,0 4px 4px #0008;color:#172c38;transition:box-shadow .16s,filter .16s}
.city-space .space-name{font-size:inherit;position:relative;z-index:2;line-height:1.12;padding-inline:2px}.city-space small{z-index:2;font-weight:700;padding-bottom:2px}.space-band{height:12%;min-height:7px;flex-shrink:0;border-radius:3px 3px 0 0;box-shadow:inset 0 1px #fff9,inset 0 -2px #0003;position:relative;z-index:2}.city-space[data-owner=w]{box-shadow:inset 0 0 0 2px #ecc251,0 3px 0 #866027,0 4px 4px #0007}.city-space[data-owner=b]{box-shadow:inset 0 0 0 2px #329de3,0 3px 0 #866027,0 4px 4px #0007}.city-space[data-owner=g]{box-shadow:inset 0 0 0 2px #37a775,0 3px 0 #866027,0 4px 4px #0007}.city-space[data-owner=r]{box-shadow:inset 0 0 0 2px #d9657f,0 3px 0 #866027,0 4px 4px #0007}.city-space.selected{outline:2px solid #ffdfa0;outline-offset:1px}.city-space.current-space{z-index:6}.city-space.current-space:after{content:'';position:absolute;inset:0;border:2px solid #fce0a2;border-radius:4px;box-shadow:inset 0 0 13px #e5b74d44;pointer-events:none}.city-space.mortgaged{filter:saturate(.25);background:linear-gradient(135deg,#d2d6cf,#a0aba8)}
.tile-vignette{position:absolute;right:1px;bottom:7px;width:42%;height:55%;opacity:.18;z-index:0;pointer-events:none}.tile-vignette img{width:100%;height:100%;object-fit:contain}.city-space.rest .tile-vignette,.city-space.gojail .tile-vignette{width:64%;height:64%;right:18%;bottom:4px;opacity:.65}.city-space.rest .space-name,.city-space.gojail .space-name{font-size:10px;text-shadow:0 1px 2px #fff}.city-space.rest small{background:#fff4d7c4;padding:1px 3px;border-radius:3px}.owner-dot{z-index:5}
.city-center{border:2px solid #d1a95b;border-radius:6px;box-shadow:inset 0 0 35px #000b;background:radial-gradient(ellipse at center,#0c4760,#051e30);justify-content:flex-start}.city-center:before{background:linear-gradient(#03121e66,transparent 25%,#03121e44 55%,#03121ee6 100%)}.city-art{opacity:.78;object-position:50% 35%;filter:saturate(1.06)}.city-logo{top:5%;left:6%;width:25%}.city-center .center-copy{position:absolute;top:4.5%;right:4%;margin:0;width:48%;text-align:right}.city-center .city-kicker{display:none}.city-center .center-copy strong{font-size:clamp(18px,2.2vw,32px);line-height:1;letter-spacing:.025em;color:#ffe4a3;filter:drop-shadow(0 2px #5d3a14)}.city-center .center-copy strong br{display:none}.city-center .center-copy p{font-size:9px;letter-spacing:.06em;line-height:1.4;margin-top:8px;color:#e7e9df}
.city-roll-tray{position:absolute;bottom:9%;left:7%;right:7%;min-height:140px;display:grid;grid-template-columns:64px 1fr;align-items:center;padding:12px 16px;border:1px solid #bb994f;border-radius:17px;background:linear-gradient(120deg,#041a2ce8,#082b40c9);box-shadow:inset 0 0 0 3px #d7a64b1a,inset 0 1px #ffe2a04d,0 12px 18px #0008;backdrop-filter:blur(4px)}.city-pawn{text-align:center;align-self:center}.city-pawn img{width:65px;height:75px;object-fit:contain;filter:drop-shadow(0 4px 4px #000b)}.city-pawn-label{display:block;font-size:11px;color:#ffe2a0;line-height:1.4}.dice{padding:10px 8px;gap:25px;display:flex;justify-content:center;perspective:600px;min-height:85px;align-items:center}.dice-total{grid-column:2;text-align:center;font-size:12px;color:#ffe2a0;font-weight:700;letter-spacing:.03em;min-height:18px}.center-bank{position:absolute;bottom:1.5%;left:0;right:0;text-align:center;font-size:10px}
.die-scene{--dice-size:52px;--dice-half:26px;position:relative;width:var(--dice-size);height:var(--dice-size);display:block;perspective:500px;transform-style:preserve-3d}.die-cube{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}.die-face{position:absolute;inset:0;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:5px;padding:9px;border:1px solid #e4c98c;border-radius:5px;background:radial-gradient(ellipse at 28% 18%,#fffdf0,#f2dfaf 65%,#d7b96c);box-shadow:inset 2px 2px 3px #fff,inset -2px -2px 4px #a9824580;backface-visibility:hidden}.die-face i{display:block;min-width:0;min-height:0}.die-face .pip{border-radius:50%;background:radial-gradient(circle at 65% 65%,#174965,#041d2c);box-shadow:inset 1px 2px 2px #000c,0 1px #fff7}.face-1{transform:translateZ(var(--dice-half))}.face-6{transform:rotateY(180deg) translateZ(var(--dice-half))}.face-2{transform:rotateY(90deg) translateZ(var(--dice-half));background-color:#dfc07d}.face-5{transform:rotateY(-90deg) translateZ(var(--dice-half))}.face-3{transform:rotateX(90deg) translateZ(var(--dice-half))}.face-4{transform:rotateX(-90deg) translateZ(var(--dice-half))}.die-contact{position:absolute;inset:85% -12% -28%;background:#0008;filter:blur(6px);border-radius:50%;transform:rotateX(55deg)}.is-rolling .die-contact{animation:die-contact-bounce .45s ease-in-out 2}
@keyframes die-contact-bounce{50%{opacity:.35;transform:rotateX(55deg) scale(.8)}}
.tokens{inset:29% 0 1%;align-items:flex-end;justify-content:center;gap:0;z-index:8}.city-space .tokens .token{width:36px;height:46px;position:relative;flex-shrink:1;filter:drop-shadow(0 3px 2px #000a)}.tokens .token:after{content:'';position:absolute;bottom:0;left:15%;right:15%;height:15%;border-radius:50%;background:#f6c65a66;box-shadow:0 0 4px #ffdf79;z-index:-1}.tokens .token-b:after{background:#26a9ed99;box-shadow:0 0 4px #71d7ff}.tokens .token-g:after{background:#36c99b99;box-shadow:0 0 4px #82ffcd}.tokens .token-r:after{background:#d5416c99;box-shadow:0 0 4px #ffb3cf}.tokens[data-count="3"],.tokens[data-count="4"]{display:grid;grid-template-columns:repeat(2,1fr);align-content:end;justify-items:center}.tokens[data-count="3"] .token,.tokens[data-count="4"] .token{width:24px!important;height:28px!important;margin-top:-8px}.player-card .token{width:31px;height:39px}.player-card{grid-template-columns:32px 1fr}.player-card.active{background:radial-gradient(ellipse at 20% 0,#d7a64b26,transparent 75%),var(--rosa-menu-item-fill);box-shadow:inset 0 0 0 1px #f3d487,0 0 14px #d7a64b1a}
.deed-art{height:95px;text-align:center;background:radial-gradient(ellipse at bottom,#d7a64b21,transparent 70%);border-bottom:1px solid #d7a64b33;margin-bottom:10px}.deed-art img{height:92px;width:100%;object-fit:contain;filter:drop-shadow(0 5px 4px #0009)}.deed .rent-list{gap:0}.city-layout{gap:15px}.city-heading h1{font-size:clamp(23px,2.4vw,38px)}
@media(min-width:901px){.city-board{width:min(100%,calc(100dvh - 320px));min-width:460px}.city-space{font-size:10px}.city-center .center-copy strong{font-size:24px}.city-roll-tray{min-height:128px}.dice-total{font-size:11px}}@media(min-width:1700px){.city-space{font-size:12px}.city-center .center-copy strong{font-size:32px}.die-scene{--dice-size:62px;--dice-half:31px}.die-face{padding:11px;gap:5px}.city-roll-tray{min-height:165px;grid-template-columns:85px 1fr;left:13%;right:13%}.city-pawn img{width:82px;height:93px}.city-pawn-label{font-size:14px}.dice{gap:34px}.dice-total{font-size:14px}.city-space .tokens .token{width:44px;height:55px}}
@media(min-width:901px) and (max-height:800px){.city-board{min-width:420px}.city-space{font-size:8px}.die-scene{--dice-size:39px;--dice-half:19.5px}.die-face{padding:7px;gap:3px}.city-roll-tray{min-height:104px;padding:7px 11px;grid-template-columns:42px 1fr}.city-pawn img{width:45px;height:54px}.city-pawn-label{font-size:9px}.dice{gap:17px;min-height:60px}.dice-total{font-size:10px}.city-space .tokens .token{width:29px;height:36px}.center-bank{font-size:8px}}
@media(max-width:900px){.city-space{font-size:11px}.city-center .center-copy strong{font-size:30px}}@media(max-width:600px){.city-board{padding:8px;gap:2px}.empire-tilted .city-board{transform:none}.city-space{font-size:7px;gap:1px;border-bottom-width:2px;border-radius:3px}.city-space .space-name{line-height:1.05;padding-inline:1px}.city-space.rest .space-name,.city-space.gojail .space-name{font-size:7px}.space-band{min-height:4px}.tile-vignette{opacity:.13}.city-space .tokens .token{width:22px;height:28px}.tokens[data-count="3"] .token,.tokens[data-count="4"] .token{width:14px!important;height:17px!important;margin-top:-5px}.city-center .center-copy{top:5%;right:4%;width:50%}.city-center .center-copy strong{font-size:14px;line-height:1.05}.city-center .center-copy p{display:none}.city-logo{width:29%;top:6%}.city-roll-tray{bottom:11%;left:5%;right:5%;grid-template-columns:35px 1fr;min-height:93px;padding:7px 9px;border-radius:10px}.city-pawn img{width:39px;height:45px}.city-pawn-label{font-size:8px}.die-scene{--dice-size:30px;--dice-half:15px}.die-face{padding:5px;gap:3px;border-radius:3px}.dice{gap:15px;padding:8px 4px;min-height:48px}.dice-total{font-size:9px;min-height:13px}.center-bank{font-size:7px;padding:2px}.deed-art{height:100px}.deed-art img{height:97px}.large-board .city-space{font-size:11px}.large-board .city-center .center-copy strong{font-size:29px}.large-board .city-space .tokens .token{width:42px;height:54px}.large-board .die-scene{--dice-size:54px;--dice-half:27px}.large-board .die-face{padding:9px;gap:5px}.large-board .city-roll-tray{min-height:150px;grid-template-columns:75px 1fr}.large-board .city-pawn img{width:75px;height:85px}.large-board .city-pawn-label{font-size:13px}.large-board .dice-total{font-size:13px}.large-board .center-bank{font-size:11px}}
@media(prefers-reduced-motion:reduce){.die-contact{animation:none!important}.city-space,.city-board{transition:none!important}}
.city-center .center-copy strong br{display:block}
