/* Rent-day staging and legible town navigation. */
.stack-actions button.primary{background:#efd08a;color:#193126;border-color:#ffe6ad}.stack-actions button.primary:hover{background:#ffe4a7;color:#193126}.stack-actions button.secondary{color:#f2f3df;background:#213d2d}.stack-actions button.secondary:hover{background:#385233}.primary:disabled{background:#ceb978;color:#20362b;cursor:wait;box-shadow:none;transform:none}.opening-caption .secondary{color:#f2f3df;border-color:#a0b487}.opening-caption .eyebrow{color:#ffe5a6}.opening-caption p{color:#edf2e0}.budget-ledger,.estate-numbers span{color:#20392e}.budget-ledger b{color:#162f23}.estate-card .secondary:hover{background:#eedfbf;color:#152d22}.campaign-grid select{color:#eff3e3}.campaign-grid option{background:#0c221b;color:#eff3e3}.referral-dock summary{color:#20392f}
.destination-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px;background:#102b23;border-bottom:2px solid #bfa773}.destination-nav button{font-size:15px;padding:10px 14px;color:#f5f2d9;border-color:#607b5e}.destination-nav .primary{color:#163425;background:#f5d788;border-color:#ffe8ad;box-shadow:0 2px 0 #8a7847}.destination-nav button:hover{background:#38543a;color:#fff3b7}.destination-nav .primary:hover{background:#ffe6ab;color:#163425}.pin:not(.near):not(.target):not(.house) .pin-label{font-size:14px}.pin[data-stop='tower']{z-index:15;opacity:1;transform:translate(-50%,-100%)}.pin[data-stop='tower'] .pin-label{font-size:16px;font-weight:800;letter-spacing:.7px;background:#f4d786;color:#142f26;padding:9px 15px;border:2px solid #fff0bb}.pin[data-stop='tower'] .pin-icon{display:none}.pin[data-stop='tower'] .sale-label:after{content:'Walk here to talk';font-size:13px;background:#102b23;color:#fff7d4;padding:4px 8px;border-radius:4px}.town-person[data-npc='tower']{z-index:16}.town-person[data-npc='tower'] .npc-name{font-size:14px;background:#0c2b24;color:#fff0b5;border:1px solid #f1d795;white-space:nowrap;padding:5px 8px}.npc-name{font-size:12px}.pin.house .pin-label{display:none}.pin.house.near .pin-label,.pin.house:focus-visible .pin-label,.pin.house:hover .pin-label{display:block;font-size:14px}.pin.house .for-sale{font-size:13px;background:#162e25;color:#fff3c9;border:1px solid #e7cc88;padding:5px 7px}.pin.house{z-index:9;opacity:1;transform:translate(-50%,-100%)}.pin.house:hover,.pin.house:focus-visible{z-index:18}.pin[data-stop='inspector'] .pin-label{font-size:14px}.pin[data-stop='inspector'] .pin-icon{display:none}.house-gloom{width:105px;height:98px;opacity:.85}.house-gloom.lighter{opacity:.45}.house-gloom.cleared{opacity:0}.map-title span{font-size:12px}
.gloom-opening{width:min(960px,96vw);max-height:94dvh;overflow-y:auto;background:#102920;border-color:#b29b65}.opening-stage{background:#081a13;display:flex;justify-content:center;overflow:hidden;border-bottom:2px solid #aa905a}.opening-scene{position:relative;width:min(100%,72dvh);height:auto;min-height:0;aspect-ratio:1.5;flex:none;background:url('assets/apartment.png') center/100% 100% no-repeat;overflow:hidden}.opening-caption{position:static;padding:20px 26px;background:#102920}.opening-caption h2{font-size:clamp(25px,3vw,34px);margin:8px 0;color:#ffe3a2;letter-spacing:-.6px}.opening-caption p{font-size:16px;line-height:1.55;max-width:none;margin:8px 0}.opening-caption .action-row{margin-top:15px}.opening-caption .eyebrow{font-size:12px}.collector{position:absolute;left:83%;top:66%;width:26%;height:auto;aspect-ratio:1;transform:translate(-50%,-100%) scale(.8);transform-origin:50% 100%;opacity:0;filter:drop-shadow(0 3px 1px #15251988);pointer-events:none}.merchant-sprite{display:block;width:100%;height:100%;background:url('assets/rent-merchant.png') 0 0/200% 200% no-repeat;image-rendering:pixelated}.gloom-opening[data-scene='1'] .collector{opacity:1;animation:merchant-route 5.6s linear both}.gloom-opening[data-scene='1'].merchant-gone .collector{opacity:0}.rent-coin{left:25%;top:51%;font-size:clamp(12px,2vw,19px);color:#fff0bb;background:#382b16ed;border:1px solid #e7cd7e;z-index:3;opacity:0;padding:7px;border-radius:5px}.gloom-opening[data-scene='1'] .rent-coin{animation:none;opacity:0}.gloom-opening[data-scene='1'].rent-collected .rent-coin{animation:rent-receipt-rise 1.6s both}.merchant-thanks{position:absolute;left:48%;top:34%;max-width:44%;font-size:clamp(12px,1.8vw,17px);font-weight:700;color:#173428;background:#fff0c4;border:2px solid #4c5a36;border-radius:8px;padding:8px;opacity:0}.merchant-leaving .merchant-thanks{opacity:1}.merchant-gone .merchant-thanks{opacity:0}#rent-receipt{background:#f6e7c5;color:#243629;padding:12px 16px;border:1px solid #cbb37d;border-radius:5px;margin-top:12px}#rent-receipt strong,#rent-receipt span,#rent-receipt small{display:block}#rent-receipt strong{font-size:12px;letter-spacing:1px}#rent-receipt span{font-size:16px;font-weight:700;margin:5px 0}#rent-receipt small{font-size:13px;color:#495b46}.noise-note{top:23%;right:3%;font-size:clamp(10px,1.5vw,14px)}.sleep-z{top:28%;font-size:clamp(14px,2vw,22px)}
@keyframes merchant-route{0%{left:83%;top:66%;transform:translate(-50%,-100%) scale(.8);opacity:0}8%{opacity:1}43%,64%{left:40%;top:77%;transform:translate(-50%,-100%) scale(1);opacity:1}94%{opacity:1}100%{left:85%;top:66%;transform:translate(-50%,-100%) scale(.8);opacity:0}}@keyframes rent-receipt-rise{0%{opacity:0;transform:translateY(10px)}20%,70%{opacity:1}100%{opacity:0;transform:translateY(-25px)}}@media(max-width:650px){.destination-nav{display:grid;grid-template-columns:1fr 1fr;gap:7px}.destination-nav button{font-size:14px;padding:10px 8px}.opening-caption{padding:17px}.opening-caption p{font-size:16px}.opening-scene{width:100%}.opening-caption .action-row{gap:8px}.opening-caption .action-row button{font-size:14px}.world-viewport{height:55vh}#rent-receipt{padding:10px}}@media(prefers-reduced-motion:reduce){.gloom-opening[data-scene='1'] .collector{animation:none!important;left:40%;top:77%;transform:translate(-50%,-100%);opacity:1}.gloom-opening[data-scene='1'].merchant-gone .collector{opacity:0}.gloom-opening[data-scene='1'].rent-collected .rent-coin{animation:none;opacity:1}}
