*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.grid{display:grid}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f8fafc;background:#101827;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}.app-shell{min-height:100vh;background:radial-gradient(circle at 50% -10%,#2c3a52 0,#101827 43%,#0c1220);padding:20px}.app-frame{max-width:1440px;margin:auto}.hud{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.brand-mark{display:flex;align-items:center;gap:11px;min-width:180px}.brand-mark>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid #73fbd3;border-radius:12px;color:#73fbd3;font-weight:800;letter-spacing:-1px;box-shadow:0 0 20px #73fbd322}.brand-mark strong,.brand-mark small{display:block}.brand-mark strong{font-size:15px;letter-spacing:.02em}.brand-mark small{color:#8490a5;font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-top:2px}.hud-stats{display:flex;align-items:center;gap:10px}.hud-stat{display:flex;align-items:center;gap:9px;padding:8px 14px 8px 9px;border:1px solid #ffffff13;border-radius:14px;background:#ffffff08;min-width:128px}.hud-stat small,.hud-stat strong{display:block}.hud-stat small{color:#8995a9;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.hud-stat strong{color:#f8fafc;font-size:15px;margin-top:2px}.hud-stat em{color:#718096;font-style:normal;font-size:11px;font-weight:400}.stat-icon,.level-badge{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;font-size:16px}.stat-icon.coin{color:#ffd166;background:#ffd1661a}.stat-icon.population{color:#73fbd3;background:#73fbd31a}.level-badge{color:#101827;background:#73fbd3;font-weight:800;font-size:14px}.profile-button{width:38px;height:38px;border:1px solid #ffffff22;border-radius:50%;background:linear-gradient(145deg,#d7b08e,#8d5c48);color:#fff;font-weight:700;cursor:pointer}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:20px;align-items:stretch}.map-column,.control-panel{border:1px solid #ffffff12;border-radius:22px;background:#ffffff06;box-shadow:0 22px 80px #00000020}.map-column{min-width:0;padding:24px;overflow:hidden}.map-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 5px 18px}.map-toolbar h1,.panel-heading h2,.inspector h2,.state-card h1{font-size:25px;line-height:1.1;margin:5px 0 0;letter-spacing:-.035em}.eyebrow{color:#73fbd3;display:block;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:700}.live-pill{display:flex;align-items:center;gap:7px;color:#aab4c5;font-size:11px;border:1px solid #ffffff15;border-radius:99px;padding:7px 10px}.live-pill i{display:block;width:6px;height:6px;border-radius:50%;background:#73fbd3;box-shadow:0 0 10px #73fbd3}.city-map-wrap{min-height:625px;display:grid;place-items:center;overflow:hidden;border-radius:17px;background:radial-gradient(ellipse at center,#a6d2c81c 0,#647c8720 35%,#1c2838 76%)}.city-map{position:relative;width:min(92%,780px);height:600px;transform:translateY(-2%)}.city-map:before{content:"";position:absolute;width:73%;height:65%;left:13.5%;top:11%;transform:skewY(-27deg) rotate(0);border-radius:10px;background:repeating-linear-gradient(90deg,#ffffff0a 0 1px,transparent 1px 12.5%),repeating-linear-gradient(0deg,#ffffff0a 0 1px,transparent 1px 12.5%),linear-gradient(135deg,#305059,#1d3943 55%,#24474a);border:1px solid #b1ebe925;box-shadow:0 40px 30px #00000038,inset 0 0 45px #83f2d00c}.map-sun{position:absolute;top:3%;left:45%;width:130px;height:80px;border-radius:50%;background:#ffd58d22;filter:blur(8px)}.map-tile{position:absolute;z-index:2;width:9.5%;height:8%;transform:translate(-50%,-50%) skewY(27deg);opacity:.01;border:0;cursor:pointer}.map-tile:hover,.map-tile.selected{opacity:.7;background:#73fbd336;outline:1px solid #73fbd3;border-radius:4px}.building-marker,.placement-preview{position:absolute;z-index:4;width:12%;height:14%;transform:translate(-50%,-50%);border:0;background:transparent;cursor:pointer;transform-origin:50% 80%}.building-marker:hover,.building-marker.selected{filter:brightness(1.2);z-index:8}.building-marker.selected .building-face{outline:2px solid #73fbd3;outline-offset:3px}.building-shadow{position:absolute;width:100%;height:34%;bottom:2%;left:4%;transform:skew(-45deg);background:#06131a99;border-radius:5px;filter:blur(3px)}.building-roof{position:absolute;width:75%;height:48%;left:13%;top:7%;transform:skewY(-27deg) rotate(45deg);background:var(--building-color);border-radius:3px;filter:brightness(1.2);box-shadow:0 7px #00000028}.building-face{position:absolute;width:62%;height:52%;left:19%;top:30%;display:grid;place-items:center;transform:skewY(-7deg);border-radius:4px;background:linear-gradient(135deg,var(--building-color),color-mix(in srgb,var(--building-color),#182334 45%));box-shadow:4px 5px #00000035}.building-face b{color:#ffffffc9;font-size:clamp(14px,2.5vw,27px);text-shadow:0 2px 2px #0005}.building-marker small{position:absolute;top:100%;left:50%;transform:translate(-50%);display:none;white-space:nowrap;color:#d7e2e5;font-size:9px;text-shadow:0 2px 3px #000}.building-marker:hover small,.building-marker.selected small{display:block}.construction-dot{position:absolute;right:8%;top:5%;width:8px;height:8px;border-radius:50%;background:#ffd166;box-shadow:0 0 10px #ffd166}.placement-preview{z-index:3;border:2px dashed var(--preview-color);opacity:.65;background:var(--preview-color);transform:translate(-50%,-50%) rotate(var(--preview-rotation));border-radius:5px;display:grid;place-items:center}.placement-preview span{font-size:22px;color:#fff}.map-hint{display:flex;justify-content:space-between;margin:14px 5px 0;color:#637189;font-size:11px}.control-panel{min-height:700px;background:linear-gradient(160deg,#182536,#131c2b)}.panel-content{padding:27px 24px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start}.panel-copy{color:#8290a5;font-size:12px;line-height:1.6;margin:13px 0 20px}.blueprint-icon{display:grid;place-items:center;width:36px;height:36px;color:#73fbd3;border:1px solid #73fbd333;border-radius:12px}.catalog-list{display:grid;gap:8px}.catalog-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:1px solid #ffffff0d;border-radius:13px;padding:10px;color:#f8fafc;background:#ffffff05;cursor:pointer;transition:.18s ease}.catalog-item:hover,.catalog-item.active{border-color:#73fbd36b;background:#73fbd310;transform:translate(2px)}.catalog-item.locked{opacity:.45;cursor:not-allowed}.catalog-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;color:#fff;font-size:20px;border-radius:10px;background:color-mix(in srgb,var(--building-color),#101827 25%);box-shadow:inset 0 -7px 13px #0002}.catalog-icon.large{width:44px;height:44px}.catalog-meta{min-width:0;flex:1}.catalog-meta strong,.catalog-meta small{display:block}.catalog-meta strong{font-size:12px}.catalog-meta small{color:#7d8ba0;margin-top:4px;font-size:10px}.catalog-arrow{color:#738196;font-size:20px}.build-confirm{margin-top:18px;padding-top:18px;border-top:1px solid #ffffff10}.selection-summary{display:flex;align-items:center;gap:11px}.selection-summary strong,.selection-summary small{display:block}.selection-summary strong{font-size:13px}.selection-summary small{color:#7f8ca0;font-size:10px;margin-top:4px}.selection-details{display:flex;justify-content:space-between;margin:18px 0;color:#8390a2;font-size:11px}.selection-details b{display:block;color:#73fbd3;margin-top:4px}.action-row{display:grid;grid-template-columns:auto 1fr;gap:7px}.primary-button,.secondary-button,.danger-button{min-height:40px;border-radius:10px;border:0;cursor:pointer;font-size:11px;font-weight:700;transition:.18s ease}.primary-button{color:#10232b;background:#73fbd3;padding:0 15px}.primary-button:hover{background:#a1ffe3;box-shadow:0 0 20px #73fbd344}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{color:#b5c1d0;border:1px solid #ffffff18;background:#ffffff08;padding:0 11px}.text-button{width:100%;margin-top:11px;color:#7d899b;border:0;background:none;cursor:pointer;font-size:11px}.text-button:hover{color:#fff}.inspector-hero{height:190px;position:relative;display:grid;place-items:center;margin:-27px -24px 22px;overflow:hidden;background:radial-gradient(circle,color-mix(in srgb,var(--building-color),transparent 75%),transparent 65%);border-bottom:1px solid #ffffff0d}.hero-building-icon{position:relative;z-index:1;display:grid;place-items:center;width:98px;height:98px;border-radius:24px;color:#fff;font-size:55px;background:linear-gradient(145deg,var(--building-color),#233348);box-shadow:0 22px 45px #0006,inset 0 1px #fff6}.hero-glow{position:absolute;width:150px;height:55px;bottom:21px;border-radius:50%;background:var(--building-color);opacity:.22;filter:blur(14px)}.close-button{position:absolute;z-index:2;right:17px;top:15px;color:#aab7c9;border:0;background:#0002;border-radius:50%;width:28px;height:28px;cursor:pointer}.inspector h2{margin:6px 0 7px}.status-label{font-size:10px}.status-label.completed{color:#73fbd3}.status-label.constructing{color:#ffd166}.inspector-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:27px 0 20px}.inspector-stats>div{padding:10px 8px;border-radius:10px;background:#ffffff08}.inspector-stats small,.inspector-stats strong{display:block}.inspector-stats small{color:#77859a;font-size:9px}.inspector-stats strong{color:#e6edf5;font-size:12px;margin-top:6px}.danger-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:#ff9a99;border:1px solid #ff77771f;background:#ff77770d}.danger-button:hover{background:#ff77771c}.toast-error{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#ffb4ae;background:#8d302d66;border:1px solid #ff777744;padding:10px 12px;border-radius:10px;margin:-4px 0 12px;font-size:11px}.toast-error button{color:inherit;border:0;background:none;cursor:pointer;font-size:18px}.centered-state{display:grid;place-items:center}.state-card{max-width:400px;text-align:center;padding:35px;border-radius:22px;border:1px solid #ffffff15;background:#ffffff08}.state-card h1{font-size:28px}.state-card p{color:#8b98aa;font-size:13px;line-height:1.6;margin:14px 0 22px}.loading-card{animation:breathe 1.8s ease-in-out infinite}.loader{display:block;width:27px;height:27px;margin:0 auto 22px;border:3px solid #73fbd333;border-top-color:#73fbd3;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{transform:translateY(-4px)}}@media(max-width:900px){.game-layout{grid-template-columns:1fr}.control-panel{min-height:auto}.city-map-wrap{min-height:530px}.city-map{height:510px}}.admin-shell{max-width:1180px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-metric{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.admin-metric small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.admin-metric strong{display:block;margin-top:10px;font-size:28px}.admin-footnote{color:var(--muted);font-size:12px;margin-top:20px}@media(max-width:700px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-header{align-items:flex-start}}@media(max-width:560px){.app-shell{padding:10px}.hud{height:auto;flex-wrap:wrap;margin-bottom:12px}.brand-mark{flex:1}.hud-stats{order:3;width:100%;justify-content:space-between;gap:5px}.hud-stat{flex:1;min-width:0;padding:7px 5px}.hud-stat small{font-size:8px}.hud-stat strong{font-size:12px}.level-stat{display:none}.map-column{padding:12px;border-radius:17px}.map-toolbar h1{font-size:20px}.city-map-wrap{min-height:390px}.city-map{height:380px;width:105%}.map-hint{font-size:9px}.control-panel{border-radius:17px}.panel-content{padding:20px 16px}.map-toolbar{margin:0 3px 13px}}.stat-icon.energy{color:#c6b7ff;background:#c6b7ff1a}.treasury-stat{position:relative}.income-claim{margin-left:auto;padding:5px 7px;border:1px solid #73fbd355;border-radius:8px;color:#73fbd3;background:#73fbd312;cursor:pointer;font-size:10px;font-weight:700}.upgrade-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 14px;min-height:40px;margin-bottom:8px;color:#10232b;border:0;border-radius:10px;background:#ffd166;cursor:pointer;font-size:11px;font-weight:700}.upgrade-button:disabled{opacity:.45;cursor:not-allowed}.economy-panel{margin-top:14px;padding:17px;border-top:1px solid #ffffff10;background:#101a29}.economy-heading strong{display:block;margin-top:5px;font-size:13px}.onboarding-card{display:grid;gap:7px;margin-top:13px;padding:12px;border-radius:11px;background:#ffd1660b;border:1px solid #ffd16624}.onboarding-card>strong{color:#f4e2af;font-size:12px}.onboarding-card>span{color:#9d9274;font-size:9px;line-height:1.45}.onboarding-step{display:flex;align-items:center;gap:7px;color:#dce6ef}.onboarding-step>span{color:#ffd166;font-size:12px}.onboarding-step small{font-size:10px}.onboarding-step.complete{color:#82908f;text-decoration:line-through}.onboarding-step.complete>span{color:#73fbd3}.daily-card,.expansion-card{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px;padding:11px;border-radius:11px;background:#73fbd30c;border:1px solid #73fbd31c}.daily-card small,.daily-card strong,.expansion-card small,.expansion-card strong,.mission-row strong,.mission-row small{display:block}.daily-card small,.expansion-card small,.mission-row small{color:#7d8a9e;font-size:9px}.daily-card strong,.expansion-card strong{margin-top:4px;font-size:11px}.mini-button{padding:7px 9px;border:1px solid #73fbd344;border-radius:7px;color:#73fbd3;background:#73fbd310;cursor:pointer;font-size:9px;font-weight:700;white-space:nowrap}.mini-button:disabled{opacity:.4;cursor:not-allowed}.mission-list{margin-top:17px}.weekly-missions{padding-top:3px;border-top:1px solid #ffffff0a}.section-label{color:#73fbd3;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.mission-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #ffffff0a}.mission-row strong{color:#dce6ef;font-size:10px;margin-bottom:4px}.telegram-light{color-scheme:light}.telegram-dark{color-scheme:dark}body{padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.telegram-notice{display:flex;align-items:center;gap:9px;margin:-3px 0 12px;padding:9px 11px;border:1px solid #ffd16633;border-radius:10px;color:#d8c48b;background:#ffd1660d;font-size:10px}.telegram-notice strong{color:#ffd166}.referral-card{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px;padding:11px;border-radius:11px;background:#b79ced0c;border:1px solid #b79ced22}.referral-card small,.referral-card strong,.referral-card span{display:block}.referral-card small,.referral-card span{color:#8b86a5;font-size:9px}.referral-card strong{color:#d8c9ff;font-size:11px;margin:4px 0}.payment-panel{margin-top:14px;padding:17px;border-top:1px solid #ffffff10;background:#151226}.payment-muted,.payment-status{color:#958eaa;font-size:10px;line-height:1.45}.payment-status{color:#ffd166}.payment-products{margin-top:10px}.payment-product,.purchase-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #ffffff0a}.payment-product strong,.payment-product small,.purchase-row span,.purchase-row small{display:block}.payment-product strong{color:#e6ddff;font-size:10px}.payment-product small,.purchase-row small{color:#8b86a5;font-size:9px;margin-top:3px}.purchase-history{margin-top:14px}
