:root{--ink:#435b50;--deep:#347d70;--teal:#55998b;--cream:#fff7e7;--gold:#efbd58;--line:#e3d5b8;--building-width:276px;--building-height:368px;--body-font:'Microsoft YaHei','PingFang SC',system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:#f6eddc;color:var(--ink);font-family:var(--body-font);font-size:14px;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #eaa348;outline-offset:4px}button:disabled{cursor:default;opacity:.55}button svg{pointer-events:none}svg.icon{width:30px;height:30px;display:block;flex-shrink:0}button{transition:filter .16s,transform .16s}button:hover{filter:brightness(1.04)}button:active{transform:translateY(2px)}[hidden]{display:none!important}.game{height:100dvh;min-height:540px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.topbar{height:94px;flex-shrink:0;display:flex;align-items:center;padding:0 32px;gap:28px;background:linear-gradient(#fffaf0,#f9f0dd);box-shadow:0 3px 0 #d7c8a4,0 5px 0 #fff7db;z-index:20}.brand{position:relative;text-align:left;min-width:216px;padding:0}.brand-small{display:block;font-size:10px;letter-spacing:4px;color:#92927b;margin:0 0 1px 4px}.brand-name{font-size:31px;letter-spacing:-1px;font-weight:1000;color:#dd9550;text-shadow:1px 2px 0 #fff,-1px -1px 0 #b37942;white-space:nowrap}.brand-name>span{color:#57988a;text-shadow:1px 2px 0 #fff,-1px -1px 0 #3d7268}.brand-leaf{position:absolute;top:2px;right:7px;color:#7caa78;font-size:23px}.level-badge{display:flex;align-items:center;gap:8px;position:relative;min-width:100px;padding-bottom:8px}.level-star{font-size:45px;color:#efba53;text-shadow:0 2px 0 #c2923f;line-height:1}.level-badge b{font-size:24px;display:block;line-height:1}.level-badge small{font-size:10px;color:#90927b}.xp-track{position:absolute;bottom:0;left:4px;width:92px;height:5px;border-radius:8px;background:#e5dec9;overflow:hidden}.xp-track i{display:block;height:100%;background:#86ad79;border-radius:8px;transition:width .5s}.resources{display:flex;gap:14px;align-items:center;flex:1;justify-content:center}.resource{display:flex;align-items:center;gap:8px;background:#e6f1e7;border:2px solid #a9c4af;border-radius:50px;height:43px;padding:0 5px 0 9px;box-shadow:inset 0 2px 0 #fff7,0 2px 0 #d7dec7;min-width:155px}.resource .icon{width:34px;height:34px}.resource b{font-size:20px;letter-spacing:.4px;flex:1;color:#487064;font-variant-numeric:tabular-nums}.resource>button{border-radius:50%;background:linear-gradient(#f8d276,#eab152);border:1px solid #c49643;width:27px;height:27px;font-size:22px;line-height:20px;color:#fff7dc;box-shadow:inset 0 1px 0 white;text-shadow:0 1px #b88a3a}.cards{background:#f8edcb;border-color:#d8c18c;min-width:108px}.cards b{color:#a58646}.residents-stat{min-width:105px;padding-right:12px}.residents-stat small{font-size:10px;color:#7c9a83}.utilities{display:flex;gap:10px}.round-button{width:38px;height:38px;border-radius:50%;border:1px solid #ddcfb4;background:#fff9eb;display:grid;place-items:center;box-shadow:0 2px 0 #dccdab}.round-button .icon{width:24px;height:24px}.round-button.active{background:#d5e8ce}
.playfield{flex:1;min-height:340px;position:relative;overflow:hidden;isolation:isolate;background:#bae0e5}.sky{position:absolute;inset:0;overflow:hidden;background:linear-gradient(#b7dae1 0%,#d5e7d8 60%,#e2ead6 80%);transition:background 2s}.sun{position:absolute;left:69%;top:54px;width:82px;height:82px;border-radius:50%;background:#fff1ab;box-shadow:0 0 0 15px #fff4ac25,0 0 55px #fff6b8}.moon{display:none}.stars{position:absolute;inset:0;background-image:radial-gradient(#fff9 1px,transparent 1px);background-size:110px 80px;opacity:0}.cloud{position:absolute;width:170px;height:28px;border-radius:50px;background:#fff8;filter:drop-shadow(0 4px 1px #b8d6d32a);animation:cloud-drift 90s linear infinite}.cloud:before,.cloud:after{content:'';position:absolute;background:inherit;border-radius:50%}.cloud:before{width:75px;height:65px;left:22px;bottom:0}.cloud:after{width:65px;height:49px;right:18px;bottom:0}.c1{top:71px;left:30%;scale:.9;animation-delay:-20s}.c2{top:137px;left:6%;scale:.55;animation-delay:-45s}.c3{top:135px;left:78%;scale:.6;animation-delay:-15s}.c4{top:47px;left:94%;scale:.9;animation-delay:-55s}@keyframes cloud-drift{to{translate:260px 0}}.distant-city{position:absolute;bottom:215px;height:130px;width:100%;opacity:.35;display:flex;align-items:flex-end;gap:10px;justify-content:space-around}.distant-city span{background:#8fbdba;border-radius:3px 3px 0 0;width:45px;position:relative;border-top:4px solid #82ada9}.distant-city span:after{content:'';position:absolute;inset:9px 7px;background-image:linear-gradient(90deg,transparent 6px,#d5e7d88 6px);background-size:12px 100%}.sea{position:absolute;bottom:176px;height:73px;width:100%;background:repeating-linear-gradient(0deg,#8dbdc455 0px,#8dbdc455 5px,#d5eadb88 6px,#d5eadb88 7px);border-top:2px solid #d8ead5}.distant-hills{position:absolute;bottom:205px;right:0;width:44%;height:90px;background:#a6c1a24d;border-radius:70% 0 0 0;clip-path:polygon(0 100%,20% 55%,35% 80%,56% 16%,73% 58%,90% 35%,100% 55%,100% 100%)}.street-heading{position:absolute;left:30px;right:30px;top:22px;display:flex;justify-content:space-between;align-items:center;z-index:9;pointer-events:none}.street-ribbon{display:flex;align-items:center;gap:8px;font-size:12px;color:#57796e;letter-spacing:.5px}.street-ribbon>span:nth-child(2){font-weight:700;font-size:14px}.street-ribbon .icon{width:20px;height:20px}.street-ribbon i{opacity:.5;font-style:normal;margin:0 3px}.weather{display:flex;align-items:center;gap:8px;font-size:12px;color:#53787a}.weather #weather-icon{font-size:26px;color:#d69d46}.weather #clock{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}.quest-note{position:absolute;top:68px;left:30px;background:#fffbeded;border:2px solid #f0dfb7;border-radius:13px;padding:11px 16px 11px 65px;width:330px;text-align:left;display:flex;align-items:center;box-shadow:0 4px 0 #9caf9b30,0 8px 25px #526f5410;z-index:9}.guide-avatar{position:absolute;left:10px;bottom:7px;width:53px;height:60px}.guide-avatar svg{width:100%;height:100%}.quest-note small{display:block;color:#9eab83;font-size:10px;letter-spacing:1px}.quest-note strong{display:block;font-size:15px;margin:3px 0 5px;color:#5a7355}.quest-note div>span{font-size:10px;color:#95917c}.quest-chevron{margin-left:auto;font-size:30px;color:#a9b794}.quest-check{position:absolute;top:-7px;right:-7px;background:#f0bd53;border-radius:50%;font-size:13px;color:white;display:none;width:23px;height:23px;align-items:center;justify-content:center;border:2px solid #fff}.quest-check.ready{display:flex}.daily-note{position:absolute;right:30px;top:72px;display:flex;gap:10px;align-items:center;background:#fff8e4a8;border:1px solid #fffae2;border-radius:12px;padding:9px 14px;z-index:9;text-align:left;box-shadow:0 3px 0 #a5bfb32d}.daily-note .icon{width:39px;height:39px}.daily-note b{display:block;font-size:12px;color:#8f875b;margin-bottom:5px}.daily-note small{font-size:10px;color:#8f9981}
.viewport{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;cursor:grab}.viewport::-webkit-scrollbar{display:none}.viewport.dragging{cursor:grabbing}.world{height:100%;position:relative;min-width:100%;width:2650px}.back-fence{position:absolute;bottom:220px;left:0;right:0;height:26px;border-bottom:4px solid #789c7a;background:repeating-linear-gradient(90deg,#90ac8155 0 5px,transparent 5px 20px),linear-gradient(transparent 12px,#91ae8299 12px 17px,transparent 17px)}.buildings{display:flex;align-items:flex-end;position:absolute;left:125px;bottom:165px;gap:0}.building{width:var(--building-width);height:var(--building-height);flex-shrink:0;position:relative;background:none;padding:0;text-align:center;isolation:isolate;transition:filter .2s}.building:hover{filter:brightness(1.08);transform:none}.building:hover .building-glow{opacity:1}.building-art{position:absolute;inset:0;background-image:url('assets/buildings-atlas.png');background-size:400% 200%;background-repeat:no-repeat;pointer-events:none;filter:drop-shadow(0 6px 3px #52604227)}.building[data-art='0'] .building-art{background-position:0 0}.building[data-art='1'] .building-art{background-position:33.3333% 0}.building[data-art='2'] .building-art{background-position:66.6667% 0}.building[data-art='3'] .building-art{background-position:100% 0}.building[data-art='4'] .building-art{background-position:0 100%}.building[data-art='5'] .building-art{background-position:33.3333% 100%}.building[data-art='6'] .building-art{background-position:66.6667% 100%}.building[data-art='7'] .building-art{background-position:100% 100%}.building-name{position:absolute;left:26%;width:48%;top:48.6%;font-size:14px;letter-spacing:2px;font-weight:800;color:#755839;text-shadow:0 1px #fffaea;white-space:nowrap}.building[data-art='4'] .building-name,.building[data-art='5'] .building-name{top:48.8%}.building[data-art='6'] .building-name,.building[data-art='7'] .building-name{top:51.7%}.building-number{position:absolute;left:6.4%;bottom:12%;width:24px;height:29px;border:1px solid #bea382;background:#fff0d2;border-radius:8px 8px 4px 4px;font-size:12px;color:#9a745a;font-family:Georgia,serif;display:grid;place-items:center;box-shadow:inset 0 0 0 3px #f4e0bf}.building-glow{position:absolute;inset:10px;border:2px solid #ffedaa;border-radius:8px;box-shadow:0 0 15px #fff1ad75;opacity:0;z-index:5;pointer-events:none}.building-actors{position:absolute;bottom:55.5%;left:27%;width:50%;height:64px;display:flex;align-items:flex-end;justify-content:center;gap:1px;pointer-events:none}.building-actors svg{width:42px;height:63px;filter:drop-shadow(1px 2px 0 #32231025)}.building-status{position:absolute;bottom:calc(100% + 4px);left:50%;translate:-50% 0;min-width:84px;border-radius:10px;background:#fffced;border:2px solid #89ac8b;box-shadow:0 3px 0 #74977830;padding:6px 12px;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;font-size:11px;color:#64896a}.building-status:after{content:'';position:absolute;bottom:-7px;left:calc(50% - 5px);width:10px;height:10px;background:#fffced;border-right:2px solid #89ac8b;border-bottom:2px solid #89ac8b;rotate:45deg}.building-status .icon{width:19px;height:19px}.building-status.ready{border-color:#d8ac54;color:#aa8040;animation:bubble-bob 2.4s ease-in-out infinite}.building-status.ready:after{border-color:#d8ac54}.building-status.out{border-color:#dca582;color:#b8835f}.building-status.out:after{border-color:#dca582}.building-status.cash{color:#af8a39;background:#fff5d1;border-color:#d6b360}.building-status.cash:after{background:#fff5d1;border-color:#d6b360}@keyframes bubble-bob{50%{transform:translateY(-5px)}}.building-stars{position:absolute;bottom:5%;width:100%;font-size:11px;letter-spacing:2px;color:#ecc965;text-shadow:0 1px 2px #775a27;pointer-events:none}
.empty-lot{margin:0 18px;width:220px;height:245px;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:#7b936b;background:linear-gradient(#bbcf9740,#bed39080);border-bottom:13px solid #a4b889;box-shadow:0 4px 0 #78996c4d}.empty-lot svg{width:90px;height:100px;opacity:.9}.empty-lot b{font-size:18px;font-weight:600;letter-spacing:2px}.empty-lot span{font-size:11px;opacity:.8}.empty-lot .lot-plus{width:43px;height:43px;display:grid;place-items:center;background:#f9f8dc;border-radius:50%;border:2px solid #cad8b2;font-size:30px;color:#93a573;box-shadow:0 3px 0 #a6bb8e}.construction{width:256px;height:275px;margin:0 10px;border:3px solid #b6a387;background:repeating-linear-gradient(90deg,#e0dac180 0px,#e0dac180 25px,#a8b09970 26px,#a8b09970 28px);position:relative;display:grid;place-items:center;align-content:center;gap:12px;border-radius:5px;box-shadow:0 5px 0 #81886b}.construction:after{content:'';position:absolute;bottom:0;width:100%;height:30px;background:repeating-linear-gradient(135deg,#edd788 0 15px,#7c7659 15px 30px)}.construction>.icon{width:85px;height:85px}.construction b{font-size:19px}.construction span{font-size:12px}.construction progress{width:65%;height:10px;accent-color:#b4c081}
.sidewalk{position:absolute;left:0;right:0;bottom:140px;height:32px;background:repeating-linear-gradient(90deg,transparent 0 23px,#c8b69b70 23px 24px),repeating-linear-gradient(0deg,#e7d4b6 0 10px,#f1dfc3 10px 11px);border-top:3px solid #f4e4c9;border-bottom:5px solid #c6b297;box-shadow:0 4px 0 #8c957d}.road{position:absolute;left:0;right:0;bottom:47px;height:94px;background:#a7abb0;border-top:2px solid #e6d9c0;border-bottom:3px solid #7e8e86;box-shadow:inset 0 4px 0 #939a9b,inset 0 -3px #929d97}.road-lines{position:absolute;top:50%;width:100%;height:3px;background:repeating-linear-gradient(90deg,#efe6b9 0 43px,transparent 43px 78px)}.crosswalk{position:absolute;left:480px;bottom:0;width:95px;height:100%;transform:skewX(-25deg);background:repeating-linear-gradient(0deg,#e6e6d6ba 0 10px,transparent 10px 18px)}.foreground{position:absolute;bottom:0;left:0;right:0;height:48px;background:repeating-linear-gradient(115deg,transparent 0 5px,#a8bd8544 5px 6px),linear-gradient(#b8c799,#c7d3ac);border-top:4px solid #c5b59a;box-shadow:inset 0 5px #dbe1bd}.street-props{position:absolute;inset:0;pointer-events:none}.prop{position:absolute;bottom:144px;filter:drop-shadow(2px 3px 0 #5e70533d)}.prop svg{width:100%;height:100%}.prop.tree{height:164px;width:107px;bottom:148px;z-index:3}.prop.lamp{height:144px;width:52px;z-index:6}.prop.bench{height:53px;width:93px;z-index:6}.prop.mail{height:68px;width:38px;z-index:6}.prop.flowers{height:46px;width:69px;z-index:6}.prop.taxi-stop{width:94px;height:104px;left:13px;z-index:6;bottom:144px}.people{position:absolute;inset:0;pointer-events:none;z-index:7}.person{position:absolute;bottom:145px;width:47px;height:73px;pointer-events:auto;padding:0;transform-origin:bottom center;will-change:transform;filter:drop-shadow(2px 3px 0 #46554125)}.person svg{width:100%;height:100%}.person:hover:after{content:attr(data-name);position:absolute;bottom:100%;left:50%;translate:-50%;white-space:nowrap;background:#fff6df;border:1px solid #c5cbaa;border-radius:7px;font-size:11px;padding:4px 7px}.person .character-leg{animation:walk-legs .45s alternate infinite;transform-origin:40px 99px}.person .character-arm{animation:walk-arm .6s alternate infinite;transform-origin:40px 72px}.person .character-body{animation:walk-bob .6s alternate infinite}.person.paused .character-leg,.person.paused .character-arm,.person.paused .character-body{animation:none}@keyframes walk-legs{to{transform:rotate(6deg)}}@keyframes walk-arm{to{transform:rotate(-5deg)}}@keyframes walk-bob{to{transform:translateY(-1.3px)}}.taxi-car{position:absolute;bottom:74px;left:20px;width:135px;height:90px;padding:0;z-index:8;filter:drop-shadow(3px 6px 0 #626c5a33);transition:left 2s cubic-bezier(.45,0,.2,1)}.taxi-car svg{width:100%;height:100%}.taxi-car.waiting:after{content:'有乘客啦！';position:absolute;bottom:96%;left:25px;white-space:nowrap;background:#fff9dd;border:2px solid #d7b65e;border-radius:10px;padding:7px 10px;font-size:11px;color:#9b843e;animation:bubble-bob 2s infinite}.scene-arrow{position:absolute;top:60%;width:37px;height:53px;background:#fff6d7d9;border:2px solid #eddfb4;border-radius:11px;color:#9d966b;font-size:42px;line-height:35px;z-index:10;box-shadow:0 3px #b4b79850}.scene-arrow.left{left:15px}.scene-arrow.right{right:15px}.scene-caption{position:absolute;left:30px;bottom:15px;display:flex;gap:8px;align-items:center;font-size:10px;color:#688261;z-index:10;pointer-events:none}.online-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7ba46c;flex-shrink:0;box-shadow:0 0 0 2px #fff5}.street-position{position:absolute;right:30px;bottom:13px;display:flex;align-items:center;gap:8px;font-size:9px;color:#758c67;z-index:10}.street-position input{width:120px;height:4px;accent-color:#7fa279;cursor:pointer}.particles{position:absolute;inset:0;pointer-events:none;z-index:15}.coin-particle{position:absolute;bottom:260px;font-size:23px;color:#ffe58b;text-shadow:0 2px #9f773c;font-weight:800;animation:coin-rise 1.4s ease-out forwards;display:flex;align-items:center;gap:4px}.coin-particle svg{width:26px;height:26px}@keyframes coin-rise{to{translate:0 -90px;opacity:0}}
.bottom-panel{height:163px;flex-shrink:0;background:#fcf5e5;border-top:3px solid #e9dec4;z-index:20;padding:0 32px;box-shadow:0 -3px #fff6d8,0 -5px #a8af8440}.street-summary{height:63px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #e8dcc5}.street-sign .icon{width:37px;height:37px}.street-summary>div>b{font-size:13px;color:#687963;letter-spacing:.3px}.street-summary>div>span{display:flex;align-items:center;gap:7px;font-size:10px;color:#9b9a80;margin-top:5px}.summary-divider{opacity:.6;font-style:normal}.collect-button{margin-left:auto;display:flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid #c5d2a5;border-radius:9px;background:#e5edcf;color:#6b8857;box-shadow:0 2px 0 #c3cda6;font-size:11px}.collect-button .icon{width:23px;height:23px}.collect-button b{margin-left:7px;font-size:13px;min-width:20px;display:inline-block}.dock{height:96px;display:flex;gap:10px;align-items:center;max-width:950px;margin:auto}.dock>button{height:77px;flex:1;position:relative;display:grid;grid-template-columns:40px 1fr;grid-template-rows:1fr 1fr;align-content:center;align-items:end;padding:13px 15px;column-gap:11px;text-align:left;border-radius:12px}.dock>button>.icon{grid-row:1/3;align-self:center;width:40px;height:40px}.dock>button>b{font-size:15px;align-self:end;font-weight:700;color:#68795e;white-space:nowrap}.dock>button>small{align-self:start;font-size:9px;color:#a1a080;margin-top:4px;white-space:nowrap}.dock>button:hover{background:#efeace}.dock>button.taxi-dock{min-width:168px;max-width:184px;background:linear-gradient(#ffdf88,#f6cf6d);border:1px solid #ddbc69;box-shadow:0 3px 0 #d8b45f, inset 0 1px 0 #fff4c0;display:flex;align-items:center;gap:12px;margin-right:5px}.taxi-dock>span>b{font-size:16px;color:#8a743d;display:block}.taxi-dock small{display:block;font-size:9px;color:#a18948;margin-top:5px}.taxi-dock>span>.icon,.taxi-dock>span.icon{width:54px;height:40px}.dock-divider{width:1px;height:42px;background:#e4dac1;margin:0 12px 0 0}.notification,.taxi-dock i{position:absolute;right:14px;top:11px;background:#dc967d;border:2px solid #fff5e3;border-radius:50%;width:10px;height:10px;display:none}.notification.visible,.taxi-dock i.visible{display:block}
.modal-layer{position:fixed;inset:0;z-index:50;background:#2b483c70;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:26px;animation:fadein .2s}.modal{width:780px;max-width:100%;max-height:min(85dvh,850px);background:#fff8e9;border:3px solid #e9dbc0;border-radius:22px;box-shadow:0 8px 0 #415f4140,0 25px 80px #27443750;display:flex;flex-direction:column;overflow:hidden;animation:modalin .22s}.modal.narrow{width:540px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 20px;background:linear-gradient(#fcf9e9,#f5ecd5);border-bottom:1px solid #e4d8bc;flex-shrink:0}.modal-head small{font-size:10px;letter-spacing:2px;color:#9f9d7e}.modal-head h1{font-size:23px;font-weight:700;letter-spacing:1px;margin:5px 0 0;color:#527b67}.close-modal{font-size:30px;width:34px;height:34px;line-height:29px;border-radius:50%;border:1px solid #d9d1b6;background:#fff9e8;color:#929579;box-shadow:0 2px #ddd2b5}.modal-body{padding:23px 28px 28px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d7ccad transparent}.modal-intro{font-size:12px;line-height:1.9;color:#95967c;margin:0 0 18px}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.tabs button{padding:8px 14px;border:1px solid #e1d7bd;border-radius:9px;background:#fffaf0;font-size:11px;color:#95947b;display:flex;align-items:center;gap:5px}.tabs button .icon{width:19px;height:19px}.tabs button.selected{color:#fff7df;background:#719e81;border-color:#678c71;box-shadow:0 2px #577866}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.catalog-card{border:1px solid #e5d8bd;border-radius:13px;background:#fbf1dd;text-align:center;overflow:hidden;position:relative;display:flex;flex-direction:column}.catalog-card.locked{opacity:.55}.catalog-art{height:155px;background:radial-gradient(ellipse at bottom,#dfdebb,transparent 75%);display:flex;justify-content:center;align-items:flex-end;position:relative;margin-top:12px}.catalog-art .building{width:116px;height:155px;pointer-events:none}.catalog-art .building-name{font-size:6px;letter-spacing:0}.catalog-art .building-number,.catalog-art .building-stars{display:none}.catalog-art .icon{width:90px;height:90px}.category-tag{position:absolute;top:9px;left:9px;font-size:9px;background:#fffbecb3;border-radius:5px;padding:4px 6px;color:#969779;z-index:1}.catalog-card h3{font-size:13px;margin:10px 0 4px;color:#6c765c}.catalog-card>small{font-size:10px;color:#a69d81;margin:0 7px 12px}.card-button{margin:0 12px 12px;background:#85aa83;color:#fff9e6;border-radius:7px;border:1px solid #749775;box-shadow:0 2px #64825b;padding:8px 5px;font-size:11px;font-weight:600}.card-button.locked{background:#ded9c5;color:#918e7b;border-color:#d0c9ae;box-shadow:0 2px #d0c9ae}.card-button span{display:inline-flex;align-items:center;gap:4px}.card-button .icon{width:17px;height:17px}.shop-overview{display:flex;gap:22px;align-items:center;margin-bottom:20px;border:1px solid #e7d8b9;border-radius:12px;padding:13px 20px;background:radial-gradient(ellipse at top left,#e3ebd1,#faf1dc 65%)}.shop-overview .building{width:126px;height:168px;pointer-events:none;flex-shrink:0}.shop-overview .building-name{font-size:7px;letter-spacing:0}.shop-overview .building-number,.shop-overview .building-stars{display:none}.shop-info{flex:1}.shop-info .category-text{font-size:10px;color:#929478;letter-spacing:1px}.shop-info h2{font-size:19px;margin:6px 0;color:#5a755d}.shop-info .stars-row{color:#e5b64f;letter-spacing:3px;font-size:15px;margin:8px 0}.shop-info p{font-size:11px;color:#94947c;line-height:1.7;margin:5px 0}.shop-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.btn{border:1px solid #6f9270;border-radius:8px;padding:9px 14px;background:linear-gradient(#8eae89,#7a9d77);box-shadow:0 2px 0 #63835d;color:#fff9e4;font-size:11px;display:inline-flex;gap:6px;align-items:center;justify-content:center;font-weight:600}.btn .icon{width:19px;height:19px}.btn.secondary{background:#fff8e7;color:#889276;border-color:#d8d4b6;box-shadow:0 2px #d8d0ae}.btn.gold{background:linear-gradient(#f3d280,#eac068);color:#8a723c;border-color:#d4b368;box-shadow:0 2px #c9a75b}.btn.danger{background:#f0d4c2;color:#a3725c;border-color:#d6b29a;box-shadow:0 2px #d3b4a0}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;margin:19px 0 11px;color:#737e61}.section-label small{font-weight:400;font-size:10px;color:#a39c83}.products{display:grid;gap:10px}.product-row{border:1px solid #e6dac1;background:#fffbef;border-radius:11px;padding:12px 14px;display:flex;align-items:center;gap:12px;min-height:76px}.product-picture{width:50px;height:50px;border-radius:11px;background:#f3e9cc;display:grid;place-items:center;flex-shrink:0}.product-picture .icon{width:34px;height:34px}.product-row .product-description{flex:1;min-width:0}.product-description h3{font-size:12px;margin:0 0 7px;color:#6f7d61}.product-description small{font-size:10px;color:#a1987c}.stock-track{height:5px;width:160px;max-width:100%;border-radius:5px;background:#eee6d0;overflow:hidden;margin:8px 0 0}.stock-track i{height:100%;display:block;background:#95b780;transition:width .5s}.product-row .btn{min-width:89px}.staff-list{display:flex;gap:9px}.staff-card{flex:1;border:1px solid #e4d8bb;background:#f7f0db;border-radius:10px;padding:10px;display:flex;align-items:center;gap:8px;min-width:0}.staff-card svg{width:33px;height:49px;flex-shrink:0}.staff-card b{font-size:11px;display:block;color:#7d8467}.staff-card small{display:block;font-size:9px;color:#9aaa82;margin-top:5px}.staff-card.empty{min-height:72px;justify-content:center;gap:6px;border-style:dashed;color:#a5a88a;font-size:10px;cursor:pointer}.staff-card.empty .icon{width:20px;height:20px}.resident-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.resident-card{display:flex;align-items:center;gap:13px;border:1px solid #e4d8bd;border-radius:12px;background:#fcf2dd;padding:13px 16px;text-align:left;position:relative}.resident-card>.resident-portrait{width:57px;height:83px;background:#e2e6cbaa;border-radius:42%;flex-shrink:0;display:flex;justify-content:center;align-items:end}.resident-portrait svg{width:48px;height:75px}.resident-card h3{font-size:13px;margin:0 0 7px;color:#63795e}.resident-card p{font-size:10px;margin:0;color:#9a9780;line-height:1.9}.resident-card .resident-status{font-size:9px;background:#ecdfa9;border-radius:5px;padding:3px 6px;position:absolute;right:12px;top:13px;color:#a68c49}.resident-card .resident-status.dream{background:#dce9cc;color:#859c67}.resident-detail{display:flex;align-items:center;gap:22px;border:1px solid #e4d7b9;background:#f6efd7;border-radius:14px;padding:18px 25px}.resident-detail>svg{width:92px;height:138px;flex-shrink:0}.resident-detail h2{font-size:22px;color:#658265;margin:0 0 12px}.resident-detail p{font-size:11px;color:#938f73;line-height:1.8;margin:3px 0}.skills{display:flex;gap:8px;margin:18px 0}.skill{flex:1;background:#f2edd8;border-radius:8px;padding:9px;text-align:center}.skill small{font-size:10px;display:block;color:#a39d82}.skill b{font-size:18px;color:#81976e;display:block;margin-top:5px}.job-row{display:flex;gap:12px;align-items:center;padding:13px;border-bottom:1px solid #e7dcc6}.job-row .icon{width:27px;height:27px}.job-row>div{flex:1}.job-row b{display:block;font-size:12px}.job-row small{font-size:10px;color:#aaa087;display:block;margin-top:5px}.mission-row{display:flex;align-items:center;gap:13px;border:1px solid #e4d8bc;border-radius:11px;background:#fffaf0;padding:15px;margin-bottom:10px}.mission-symbol{border-radius:11px;background:#f1e9cd;width:48px;height:48px;display:grid;place-items:center;flex-shrink:0}.mission-symbol .icon{width:30px;height:30px}.mission-row>div:nth-child(2){flex:1}.mission-row h3{font-size:12px;margin:0 0 6px;color:#6b7b5e}.mission-row p{font-size:10px;color:#a2997c;margin:0;line-height:1.7}.mission-row .reward-line{color:#b5995e;font-size:10px;margin-top:7px}.mission-row .mission-progress{min-width:80px;max-width:130px}.mission-progress small{font-size:10px;text-align:center;color:#93927a;display:block}.mission-progress .stock-track{width:100%;margin:5px 0}.mission-progress .btn{width:100%;margin-top:7px}.completed-label{font-size:11px;color:#91a17b}.settings-row{padding:17px 0;display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #e6dbc3}.settings-row b{font-size:12px;color:#6f7f64;display:block}.settings-row small{font-size:10px;line-height:1.8;color:#a09980;display:block;margin-top:6px}.settings-row select,.street-name-input{border:1px solid #dcd1b3;background:#fffbf0;border-radius:7px;padding:8px 10px;color:#7e8d6e;font-size:11px;max-width:170px}.toggle{min-width:42px;height:25px;background:#dad5bf;border-radius:30px;position:relative}.toggle:before{content:'';position:absolute;left:3px;top:3px;width:19px;height:19px;background:#fffbe9;border-radius:50%;box-shadow:0 1px 3px #75775a50}.toggle.on{background:#92b18a}.toggle.on:before{left:20px}.settings-footer{font-size:10px;line-height:1.9;color:#a99e82;margin:21px 0 0}.economy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.economy-grid>div{padding:18px 10px;text-align:center;background:#f2edd5;border:1px solid #e3d8b7;border-radius:11px}.economy-grid b{font-size:24px;color:#82a071;display:block;margin-bottom:8px}.economy-grid span{font-size:10px;color:#a89b7a}.taxi-overview{text-align:center;padding:10px 0 15px}.taxi-overview>.taxi-svg{width:170px;height:110px;margin:auto}.taxi-overview h2{font-size:18px;color:#738564;margin:10px 0}.taxi-overview p{font-size:12px;color:#a49674;line-height:1.8;max-width:380px;margin:10px auto}.taxi-destination{display:flex;gap:10px;align-items:center;border:1px solid #e3d6b4;border-radius:10px;padding:13px;background:#fff6df;margin-top:10px;width:100%;text-align:left}.taxi-destination>.icon{width:32px;height:32px}.taxi-destination>div{flex:1}.taxi-destination b{font-size:12px;display:block}.taxi-destination small{font-size:10px;color:#a59b7d;display:block;margin-top:5px}.daily-gift{text-align:center;padding:20px 0}.daily-gift>.icon{width:95px;height:95px;margin:0 auto 20px}.daily-gift h2{font-size:20px;color:#7a8e67}.daily-gift p{font-size:12px;color:#a99a75;line-height:1.9}.daily-gift .btn{font-size:13px;margin-top:12px;padding:11px 25px}.color-swatches{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.color-swatches button{width:33px;height:33px;border-radius:50%;border:3px solid #fff8e6;box-shadow:0 0 0 1px #dcd2b6}.color-swatches button.selected{box-shadow:0 0 0 2px #829c73}.toasts{position:fixed;bottom:184px;left:50%;translate:-50%;z-index:80;display:flex;flex-direction:column;gap:9px;align-items:center;pointer-events:none;max-width:90vw}.toast{background:#fff8e9;border:2px solid #d6dab7;border-radius:12px;padding:12px 21px;box-shadow:0 4px 0 #395c3020,0 6px 25px #3f5b3530;color:#748764;font-size:12px;line-height:1.6;text-align:center;animation:toastin .25s;min-width:170px;max-width:430px}.toast.error{border-color:#e7bc9a;color:#b8886c}.toast.fade{opacity:0;translate:0 10px;transition:.3s}.level-celebration{position:fixed;inset:0;z-index:70;background:#4a614778;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(3px)}.celebration-card{text-align:center;border-radius:24px;padding:32px 45px;border:4px solid #ead9a8;background:#fff3d3;box-shadow:0 0 60px #fff7c633;color:#a18548;animation:modalin .4s}.celebration-card>.icon{width:90px;height:90px;margin:auto}.celebration-card h2{font-size:28px;margin:15px 0}.celebration-card p{font-size:13px;color:#a69b70;line-height:1.8}.help-steps{display:grid;gap:13px}.help-step{display:flex;align-items:center;gap:15px;padding:15px;border-radius:10px;background:#f5efd8}.help-step>span{width:30px;height:30px;background:#8baa7b;color:#fff8df;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.help-step b{font-size:12px;display:block;margin-bottom:5px}.help-step p{font-size:10px;color:#a09679;line-height:1.8;margin:0}.empty-message{text-align:center;line-height:2;color:#9e997e;font-size:12px;padding:25px}.night .sky{background:linear-gradient(#243754,#3c617d 65%,#7d9c9d)}.night .sun{display:none}.night .moon{display:block;position:absolute;left:72%;top:55px;width:66px;height:66px;border-radius:50%;background:#fff2b1;box-shadow:0 0 30px #fff0b850}.night .stars{opacity:.5}.night .cloud{opacity:.25}.night .weather,.night .street-ribbon{color:#e5ecda}.night .building-art{filter:drop-shadow(0 6px 3px #14283040) brightness(.92)}.night .distant-city{opacity:.2}.night .scene-caption,.night .street-position{color:#dce6c5}.night .foreground{filter:brightness(.7)}.night .road{background:#79868f}.night .sidewalk{filter:brightness(.9)}@keyframes fadein{from{opacity:0}}@keyframes modalin{from{opacity:0;transform:translateY(15px) scale(.97)}}@keyframes toastin{from{opacity:0;translate:0 10px}}
@media(min-width:1500px){:root{--building-width:310px;--building-height:414px}.topbar{padding:0 50px;gap:45px}.bottom-panel{padding:0 50px}.quest-note{left:50px}.street-heading{left:50px;right:50px}.daily-note{right:50px}.buildings{left:140px}.building-actors{height:74px}.building-actors svg{height:74px;width:49px}}
@media(max-height:820px) and (min-width:800px){:root{--building-width:240px;--building-height:320px}.topbar{height:81px}.bottom-panel{height:145px}.street-summary{height:55px}.dock{height:86px}.dock>button{height:70px}.quest-note{top:62px;padding-top:8px;padding-bottom:8px}.daily-note{top:66px}.street-heading{top:17px}.building-actors svg{height:56px;width:37px}.buildings{bottom:142px}.sidewalk{bottom:120px;height:29px}.road{bottom:40px;height:81px}.foreground{height:40px}.prop{bottom:122px}.prop.tree{bottom:126px;height:140px}.prop.taxi-stop{bottom:122px}.person{bottom:125px;height:64px;width:43px}.taxi-car{bottom:58px;height:82px;width:123px}.back-fence{bottom:200px}.toasts{bottom:162px}.scene-caption{bottom:12px}.street-position{bottom:10px}}
@media(max-width:1050px){.topbar{padding:0 20px;gap:17px}.brand{min-width:190px}.brand-name{font-size:27px}.resources{gap:8px}.resource{min-width:128px}.cards{min-width:95px}.residents-stat{min-width:86px}.level-badge{min-width:82px}.xp-track{width:76px}.utilities{gap:6px}.dock{gap:4px}.dock>button{padding:10px 8px;grid-template-columns:34px 1fr;column-gap:7px}.dock>button>.icon{width:34px;height:34px}.dock>button>b{font-size:13px}.dock>button>small{font-size:8px}.dock>.taxi-dock{min-width:145px;max-width:160px}.dock-divider{margin-right:5px}.bottom-panel{padding:0 23px}.round-button{width:33px;height:33px}.quest-note{width:300px}.weather-label{display:none}}
@media(max-width:799px){:root{--building-width:224px;--building-height:299px}.game{min-height:500px}.topbar{height:85px;padding:8px 15px;gap:9px;align-items:flex-start;position:relative}.brand{min-width:170px;align-self:center}.brand-name{font-size:24px}.brand-small{font-size:8px;letter-spacing:3px}.brand-leaf{right:0;top:2px;font-size:18px}.level-badge{margin-top:4px;min-width:74px}.level-star{font-size:33px}.level-badge b{font-size:19px}.level-badge small{font-size:8px}.xp-track{width:65px;height:4px;bottom:0}.resources{position:absolute;right:15px;bottom:10px;gap:6px;justify-content:flex-end}.resource{height:29px;min-width:105px;gap:4px;padding-left:5px;border-width:1px}.resource .icon{width:22px;height:22px}.resource b{font-size:14px}.resource>button{width:20px;height:20px;font-size:17px;line-height:15px}.cards{min-width:68px}.residents-stat{min-width:65px}.residents-stat small{font-size:8px}.utilities{margin-left:auto;margin-top:3px}.round-button{width:28px;height:28px}.round-button .icon{width:18px;height:18px}.street-heading{left:18px;right:18px;top:15px}.street-ribbon{font-size:10px;gap:5px}.street-ribbon>span:nth-child(2){font-size:12px}.street-ribbon>i,.street-ribbon{letter-spacing:0}.weather{gap:4px;font-size:10px}.weather #clock{font-size:13px}.weather #weather-icon{font-size:20px}#weather-label{display:none}.quest-note{left:18px;top:47px;width:282px;padding:9px 12px 9px 57px}.quest-note .guide-avatar{height:55px;width:47px;left:8px}.quest-note small{font-size:9px}.quest-note strong{font-size:13px;margin:3px 0 4px}.quest-note div>span{font-size:9px}.daily-note{right:18px;top:51px;padding:6px 9px}.daily-note div{display:none}.daily-note .icon{width:28px;height:28px}.sun{top:75px;left:78%;width:63px;height:63px}.buildings{left:94px;bottom:139px}.building-name{font-size:12px;letter-spacing:1px}.building-status{padding:5px 8px;font-size:10px;bottom:calc(100% + 0px)}.building-actors{height:50px}.building-actors svg{width:32px;height:48px}.building-number{font-size:10px;width:19px;height:25px}.sidewalk{bottom:118px;height:25px}.road{bottom:36px;height:82px}.foreground{height:37px}.prop{bottom:120px}.prop.tree{height:130px;width:86px;bottom:123px}.prop.lamp{height:125px;width:44px}.prop.bench{height:43px;width:75px}.prop.taxi-stop{bottom:119px;width:80px;height:91px}.person{height:62px;width:41px;bottom:122px}.taxi-car{bottom:54px;width:117px;height:78px}.scene-arrow{width:28px;height:42px;font-size:33px;border-radius:8px}.scene-arrow.left{left:7px}.scene-arrow.right{right:7px}.scene-caption{left:18px;bottom:11px;font-size:9px}.street-position{right:18px;bottom:9px}.street-position input{width:80px}.bottom-panel{height:145px;padding:0 16px}.street-summary{height:54px;gap:8px}.street-summary .street-sign .icon{width:28px;height:28px}.street-summary>div>b{font-size:11px}.street-summary>div>span{font-size:9px;gap:4px}.collect-button{padding:7px 10px;font-size:10px;gap:3px}.collect-button .icon{width:20px;height:20px}.collect-button b{margin-left:3px;font-size:11px}.dock{height:88px;gap:2px}.dock>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 5px;height:73px;min-width:45px}.dock>button>.icon{width:29px;height:29px}.dock>button>b{font-size:11px;align-self:center}.dock>button>small{display:none}.dock>button.taxi-dock{min-width:95px;max-width:120px;gap:4px;margin-right:5px;flex-direction:row;padding:8px}.taxi-dock>span>b{font-size:12px}.taxi-dock small{font-size:8px;margin-top:4px}.taxi-dock>span>.icon{width:36px;height:30px}.dock-divider{margin-right:1px;height:35px}.notification,.taxi-dock i{right:6px;top:8px;width:8px;height:8px}.modal-layer{padding:18px}.modal{max-height:89dvh;border-radius:17px}.modal-head{padding:16px 19px}.modal-head h1{font-size:20px}.modal-body{padding:19px}.catalog-grid{gap:10px}.catalog-art{height:126px}.catalog-art .building{width:95px;height:126px}.catalog-card h3{font-size:12px}.catalog-card>small{font-size:9px}.card-button{margin:0 8px 10px;padding:7px 3px;font-size:10px}.catalog-card .category-tag{font-size:8px;top:6px;left:6px}.shop-overview{padding:12px;gap:16px}.shop-info h2{font-size:16px}.shop-overview .building{width:107px;height:143px}.shop-info p{font-size:10px}.shop-actions .btn{padding:7px 8px;font-size:10px}.product-row{gap:9px;padding:10px}.product-picture{width:43px;height:43px}.product-row .btn{min-width:80px;padding:8px 9px;font-size:10px}.product-description h3{font-size:11px}.product-description small{font-size:9px}.resident-card{padding:12px;gap:8px}.resident-grid{gap:9px}.resident-card .resident-status{font-size:8px;right:7px;top:8px}.resident-card>.resident-portrait{width:43px;height:71px}.resident-portrait svg{width:40px;height:61px}.resident-card h3{font-size:12px}.resident-card p{font-size:9px}.staff-list{gap:6px}.staff-card{padding:8px;gap:5px}.staff-card b{font-size:10px}.staff-card small{font-size:8px}.staff-card svg{width:26px;height:39px}.staff-card.empty{font-size:9px}.mission-row{gap:9px;padding:12px}.mission-symbol{width:40px;height:40px}.mission-row h3{font-size:11px}.mission-progress{min-width:68px!important;width:70px}.mission-progress .btn{padding:7px 5px;font-size:9px}.toasts{bottom:163px}.toast{font-size:11px;padding:10px 15px}}
@media(max-width:480px){.brand{min-width:148px}.brand-name{font-size:22px}.level-badge{min-width:58px;margin-top:4px}.level-star{font-size:28px}.level-badge small{display:none}.xp-track{width:56px;bottom:-2px}.level-badge{gap:4px}.utilities{margin-top:0}.resources{bottom:8px}.residents-stat{display:none}.resource{min-width:107px}.cards{min-width:70px}.topbar{height:80px;padding:7px 13px}.street-ribbon{font-size:9px}.street-ribbon>span:nth-child(2){font-size:11px}.street-ribbon .icon{display:none}.quest-note{width:260px;left:13px}.daily-note{right:13px}.quest-note div>span{font-size:8px}.bottom-panel{padding:0 10px;height:139px}.street-summary{height:51px}.street-summary .street-sign{display:none}.street-summary>div>span{font-size:8px}.street-summary>div>b{font-size:10px}.collect-button{font-size:9px;padding:7px 8px}.collect-button b{font-size:10px}.collect-button .icon{width:18px;height:18px}.dock>button.taxi-dock{min-width:83px;max-width:90px;margin-right:2px;flex-direction:column;gap:0;padding:5px}.taxi-dock>span>b{font-size:10px}.taxi-dock small{display:none}.taxi-dock>span>.icon{width:37px;height:29px}.dock-divider{display:none}.dock>button>b{font-size:10px}.dock>button>.icon{width:28px;height:28px}.dock>button{padding:8px 4px}.scene-caption{left:12px;font-size:8px;gap:5px;max-width:240px}.street-position{right:12px;gap:5px}.street-position input{width:53px}.street-position>span{font-size:8px}.catalog-grid{grid-template-columns:repeat(2,1fr)}.resident-grid{grid-template-columns:1fr}.resident-card>.resident-portrait{width:49px;height:73px}.resident-card h3{font-size:13px}.resident-card p{font-size:10px}.resident-card .resident-status{font-size:9px;right:12px;top:13px}.modal-layer{padding:12px}.modal-body{padding:16px}.modal-head{padding:15px 17px}.shop-overview{gap:10px;padding:10px}.shop-overview .building{width:92px;height:123px}.shop-info h2{font-size:15px}.shop-actions{gap:6px;margin-top:9px}.shop-actions .btn{padding:7px;font-size:9px}.product-row{gap:8px;padding:9px}.product-picture{width:35px;height:39px}.product-picture .icon{width:28px;height:28px}.product-row .btn{min-width:69px;padding:7px;font-size:9px}.product-description h3{font-size:10px}.stock-track{width:110px}.staff-card{flex-direction:column;gap:3px;text-align:center}.staff-card.empty{flex-direction:row}.resident-detail{padding:14px;gap:15px}.resident-detail>svg{width:71px;height:107px}.resident-detail h2{font-size:19px}.skills{gap:5px}.skill{padding:8px 4px}.mission-row{gap:7px;padding:10px}.mission-symbol{width:30px;height:35px;background:none}.mission-symbol .icon{width:29px;height:29px}.mission-row h3{font-size:10px}.mission-row p,.mission-row .reward-line{font-size:9px}.economy-grid b{font-size:20px}.settings-row{gap:10px}.settings-row .btn{padding:8px;font-size:10px}.street-name-input{width:135px}.empty-lot{width:190px;height:210px}.daily-gift h2{font-size:17px}}
@media(max-height:620px){.game{min-height:450px}.topbar{height:65px}.bottom-panel{height:116px}.street-summary{height:43px}.dock{height:68px}.dock>button{height:59px}.dock>button>.icon{width:28px;height:28px}.dock>button.taxi-dock{height:53px}.playfield{min-height:260px}:root{--building-width:180px;--building-height:240px}.street-heading{top:11px}.quest-note{top:44px;width:240px;padding:7px 10px 7px 50px}.quest-note .guide-avatar{height:45px;width:40px}.quest-note small{display:none}.quest-note strong{font-size:11px}.quest-note div>span{font-size:8px}.daily-note{top:42px}.buildings{bottom:107px}.building-name{font-size:10px;letter-spacing:0}.building-status{font-size:9px;padding:3px 6px}.building-actors svg{height:41px;width:27px}.sidewalk{bottom:91px;height:20px}.road{bottom:29px;height:62px}.foreground{height:29px}.person{bottom:94px;height:50px;width:33px}.prop{bottom:92px}.prop.tree{bottom:94px;height:107px;width:70px}.prop.lamp{height:102px;width:34px}.prop.taxi-stop{bottom:91px;width:65px;height:73px}.taxi-car{bottom:42px;width:99px;height:66px}.scene-caption{bottom:8px}.street-position{bottom:6px}.toasts{bottom:133px}.building-stars{font-size:8px}.scene-arrow{height:35px;font-size:28px;width:25px}.empty-lot{height:165px;width:156px}.empty-lot svg{width:60px;height:60px}.empty-lot b{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.classic-build-link{display:flex;align-items:center;gap:12px;background:#f1e8c9;border:1px solid #dfd6b5;border-radius:10px;padding:11px 13px;margin:0 0 18px;width:100%;text-align:left;color:#92885c}.classic-build-link>.icon{width:29px;height:29px}.classic-build-link>span{font-size:11px;flex:1}.classic-build-link small{display:block;color:#aaa077;font-size:9px;margin-top:5px}.classic-build-link>b{font-size:10px;font-weight:500}.taxi-dock>span>b{white-space:nowrap}@media(max-height:450px) and (orientation:landscape){.dock>button.taxi-dock{min-width:145px}.taxi-dock>span>.icon{width:42px}}
@media(max-height:450px) and (orientation:landscape){:root{--building-width:124px;--building-height:165px}.game{min-height:0}.topbar{height:55px;padding:5px 18px;align-items:center}.brand-name{font-size:23px}.brand-small{font-size:8px}.brand{min-width:170px}.level-star{font-size:28px}.level-badge b{font-size:19px}.resources{gap:8px}.resource{height:32px;min-width:119px}.resource b{font-size:16px}.resource .icon{width:24px;height:24px}.cards{min-width:87px}.residents-stat{min-width:85px}.resource>button{width:21px;height:21px;line-height:17px;font-size:18px}.playfield{min-height:0}.bottom-panel{height:84px;padding:0 25px}.street-summary{display:none}.dock{height:80px;max-width:760px}.dock>button{height:63px}.dock>button.taxi-dock{height:57px;min-width:125px;max-width:150px}.dock>button>small{display:none}.dock>button>.icon{width:32px;height:32px}.dock>button>b{font-size:12px}.quest-note,.daily-note{display:none}.street-heading{top:8px}.street-ribbon{font-size:9px}.weather #clock{font-size:11px}.weather #weather-icon{font-size:16px}#weather-label{font-size:9px}.buildings{bottom:81px;left:80px}.building-name{font-size:8px}.building-number{width:14px;height:17px;font-size:8px;border-radius:5px}.building-actors svg{height:29px;width:19px}.building-status{font-size:7px;padding:2px 5px;border-width:1px}.building-status .icon{width:12px;height:12px}.building-status:after{width:6px;height:6px;bottom:-4px;left:calc(50% - 3px);border-width:1px}.building-stars{font-size:7px}.sidewalk{bottom:69px;height:16px}.road{bottom:22px;height:47px}.foreground{height:22px}.person{bottom:71px;height:37px;width:25px}.prop{bottom:69px}.prop.tree{bottom:72px;height:78px;width:52px}.prop.lamp{height:75px;width:27px}.prop.taxi-stop{bottom:69px;width:47px;height:58px}.prop.bench{height:25px;width:53px}.taxi-car{bottom:30px;height:50px;width:76px}.scene-caption{bottom:5px;font-size:8px}.street-position{bottom:4px}.scene-arrow{width:23px;height:31px;font-size:26px}.empty-lot{width:122px;height:130px;gap:8px}.empty-lot svg{height:45px;width:45px}.empty-lot b{font-size:11px}.empty-lot>span{font-size:8px}.empty-lot .lot-plus{width:26px;height:26px;font-size:19px}.sun{top:28px;width:37px;height:37px}.night .moon{top:28px;width:37px;height:37px}.distant-city{bottom:88px}.sea{bottom:78px;height:35px}.back-fence{bottom:100px;height:16px}.toasts{bottom:97px}.modal{max-height:94dvh}.modal-head{padding:12px 20px}.modal-head h1{font-size:17px}.modal-body{padding:15px 20px}.modal-layer{padding:10px}}
