/* The city has its own clear stage. Interface panels never determine map scale by overlap. */
:root{--ink:#243f49;--paper:#f4efdf;--paper-muted:#6d807c;--mint:#b9dfcd;--brass:#bda269}
.play-shell{position:absolute;inset:0;pointer-events:none!important}
.play-shell>*{pointer-events:auto}
.hud-header{position:absolute;inset:0 0 auto;height:66px;padding:15px 25px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8e1d51a;background:#0b253658}
.hud-header .brand-mark{font-size:29px}.hud-header .brand-title{font-size:16px;letter-spacing:.09em}.hud-header .brand-title small{font-size:9px;letter-spacing:.18em;color:#afc4c2}
.hud-header .iconbutton,.map-tools .iconbutton{width:36px;height:36px;background:#173644cc;border-color:#b9d7ce44;border-radius:12px;color:#e2eee1;font-size:19px}
.hud-header .round-counter{font-size:11px;letter-spacing:.06em}.hud-header .round-counter strong{font-size:25px}
.roster{position:absolute;top:80px;left:24px;right:342px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.traveler{min-width:0;position:relative;display:grid;grid-template-columns:49px 1fr;gap:10px;align-items:center;text-align:left;padding:8px 12px 8px 7px;border:1px solid #cbdad45c;background:#e9eee0ec;border-radius:16px;color:var(--ink);box-shadow:0 5px 16px #001b2525;transition:background .2s,transform .2s}
.traveler.active{background:#fff8e8;border-color:#f4e1ac;box-shadow:0 0 0 2px #eccb7977,0 8px 22px #0002;transform:translateY(-2px)}
.traveler.active:after{content:'';position:absolute;bottom:-6px;left:calc(50% - 5px);width:9px;height:9px;background:#f4e1ac;transform:rotate(45deg);border-radius:2px}
.traveler.out{opacity:.45}.traveler-portrait{display:block;width:49px;height:54px;overflow:hidden;border-radius:12px;background:color-mix(in srgb,var(--player-color) 35%,#f7f4e6)}
.traveler-portrait img{width:100%;height:96px;object-fit:cover;object-position:50% 5%;transform:scale(1.12);transform-origin:50% 10%}
.traveler .player-name{display:block;font-size:10px;letter-spacing:.1em;color:#3d5559;white-space:nowrap}.traveler .player-name small{color:#74877e;font-size:8px;margin-left:5px}
.traveler .player-cash{font-family:Georgia,serif;color:#263f48;font-size:22px;line-height:1.18;white-space:nowrap}.traveler .coin-symbol{margin-right:2px}.traveler .coin-symbol .object-icon{width:15px;height:15px;margin:0 1px 2px 0}
.traveler .player-detail{color:#718279;font-size:10px;gap:8px;margin-top:2px;white-space:nowrap;letter-spacing:0}
.control-rail{z-index:3;position:absolute;right:22px;top:81px;bottom:22px;width:296px;display:flex;flex-direction:column;overflow:hidden;border-radius:23px;border:1px solid #f8f0d2;background:var(--paper);box-shadow:0 16px 50px #03172359;color:var(--ink)}
.address-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b3c4b7 transparent}
.city-postcard{height:142px;position:relative;margin:9px 9px 0;border-radius:16px;overflow:hidden;background:#233f4d}.city-postcard>img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}.city-postcard:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#102f40b8)}.city-postcard>span{position:absolute;left:14px;bottom:14px;z-index:1;font-size:9px;letter-spacing:.17em;color:#fff0d0}
.city-welcome{padding:22px 23px 10px}.city-welcome .eyebrow{font-size:9px;letter-spacing:.18em;color:#809284}.city-welcome h2{font:30px/1.05 Georgia,serif;letter-spacing:-.03em;margin:10px 0 12px;color:#2d4b50}.city-welcome p{font-size:12px;line-height:1.65;color:#748279;margin:0;max-width:230px}
.city-note{margin:9px 22px 18px;padding:13px 0 0;border-top:1px solid #cfcebb;text-align:left}.city-note .eyebrow{font-size:8px;letter-spacing:.13em;color:#8d9a88}.city-note h3{font:19px/1.15 Georgia,serif;margin:7px 0;color:#425b56}.city-note p{font-size:12px;line-height:1.5;color:#778577;margin:0}
.city-guide{display:grid;grid-template-columns:69px 1fr;align-items:center;gap:8px;margin:10px 18px 20px;padding:12px 10px;border-radius:15px;background:#e7ecdc}.city-guide>img{width:69px;height:110px;object-fit:contain;filter:drop-shadow(0 5px 5px #4362481a)}.city-guide span{display:block;font-size:8px;letter-spacing:.1em;color:#8c9981}.city-guide strong{display:block;font:17px Georgia,serif;color:#587160;margin:7px 0}.city-guide p{color:#86937d;font-size:11px;line-height:1.5;margin:0}
.address-panel{padding:18px 22px 20px;position:relative;animation:panel-in .2s ease}.address-panel .property-top{gap:10px}.address-panel .eyebrow{color:#768f84!important;font-size:9px;letter-spacing:.1em;display:flex;align-items:center}.address-panel .eyebrow .object-icon{width:22px;height:22px;margin:0 5px 0 0}.control-rail .close{color:#537065;border:1px solid #c3cebd;background:#e4eadb;width:30px;height:30px;flex:0 0 30px}
.address-panel .property-art{height:156px;margin:9px -4px 0;background:radial-gradient(ellipse at 50% 70%,#b4c9b840,transparent 68%)}.address-panel .property-art img{filter:drop-shadow(0 6px 6px #355f4825)}.address-panel h3{font:29px/1.05 Georgia,serif;letter-spacing:-.035em;color:#29494d;margin:11px 0 8px}.address-panel .property-owner{font-size:11px;color:#7b897b;margin-bottom:12px;line-height:1.4;letter-spacing:0}.address-panel .level-track{gap:5px;margin:10px 0 16px}.address-panel .level-track i{height:5px;background:#dcdcc7}.address-panel .level-track i.on{background:#93bba6;box-shadow:none}.address-panel .property-values{border-top:1px solid #d5d5c3;padding-top:12px;margin-bottom:16px;gap:8px}.address-panel .property-values span{font-size:9px;letter-spacing:.06em;color:#7b8a7d}.address-panel .property-values strong{color:#365650;font:23px Georgia,serif}.address-panel .primary{width:100%;font-size:12px;padding:13px 10px}.address-panel .quiet{font-size:11px;color:#7b8a7d;padding-left:0}.address-panel .inspect-description{color:#718473;font-size:12px;line-height:1.6;margin:10px 0 0}
.control-rail .primary{background:#b7dcca;border:1px solid #8db7a1;box-shadow:0 3px 0 #89a99255;border-radius:11px;color:#2b514c;letter-spacing:.03em}
.control-rail .hand-container{flex:none;padding:16px 18px 12px;border-top:1px solid #d4d9c6;background:#e8eddd}.control-rail .hand-label{font-size:8px;letter-spacing:.11em;color:#80917f;margin:0 0 10px;display:block}.control-rail .hand{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}.control-rail .card{width:100%;height:91px;padding:4px;border-radius:9px;border:1px solid #cabd93;background:#fcf8e9;box-shadow:0 3px 0 #c4cdbd66;color:#375450;min-width:0;transition:transform .2s,box-shadow .2s}.control-rail .card-art{height:55px;border-radius:5px;object-fit:cover}.control-rail .card-name{font-size:9px;line-height:1.1;margin-top:5px;letter-spacing:0}.control-rail .card-tier{font-size:8px;right:7px;top:7px}.control-rail .card:enabled:hover{transform:translateY(-4px);box-shadow:0 7px 10px #557a5626}.control-rail .card:disabled{opacity:.6}.control-rail .empty-hand{grid-column:1/-1;height:44px;max-width:none;color:#889580;font-size:12px;line-height:1.5}
.turn-console{flex:none;padding:16px 18px 18px;border-top:1px solid #c9d1bb;background:#f8f3e3}.turn-console .turn-name{font-size:10px;letter-spacing:.12em;color:#6f8579;margin-bottom:10px}.turn-console .turn-actions{gap:9px}.turn-console .roll-button{flex:1;min-width:0;height:55px;border:1px solid #7fac98;border-radius:13px;background:linear-gradient(#c5e6d7,#aad6bf);box-shadow:0 4px 0 #8daf9999;color:#2b514c;font-size:15px;letter-spacing:.09em;gap:10px}.turn-console .die-icon .object-icon{height:33px;width:33px}.turn-console .skill-button{height:55px;width:48px;border-radius:13px;background:#eee2bd;border:1px solid #cfbb87;box-shadow:0 4px 0 #caba8c66;flex:none}.turn-console .turn-tip{font-size:11px;color:#85917f;margin-top:12px;line-height:1.35}.turn-console .moves{margin:0 0 10px}.turn-console .moves strong{color:#36594f}.turn-console .moves small{color:#83917d}.turn-console .choice-adjust{margin:11px 0 0;gap:8px}.turn-console .choice-adjust .secondary{background:#e7ead8;border-color:#c6d0b7;color:#537165;font-size:10px;padding:8px;letter-spacing:.03em}
.map-caption{position:absolute;left:30px;top:173px;pointer-events:none!important;display:grid;gap:6px}.map-caption>span{font-size:10px;letter-spacing:.18em;color:#d9dfc7}.map-caption>small{font-size:10px;letter-spacing:.02em;color:#8caea8}.map-tools{position:absolute;left:26px;bottom:23px;display:flex;align-items:center;gap:7px}.map-tools>span{font-size:11px;color:#9eb7ab;margin-left:8px}.play-shell .iconbutton:hover{background:#395957}.rolling-overlay{right:326px}.toast{bottom:40px;left:calc((100% - 326px)/2)}
/* Shared dialogs use the same paper, ink, and mint as the game controls. */
.modal{color:#36504f;background:#f3efdf;border-color:#e5dbb9;border-radius:24px;box-shadow:0 24px 90px #001a2866;padding:32px;scrollbar-color:#bac8b9 transparent}.modal h2{color:#304f51;font-size:34px;letter-spacing:-.03em}.modal p{color:#728174}.modal .eyebrow{color:#8b9a80;font-size:10px;letter-spacing:.15em}.modal .close{color:#577366;border-color:#c6d2bf;background:#e4ead9}.modal .primary{background:#b5dac8;border-color:#8fb7a0;color:#2c514b;box-shadow:0 3px 0 #8daa9555}.modal .secondary{background:#e5ead9;border-color:#c5cebb;color:#4e6c60}.modal .quiet{color:#748875}.modal .character-option{background:#e7ecdc;border-color:#d2d8c2;border-radius:13px}.modal .character-option.selected{background:#fff9e8;border-color:#93b5a0;box-shadow:0 0 0 2px #c3d9b866}.modal .character-option strong{color:#3a5a54;font-size:11px}.modal .character-option small{color:#8a9781;font-size:9px}.modal .character-option img{height:92px}.modal .selection-info{background:#e1e9d7;border-color:#99bca2}.modal .selection-info strong{color:#456858}.modal .selection-info p{color:#7d8b76}.modal .setup-row label{color:#7c8d76}.modal .setup-row select,.modal .settings-row select{background:#fcf8e9;border:1px solid #c7d0ba;color:#4d6c60;border-radius:9px}.modal .settings-row{color:#4a695e;border-color:#d7dac9}.modal .settings-row small{color:#8b9783}.modal .save-note{color:#899780}.modal .howto-item strong{color:#4a6a5e}.modal .howto-item p{color:#7e8c78}.modal .log-item{color:#657e6e;border-color:#d9ddcd}.modal .log-item small{color:#99a38c}.modal .event-benefits{color:#917e4f}.modal .credits-note{color:#8a9783!important;border-color:#d5d9c5}.modal .property-mini{background:#e5ead9;border-color:#ced7c1}.modal .property-mini strong{color:#49665a}.modal .property-mini span{color:#839580}.modal .result-row{color:#77907d;border-color:#d4dbc9}.modal .result-row:first-child{color:#9a8145}.modal .album-tab{color:#8d9a81}.modal .album-tab.selected{color:#45695b;border-color:#99b6a0}.modal .album-characters button{background:#e5ead9;border-color:#cbd5bd}.modal .album-characters button.selected{background:#fff9e8}.modal .album-characters span{color:#567162}.modal .album-portrait h3,.modal .album-business,.modal .album-cards h3{color:#3e6054}.modal .album-portrait strong{color:#638270}.modal .album-portrait p,.modal .album-note{color:#8b9782}.modal .pose-choices button{color:#7a8e78;border-color:#cad3bd}.modal .pose-choices button.selected{background:#bcd7c1;color:#476956;border-color:#a5c2ac}.modal .album-buildings figcaption{color:#84937a;border-color:#d4dac7}.modal .album-cards>section{border-color:#d7ddcd}.modal .album-cards figcaption>span{color:#a7925d}.modal[data-dialog=album] .close{background:#e5ead9}.modal .film-disclosure{color:#8a977e!important}
@media(min-width:800px) and (max-width:1150px){.roster{gap:7px}.traveler{grid-template-columns:34px 1fr;gap:6px;padding:8px 6px}.traveler-portrait{width:34px;height:48px}.traveler-portrait img{height:85px}.traveler .player-name{font-size:9px}.traveler .player-name small{display:none}.traveler .player-cash{font-size:20px}.traveler .player-detail{font-size:9px;gap:4px}.map-caption{top:164px}}
@media(min-width:800px) and (max-height:780px){.city-postcard{height:100px}.city-welcome{padding-top:15px}.city-welcome h2{font-size:26px}.control-rail .hand-container{padding:11px 15px}.control-rail .card{height:78px}.control-rail .card-art{height:43px}.control-rail .hand-label{margin-bottom:7px}.turn-console{padding:13px 15px 16px}.turn-console .turn-tip{display:none}.address-panel .property-art{height:105px}.address-panel h3{font-size:24px}.address-panel{padding:14px 20px}.map-caption{display:none}}
@media(max-width:799px){
 .hud-header{height:59px;padding:12px 15px}.hud-header .brand-title{font-size:12px}.hud-header .brand-title small{font-size:8px}.hud-header .brand-mark{font-size:24px}.hud-header .brandlock{gap:8px}.hud-header .round-counter{font-size:9px;padding-right:8px}.hud-header .round-counter strong{font-size:21px}.hud-header .iconbutton{height:30px;width:30px;border-radius:10px}.hud-header .top-controls{gap:6px}
 .roster{left:12px;right:12px;top:72px;gap:6px}.traveler{display:flex;flex-direction:column;gap:3px;padding:8px 4px;border-radius:12px;text-align:center}.traveler-portrait{display:none}.traveler .player-name{font-size:9px}.traveler .player-name small{display:none}.traveler .player-cash{font-size:21px;line-height:1.2}.traveler .player-detail{font-size:9px;justify-content:center;gap:5px}.traveler .coin-symbol .object-icon{height:12px;width:12px}.traveler.active{transform:none}
 .control-rail{top:auto;bottom:12px;left:12px;right:12px;width:auto;border-radius:19px;overflow:visible;background:#f4efdf}.address-scroll{display:none}.control-rail.has-selection .address-scroll{position:absolute;bottom:calc(100% + 11px);left:0;right:0;display:block;max-height:min(46vh,340px);overflow:auto;background:#f4efdf;border:1px solid #fff2d1;border-radius:18px;box-shadow:0 12px 45px #082b4055}
 .address-panel{padding:16px 18px;display:grid;grid-template-columns:85px 1fr;gap:5px 14px}.address-panel .property-top{grid-column:1/-1}.address-panel .property-art{grid-column:1;grid-row:2/6;height:100px;margin:0}.address-panel h3{grid-column:2;font-size:23px;margin:4px 0;line-height:1.05}.address-panel .property-owner{grid-column:2;font-size:10px;margin:0}.address-panel .level-track{grid-column:2;margin:4px 0}.address-panel .property-values{grid-column:2;margin:0;padding-top:6px}.address-panel .property-values strong{font-size:19px}.address-panel>.primary,.address-panel>.quiet,.address-panel>.inspect-description{grid-column:1/-1}.address-panel .primary{padding:11px;margin-top:8px}.address-panel .inspect-description{font-size:11px;margin-top:5px}.address-panel .eyebrow .object-icon{height:18px;width:18px}
 .control-rail .hand-container{border:0;border-radius:19px 19px 0 0;padding:10px 11px 8px}.control-rail .hand-label{display:none}.control-rail .hand{display:flex;gap:6px;justify-content:center}.control-rail .card{flex:0 1 53px;width:53px;height:69px;border-radius:7px;padding:3px}.control-rail .card-art{height:41px;border-radius:4px}.control-rail .card-name{font-size:7px;margin-top:3px;line-height:1.05}.control-rail .card-tier{font-size:6px;top:5px;right:5px}.control-rail .empty-hand{height:33px;font-size:11px;text-align:center}
 .turn-console{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:12px 14px 15px;border-radius:0 0 19px 19px}.turn-console .turn-name{grid-column:1;font-size:8px;margin:0;align-self:center}.turn-console .turn-actions{grid-column:2;grid-row:1/3;gap:7px}.turn-console .roll-button{height:45px;font-size:12px;min-width:112px;gap:7px}.turn-console .die-icon .object-icon{width:26px;height:26px}.turn-console .skill-button{width:39px;height:45px}.turn-console .turn-tip{grid-column:1;font-size:9px;line-height:1.35;margin:0;max-width:138px}.turn-console .moves{grid-column:1;grid-row:1/3;margin:0;gap:5px}.turn-console .moves .die{width:24px;height:27px;font-size:20px}.turn-console .moves strong{font-size:22px;margin:0}.turn-console .moves small{font-size:7px}.turn-console .choice-adjust{grid-column:1/-1;margin:7px 0 0}
 .map-caption{display:none}.map-tools{left:15px;bottom:208px;gap:5px}.map-tools .iconbutton{height:30px;width:30px;font-size:17px;border-radius:10px}.map-tools>span{font-size:10px;margin-left:4px}.rolling-overlay{right:0;bottom:100px}.toast{bottom:211px;left:50%;font-size:11px}.modal{padding:25px 21px;border-radius:21px}.modal h2{font-size:30px}.modal .character-option img{height:66px}.modal .character-option strong{font-size:9px}.modal .character-option small{font-size:7px}.modal .character-grid{grid-template-columns:repeat(4,1fr)}
}
@media(prefers-reduced-motion:reduce){.traveler.active,.control-rail .card:enabled:hover{transform:none}}
