@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.grid{display:grid}.hidden{display:none}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:#243c45;font-synthesis:none;--ink:#243c45;--muted:#6b7b79;--paper:#f1efe3;--line:#d5d9ca;--navy:#203745;--navy-dark:#142b38;--gold:#efc268;--mint:#8ecab0;--shadow:0 6px 22px #0a233533, 0 1px 2px #0a233530;background:#172e3b;font-family:Trebuchet MS,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:default;opacity:.48}button,input{outline-offset:3px}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #dcac4c}button{touch-action:manipulation}h1,h2,h3,p{margin:0}svg{flex-shrink:0}img{-webkit-user-select:none;user-select:none;max-width:100%}::selection{background:#efc26866}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#8b9a91;border-radius:6px}::-webkit-scrollbar-track{background:0 0}.eyebrow{letter-spacing:1.4px;text-transform:uppercase;color:#6b7e76;align-items:center;gap:7px;font-size:10px;font-weight:800;display:inline-flex}.button{border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:10px;min-height:43px;padding:11px 19px;font-size:13px;font-weight:800;transition:background .15s,transform .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{color:#283a40;background:#edc16b;border-color:#f8d490;box-shadow:0 3px #c29542}.button.primary:hover:not(:disabled){background:#ffcf77}.button.secondary{background:#e2e6db;border-color:#cbd3c5;box-shadow:0 2px #c2cbbd}.button.secondary:hover:not(:disabled){background:#d7e1d2}.button.full{width:100%}.button.compact{min-height:32px;padding:7px 12px;font-size:11px}.button.danger-button{color:#fff4dd;background:#b65d4b}.button.subtle-danger{color:#a35948;box-shadow:none;background:#ede2d7;border-color:#e1c9b9;font-size:11px}.text-button{color:#35776a;justify-content:center;align-items:center;gap:8px;padding:7px 0;font-size:12px;font-weight:800;display:inline-flex}.text-button:hover{color:#214f49}.icon-button{width:36px;height:36px;color:inherit;border:1px solid #0000;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-button:hover:not(:disabled){background:#ffffff13}.icon-button.active{color:#253b44;background:#edc16b;border-color:#ffdb94;box-shadow:0 2px #b4883d}.positive{color:#357860!important}.negative,.insufficient{color:#b75c49!important}kbd{color:#65786e;background:#eef0e5;border:1px solid #aab5aa;border-bottom-width:2px;border-radius:3px;padding:2px 5px;font-family:inherit;font-size:10px;line-height:1;display:inline-block}label{color:#455e61;margin:18px 0;font-size:12px;font-weight:700;display:block}label input:not([type=checkbox]):not([type=range]){color:#2c454e;background:#f9f8ef;border:1px solid #becbbe;border-radius:4px;width:100%;min-height:45px;margin-top:8px;padding:12px;font-size:13px;transition:border-color .15s;display:block;box-shadow:inset 0 2px 2px #374b3810}label input:focus{border-color:#4c8e81}label input::placeholder{color:#8b9891}label small{color:#71847a;margin-top:7px;font-size:10px;font-weight:400;line-height:1.5;display:block}label .optional{color:#869388;margin-left:5px;font-size:10px;font-weight:400}.password-field,.seed-field,.rename-field{align-items:center;gap:8px;display:flex;position:relative}.password-field input{padding-right:44px!important}.password-field>button{color:#809087;position:absolute;top:18px;right:9px}.seed-field>.icon-button{color:#617d73;background:#e2e9d9;position:absolute;bottom:5px;right:5px}.seed-field>input{padding-right:46px!important}.rename-field>.button{margin-top:8px}.form-error{color:#9f473b;background:#f4e0d3;border:1px solid #dbaa96;border-radius:4px;margin:14px 0;padding:11px 13px;font-size:12px;line-height:1.6}.progress{background:#d3dbcb;border-radius:2px;height:6px;overflow:hidden}.progress>span{background:#57917d;height:100%;transition:width .35s;display:block}.progress.danger>span{background:#c98559}.loader{border:3px solid #84998940;border-top-color:#e2b962;border-radius:50%;width:30px;height:30px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.app-loading{color:#e6eadd;justify-content:center;align-items:center;gap:16px;min-height:100dvh;display:flex}.app-loading .brand{font-size:25px}.brand{letter-spacing:-1.5px;color:#f4ecda;align-items:center;gap:0;font-family:Arial Black,Arial,sans-serif;font-size:31px;font-style:italic;font-weight:900;display:flex}.brand>span:not(.brand-icon){color:#edc16b}.brand small{letter-spacing:2px;color:#9cbdba;margin-left:20px;font-family:inherit;font-size:9px;font-style:normal;font-weight:700}.brand-icon{color:#527a6a;background:#dfe8d5;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.town-preview{width:100%;height:auto;display:block}.auth-page{color:#eef0de;isolation:isolate;background:radial-gradient(at 29% 36%,#4e7a77 0,#284955 50%,#172f40 90%);justify-content:flex-end;align-items:center;min-height:100dvh;padding:85px max(5.5vw,30px);display:flex;position:relative;overflow:hidden}.splash-grid{z-index:-1;opacity:.13;background-image:linear-gradient(30deg,#a6c9b5 1px,#0000 1px),linear-gradient(150deg,#a6c9b5 1px,#0000 1px);background-size:90px 52px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.splash-sun{opacity:.12;filter:blur(1px);z-index:-1;background:#ead39a;border-radius:50%;width:380px;height:380px;position:absolute;top:5%;left:34%}.splash-brand{z-index:2;position:absolute;top:9%;left:6%}.edition-tag{letter-spacing:3px;color:#c3dbcb;border-left:3px solid #edc16b;padding:5px 12px;font-size:10px;font-weight:800;display:inline-block}.splash-brand h1{letter-spacing:-8px;text-shadow:0 5px #16394a,0 8px 1px #143342,0 13px 20px #142f3440;margin:20px 0 15px;font-family:Arial Black,Impact,Arial,sans-serif;font-size:clamp(70px,8.5vw,138px);font-style:italic;font-weight:900;line-height:1.04}.splash-brand h1 span{color:#f0c36d}.splash-brand h1 i{letter-spacing:0;vertical-align:top;margin-left:6px;font-size:18px;font-style:normal}.splash-brand p{color:#ccdbce;margin-left:4px;font-size:15px;line-height:1.65}.splash-town{z-index:0;filter:drop-shadow(0 24px 25px #102d3845);width:80%;max-width:1370px;position:absolute;bottom:-4%;left:-6%;transform:rotate(-1deg)}.splash-caption{color:#c7dac6;letter-spacing:.5px;align-items:center;gap:9px;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:65px;left:6%}.placement-dot{background:#81c4a3;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 3px #81c4a315}.auth-form{z-index:3;background:var(--paper);width:370px;color:var(--ink);border-top:4px solid #edc16b;border-radius:8px;padding:27px 31px 23px;position:relative;box-shadow:0 22px 60px #0a233568,0 0 0 1px #fff2}.auth-panel-top{color:#71837a;letter-spacing:1.5px;justify-content:space-between;align-items:center;margin-bottom:22px;font-size:9px;font-weight:800;display:flex}.auth-panel-top>span:first-child{color:#387c6c;align-items:center;gap:8px;display:flex}.auth-form h2{letter-spacing:-1px;font-size:29px;font-weight:900}.auth-form>p{color:#78877e;margin-top:10px;font-size:12px;line-height:1.7}.segmented{background:#dbe1d3;border-radius:5px;margin:22px 0;padding:4px;display:flex}.segmented button{color:#6e8375;border-radius:3px;width:50%;padding:10px;font-size:12px;font-weight:800}.segmented .active{color:#354f57;background:#f8f6eb;box-shadow:0 2px 5px #243d3820}.auth-form label{margin:15px 0}.auth-form .button{margin-top:8px}.auth-form .auth-save-note{color:#758b7c;border-top:1px solid #d6ddcf;justify-content:center;align-items:center;gap:7px;margin-top:23px;padding-top:20px;font-size:10px;display:flex}.splash-footer{letter-spacing:1.5px;color:#87a59e;justify-content:space-between;font-size:9px;font-weight:700;display:flex;position:absolute;bottom:22px;left:6%;right:6%}.splash-footer>span:last-child{color:#bed1b9}.menu-page{color:#e7efdf;isolation:isolate;background:linear-gradient(125deg,#193443,#294e58);min-height:100dvh;position:relative;overflow:hidden}.menu-backdrop{opacity:.3;pointer-events:none;filter:blur(1px);z-index:-1;width:1100px;position:absolute;bottom:-15%;right:-20%}.menu-header{background:#19334090;border-bottom:1px solid #bdd2c41c;justify-content:space-between;align-items:center;gap:20px;padding:27px 6%;display:flex}.user-menu{letter-spacing:1px;color:#a0b9ae;align-items:center;gap:20px;font-size:10px;display:flex}.user-menu strong{color:#f1e7ca;letter-spacing:0;margin-top:4px;font-size:14px;display:block}.user-menu .icon-button{color:#c5d7c5;border:1px solid #b7d3c027}.menu-main{max-width:1360px;min-height:calc(100dvh - 170px);margin:auto;padding:52px 6% 60px;position:relative}.menu-intro{justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px;display:flex}.menu-intro .eyebrow{color:#a7c7b2}.menu-intro h1{letter-spacing:-2px;margin:10px 0;font-size:53px;font-weight:900}.menu-intro p{color:#a9c4b5;font-size:13px}.city-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;display:grid}.city-card{color:var(--ink);background:var(--paper);border:1px solid #789785;border-radius:6px;transition:transform .2s;overflow:hidden;box-shadow:0 7px #0d2a3750,0 14px 30px #0f293544}.city-card:hover{transform:translateY(-3px)}.city-card-art{background:radial-gradient(at 45% 65%,#cbdbb1,#91b199);height:196px;position:relative;overflow:hidden}.city-card-art:before{content:"";background-image:linear-gradient(30deg,#426e501b 1px,#0000 1px),linear-gradient(150deg,#426e501b 1px,#0000 1px);background-size:50px 30px;position:absolute;inset:0}.city-card-art.art-1{background:radial-gradient(at 45% 65%,#d9d7b0,#b6b38b)}.city-card-art.art-2{background:radial-gradient(at 45% 65%,#c5dcda,#8cafb0)}.city-card-buildings{justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:10px 10px 0}.city-card-buildings img{filter:drop-shadow(0 5px 2px #355b3933);width:44%;position:relative}.city-card-buildings img:first-child{z-index:3;margin-right:-28%;transform:translate(-30px,10px)}.city-card-buildings img:nth-child(2){z-index:1;width:58%;transform:translateY(-12px)}.city-card-buildings img:last-child{z-index:2;margin-left:-30%;transform:translate(35px,17px)}.city-level-tag{color:#f3e5bf;background:#203b49;border-radius:3px;padding:6px 9px;font-size:10px;font-weight:800;position:absolute;top:13px;left:13px}.city-card-art>.icon-button{color:#4d6b5c;z-index:4;background:#eef2dc9c;width:30px;height:30px;position:absolute;top:9px;right:10px}.city-card-content{padding:22px}.city-card-content h2{letter-spacing:-.6px;overflow-wrap:anywhere;margin-top:7px;font-size:24px;font-weight:900}.city-card-content .eyebrow{font-size:9px}.city-card-stats{color:#658276;align-items:center;gap:16px;margin:16px 0 21px;font-size:12px;display:flex}.city-card-stats>span{align-items:center;gap:5px;display:flex}.city-card-stats>span:last-child{color:#977744;margin-left:auto;font-weight:800}.city-card-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.city-card-bottom>span{color:#809187;align-items:center;gap:6px;font-size:10px;display:flex}.city-card-bottom .text-button{color:#edf0d5;background:#355e58;border-radius:4px;padding:9px 12px}.refresh-cities{color:#b0cabc;margin-top:27px;font-size:11px}.refresh-cities:hover{color:#eff1d4}.empty-cities{text-align:center;background:#233f4aa6;border:1px dashed #91b49c55;border-radius:6px;padding:65px 25px}.empty-city-icon{color:#edc16b;background:#102d3850;border-radius:15px;justify-content:center;align-items:center;width:95px;height:95px;margin-bottom:22px;display:inline-flex;transform:rotate(-5deg)}.empty-cities h2{letter-spacing:-1px;font-size:29px;font-weight:900}.empty-cities p{color:#afcbb7;margin:12px 0 24px;font-size:13px;line-height:1.8}.menu-footer{color:#8cab9d;letter-spacing:1.3px;background:#18313a88;border-top:1px solid #b7caaa20;gap:28px;padding:19px 6%;font-size:9px;font-weight:700;display:flex}.menu-footer span:last-child{margin-left:auto}.game-app{background:#a3b9a0;width:100%;height:100dvh;min-height:440px;position:relative;overflow:hidden}.game-surface{position:absolute;inset:0}.game-world{position:absolute;inset:0;overflow:hidden}.game-world canvas{display:block}.world-vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 110px #28504226}.world-loading{color:#2f534b;background:#a3b9a0;justify-content:center;align-items:center;gap:15px;font-size:13px;display:flex;position:absolute;inset:0}.game-header{z-index:10;pointer-events:none;align-items:stretch;gap:12px;display:flex;position:absolute;top:18px;left:18px;right:18px}.game-header>*{pointer-events:auto}.city-badge{background:var(--navy);color:#f6eacc;width:225px;min-width:200px;box-shadow:var(--shadow);text-align:left;border:1px solid #89a29455;border-top:2px solid #edc16b;border-radius:6px;align-items:center;gap:12px;padding:10px 13px;display:flex}.city-badge>span:nth-child(2){flex:1;min-width:0}.city-badge strong{white-space:nowrap;text-overflow:ellipsis;max-width:143px;font-size:17px;font-weight:900;display:block;overflow:hidden}.city-badge>span>small{letter-spacing:1.4px;color:#b3c7b3;margin-top:6px;font-size:8px;display:block}.city-emblem{color:#f0c870;background:#36535a;border-radius:4px;justify-content:center;align-items:center;width:40px;height:42px;display:flex;position:relative}.city-emblem small{color:#243943;background:#edc16b;border:2px solid #213a45;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;font-weight:900;display:grid;position:absolute;bottom:-4px;right:-3px}.resource-bar{box-shadow:var(--shadow);background:#203745f5;border:1px solid #8ca89160;border-radius:6px;flex:1;align-items:stretch;min-width:0;padding:9px 1px;display:flex}.resource{text-align:left;color:#edf1d6;border-right:1px solid #abc6b521;flex:1;justify-content:center;align-items:center;gap:9px;min-width:0;padding:0 16px;display:flex}.resource:last-child{border:0}.resource:hover{background:#cee4c608}.resource>div{min-width:0}.resource>div>span:first-child{letter-spacing:1.25px;color:#a4bcae;white-space:nowrap;margin-bottom:5px;font-size:8px;font-weight:800;display:block}.resource strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:18px;font-weight:800;line-height:1.1;display:block}.resource strong>small{color:#afc1b1;font-size:10px;font-weight:400}.resource>div>small{color:#a0b3a6;white-space:nowrap;margin-top:5px;font-size:9px;display:block}.resource-icon{color:#cfdebe;justify-content:center;align-items:center;display:flex}.resource-icon.gold{color:#e9c57b}.resource-icon.mint{color:#94c7a1}.resource-icon.blue{color:#84c6da}.money-resource{flex:1.4}.money-resource strong{color:#f4d28a;font-size:21px}.money-resource .positive{color:#99cfa0!important}.money-resource .negative{color:#e89c7a!important}.hud-meter{background:#0c28387a;border-radius:2px;width:100%;height:3px;margin-top:6px;display:block;overflow:hidden}.hud-meter i{background:#90c295;height:100%;display:block}.hud-meter.gold i{background:#e7c077}.hud-meter.blue i{background:#82c4cf}.resource-warning .hud-meter i{background:#e78c6a}.resource-warning strong{color:#ffbf98}.header-actions{color:#d7e7c7;background:var(--navy);box-shadow:var(--shadow);border:1px solid #8ca89160;border-radius:6px;align-items:center;gap:3px;padding:7px;display:flex}.header-actions .icon-button{width:32px}.save-button{color:#b4ceb7;justify-content:center;align-items:center;gap:7px;padding:8px 7px;font-size:10px;display:flex}.save-button.dirty{color:#f0d497}.save-button.error{color:#f5a17e}.save-button span{display:none}.tool-rail{color:#cbdcbb;box-shadow:var(--shadow);z-index:8;background:#203745f5;border:1px solid #92ac9166;border-radius:6px;flex-direction:column;gap:5px;padding:8px;display:flex;position:absolute;top:110px;left:18px}.tool-rail>.icon-button,.layers-control>.icon-button{width:39px;height:39px}.rail-divider{background:#97b5a72c;height:1px;margin:4px 3px}.layers-control{position:relative}.layers-menu{width:215px;box-shadow:var(--shadow);color:#3a554f;background:#f1efe5;border:1px solid #b9c7b0;border-radius:5px;padding:15px;position:absolute;bottom:0;left:54px}.layers-menu .eyebrow{margin-bottom:10px;font-size:9px;display:block}.layers-menu>button{text-align:left;border-radius:3px;align-items:center;gap:9px;width:100%;padding:10px 7px;font-size:12px;display:flex}.layers-menu>button svg:last-child:not(:first-child){margin-left:auto}.layers-menu .selected{color:#357560;background:#d9e4d1;font-weight:700}.layers-menu>button:hover{background:#e3e9d8}.tutorial-card{width:244px;box-shadow:var(--shadow);z-index:3;background:#f1efe6f2;border:1px solid #c1ccb3;border-left:3px solid #dfb462;border-radius:5px;padding:12px 16px;position:absolute;top:110px;left:90px}.tutorial-top{justify-content:space-between;align-items:center;display:flex}.tutorial-top>span{letter-spacing:1px;color:#8b784c;align-items:center;gap:7px;font-size:9px;font-weight:800;display:flex}.tutorial-top .icon-button{color:#899583;width:23px;height:23px}.tutorial-top .icon-button svg{width:14px}.tutorial-top .icon-button:hover{background:#d7decd}.tutorial-card h3{letter-spacing:-.3px;margin-top:10px;font-size:16px;font-weight:900}.tutorial-card p{color:#748477;margin-top:6px;font-size:11px;line-height:1.6}.tutorial-progress{align-items:center;gap:10px;margin-top:13px;display:flex}.tutorial-progress .progress{flex:1;height:4px}.tutorial-progress>span{color:#7c8b7b;font-size:9px;font-weight:700}.tutorial-card .text-button{justify-content:flex-start;width:100%;margin-top:7px;font-size:11px}.tutorial-card .text-button svg:last-child{opacity:.45;margin-left:auto}.right-rail{z-index:7;pointer-events:none;width:285px;position:absolute;top:110px;right:18px}.right-rail>*{pointer-events:auto}.building-panel{box-shadow:var(--shadow);overscroll-behavior:contain;background:#f1efe7fa;border:1px solid #bbcab2;border-top:3px solid #e8bd65;border-radius:6px;max-height:calc(100dvh - 200px);padding:15px 19px;overflow-y:auto}.with-build-menu .building-panel{max-height:calc(100dvh - 440px)}.panel-header{justify-content:space-between;align-items:center;display:flex}.panel-header .icon-button{color:#7d8e7e;width:24px;height:24px}.panel-header .icon-button svg{width:15px}.building-panel-art{background:radial-gradient(#d7e2bd77,#0000 70%);justify-content:center;align-items:center;height:142px;margin:7px -4px 3px;display:flex;position:relative}.building-panel-art img{object-fit:contain;width:178px;height:142px}.building-panel-art>span{color:#eed699;background:#284752;border-radius:3px;padding:5px 7px;font-size:9px;font-weight:800;position:absolute;top:9px;left:0}.building-panel-art>small{color:#879582;font-size:9px;position:absolute;bottom:8px;right:0}.building-panel h2{letter-spacing:-.7px;font-size:23px;font-weight:900}.building-panel>p{color:#718271;margin:8px 0 12px;font-size:11px;line-height:1.65}.building-access{color:#4f7a59;background:#dce8d1;border:1px solid #cbdabc;border-radius:4px;align-items:center;gap:7px;padding:9px;font-size:10px;display:flex}.building-access.disconnected{color:#a7734b;background:#f0decb;border-color:#ddc3a6}.building-details{margin:12px 0 15px;font-size:11px}.building-details>div{border-bottom:1px solid #d4ddca80;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.building-details dt{color:#768875;align-items:center;gap:6px;display:flex}.building-details dd{color:#3f5d54;text-align:right;margin:0;font-weight:700}.building-panel .button{min-height:36px;margin-top:7px;padding:8px;font-size:11px}.building-panel>p.upgrade-service-note{color:#748575;margin-top:8px;font-size:10px}.max-level{text-align:center;color:#55795f;background:#dce9d2;border-radius:4px;padding:10px;font-size:11px}.upgrade-architecture{background:#e3e8d8;border:1px solid #cbd6bd;border-radius:4px;align-items:center;gap:10px;margin-top:12px;padding:9px 8px;display:flex}.upgrade-architecture img{object-fit:contain;flex-shrink:0;width:84px;height:74px}.upgrade-architecture small{color:#73856d;letter-spacing:.5px;font-size:8px;font-weight:800;display:block}.upgrade-architecture strong{color:#36584f;margin:4px 0;font-size:15px;display:block}.upgrade-architecture p{color:#73856d;margin:0;font-size:10px;line-height:1.5}.minimap{width:171px;box-shadow:var(--shadow);color:#c8dac0;z-index:4;background:#203745eb;border:1px solid #87a58d80;border-radius:5px;padding:9px;position:absolute;bottom:97px;right:18px}.minimap>div{letter-spacing:.7px;align-items:center;gap:6px;margin-bottom:8px;font-size:8px;font-weight:800;display:flex}.minimap small{letter-spacing:0;color:#8ba796;margin-left:auto;font-size:8px}.minimap canvas{cursor:crosshair;border:1px solid #94ad82;border-radius:2px;width:151px;height:151px;display:block}.minimap-north{color:#f0dfb2;pointer-events:none;background:#203746aa;padding:3px;font-size:8px;position:absolute;top:34px;right:15px}.with-build-menu .minimap{bottom:335px}.game-app:has(.building-panel) .minimap{display:none}.overlay-legend{color:#d6e3c8;box-shadow:var(--shadow);z-index:5;background:#203745eb;border:1px solid #8ba98b66;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;font-size:10px;display:flex;position:absolute;top:92px;left:90px}.game-app:has(.overlay-legend) .tutorial-card{top:141px}.overlay-legend>button{color:#b4c8ae;margin-left:8px;display:flex}.legend-dot{background:#80c599;border-radius:50%;width:7px;height:7px}.legend-dot.water{background:#7ec5d7}.legend-dot.power{background:#e6c276}.legend-dot.pollution{background:#db9372}.build-menu{z-index:6;background:#f0efe5f7;border:1px solid #aec2a8;border-radius:6px;flex-direction:column;height:241px;display:flex;position:absolute;bottom:78px;left:90px;right:18px;overflow:hidden;box-shadow:0 8px 30px #122e3940}.build-menu-heading{color:#dce5cf;background:#203745;align-items:center;gap:17px;height:49px;min-height:49px;padding:0 14px;display:flex}.catalog-label{color:#f0ca78;letter-spacing:1px;align-items:center;gap:8px;font-size:10px;font-weight:900;display:inline-flex}.construction-mark{align-items:flex-end;gap:2px;height:16px;display:flex}.construction-mark i{background:#efc268;width:4px;height:10px;display:block}.construction-mark i:nth-child(2){height:16px}.construction-mark i:nth-child(3){height:12px}.build-categories{scrollbar-width:none;flex:1;align-items:stretch;gap:4px;min-width:0;height:100%;display:flex;overflow-x:auto}.build-categories button{color:#a8c2b1;white-space:nowrap;border-bottom:3px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:11px;font-weight:700;display:flex}.build-categories button:hover{color:#dfe8c6;background:#dbe4b80a}.build-categories button.selected{color:#f4cf81;background:#3a535b;border-bottom-color:#edc16b}.building-count{color:#87a698;white-space:nowrap;font-size:10px}.build-menu-heading>.icon-button{color:#bac9b5;width:25px;height:28px}.build-menu-heading>.icon-button svg{width:16px}.construction-content{flex:1;min-height:0;display:flex}.building-list{scroll-snap-type:x proximity;overscroll-behavior:contain;flex:1;align-items:stretch;gap:10px;min-width:0;padding:12px 14px 13px;display:flex;overflow:auto hidden}.building-card{text-align:left;scroll-snap-align:start;background:#f9f7ea;border:1px solid #c8d2bd;border-radius:4px;flex-direction:column;flex-shrink:0;width:148px;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px #d3dac6}.building-card:hover:not(:disabled){background:#fff9e9;border-color:#709e79}.building-card.selected{background:#fff4d5;border:2px solid #c5933f;box-shadow:0 2px #c4933f}.building-art{background:radial-gradient(at 50% 60%,#d9e3c6,#0000 72%);justify-content:center;align-items:center;height:99px;min-height:99px;display:flex;position:relative}.building-art img{object-fit:contain;pointer-events:none;width:133px;height:98px}.footprint-tag{color:#85957b;background:#edf1dfba;border-radius:2px;padding:2px 4px;font-size:8px;position:absolute;top:5px;right:6px}.lock-tag{color:#f1e5c4;white-space:nowrap;background:#415658;border-radius:3px;align-items:center;gap:5px;padding:4px 6px;font-size:8px;font-weight:800;display:flex;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.building-card.locked{opacity:.6;box-shadow:none}.building-card.locked img{filter:grayscale(.65);opacity:.65}.building-card-info{flex-direction:column;flex:1;padding:2px 10px 7px;display:flex}.building-card-info strong{white-space:nowrap;letter-spacing:-.15px;font-size:11px;line-height:1.2}.building-benefit{color:#869578;margin-top:4px;font-size:9px;display:block}.building-cost{color:#8b7039;justify-content:space-between;align-items:center;margin-top:auto;padding-top:7px;font-size:13px;font-weight:900;display:flex}.building-cost>span{color:#82906e;font-size:8px;font-weight:700}.construction-info{background:#e2e8d7;border-left:1px solid #d0dac3;flex-shrink:0;width:228px;padding:19px 20px}.construction-info .eyebrow{color:#7f8d71;font-size:8px}.construction-info h3{letter-spacing:-.4px;margin-top:8px;font-size:17px;font-weight:900}.construction-info p{color:#7b8d71;margin-top:7px;font-size:10px;line-height:1.7}.rotation-button{color:#52745e;background:#f3f4e6;border:1px solid #b7c8ae;border-radius:3px;align-items:center;gap:8px;width:100%;margin-top:10px;padding:7px 10px;font-size:11px;font-weight:700;display:flex}.rotation-button kbd{background:#e3ead6;margin-left:auto}.construction-info>small{color:#74896e;align-items:center;gap:8px;margin-top:11px;font-size:9px;display:flex}.road-options{color:#dce4c6;width:164px;box-shadow:var(--shadow);z-index:5;background:#203745f5;border:1px solid #9aab8466;border-radius:5px;flex-direction:column;padding:12px;display:flex;position:absolute;top:350px;left:90px}.road-options>span{letter-spacing:1px;color:#95b4a1;margin-bottom:9px;font-size:8px;font-weight:800}.road-options button{text-align:left;border-radius:3px;justify-content:space-between;align-items:center;gap:7px;padding:10px 8px;font-size:11px;display:flex}.road-options button small{color:#99b29e;font-size:8px}.road-options button.active{color:#f0ce87;background:#486358}.road-options button:hover:not(:disabled){background:#3f5854}.game-dock{color:#dde8ce;pointer-events:none;z-index:7;justify-content:space-between;align-items:center;gap:15px;display:flex;position:absolute;bottom:20px;left:18px;right:18px}.game-dock>*{pointer-events:auto}.dock-actions{box-shadow:var(--shadow);background:#203745f5;border:1px solid #90ab8e66;border-radius:5px;align-items:center;gap:3px;padding:5px;display:flex}.build-toggle{letter-spacing:.7px;color:#e4d2a6;border-radius:3px;align-items:center;gap:9px;min-height:37px;margin-right:3px;padding:0 13px;font-size:11px;font-weight:900;display:flex}.build-toggle.active{color:#293f46;background:#edc16b;box-shadow:0 2px #b68d42}.build-toggle.active svg:last-child{transform:rotate(180deg)}.dock-actions>.icon-button{width:34px}.map-status{color:#395c49;background:#dbe5c9ba;border:1px solid #88a77455;border-radius:3px;align-items:center;gap:9px;max-width:430px;padding:8px 12px;font-size:10px;display:flex}.map-status>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.warning-mark{background:#d48757;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #c9855822}.time-dock{box-shadow:var(--shadow);background:#203745f5;border:1px solid #90ab8e66;border-radius:5px;flex-shrink:0;align-items:center;gap:10px;padding:5px 10px;display:flex}.game-date{align-items:center;gap:8px;padding-right:5px;display:flex}.game-date>svg{color:#e7c076}.game-date>span{letter-spacing:.6px;color:#b6c4af;font-size:8px}.game-date strong{color:#f0dfb0;letter-spacing:0;font-variant-numeric:tabular-nums;margin-left:4px;font-size:13px}.game-date>small{color:#89a598;font-size:10px}.toolbar-divider{background:#bfd3ab22;width:1px;height:23px}.speed-controls{align-items:center;gap:3px;display:flex}.speed-controls .icon-button{width:31px;height:31px}.speed-controls>button:not(.icon-button){color:#a9bfa6;border-radius:3px;width:29px;height:29px;font-size:11px;font-weight:700}.speed-controls>button.active:not(.icon-button){color:#f3d595;background:#456458}.city-growth{color:#456747;opacity:.8;align-items:center;gap:8px;width:295px;font-size:8px;font-weight:700;display:flex;position:absolute;bottom:5px;left:24px}.city-growth>div{background:#476c4a25;border-radius:2px;flex:1;height:3px;overflow:hidden}.city-growth i{background:#547f48;height:100%;display:block}.city-growth small{font-size:8px}.toast{color:#eef0d2;min-width:270px;max-width:520px;box-shadow:var(--shadow);z-index:20;background:#263e49;border:1px solid #85ad90;border-left:4px solid #a6c682;border-radius:5px;align-items:center;gap:13px;padding:13px 16px;animation:.2s ease-out toast-in;display:flex;position:absolute;top:111px;left:50%;transform:translate(-50%)}.toast>span{color:#c8d7a7}.toast p{flex:1;font-size:12px;line-height:1.6}.toast .icon-button{color:#9ab099;width:23px;height:23px}.toast .icon-button svg{width:15px}.toast.warning{border-left-color:#ecc377}.toast.success{border-left-color:#9fcd96}@keyframes toast-in{0%{opacity:0;translate:0 -7px}to{opacity:1;translate:0}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#102939ab;justify-content:center;align-items:center;padding:26px;display:flex;position:fixed;inset:0}.modal{color:var(--ink);overscroll-behavior:contain;background:#f1efe4;border:1px solid #a6b79f;border-top:4px solid #edc16b;border-radius:7px;width:460px;max-width:100%;max-height:calc(100dvh - 52px);padding:28px;animation:.15s ease-out panel-in;overflow-y:auto;box-shadow:0 22px 80px #0a223777}.modal.wide{width:760px}.modal-head{border-bottom:1px solid #cbd6c2;justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:24px;padding-bottom:20px;display:flex}.modal-head .eyebrow{color:#758b73;font-size:9px}.modal-head h2{letter-spacing:-.8px;margin-top:7px;font-size:29px;font-weight:900}.modal-head>.icon-button{color:#7d907c;background:#dfe7d3;width:30px;height:30px}.modal-head>.icon-button svg{width:17px}.modal>p{color:#738570;font-size:13px;line-height:1.8}.modal h3{letter-spacing:-.1px;font-size:15px;font-weight:800}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:26px;display:flex}.difficulty-options{flex-direction:column;gap:8px;margin:12px 0 27px;display:flex}.difficulty-options button{text-align:left;background:#e7eadc;border:1px solid #d1d9c4;border-radius:4px;align-items:center;gap:13px;padding:14px;display:flex}.difficulty-options strong{min-width:83px;font-size:12px}.difficulty-options span{color:#7a8d75;font-size:11px}.difficulty-options .selected{background:#dce8ce;border-color:#8eaa7b;box-shadow:inset 3px 0 #6e9470}.milestone-banner{background:#e1e8d7;border:1px solid #c6d5ba;border-radius:5px;align-items:center;gap:18px;margin-bottom:15px;padding:20px;display:flex}.milestone-icon{color:#527457;background:#c6d9b7;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.milestone-banner strong{margin:5px 0;font-size:27px;font-weight:900;display:block}.milestone-banner div>span:last-child{color:#778c6f;font-size:11px;display:block}.quest-list{margin-top:25px}.quest-row{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:20px 0;display:flex}.quest-icon{color:#8a9c7a;background:#e3e8d9;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:39px;height:39px;display:flex}.quest-icon.ready{color:#557a52;background:#d4e2c8}.quest-row>div:nth-child(2){flex:1}.quest-row h3{margin-bottom:5px;font-size:13px}.quest-row p{color:#7d8e74;margin-bottom:10px;font-size:11px;line-height:1.6}.quest-row .progress{height:4px}.quest-row small{color:#899c7c;margin-top:6px;font-size:9px;display:block}.quest-reward{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.quest-reward strong{color:#947541;font-size:15px}.quest-row.claimed{opacity:.6}.finance-overview{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px;display:grid}.finance-overview>div{color:#f0dfb9;background:#213c47;border:1px solid #88a48b;border-radius:4px;padding:20px}.finance-overview span{letter-spacing:1.2px;color:#aec5ad;font-size:9px;font-weight:700}.finance-overview strong{letter-spacing:-1px;margin-top:9px;font-size:31px;display:block}.finance-overview strong.positive{color:#a6d4a3!important}.finance-overview strong.negative{color:#e9ac88!important}.finance-columns,.service-grid{grid-template-columns:1fr 1fr;gap:30px;margin-bottom:28px;display:grid}.finance-columns>section:last-child{border-left:1px solid var(--line);padding-left:25px}.ledger{margin:15px 0;font-size:12px}.ledger>div{border-bottom:1px solid #d6deca;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.ledger dt{color:#7d8e77}.ledger dd{color:#477758;text-align:right;margin:0;font-weight:700}.ledger .ledger-total{border-bottom:0;padding-top:16px;font-weight:800}.ledger-total dt{color:#465e4e}.panel-note{color:#839378;margin:15px 0;font-size:11px;line-height:1.8}.range-label{margin:17px 0}.range-label>span{color:#75886e;justify-content:space-between;align-items:center;font-size:11px;font-weight:400;display:flex}.range-label strong{color:#537659;font-size:11px}.range-label input{accent-color:#61886a;cursor:pointer;width:100%;margin-top:11px}.history-chart{margin:16px 0}.history-chart svg{width:100%;height:auto;display:block}.history-chart text{fill:#7d9073;font:10px Arial,sans-serif}.chart-empty{text-align:center;color:#8e9d7f;background:#e5ebda;border:1px dashed #becdb0;border-radius:4px;margin:17px 0;padding:36px;font-size:12px}.loan-box{color:#6f8963;background:#e4e9da;border:1px solid #cbd7bd;border-radius:4px;align-items:center;gap:15px;margin-top:22px;padding:17px;display:flex}.loan-box strong{font-size:12px}.loan-box p{color:#819775;margin-top:5px;font-size:10px;line-height:1.7}.loan-box .button{flex-shrink:0;margin-left:auto}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:28px;display:grid}.stats-grid>div{background:#e2e9d7;border:1px solid #cbd8bd;border-radius:4px;padding:16px}.stats-grid span{color:#7e9472;font-size:10px}.stats-grid strong{color:#496d4e;letter-spacing:-.6px;margin:9px 0;font-size:29px;font-weight:900;display:block}.stats-grid small{color:#8b9b7c;font-size:9px;line-height:1.7;display:block}.service-grid{margin-top:27px}.coverage-row{align-items:center;gap:12px;margin:17px 0;font-size:11px;display:flex}.coverage-row>span{color:#7e9174;width:88px}.coverage-row .progress{flex:1;height:5px}.coverage-row strong{color:#64835b;text-align:right;width:33px;font-size:10px}.achievement-grid{grid-template-columns:repeat(3,1fr);gap:11px;margin-top:17px;display:grid}.achievement-grid>div{text-align:center;color:#9aa790;background:#e8ebdf;border:1px solid #d0dac5;border-radius:4px;flex-direction:column;align-items:center;gap:10px;padding:19px 12px;display:flex;position:relative}.achievement-grid strong{font-size:12px}.achievement-grid span{font-size:10px;line-height:1.5}.achievement-grid .earned{color:#577d51;background:#dbe7ce;border-color:#b5cda5}.achievement-grid>div>svg:last-child:not(:first-child){position:absolute;top:9px;right:9px}.setting-row{border-bottom:1px solid #cfdac4;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;display:flex}.setting-row strong{color:#4b674e;font-size:13px}.setting-row p{color:#87987a;margin-top:5px;font-size:11px;line-height:1.7}.setting-row input{accent-color:#52795c;cursor:pointer;flex-shrink:0;width:17px;height:17px}.backup-section{padding-top:27px}.backup-section h3{margin-top:9px;font-size:21px}.backup-section>p{color:#829676;margin-top:8px;font-size:11px;line-height:1.8}.backup-actions{gap:10px;margin-top:19px;display:flex}.backup-actions .button{flex:1;padding:10px;font-size:11px}.import-confirm{color:#9b7c42;background:#efe3c9;border:1px solid #d6c498;border-radius:4px;margin-top:18px;padding:16px;font-size:12px;line-height:1.7}.import-confirm>div{gap:9px;margin-top:14px;display:flex}.settings-footer{color:#8a9d7a;align-items:center;gap:7px;margin-top:28px;font-size:10px;display:flex}.help-intro{color:#7c9271;margin-bottom:27px;font-size:13px;line-height:1.8}.help-steps{flex-direction:column;gap:24px;margin-bottom:30px;display:flex}.help-steps>div{align-items:flex-start;gap:17px;display:flex}.help-steps>div>span{color:#5f8258;background:#dfe8d2;border:1px solid #c4d7b3;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:flex}.help-steps h3{margin-bottom:6px;font-size:13px}.help-steps p{color:#849678;font-size:11px;line-height:1.8}.shortcut-grid{grid-template-columns:1fr 1fr;gap:9px 26px;margin-top:13px;display:grid}.shortcut-grid>div{color:#7a906f;border-bottom:1px solid #d7dfcc;align-items:center;gap:10px;padding:9px 0;font-size:11px;display:flex}.shortcut-grid kbd{white-space:normal;max-width:145px;font-size:9px}.notification-empty{text-align:center;color:#849b75;padding:36px 20px}.notification-empty>svg{margin-bottom:20px}.notification-empty p{margin-top:10px;font-size:12px;line-height:1.7}.notification-list article{color:#819772;border-bottom:1px solid #d5dfc8;align-items:center;gap:13px;padding:17px 0;display:flex}.notification-list article>span{background:#e0e9d1;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notification-list article.warning>span{color:#b18a4c;background:#eddfc4}.notification-list article p{color:#6a8361;font-size:12px;line-height:1.7}.notification-list article small{color:#98a689;font-size:9px}.notification-list article>svg{margin-left:auto}.pause-city{border-bottom:1px solid var(--line);align-items:center;gap:17px;padding-bottom:24px;display:flex}.pause-city h3{letter-spacing:-.6px;margin-bottom:6px;font-size:24px;font-weight:900}.pause-city span:not(.brand-icon){color:#829675;font-size:11px}.pause-menu>.button{margin-top:12px}.pause-save-note{text-align:center;color:#8a9b7c;margin-top:23px;font-size:10px;line-height:1.8}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.build-menu{height:270px}.building-art{height:119px;min-height:119px}.building-art img{width:155px;height:118px}.building-card{width:166px}.building-card-info{padding:4px 12px 10px}.building-card-info strong{font-size:12px}.building-benefit{font-size:10px}.building-cost{font-size:14px}.construction-info{width:280px;padding:25px}.construction-info h3{font-size:19px}.construction-info p{font-size:11px}.construction-info>small{font-size:10px}.with-build-menu .minimap{bottom:364px}.with-build-menu .building-panel{max-height:calc(100dvh - 470px)}.resource strong{font-size:20px}.money-resource strong{font-size:23px}.save-button span{display:block}}@media(max-width:1250px){.resource{gap:6px;padding:0 10px}.resource-icon svg{width:18px}.resource strong{font-size:16px}.money-resource strong{font-size:18px}.resource>div>span:first-child{letter-spacing:1px;font-size:7px}.jobs-resource{display:none}.city-badge{width:213px;min-width:195px}.catalog-label{display:none}.build-menu-heading{gap:9px}.build-categories button{padding:0 11px}.construction-info{width:190px;padding:16px}.map-status{display:none}.city-grid{gap:16px}.city-card-content{padding:19px}.splash-town{width:85%;bottom:0;left:-11%}.splash-brand h1{font-size:100px}.splash-brand{top:10%;left:5%}.auth-page{padding-right:4%}.auth-form{width:344px;padding:25px}.menu-main{padding-left:5%;padding-right:5%}}@media(max-width:1000px){.game-header{gap:9px;top:12px;left:12px;right:12px}.city-badge{gap:8px;width:180px;min-width:170px;padding:9px}.city-badge strong{max-width:114px;font-size:14px}.city-badge>span>small{letter-spacing:.7px;font-size:7px}.city-emblem{width:33px;height:38px}.city-emblem svg{width:21px}.resource-bar{padding:9px 0}.resource-icon{display:none}.resource strong{font-size:15px}.resource strong>small{font-size:9px}.money-resource strong{font-size:18px}.resource>div>small{font-size:8px}.header-actions{padding:6px 4px}.header-actions .icon-button{width:28px}.save-button{padding:7px 4px}.tool-rail{padding:6px;top:101px;left:12px}.tool-rail>.icon-button,.layers-control>.icon-button{width:33px;height:34px}.tutorial-card{width:219px;padding:11px 14px;top:101px;left:71px}.right-rail{width:250px;top:101px;right:12px}.building-panel{padding:13px 16px}.building-panel-art{height:116px}.building-panel-art img{width:151px;height:116px}.building-panel h2{font-size:21px}.building-panel-art>span{font-size:8px}.building-panel>p{font-size:10px}.build-menu{height:230px;bottom:74px;left:71px;right:12px}.build-menu-heading{height:45px;min-height:45px;padding:0 10px}.build-categories button{gap:5px;padding:0 9px;font-size:10px}.build-categories button svg{width:15px}.building-count,.construction-info{display:none}.building-list{gap:9px;padding:11px 12px}.building-card{width:143px}.building-art{height:97px;min-height:97px}.building-art img{width:128px;height:96px}.building-cost{font-size:12px}.game-dock{gap:7px;bottom:18px;left:12px;right:12px}.dock-actions>.icon-button{width:30px;height:32px}.build-toggle{gap:7px;min-height:33px;padding:0 9px;font-size:10px}.time-dock{gap:7px;padding:5px 7px}.game-date{gap:5px}.game-date>small{display:none}.speed-controls>button:not(.icon-button){width:24px}.speed-controls .icon-button{width:28px;height:28px}.minimap{width:145px;padding:8px;bottom:91px;right:12px}.minimap canvas{width:127px;height:127px}.with-build-menu .minimap{bottom:319px}.with-build-menu .building-panel{max-height:calc(100dvh - 415px)}.overlay-legend{font-size:9px;top:89px;left:71px}.game-app:has(.overlay-legend) .tutorial-card{top:130px}.road-options{top:315px;left:71px}.toast{top:101px}.splash-brand h1{letter-spacing:-5px;font-size:84px}.splash-brand p{font-size:13px}.splash-brand .edition-tag{letter-spacing:2px;font-size:8px}.splash-town{width:100%;bottom:1%;left:-22%}.splash-brand{top:13%;left:5%}.auth-form{width:328px;padding:24px}.auth-form h2{font-size:26px}.auth-page{padding-right:4%}.city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand small{display:none}.menu-backdrop{width:1050px;right:-45%}.city-growth{width:255px;left:18px}}@media(max-width:760px){.game-header{flex-wrap:wrap;gap:7px;top:10px;left:10px;right:10px}.city-badge{flex:1;width:auto;min-width:0;max-width:calc(100% - 108px);height:51px}.city-badge strong{max-width:230px}.city-badge>span>small{margin-top:4px}.city-emblem{height:32px}.header-actions{order:1;gap:1px;height:51px;margin-left:auto}.resource-bar{flex-basis:100%;order:2;height:64px;padding:7px 0}.resource{justify-content:flex-start;padding:0 10px}.resource strong{font-size:15px}.resource>div>span:first-child{margin-bottom:4px;font-size:7px}.resource>div>small{margin-top:4px;font-size:8px}.money-resource{flex:1.2}.money-resource strong{font-size:17px}.utility-resource strong>small{font-size:8px}.hud-meter{height:2px;margin-top:5px}.tool-rail{top:143px;left:10px}.tool-rail>.icon-button,.layers-control>.icon-button{width:30px;height:31px}.tool-rail svg{width:17px}.tutorial-card{width:205px;padding:10px 12px;top:143px;left:65px}.tutorial-card h3{font-size:14px}.tutorial-card p,.tutorial-card .text-button{font-size:10px}.right-rail{width:225px;top:143px;right:10px}.building-panel{max-height:calc(100dvh - 220px);padding:11px 14px}.with-build-menu .building-panel{max-height:calc(100dvh - 432px)}.building-panel-art{height:98px}.building-panel-art img{width:129px;height:98px}.building-details{font-size:10px}.building-details>div{padding:7px 0}.game-app:has(.building-panel) .tutorial-card{display:none}.build-menu{height:213px;bottom:77px;left:65px;right:10px}.build-menu-heading{gap:4px;height:42px;min-height:42px;padding:0 6px}.build-categories button{gap:5px;padding:0 10px;font-size:10px}.build-categories button svg{width:16px}.build-categories{gap:0}.building-list{gap:8px;padding:9px}.building-card{width:132px}.building-art{height:88px;min-height:88px}.building-art img{width:118px;height:87px}.building-card-info{padding:2px 8px 6px}.building-card-info strong{font-size:10px}.building-benefit{font-size:8px}.building-cost{padding-top:6px;font-size:12px}.building-cost>span{font-size:7px}.game-dock{gap:6px;bottom:24px;left:10px;right:10px}.dock-actions>.icon-button{width:28px}.dock-actions>.icon-button:nth-last-child(2){display:none}.dock-actions{gap:1px;padding:4px}.build-toggle{gap:5px;padding:0 8px}.build-toggle>svg:first-child{width:18px}.build-toggle>svg:last-child{display:none}.time-dock{gap:5px;padding:5px}.game-date{gap:4px;padding-right:0}.game-date>span{font-size:7px}.game-date strong{margin-left:2px;font-size:11px}.game-date>svg{width:15px}.speed-controls{gap:1px}.speed-controls>button:not(.icon-button){width:22px;font-size:10px}.speed-controls .icon-button{width:27px;height:27px}.speed-controls .icon-button svg{width:15px}.minimap{display:none}.city-growth{width:225px;bottom:7px;left:14px}.overlay-legend{max-width:calc(100% - 80px);font-size:9px;top:143px;left:65px}.game-app:has(.overlay-legend) .tutorial-card{top:184px}.road-options{width:145px;top:350px;left:65px}.road-options>span{font-size:7px}.road-options button{padding:8px 5px;font-size:10px}.toast{gap:9px;min-width:240px;max-width:calc(100% - 30px);padding:10px 12px;top:145px}.toast p{font-size:11px}.splash-brand{top:7%;left:6%}.splash-brand h1{font-size:77px}.splash-brand p{display:none}.splash-town{opacity:.6;width:125%;bottom:8%;left:-34%}.auth-page{justify-content:flex-end;align-items:center;min-height:820px;padding-top:180px}.auth-form{width:320px;margin-top:80px}.splash-caption{font-size:10px;bottom:70px}.splash-footer{font-size:8px}.splash-footer>span:nth-child(2){display:none}.menu-header{padding:23px 5%}.menu-main{padding:35px 5% 45px}.menu-intro h1{font-size:43px}.menu-intro .button{padding:11px 15px;font-size:12px}.city-card-art{height:174px}.city-card-content{padding:18px}.city-card-content h2{font-size:22px}.city-card-stats{gap:10px;font-size:11px}.city-card-bottom .text-button{font-size:11px}.city-card-bottom>span{font-size:9px}.modal-backdrop{padding:16px}.modal{max-height:calc(100dvh - 32px);padding:23px 21px}.modal-head h2{font-size:25px}.stats-grid{grid-template-columns:repeat(2,1fr)}.finance-columns,.service-grid{gap:21px}.finance-columns>section:last-child{padding-left:18px}.quest-row{gap:10px}.quest-icon{width:30px;height:30px}.quest-icon svg{width:16px}}@media(max-width:520px){.auth-page{justify-content:center;align-items:flex-start;min-height:100dvh;padding:198px 20px 78px;display:flex}.splash-brand{top:34px;left:24px}.splash-brand h1{letter-spacing:-4px;margin:13px 0 0;font-size:67px}.splash-brand h1 i{font-size:12px}.edition-tag{letter-spacing:1.7px!important;font-size:7px!important}.splash-town{opacity:.2;width:780px;bottom:-120px;left:-345px;transform:rotate(4deg)}.auth-form{border-radius:6px;width:100%;max-width:355px;margin:0;padding:24px 26px}.auth-form h2{font-size:27px}.auth-panel-top{margin-bottom:18px}.splash-caption{display:none}.splash-footer{font-size:7px;bottom:23px;left:25px;right:25px}.splash-sun{width:270px;height:270px;top:0;left:20%}.menu-header .brand{font-size:25px}.user-menu{gap:10px;font-size:8px}.user-menu strong{font-size:12px}.user-menu .icon-button{width:30px;height:30px}.menu-intro{align-items:flex-start;gap:15px}.menu-intro .eyebrow{letter-spacing:1px;font-size:8px}.menu-intro h1{font-size:39px}.menu-intro p{max-width:185px;font-size:11px;line-height:1.7}.menu-intro .button{width:44px;height:44px;margin-top:24px;padding:10px;font-size:0}.menu-intro .button svg{width:21px;height:21px}.city-grid{grid-template-columns:1fr;gap:24px}.city-card-art{height:207px}.city-card-buildings img{object-fit:contain;max-height:197px}.city-card-content h2{font-size:26px}.city-card-content{padding:22px}.city-card-stats,.city-card-bottom .text-button{font-size:12px}.menu-footer{gap:15px;font-size:7px}.empty-cities{padding:42px 20px}.empty-cities h2{font-size:25px}.empty-cities p{font-size:12px}.finance-columns,.service-grid{grid-template-columns:1fr;gap:25px}.finance-columns>section:last-child{border-left:0;padding-left:0}.finance-overview{gap:9px}.finance-overview>div{padding:14px}.finance-overview strong{font-size:24px}.finance-overview span{font-size:8px}.achievement-grid{grid-template-columns:1fr 1fr}.shortcut-grid{grid-template-columns:1fr}.loan-box{gap:9px;padding:13px}.loan-box>svg{width:18px}.loan-box strong{font-size:11px}.loan-box p{font-size:9px}.difficulty-options span{font-size:10px}.difficulty-options strong{min-width:75px}.quest-row h3{font-size:12px}.quest-row p{font-size:10px}.quest-reward strong{font-size:12px}.quest-reward .button{padding:7px 8px;font-size:10px}.backup-actions .button{font-size:10px}.milestone-banner{padding:15px}.milestone-banner strong{font-size:24px}.milestone-icon{width:42px;height:42px}.game-header .city-badge strong{max-width:190px;font-size:14px}.resource{padding:0 7px}.resource strong{font-size:13px}.resource strong>small{font-size:7px}.resource>div>span:first-child{letter-spacing:.6px;font-size:6px}.resource>div>small{font-size:7px}.money-resource strong{font-size:15px}.money-resource{flex:1.15}.utility-resource{flex:1.2}.resource-bar{height:60px}.tool-rail{gap:3px;padding:5px;top:139px}.tool-rail>.icon-button,.layers-control>.icon-button{width:28px;height:31px}.rail-divider{margin:3px 2px}.tutorial-card{display:none}.build-menu{height:199px;bottom:86px;left:59px;right:8px}.build-menu-heading{height:38px;min-height:38px}.build-categories button{gap:5px;padding:0 9px;font-size:9px}.build-categories button svg{width:14px}.building-list{gap:8px;padding:8px}.building-card{width:125px}.building-art{height:79px;min-height:79px}.building-art img{width:109px;height:78px}.building-card-info strong{font-size:10px}.building-cost{font-size:11px}.right-rail{width:208px;top:139px;right:8px}.with-build-menu .building-panel{min-height:110px;max-height:calc(100dvh - 434px)}.building-panel{padding:11px 13px}.building-panel-art{height:97px}.building-panel h2{font-size:20px}.building-details{font-size:10px}.building-panel .eyebrow{font-size:8px}.building-panel .button{gap:6px;font-size:10px}.game-dock{flex-wrap:wrap;justify-content:space-between;gap:5px;bottom:25px;left:8px;right:8px}.dock-actions{gap:0;padding:4px}.dock-actions>.icon-button{width:26px;height:30px}.dock-actions>.icon-button svg{width:16px}.dock-actions>.icon-button:nth-last-child(3){display:none}.build-toggle{letter-spacing:.4px;min-height:30px;padding:0 8px;font-size:9px}.time-dock{gap:4px;padding:5px 4px}.time-dock .toolbar-divider,.game-date{display:none}.speed-controls>button:not(.icon-button){width:22px}.city-growth{width:210px;bottom:9px;left:12px}.overlay-legend{gap:6px;max-width:calc(100% - 70px);padding:7px 10px;font-size:8px;top:139px;left:59px}.road-options{width:149px;top:184px;left:59px}.road-options button{font-size:11px}.layers-menu{width:193px;padding:12px;bottom:0;left:44px}.layers-menu>button{font-size:11px}.toast{max-width:calc(100% - 30px);top:141px}}@media(max-height:720px)and (min-width:761px){.tutorial-card{padding-top:9px;padding-bottom:9px}.tutorial-card p{font-size:10px}.tutorial-card h3{font-size:14px}.tutorial-progress{margin-top:9px}.build-menu{height:220px}.building-art{height:85px;min-height:85px}.building-art img{width:121px;height:84px}.with-build-menu .minimap{bottom:311px}.minimap{width:135px;padding:7px}.minimap canvas{width:119px;height:119px}.tool-rail{gap:3px;padding:6px}.tool-rail>.icon-button,.layers-control>.icon-button{height:30px}.with-build-menu .building-panel{max-height:calc(100dvh - 417px)}.building-panel-art,.building-panel-art img{height:100px}.road-options{top:308px}.auth-page{min-height:680px}.auth-form{padding:23px}.splash-brand{top:7%}.splash-town{bottom:-12%}.splash-brand h1{font-size:91px}}@media(max-height:580px){.game-header{top:8px}.tool-rail{gap:2px;padding:4px;top:97px}.tool-rail>.icon-button,.layers-control>.icon-button{height:25px}.rail-divider{margin:2px}.tutorial-card{display:none}.right-rail{top:97px}.build-menu{height:180px;bottom:69px}.build-menu-heading{height:37px;min-height:37px}.building-list{padding:7px 10px}.building-art{height:70px;min-height:70px}.building-art img{height:70px}.building-card-info{padding:1px 8px 6px}.building-card-info strong{font-size:10px}.building-benefit{font-size:8px}.construction-info{padding:12px 16px}.construction-info p{display:none}.construction-info h3{font-size:14px}.construction-info .rotation-button{margin-top:8px}.game-dock{bottom:17px}.minimap{display:none}.with-build-menu .building-panel{max-height:calc(100dvh - 360px)}.game-app:has(.resource-bar) .road-options{top:136px}.toast{top:102px}.city-growth{bottom:3px}}@media(max-height:580px)and (max-width:760px){.tool-rail,.right-rail{top:137px}.build-menu{height:170px;bottom:71px}.building-art{height:62px;min-height:62px}.building-art img{height:61px}.with-build-menu .building-panel{max-height:calc(100dvh - 393px)}.toast{top:138px}.road-options{top:139px!important}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.land-expansion{border:1px solid var(--line,#d5daca);background:#eff1e5;border-radius:10px;margin-bottom:22px;padding:20px}.land-expansion h3{margin:8px 0;font-size:24px}.land-expansion p{color:#627265;font-size:13px}.land-expansion select{width:100%}.minimap canvas{touch-action:none;cursor:crosshair}.placement-controls{z-index:6;white-space:nowrap;background:#172b36f5;border:1px solid #e0cb9466;border-radius:6px;gap:1px;display:flex;position:absolute;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 18px #10202d55}.placement-controls button{color:#f4e7bd;align-items:center;gap:6px;min-height:36px;padding:9px 11px;font-size:11px;display:flex}.placement-controls button:hover{background:#39505b}.placement-controls small{color:#9eb0b3;font-size:9px}.placement-controls .confirm-placement{color:#1e3540;background:#e5bd72}.placement-controls button:disabled{opacity:.4;cursor:not-allowed}.terrain-options{color:#dce6db;width:248px;box-shadow:var(--shadow);z-index:5;background:#1d3340f5;border:1px solid #9aac9966;border-radius:6px;padding:16px;position:absolute;top:144px;left:84px}.terrain-types{gap:5px;margin:12px 0;display:flex}.terrain-types button{border:1px solid #687f7b;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 7px;font-size:12px;display:flex}.terrain-types button.active{color:#1e3540;background:#e5bd72;border-color:#e5bd72}.terrain-options label{justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.terrain-options select{color:#e8edda;background:#152b35;border-color:#667d76;width:104px;padding:8px}.terrain-options p{color:#b2c1ba;margin:12px 0;font-size:10px;line-height:1.5}.terrain-options strong{color:#edcc90;font-size:12px;display:block}.terrain-options>small{color:#a9bbb2;margin-top:10px;font-size:10px;line-height:1.6;display:block}.road-options>span>small{letter-spacing:0;margin-top:7px;font-size:9px;font-weight:400;line-height:1.5;display:block}.tool-rail{scrollbar-width:thin;max-height:calc(100dvh - 220px);overflow-y:auto}.tool-rail:has(.layers-menu){overflow:visible}@media(max-width:760px){.terrain-options{width:min(240px,100vw - 82px);top:166px;left:65px}.placement-controls button{padding:8px;font-size:10px}}@media(max-height:580px){.terrain-options{padding:10px;top:138px}.terrain-options>small{display:none}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
