.weather{pointer-events:auto;border:0;background:transparent;padding:3px 6px;border-radius:5px;color:inherit;cursor:pointer}.weather:hover{background:#fff2b52b}
.weather-effects{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}
[data-weather='rain'] .weather-effects:before,[data-weather='storm'] .weather-effects:before{content:'';position:absolute;inset:-100%;background:repeating-linear-gradient(110deg,transparent 0 37px,#e7f4ff55 38px,transparent 39px 77px);transform:translateY(-100px);animation:rain-fall 1.3s linear infinite}
[data-weather='storm'] .city-backdrop{filter:brightness(.7) saturate(.6)}[data-weather='storm'] .weather-effects:after{content:'';position:absolute;inset:0;background:#cbd8f930;animation:storm-flash 13s linear infinite}
[data-weather='fog'] .weather-effects{background:linear-gradient(transparent 20%,#f1fafc66 55%,#eaf3f399 74%,transparent)}
[data-weather='heat'] .weather-effects{background:linear-gradient(#f6be4433,transparent 60%)}
[data-weather='cold'] .weather-effects:before{content:'';position:absolute;inset:-70px;background-image:radial-gradient(#fff9 2px,transparent 3px),radial-gradient(#fff8 1px,transparent 2px);background-size:89px 111px,133px 91px;animation:snow-drift 12s linear infinite}
.night[data-weather='storm'] .city-backdrop{filter:brightness(.28) saturate(.6)}
.incident-alert{position:absolute;top:229px;left:21px;z-index:10;background:linear-gradient(#ffd374,#df913b);border:2px solid #fff0be;color:#654226;border-radius:6px;padding:8px 12px;font-size:11px;box-shadow:0 3px #623c4150}.incident-alert[hidden]{display:none}
.civic-art{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(3px 5px 2px #293e5840)}
.night .civic-art{filter:drop-shadow(3px 5px 2px #071c3160) brightness(.88)}
.building{--extra-height:0px}.building[data-floors='3']{--extra-height:calc(var(--building-width)*.13)}.building[data-floors='4']{--extra-height:calc(var(--building-width)*.26)}.building[data-floors='5']{--extra-height:calc(var(--building-width)*.39)}
.extra-floors{position:absolute;bottom:76%;left:5%;width:92%;display:flex;flex-direction:column;z-index:1;filter:drop-shadow(3px 3px 2px #273d5d40)}.extra-floors>svg{width:100%;height:calc(var(--building-width)*.13);display:block;overflow:hidden}.extra-floors>svg>svg{overflow:hidden}
.building[data-floors] .building-status{bottom:calc(100% + var(--extra-height))}.building[data-floors] .building-roof{bottom:calc(76% + var(--extra-height))}.building[data-floors]:has(.building-roof) .building-status{bottom:calc(100% + var(--extra-height) + 105px)}
.floor-label{position:absolute;bottom:5%;right:10%;font-size:10px;color:#f4e7be;text-shadow:0 1px #544a46;background:#587785b8;border:1px solid #e6d8a9;padding:2px 4px;border-radius:3px}
.facade-wear{position:absolute;left:6%;top:17%;width:3%;height:43%;background:repeating-linear-gradient(0deg,#806b5520 0 8px,transparent 8px 24px);pointer-events:none}.facade-trim{position:absolute;inset:15% 9% 5%;border-left:2px solid #e7c79099;border-right:2px solid #e7c79099;pointer-events:none}.facade-trim i{position:absolute;bottom:0;left:-8px;width:18px;height:24px;background:#977753;border-radius:0 0 6px 6px}.facade-trim i:before{content:'';position:absolute;bottom:14px;left:-5px;width:28px;height:25px;background:radial-gradient(#94b764,#32754a);border-radius:50%}.facade-trim i:nth-child(2){left:auto;right:-8px}.trim-2{border-width:3px;border-color:#f4dd9acc}.trim-3{border-width:4px;border-color:#edcb67;box-shadow:inset 0 0 9px #fff5a045}
.mall-arcade{display:none}.building[data-mall-start='yes'] .mall-arcade{display:block;position:absolute;bottom:4%;left:10%;width:184%;height:26px;border:3px solid #efd278;border-radius:4px;background:linear-gradient(#318c9e,#315974);color:#fff3bb;font-size:12px;line-height:21px;z-index:2;box-shadow:0 3px 3px #36445670;letter-spacing:5px;pointer-events:none}.building[data-mall-start='yes'] .mall-arcade:before,.building[data-mall-start='yes'] .mall-arcade:after{content:'';position:absolute;bottom:-12px;width:9px;height:35px;background:linear-gradient(90deg,#ad965c,#f6e1a4,#9d8b57);left:8%}.building[data-mall-start='yes'] .mall-arcade:after{left:auto;right:8%}
.closed-shop{position:absolute;top:73%;left:15%;width:62%;background:repeating-linear-gradient(45deg,#fde292 0 10px,#d7a44c 10px 20px);border:2px solid #bc7950;border-radius:3px;color:#664028;font-size:13px;line-height:25px;z-index:2}
.shop-management-link{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.management-tabs{margin-bottom:18px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;gap:5px}.management-tabs>button{white-space:nowrap;flex-shrink:0;padding:8px 10px}
.business-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:17px 0}.business-metrics>div{background:linear-gradient(#f2f7e9,#dce9df);border:1px solid #a6c1b8;border-radius:5px;padding:16px 8px;text-align:center}.business-metrics b{display:block;font-size:23px;color:#32697d}.business-metrics small{display:block;font-size:10px;color:#718981;margin-top:7px}.negative,.negative b{color:#b64f4d!important}.positive,.positive b{color:#348b75!important}
.finance-ledger{border:1px solid #b9ccc0;border-radius:5px;overflow:hidden;margin:18px 0}.finance-ledger>div{display:flex;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #c9d7ce;font-size:12px;color:#657f83}.finance-ledger>div:last-child{border-bottom:0}.finance-ledger b{color:#436b7a}
.business-note{padding:14px 16px;background:#f3eecd;border:1px solid #d7c492;border-radius:5px;color:#8a794c;font-size:11px;line-height:1.9;margin:15px 0}.business-shop-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #c2d2c9}.business-shop-row>span .icon{width:32px;height:32px}.business-shop-row>div{flex:1}.business-shop-row b{font-size:13px;color:#36687c}.business-shop-row small{display:block;color:#76918b;font-size:11px;margin-top:5px}
.weather-card{display:flex;align-items:center;gap:23px;border:2px solid #9cb6be;border-radius:7px;background:linear-gradient(130deg,#c2e9ea,#f5ecc2);padding:22px}.weather-card>strong{font-size:60px;color:#d8a848}.weather-card h2{color:#3e6c7b;font-size:21px;margin:0 0 9px}.weather-card p{font-size:12px;color:#607d87;line-height:1.8;margin:0 0 8px}.weather-card small{font-size:10px;color:#7a8c81}.weather-rain,.weather-storm{background:linear-gradient(130deg,#bcd1df,#d3e2d8)}.weather-cold{background:linear-gradient(130deg,#d8e6ef,#f3f7e7)}.weather-heat{background:linear-gradient(130deg,#f5dea4,#f2e8be)}.weather-rates{display:grid;gap:8px}.weather-rates>div{display:flex;gap:14px;align-items:center;background:#e2eee3;padding:9px 12px;border:1px solid #b9cdc1;border-radius:4px;color:#5d7c82;font-size:11px}.weather-rates .icon{width:27px;height:27px}.weather-rates b{flex:1;color:#3e6e7b}.weather-rates span{min-width:110px}
.zone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.zone-grid>div{padding:14px;background:#ebf2df;border:1px solid #b5c7b6;border-radius:5px}.zone-grid b{font-size:12px;color:#406f76}.zone-grid p{font-size:11px;color:#799185;line-height:1.7;margin:7px 0 0}
.incident-card{background:#e2efe1;border:2px solid #9ebcb1;border-radius:6px;padding:22px;margin-bottom:17px}.incident-card.warning{background:#fff0cc;border-color:#d6b16d}.incident-card h2,.incident-card h3{font-size:19px;color:#826340;margin:10px 0}.incident-card p{font-size:13px;line-height:1.9;color:#7e7961}.incident-card small{font-size:11px;color:#888468}.event-choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.quiet-events{padding:20px;background:#e5eee0;border:1px solid #b3c8b8;border-radius:6px}.quiet-events h2{font-size:19px;color:#527978}.quiet-events p{color:#6c8783;font-size:12px;line-height:1.9}.quiet-events small{color:#94a394;font-size:11px}.history-row{padding:13px 2px;border-bottom:1px solid #bacfc5}.history-row b{display:block;color:#477181;font-size:13px}.history-row p{font-size:12px;color:#708884;margin:7px 0;line-height:1.7}.history-row small{color:#96a396;font-size:10px}
.business-selector{display:flex;gap:15px;align-items:center;font-size:12px;color:#537b85;margin:15px 0}.business-selector input,.business-selector select{border:1px solid #9ebbb4;border-radius:4px;background:#f6faed;color:#396b7e;padding:10px 12px;min-width:140px;max-width:100%;font-size:13px}.business-selector input{width:150px}.financial-actions{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.item-grid,.upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.item-grid article,.upgrade-grid article{border:1px solid #a8c2b8;background:#eef4e2;border-radius:6px;padding:18px}.item-grid article>span .icon{height:43px;width:43px}.item-grid h3,.upgrade-grid h3{font-size:14px;color:#466f7c;margin:9px 0}.item-grid p,.upgrade-grid p{font-size:11px;line-height:1.8;color:#7e9385;margin-bottom:14px}.item-grid .btn,.upgrade-grid .btn{font-size:11px}
.lottery-banner{display:flex;align-items:center;gap:9px;background:linear-gradient(#fae59a,#ebc774);padding:22px;border:2px solid #cda958;border-radius:7px}.lottery-banner>span{height:47px;width:47px;flex:0 0 47px;display:grid;place-items:center;border:2px solid #fff4cf;background:radial-gradient(circle at 30% 20%,#ed8c85,#b95767);color:#fff4c6;border-radius:50%;font-size:25px;font-weight:bold;box-shadow:0 3px #91612d55}.lottery-banner>span:nth-child(2){background:radial-gradient(circle at 30% 20%,#95d2b6,#4e9d91)}.lottery-banner>span:nth-child(3){background:radial-gradient(circle at 30% 20%,#abafe3,#6a76aa)}.lottery-banner>div{margin-left:10px}.lottery-banner h2{font-size:20px;color:#815c32;margin:0 0 8px}.lottery-banner p{font-size:12px;color:#997644;margin:0}.ticket-list{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.ticket-list span{border:1px dashed #bb8e52;background:#faebbc;padding:10px 18px;font-size:16px;color:#896532}.ticket-list small{font-size:11px;color:#8d9c8a}
.stock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stock-grid article{border:1px solid #a9c1b7;background:#eff5e9;border-radius:5px;padding:17px}.stock-grid small{font-size:10px;color:#859e93}.stock-grid h3{font-size:15px;color:#456e7b;margin:5px 0 8px}.stock-grid strong{font-size:26px;color:#287e8a}.stock-grid article>span{font-size:10px;color:#81978e;margin-left:6px}.stock-chart{width:100%;height:85px;display:block;margin:10px 0}.stock-grid p{font-size:11px;color:#789286;line-height:1.8}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vehicle-grid article{text-align:center;background:#e6eee0;border:1px solid #aabfb7;border-radius:5px;padding:15px 9px}.vehicle-grid svg{width:130px;max-width:100%;height:88px}.vehicle-grid h3{font-size:13px;color:#486f7b;margin:7px 0}.vehicle-grid p{font-size:10px;color:#7b9188;line-height:1.7}.vehicle-grid .btn{padding:8px 7px;font-size:10px}.architecture-title{background:#e6eee0;border:1px solid #b9cabc;border-radius:5px;padding:14px 18px;margin-bottom:17px}.architecture-title h2{font-size:19px;color:#416b7c;margin:0 0 6px}.architecture-title p{font-size:12px;color:#7b9287;margin:0}.rate-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rate-breakdown span{background:#e0ebe2;border:1px solid #b5c8bc;border-radius:4px;padding:9px 10px;font-size:10px;color:#6b8787;display:flex;justify-content:space-between;gap:6px}
.dock{max-width:1120px}.dock>button{min-width:102px}
@keyframes rain-fall{to{transform:translate(80px,220px)}}@keyframes snow-drift{to{transform:translate(35px,65px)}}@keyframes storm-flash{0%,85%,87%,89%,100%{opacity:0}86%,88%{opacity:1}}
@media(max-width:1100px){.dock>button{min-width:77px}.dock>button.taxi-dock{min-width:100px}}
@media(max-width:799px){.dock{gap:3px}.dock>button,.dock>button.city-dock,.dock>button.taxi-dock{min-width:0}.dock>button>.icon{height:25px;width:25px}.dock>button>b,.taxi-dock>span>b{font-size:9px}.weather{padding:0 3px}.incident-alert{top:233px;left:13px;font-size:10px;padding:6px 9px}.management-tabs>button{font-size:10px;padding:7px 9px}.business-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.business-metrics>div{padding:12px 5px}.business-metrics b{font-size:20px}.business-shop-row{gap:8px}.business-shop-row b{font-size:11px}.business-shop-row small{font-size:9px}.business-shop-row .btn{font-size:9px;padding:8px}.business-note{padding:12px;font-size:10px}.weather-card{padding:14px;gap:12px}.weather-card>strong{font-size:40px}.weather-card h2{font-size:17px}.weather-card p{font-size:10px}.weather-card small{font-size:9px}.weather-rates>div{gap:8px;font-size:9px;flex-wrap:wrap}.weather-rates span{min-width:94px}.weather-rates b{min-width:125px}.zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zone-grid>div{padding:12px}.item-grid,.upgrade-grid{gap:8px}.item-grid article,.upgrade-grid article{padding:12px}.item-grid h3,.upgrade-grid h3{font-size:12px}.item-grid p,.upgrade-grid p{font-size:10px}.item-grid .btn,.upgrade-grid .btn{font-size:9px;padding:8px}.business-selector{font-size:11px;gap:9px;flex-wrap:wrap}.business-selector input,.business-selector select{font-size:12px;min-width:120px}.lottery-banner{padding:14px;gap:6px;flex-wrap:wrap}.lottery-banner>span{height:36px;width:36px;flex-basis:36px;font-size:21px}.lottery-banner>div{margin-left:1px}.lottery-banner h2{font-size:15px}.lottery-banner p{font-size:9px}.stock-grid{gap:8px}.stock-grid article{padding:12px}.stock-grid h3{font-size:13px}.stock-grid p{font-size:10px}.stock-grid .btn{font-size:10px;padding:7px}.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rate-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.closed-shop{font-size:10px;line-height:20px}.floor-label{font-size:8px}.building[data-floors]:has(.building-roof) .building-status{bottom:calc(100% + var(--extra-height) + 80px)}.building[data-mall-start='yes'] .mall-arcade{font-size:9px;height:21px;line-height:16px;letter-spacing:3px}.incident-card{padding:15px}.incident-card h2{font-size:16px}.incident-card p{font-size:12px}.incident-card small{font-size:10px}}
@media(max-height:450px) and (orientation:landscape){.dock>button>.icon{height:19px;width:19px}.dock>button,.dock>button.taxi-dock{padding:3px;gap:3px}.incident-alert{top:84px;left:15px;font-size:8px;padding:5px}.building[data-floors]:has(.building-roof) .building-status{bottom:calc(100% + var(--extra-height) + 42px)}.building[data-mall-start='yes'] .mall-arcade{font-size:7px;height:16px;line-height:12px;letter-spacing:2px;border-width:2px}.closed-shop{font-size:6px;line-height:12px}.floor-label{font-size:6px;padding:1px 3px}.business-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.vehicle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.weather-effects:before,.weather-effects:after{animation:none!important}[data-weather='storm'] .weather-effects:after{display:none}}
.buildings .building:is([data-floors='3'],[data-floors='4'],[data-floors='5']) .building-status{bottom:73%;z-index:3}
@media(max-width:799px) and (orientation:portrait){.game:has(.building[data-floors='5']) .quest-note{display:none}}
@media(max-height:740px) and (orientation:portrait){.game:has(.building:is([data-floors='4'],[data-floors='5'])) .quest-note{display:none}}
@media(max-width:799px){.buildings .building:is([data-floors='3'],[data-floors='4'],[data-floors='5']) .building-status{bottom:73%}}
@media(max-height:740px) and (orientation:portrait){.building:is([data-floors='3'],[data-floors='4'],[data-floors='5']) .building-roof{height:80px}}
@media(max-height:450px) and (orientation:landscape){.building[data-floors='3']{--extra-height:calc(var(--building-width)*.08)}.building[data-floors='4']{--extra-height:calc(var(--building-width)*.16)}.building[data-floors='5']{--extra-height:calc(var(--building-width)*.24)}.extra-floors>svg{height:calc(var(--building-width)*.08)}.buildings .building:is([data-floors='3'],[data-floors='4'],[data-floors='5']) .building-status{bottom:70%}.building:is([data-floors='3'],[data-floors='4'],[data-floors='5']) .building-roof{height:45px}}
