.districts-module-root{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;padding:16px 20px 24px;display:flex}.districts-section-header{justify-content:space-between;align-items:center;padding-bottom:2px;display:flex}.districts-main-title{color:#f8fafc;margin:0;font-size:1.45rem;font-weight:700}.districts-main-subtitle{color:#94a3b8;margin:2px 0 0;font-size:.78rem}.districts-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.districts-kpi-card{background:#121e2aa6;border:1px solid #94a3b81f;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.kpi-icon-box{border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.kpi-icon-box.blue-box{color:#38bdf8;background:#1e3a5f73;border:1px solid #38bdf84d}.kpi-icon-box.red-box{color:#f87171;background:#ef44442e;border:1px solid #ef44444d}.kpi-icon-box.orange-box{color:#f59e0b;background:#f59e0b2e;border:1px solid #f59e0b4d}.kpi-icon-box.green-box{color:#34d399;background:#34d3992e;border:1px solid #34d3994d}.kpi-text-block{flex-direction:column;display:flex}.kpi-label{color:#94a3b8;font-size:.72rem;font-weight:600}.kpi-value-huge{color:#f8fafc;font-size:1.45rem;font-weight:800;font-family:var(--mono);line-height:1.1}.kpi-value-huge.red-text,.kpi-value-huge.orange-text{color:#f8fafc;font-size:1.15rem}.kpi-value-huge.green-text{color:#34d399}
:root{--dev-bg:#0d1a1f;--dev-panel:#122229;--dev-card-bg:#122229e6;--dev-btn-bg:#122229;--dev-btn-hover:#172b33;--dev-btn-active:#f97316;--dev-border:#94a3b829;--dev-text:#f3f6f7;--dev-muted:#9eadb6;--dev-blue:#4da7e8;--dev-radius:10px;--dev-font:var(--font-sans,system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif);--dev-font-mono:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);--dev-fs-title:13px;--dev-fs-btn:12px;--dev-fs-body:12px;--dev-fs-meta:11px;--dev-fs-kpi:18px}.dev-floating-window{z-index:9999;min-width:320px;max-width:min(1200px,100vw - 16px);min-height:320px;max-height:min(900px,100dvh - 16px);font-family:var(--dev-font);flex-direction:column;display:flex;position:fixed;overflow:hidden;background:var(--dev-bg)!important;border:1px solid #94a3b847!important;border-radius:14px!important;box-shadow:0 20px 50px #00000094!important}.dev-floating-window.minimized{border-bottom-right-radius:14px!important;border-bottom-left-radius:14px!important;min-width:0!important;height:auto!important;min-height:0!important}.dev-floating-header{border-bottom:1px solid var(--dev-border);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#122229;justify-content:space-between;align-items:center;min-height:48px;padding:8px 12px;display:flex}.dev-window-heading,.dev-window-actions{align-items:center;gap:8px;display:flex}.dev-drag-handle{grid-template-columns:repeat(2,3px);gap:3px;padding:6px;display:grid}.dev-drag-handle i{background:#667780;border-radius:50%;width:3px;height:3px}.dev-window-actions{gap:2px}.dev-header-icon-btn{color:#9eadb6;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;width:32px;height:32px;padding:0;display:grid}.dev-header-icon-btn:hover{color:#f3f6f7;border-color:var(--dev-border);background:#172b33}.dev-close-trigger:hover{color:#e85d4a}.dev-window-content{background:#0d1a1f;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.dev-toggle-trigger,.dev-mode-dock{color:var(--dev-text);background:var(--dev-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:var(--dev-font);box-shadow:0 8px 32px #000000b3}
.dev-grid-btn{background:var(--dev-btn-bg);border:1px solid var(--dev-border);color:#e2e8f0;font-family:var(--dev-font);font-size:var(--dev-fs-btn,12px);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-weight:600;transition:all .15s;display:flex}.dev-grid-btn:hover{background:var(--dev-btn-hover);color:#fff;border-color:#ffffff40}.dev-grid-btn.active{color:#fff;background:#38bdf833;border-color:#38bdf8;font-weight:700}.dev-icon-btn{background:var(--dev-btn-bg);border:1px solid var(--dev-border);color:#94a3b8;font-family:var(--dev-font);font-size:var(--dev-fs-meta,11px);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 8px;font-weight:600;transition:all .2s;display:flex}.dev-icon-btn svg{color:#38bdf8;transition:transform .2s}.dev-icon-btn:hover{background:var(--dev-btn-hover);color:#fff;border-color:#38bdf866}.dev-icon-btn:hover svg{transform:translateY(-2px)}.dev-icon-btn.active{color:#fff;background:#38bdf840;border-color:#38bdf8;font-weight:700;box-shadow:0 0 12px #38bdf840}.dev-full-action-btn{border:1px solid var(--dev-border);color:#f1f5f9;width:100%;font-family:var(--dev-font);font-size:var(--dev-fs-btn,12px);cursor:pointer;background:#1e293bcc;border-radius:8px;padding:10px;font-weight:600;transition:all .2s}.dev-full-action-btn:hover{color:#fca5a5;background:#ef444433;border-color:#ef444480}.dev-badge{color:#f3f6f7;font-family:var(--dev-font);font-size:var(--dev-fs-meta,11px);letter-spacing:.04em;text-transform:uppercase;background:#f973161a;border:1px solid #f9731661;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-weight:700;display:inline-flex}.dev-badge svg{color:#f97316}.dev-pause-btn{color:#9ce0b1;min-height:30px;font-family:var(--dev-font);font-size:var(--dev-fs-meta,11px);cursor:pointer;background:#55c4771a;border:1px solid #55c47752;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-weight:700;display:inline-flex}.dev-pause-btn.paused{color:#e8c466;background:#e8a52b1f;border-color:#e8a52b73}.dev-btn-sm{border:1px solid var(--dev-border);background:var(--dev-btn-bg);color:#fff;font-family:var(--dev-font);font-size:var(--dev-fs-meta,11px);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;transition:all .12s;display:inline-flex}.dev-btn-sm:hover{color:#000;background:#fff;border-color:#fff;font-weight:700}.dev-btn-sm.active{color:#fff;background:#0284c7;border-color:#38bdf8;font-weight:700}.dev-select{background-color:var(--dev-panel,#122229);color:var(--dev-text,#f3f6f7);border:1px solid var(--dev-border,#94a3b847);font-size:var(--dev-fs-meta,11px);font-family:var(--dev-font);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%3C9EADB6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:12px;border-radius:6px;outline:none;padding:6px 28px 6px 10px;font-weight:500;transition:all .15s}.dev-select:hover{background-color:var(--dev-btn-hover,#172b33);border-color:#94a3b866}.dev-select:focus{border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf833}.dev-select option{color:#f3f6f7;background-color:#0d1a1f;padding:8px}
.dev-floating-window,.dev-main-nav-bar,.dev-window-content,.dev-panel-scroll-content,.dev-inspector-body,.dev-log-list,.dev-showroom-panel{scrollbar-width:thin;scrollbar-color:#4da7e859 #0d1a1f99}.dev-floating-window::-webkit-scrollbar{width:6px;height:6px}.dev-main-nav-bar::-webkit-scrollbar{width:6px;height:6px}.dev-window-content::-webkit-scrollbar{width:6px;height:6px}.dev-panel-scroll-content::-webkit-scrollbar{width:6px;height:6px}.dev-inspector-body::-webkit-scrollbar{width:6px;height:6px}.dev-log-list::-webkit-scrollbar{width:6px;height:6px}.dev-showroom-panel::-webkit-scrollbar{width:6px;height:6px}.dev-floating-window::-webkit-scrollbar-track{background:#0d1a1f99;border-radius:4px}.dev-main-nav-bar::-webkit-scrollbar-track{background:#0d1a1f99;border-radius:4px}.dev-window-content::-webkit-scrollbar-track{background:#0d1a1f99;border-radius:4px}.dev-panel-scroll-content::-webkit-scrollbar-track{background:#0d1a1f99;border-radius:4px}.dev-inspector-body::-webkit-scrollbar-track{background:#0d1a1f99;border-radius:4px}.dev-log-list::-webkit-scrollbar-track{background:#0d1a1f99;border-radius:4px}.dev-showroom-panel::-webkit-scrollbar-track{background:#0d1a1f99;border-radius:4px}.dev-floating-window::-webkit-scrollbar-thumb{background:#4da7e859;border:1px solid #94a3b81a;border-radius:4px;transition:background .2s}.dev-main-nav-bar::-webkit-scrollbar-thumb{background:#4da7e859;border:1px solid #94a3b81a;border-radius:4px;transition:background .2s}.dev-window-content::-webkit-scrollbar-thumb{background:#4da7e859;border:1px solid #94a3b81a;border-radius:4px;transition:background .2s}.dev-panel-scroll-content::-webkit-scrollbar-thumb{background:#4da7e859;border:1px solid #94a3b81a;border-radius:4px;transition:background .2s}.dev-inspector-body::-webkit-scrollbar-thumb{background:#4da7e859;border:1px solid #94a3b81a;border-radius:4px;transition:background .2s}.dev-log-list::-webkit-scrollbar-thumb{background:#4da7e859;border:1px solid #94a3b81a;border-radius:4px;transition:background .2s}.dev-showroom-panel::-webkit-scrollbar-thumb{background:#4da7e859;border:1px solid #94a3b81a;border-radius:4px;transition:background .2s}.dev-floating-window::-webkit-scrollbar-thumb:hover{background:#f97316}.dev-main-nav-bar::-webkit-scrollbar-thumb:hover{background:#f97316}.dev-window-content::-webkit-scrollbar-thumb:hover{background:#f97316}.dev-panel-scroll-content::-webkit-scrollbar-thumb:hover{background:#f97316}.dev-inspector-body::-webkit-scrollbar-thumb:hover{background:#f97316}.dev-log-list::-webkit-scrollbar-thumb:hover{background:#f97316}.dev-showroom-panel::-webkit-scrollbar-thumb:hover{background:#f97316}
.dev-panel-container{background:#090e15;flex-direction:column;width:100%;height:100%;display:flex}.dev-main-nav-bar{border-bottom:1px solid var(--dev-border);-webkit-overflow-scrolling:touch;scrollbar-width:thin;white-space:nowrap;background:#0d1a1f;gap:3px;padding:4px 6px;display:flex;overflow-x:auto}.dev-nav-btn{color:#94a3b8;min-height:36px;font-family:var(--dev-font);font-size:var(--dev-fs-btn,12px);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:auto;justify-content:center;align-items:center;gap:4px;padding:6px 10px;font-weight:600;transition:all .15s;display:inline-flex}.dev-nav-btn:hover{color:#fff;background:#ffffff14}.dev-nav-btn.active{color:#f3f6f7;background:#f9731626;border-color:#f9731666;font-weight:700}.dev-nav-btn.active svg{color:#f97316}.dev-nav-btn:focus-visible,.dev-floating-window button:focus-visible,.dev-floating-window input:focus-visible,.dev-floating-window select:focus-visible{outline-offset:2px;outline:2px solid #4da7e8}.dev-panel-scroll-content{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.dev-panel-section{flex-direction:column;gap:8px;display:flex}.dev-panel-section-title{font-family:var(--dev-font);font-size:var(--dev-fs-title,13px);color:#38bdf8;letter-spacing:.05em;text-transform:uppercase;font-weight:700}.dev-button-grid{gap:8px;display:grid}.dev-button-grid.col-2{grid-template-columns:repeat(2,1fr)}.dev-button-grid.col-3{grid-template-columns:repeat(3,1fr)}.dev-button-grid.col-4{grid-template-columns:repeat(4,1fr)}.dev-button-grid.col-5{grid-template-columns:repeat(5,1fr)}.dev-segmented-row{border:1px solid var(--dev-border);background:#0f172a99;border-radius:6px;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.dev-status-dot{background:#64748b;border-radius:50%;width:7px;height:7px;transition:all .15s;display:inline-block}.dev-status-dot.active{background:#10b981;box-shadow:0 0 6px #10b981}.dev-toast-badge{color:#fff;background:#059669;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;animation:.2s ease-out devToastFade;display:inline-flex}@keyframes devToastFade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@media (max-width:520px){.dev-floating-window{min-width:0;max-width:none;width:calc(100vw - 20px)!important}.dev-nav-btn{padding:6px 4px;font-size:11px}.dev-nav-btn svg,.dev-pause-btn span{display:none}}@media (prefers-reduced-motion:reduce){.dev-floating-window,.dev-nav-btn,.dev-grid-btn,.dev-icon-btn{transition:none!important}}

.dev-inspector-empty{text-align:center;color:#9eadb6;flex:1;place-content:center;justify-items:center;gap:12px;padding:32px;display:grid}.dev-inspector-placeholder-icon{color:#4da7e8;background:#4da7e81a;border:1px solid #4da7e840;border-radius:14px;place-items:center;width:56px;height:56px;display:grid}.dev-inspector-empty h3{color:#f3f6f7;margin:0 0 6px;font-size:16px}.dev-inspector-empty p{max-width:320px;margin:0;font-size:13px;line-height:1.5}.dev-inspector-empty-hint{color:#c7d4d9;border:1px solid var(--dev-border);background:#122229;border-radius:7px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:inline-flex}.dev-inspector-content{background:var(--dev-bg);flex-direction:column;flex:1;min-height:0;display:flex}.dev-inspector-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 10px;display:flex}.dev-object-type{color:var(--dev-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:700;display:block}.dev-object-name{color:var(--dev-text);overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:700;line-height:1.15}.dev-close-btn{width:32px;height:32px;color:var(--dev-muted);border:1px solid var(--dev-border);cursor:pointer;background:0 0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.dev-close-btn:hover{color:var(--dev-text);background:var(--dev-btn-hover);border-color:#94a3b847}.dev-coords-bar{border-bottom:1px solid var(--dev-border);flex-wrap:wrap;align-items:center;gap:6px;padding:0 16px 12px;display:flex}.dev-coord-tag{min-height:26px;color:var(--dev-muted);border:1px solid var(--dev-border);white-space:nowrap;background:#122229b3;border-radius:6px;align-items:center;gap:4px;padding:3px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:inline-flex}.dev-coord-tag-camera{color:#73d6a1;background:#55c47714;border-color:#55c47747}.dev-copy-view-btn{color:#f3b17b;cursor:pointer;background:#f973161a;border:1px solid #f9731652;border-radius:6px;align-items:center;gap:5px;min-height:28px;margin-left:auto;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.dev-copy-view-btn:hover{color:var(--dev-text);background:#f973162e;border-color:#f973168c}.dev-copy-view-btn.is-copied{color:#d8f3df;background:#55c47729;border-color:#55c4777a}@media (min-width:521px){.dev-coords-bar{flex-wrap:nowrap}}.dev-inspector-tabs{border-bottom:1px solid var(--dev-border);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:10px 16px;display:grid}.dev-inspector-tabs button{min-height:34px;color:var(--dev-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:6px 4px;font-size:11px;font-weight:700;display:inline-flex}.dev-inspector-tabs button:hover{color:var(--dev-text);background:var(--dev-btn-hover)}.dev-inspector-tabs button.active{color:var(--dev-text);background:#f9731621;border-color:#f9731661}.dev-inspector-tabs button.active svg{color:#f97316}.dev-inspector-body{flex:1;min-height:0;padding:12px 16px 16px;overflow:auto}.dev-prop-grid{gap:6px;display:grid}.dev-prop-row{border:1px solid var(--dev-border);background:#12222994;border-radius:8px;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);align-items:start;gap:12px;padding:8px 10px;display:grid}.dev-prop-key{color:var(--dev-muted);font-size:12px;font-weight:600;line-height:1.4}.dev-prop-val{min-width:0;color:var(--dev-text);overflow-wrap:anywhere;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.4}.dev-history-list{gap:6px;display:grid}.dev-history-item{border:1px solid var(--dev-border);background:#12222994;border-radius:8px;grid-template-columns:auto minmax(90px,.8fr) minmax(0,1.2fr);align-items:start;gap:8px;padding:9px 10px;font-size:12px;display:grid}.dev-hist-time{color:var(--dev-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.dev-hist-prop{color:var(--dev-text);font-weight:700}.dev-hist-change{min-width:0;color:var(--dev-muted);overflow-wrap:anywhere}.dev-hist-change .old{color:#e8a52b}.dev-hist-change .new{color:#55c477}.dev-empty-msg{color:var(--dev-muted);text-align:center;padding:24px 12px;font-size:13px}.dev-json-view{color:#c7d4d9;border:1px solid var(--dev-border);background:#091316;border-radius:8px;margin:0;padding:12px;font-size:11px;line-height:1.5;overflow:auto}@media (max-width:520px){.dev-inspector-header,.dev-coords-bar,.dev-inspector-tabs,.dev-inspector-body{padding-inline:12px}.dev-copy-view-btn{margin-left:0}.dev-prop-row{grid-template-columns:1fr;gap:2px}.dev-prop-val{text-align:left}.dev-history-item{grid-template-columns:1fr;gap:3px}}.dev-house-view{background:#00e6b40a;border:1px solid #00e6b433;border-radius:8px;margin-bottom:2px;overflow:hidden}.dev-house-collapse-btn{width:100%;color:var(--dev-text);cursor:pointer;text-align:left;background:#00e6b414;border:none;border-bottom:1px solid #00e6b426;align-items:center;gap:6px;padding:8px 10px;transition:background .15s;display:flex}.dev-house-collapse-btn:hover{background:#00e6b424}.dev-house-eyebrow{letter-spacing:.08em;color:#00e6b4;text-transform:uppercase;font-size:.68rem;font-weight:700}.dev-house-title{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.82rem;font-weight:600;overflow:hidden}.dev-house-chevron{color:#00e6b4;opacity:.7;font-size:.65rem}.dev-house-body{flex-direction:column;gap:6px;padding:8px 10px;display:flex}.dev-house-highlights{grid-template-columns:1fr 1fr;gap:6px;display:grid}.dev-house-stat{background:#0000004d;border:1px solid #ffffff0f;border-radius:6px;flex-direction:column;align-items:center;padding:6px 4px;display:flex}.dev-house-stat b{color:#00e6b4;font-size:1.1rem;font-weight:700;line-height:1.2}.dev-house-stat span{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem}.dev-house-section-label{letter-spacing:.08em;color:#64748b;text-transform:uppercase;border-top:1px solid #ffffff0f;padding-top:2px;font-size:.68rem;font-weight:700}.dev-house-empty{color:#475569;padding:4px 0;font-size:.75rem;font-style:italic}.dev-house-occupants{flex-direction:column;gap:4px;display:flex}.dev-house-occupant{cursor:pointer;text-align:left;width:100%;color:var(--dev-text);background:#121a2699;border:1px solid #ffffff0f;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;transition:all .15s;display:flex}.dev-house-occupant:hover{background:#00e6b41a;border-color:#00e6b44d}.dev-house-avatar{color:#0f172a;background:linear-gradient(135deg,#0ea5e9,#00e6b4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;font-weight:700;display:flex}.dev-house-occupant-info{flex-direction:column;flex:1;min-width:0;display:flex}.dev-house-occupant-info b{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;overflow:hidden}.dev-house-occupant-info small{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.dev-house-arrow{color:#00e6b4;opacity:.5;font-size:.75rem;transition:opacity .15s,transform .15s}.dev-house-occupant:hover .dev-house-arrow{opacity:1;transform:translate(2px)}
.dev-logger-container{background:#090e15;flex-direction:column;gap:10px;height:100%;padding:12px;display:flex}.dev-logger-toolbar{border-bottom:1px solid var(--dev-border);flex-direction:column;gap:8px;padding-bottom:8px;display:flex}.dev-logger-filters{flex-wrap:wrap;gap:4px;display:flex}.filter-btn{border:1px solid var(--dev-border);background:var(--dev-btn-bg);color:#94a3b8;cursor:pointer;border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:600;transition:all .15s}.filter-btn:hover{background:var(--dev-btn-hover);color:#fff}.filter-btn.active{color:#000!important;background:#fff!important;border-color:#fff!important;font-weight:700!important}.dev-logger-actions{align-items:center;gap:8px;display:flex}.dev-log-search{border:1px solid var(--dev-border);color:#fff;background:#121a26e6;border-radius:6px;outline:none;flex:1;padding:6px 10px;font-size:.78rem}.dev-log-search:focus{border-color:#38bdf8}.dev-log-list{font-family:var(--dev-font);flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.dev-log-row{background:#121a2680;border:1px solid #ffffff0d;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:.78rem;display:flex}.dev-log-time{color:#64748b;font-family:monospace;font-size:.72rem}.dev-log-badge{background:#ffffff14;border-radius:4px;padding:2px 5px;font-size:.72rem;font-weight:700}.badge-info{color:#38bdf8}.badge-action{color:#34d399}.badge-anim{color:#c084fc}.badge-warn{color:#fbbf24}.badge-error{color:#f43f5e}.dev-log-msg{color:#e2e8f0;flex:1}

.tile-inspector-card{color:#f1f5f9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f172aeb;border:1px solid #ffffff24;border-radius:12px;flex-direction:column;gap:10px;width:min(340px,100vw - 32px);max-height:calc(100vh - 96px);padding:14px;animation:.18s cubic-bezier(.16,1,.3,1) tileCardFadeIn;display:flex;overflow-y:auto;box-shadow:0 20px 48px #000000a6,inset 0 1px #ffffff1a}@keyframes tileCardFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tile-inspector-header{align-items:center;gap:10px;min-width:0;display:flex}.tile-inspector-icon-badge{color:#38bdf8;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.tile-inspector-title-group{flex:1;gap:2px;min-width:0;display:grid}.tile-inspector-title{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:700;line-height:1.25;overflow:hidden}.tile-inspector-subtitle{color:#94a3b8;font-size:11px;font-weight:500;line-height:1.3}.tile-inspector-close-btn{color:#9eadb6;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;flex:0 0 30px;place-items:center;width:30px;height:30px;padding:0;transition:all .15s;display:grid}.tile-inspector-close-btn:hover{color:#fff;background:#ef444433;border-color:#ef444466}.tile-inspector-body{flex-direction:column;gap:8px;display:flex}.tile-inspector-telemetry-bar{background:#ffffff08;border:1px solid #ffffff0f;border-radius:7px;justify-content:space-between;align-items:center;padding:5px 8px;display:flex}.telemetry-bar-district,.telemetry-bar-coords{color:#cbd5e1;align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:inline-flex}.telemetry-bar-coords span{font-family:var(--mono,monospace);color:#e2e8f0;font-size:11px;font-weight:700}.telemetry-bar-district .city-panel-svg,.telemetry-bar-coords .city-panel-svg{color:#94a3b8;width:13px;height:13px}.tile-inspector-chips-row{grid-template-columns:1fr 1fr;gap:6px;display:grid}.tile-inspector-chip{background:#0f172abf;border:1px solid #ffffff14;border-radius:7px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;display:flex}.tile-inspector-chip small{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.tile-inspector-chip strong{color:#f1f5f9;margin-left:auto;font-size:11.5px;font-weight:700}.chip-led-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.chip-led-dot.green{background:#10b981;box-shadow:0 0 3px #10b98159}.chip-led-dot.amber{background:#f59e0b;box-shadow:0 0 3px #f59e0b59}.tile-inspector-callout{color:#6ee7b7;background:#10b98114;border:1px solid #10b98140;border-radius:7px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:600;line-height:1.35;display:flex}.tile-inspector-callout.is-warning{color:#fcd34d;background:#f59e0b1f;border-color:#f59e0b59}.tile-inspector-callout.is-warning .city-panel-svg{color:#f59e0b;flex-shrink:0}.tile-inspector-facts{border-block:1px solid #94a3b81a;gap:0;display:grid}.tile-inspector-row{justify-content:space-between;align-items:center;gap:8px;min-height:30px;font-size:12px;display:flex}.tile-inspector-row+.tile-inspector-row{border-top:1px solid #94a3b814}.tile-inspector-label{color:#94a3b8;align-items:center;gap:6px;display:inline-flex}.tile-inspector-label .city-panel-svg{color:#64748b;width:14px;height:14px}.tile-inspector-services-bar{background:#0f172a99;border:1px solid #ffffff0f;border-radius:7px;gap:8px;padding:6px 8px;display:flex}.service-power-bar{flex-direction:column;flex:1;gap:3px;display:flex}.service-power-header{color:#94a3b8;justify-content:space-between;font-size:10.5px;font-weight:600;display:flex}.service-power-header span{align-items:center;gap:4px;display:inline-flex}.service-power-header strong{font-family:var(--mono,monospace);color:#f1f5f9;font-size:11px}.service-power-track{background:#ffffff14;border-radius:3px;height:5px;overflow:hidden}.service-power-fill.cyan{background:#0284c7;height:100%;transition:width .3s}.service-power-fill.amber{background:#d97706;height:100%;transition:width .3s}.tile-inspector-road-node-card{background:#0a121cb3;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.road-node-header{align-items:center;gap:10px;display:flex}.road-node-radar-wrap{background:#0f172af2;border:1px solid #ffffff29;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.road-radar-circle{border:1px dashed #fff3;border-radius:50%;width:22px;height:22px;position:relative}.radar-hub-core{background:#f59e0b;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;left:7px}.radar-ray{background:#ffffff1f;position:absolute}.radar-ray.north{width:4px;height:8px;top:-1px;left:9px}.radar-ray.south{width:4px;height:8px;bottom:-1px;left:9px}.radar-ray.east{width:8px;height:4px;top:9px;right:-1px}.radar-ray.west{width:8px;height:4px;top:9px;left:-1px}.radar-ray.active{background:#f59e0b}.road-node-meta{flex-direction:column;flex:1;gap:3px;display:flex}.road-node-headline{justify-content:space-between;align-items:center;gap:6px;display:flex}.road-node-type-title{color:#f1f5f9;font-size:.76rem;font-weight:700}.road-node-status-badge{color:#10b981;background:#10b98126;border:1px solid #10b9814d;border-radius:3px;padding:1px 5px;font-size:.6rem;font-weight:700}.road-node-directions-pills{gap:3px;display:flex}.dir-pill{color:#64748b;background:#ffffff0d;border:1px solid #ffffff0f;border-radius:2px;padding:0 4px;font-size:.6rem;font-weight:700}.dir-pill.active{color:#fbbf24;background:#f59e0b2e;border-color:#f59e0b66}.road-node-telemetry-row{border-top:1px solid #ffffff0f;grid-template-columns:1fr 1fr;gap:6px;padding-top:5px;display:grid}.road-telemetry-item{flex-direction:column;gap:1px;display:flex}.road-telemetry-item small{color:#94a3b8;text-transform:uppercase;font-size:.6rem;font-weight:600}.road-telemetry-item strong{color:#e2e8f0;font-size:.72rem}.road-telemetry-item .green-text{color:#10b981}.tile-inspector-transit-section{background:#0f172ab3;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:10px;padding:10px;display:flex}.transit-section-header{justify-content:space-between;align-items:center;display:flex}.transit-section-title{color:#fbbf24;align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:inline-flex}.transit-badge-pill{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b59;border-radius:999px;padding:1px 7px;font-size:.7rem;font-weight:700}.transit-meta-card{background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.transit-meta-row{color:#f1f5f9;justify-content:space-between;align-items:center;font-size:.76rem;display:flex}.transit-meta-row span{color:#94a3b8;align-items:center;gap:4px;display:inline-flex}.transit-list-scroll{flex-direction:column;gap:4px;max-height:120px;display:flex;overflow-y:auto}.transit-stop-item{color:#cbd5e1;cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff14;border-radius:5px;justify-content:space-between;align-items:center;padding:5px 8px;font-size:.75rem;transition:all .15s;display:flex}.transit-stop-item:hover{background:#f59e0b1a;border-color:#f59e0b40}.transit-stop-item.is-current{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b99;font-weight:700}.tile-inspector-actions{flex-direction:column;gap:6px;display:flex}.tile-btn{cursor:pointer;letter-spacing:.04em;text-transform:uppercase;box-sizing:border-box;border-radius:7px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:38px;padding:8px 12px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.tile-btn-primary{color:#fff;background:linear-gradient(135deg,#d9773647 0%,#f59e0b38 100%);border:1px solid #f59e0b73;box-shadow:0 2px 10px #0000004d,inset 0 1px #ffffff1f}.tile-btn-primary:hover{background:linear-gradient(135deg,#d977366b 0%,#f59e0b57 100%);border-color:#f59e0bbf;box-shadow:0 4px 14px #f59e0b40,inset 0 1px #fff3}.tile-btn-secondary{color:#e2e8f0;background:#1e293bbf;border:1px solid #ffffff1f}.tile-btn-secondary:hover{color:#fff;background:#334155e6;border-color:#ffffff40}.tile-btn:active{transform:translateY(1px)}@media (max-width:480px){.tile-inspector-card{gap:8px;width:calc(100vw - 20px);padding:12px}}@media (orientation:landscape) and (max-height:540px){.tile-inspector-card{right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));gap:8px;width:min(300px,100vw - 20px);max-height:min(85dvh,290px);padding:10px}}
.main-menu-root{z-index:9999;width:100vw;height:100dvh;font-family:var(--font);color:#f1f5f9;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-between;display:flex;position:fixed;top:0;left:0;overflow:hidden}.main-menu-container{width:100%;height:100%;padding:max(20px, calc(32px * var(--ui-scale))) max(24px, calc(48px * var(--ui-scale))) max(16px, calc(24px * var(--ui-scale)));box-sizing:border-box;z-index:10;justify-content:space-between;align-items:flex-start;gap:clamp(16px,4vw,48px);display:flex;position:relative;overflow-y:auto}.game-branding{flex-direction:column;align-items:flex-start;width:100%;max-width:440px;margin-bottom:14px;display:flex}.branding-header{align-items:center;width:100%;display:flex}.branding-tagline{color:#94a3b8;letter-spacing:.04em;margin:8px 0 0;font-size:.92rem;font-weight:500}.main-menu-panel{flex-direction:column;gap:8px;width:100%;display:flex}.desktop-menu-container{width:100%;height:100%;padding:max(20px, calc(32px * var(--ui-scale))) 0 0;box-sizing:border-box;flex-direction:column;justify-content:space-between;align-items:stretch;display:flex}.desktop-menu-content-grid{z-index:10;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:clamp(24px,4.5vw,64px);margin-top:auto;margin-bottom:auto;margin-left:clamp(24px,5vw,84px);display:flex}.desktop-menu-nav-column{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:clamp(8px,1.8vh,16px);width:100%;max-width:clamp(320px,28vw,400px);display:flex}.desktop-menu-showcase-zone{flex-direction:column;flex-shrink:0;width:100%;max-width:clamp(380px,34vw,480px);display:flex}.desktop-menu-single-column{z-index:10;flex-direction:column;align-items:flex-start;gap:clamp(6px,1.2vh,12px);width:100%;max-width:clamp(360px,32vw,440px);margin-top:auto;margin-bottom:auto;margin-left:clamp(20px,5vw,84px);display:flex}.menu-single-header{flex-direction:column;gap:clamp(4px,1vh,8px);width:100%;display:flex}.menu-single-actions{flex-direction:column;gap:clamp(6px,1.2vh,8px);width:100%;display:flex}.desktop-menu-container .footer-bar{box-sizing:border-box;width:100%;padding:12px clamp(20px,5vw,64px)}
.menu-panel-container{flex-direction:column;justify-content:center;width:100%;max-width:440px;display:flex}.main-menu-panel{flex-direction:column;gap:clamp(6px,1.2vh,8px);width:100%;display:flex}.menu-hero-button{color:#fff;cursor:pointer;will-change:transform;box-sizing:border-box;text-align:left;background:linear-gradient(135deg,#141a21f5 0%,#0d1218f0 100%);border:1px solid #ffffff24;border-radius:6px;justify-content:space-between;align-items:center;width:100%;max-width:440px;min-height:clamp(76px,10vh,94px);padding:clamp(8px,1.2vh,12px) clamp(12px,1.5vw,18px);transition:transform 60ms cubic-bezier(.16,1,.3,1),background 40ms,border-color 40ms,box-shadow 60ms;display:flex;transform:translateZ(0);box-shadow:0 6px 20px #0000004d,inset 0 1px #ffffff1a}.menu-hero-button:hover:not(:disabled):not(.disabled){background:linear-gradient(135deg,#1c242ef5 0%,#121820f0 100%);border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 24px #0006,inset 0 1px #fff3,0 0 18px #d9773626}.menu-hero-button:active:not(:disabled):not(.disabled){background:linear-gradient(135deg,#10151cfa 0%,#0a0e13f5 100%);transform:translateY(1px)scale(.99)}.menu-hero-button:disabled,.menu-hero-button.disabled{opacity:.38;cursor:not-allowed;box-shadow:none;background:#0a0e1273;border-color:#ffffff0f;transform:none}.hero-button-left{flex-direction:column;flex:1;gap:clamp(3px,.8vh,6px);display:flex}.hero-primary-row,.hero-title-group{align-items:center;gap:8px;display:flex}.hero-title{font-family:var(--font-display,var(--font));letter-spacing:.05em;text-transform:uppercase;color:#fff;font-size:clamp(.85rem,1.1vw,.95rem);font-weight:700}.hero-city-tag{color:#e2e8f0;letter-spacing:.02em;background:#ffffff1a;border:1px solid #ffffff29;border-radius:4px;padding:2px 8px;font-size:clamp(.7rem,.9vw,.76rem);font-weight:700}.hero-stats-row{color:#94a3b8;align-items:center;gap:6px;font-size:clamp(.7rem,.9vw,.76rem);font-weight:500;display:flex}.hero-stats-row span:not(:nth-child(2n)){color:#cbd5e1}.hero-polaroid-wrapper{flex-shrink:0;width:clamp(80px,9vw,106px);height:clamp(64px,7.5vh,86px);margin-left:12px;margin-right:2px;position:relative}.hero-polaroid-pin{z-index:15;pointer-events:none;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.hero-polaroid-frame{box-sizing:border-box;background:#fdfbf7;border-radius:4px;width:100%;height:100%;padding:4px 4px 8px;transition:transform .2s cubic-bezier(.25,1,.5,1),box-shadow .2s;transform:rotate(2.8deg);box-shadow:0 10px 24px #0000008c}.menu-hero-button:hover:not(:disabled):not(.disabled) .hero-polaroid-frame{transform:rotate(0)scale(1.05);box-shadow:0 14px 30px #000000b3}.hero-polaroid-canvas{background:#091316;border-radius:2px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.hero-polaroid-svg{transform-origin:50%;transform:rotateX(60deg)rotate(45deg)scale(1.6)}.hero-thumb-img,.hero-thumb-svg{object-fit:cover;width:100%;height:100%}.hero-thumb-fallback{color:#fff9;font-size:.8rem;font-weight:800}
.main-menu-btn{color:#f1f5f9;width:100%;max-width:440px;height:clamp(38px,5.2vh,48px);font-family:var(--font-display,var(--font));letter-spacing:.06em;cursor:pointer;will-change:transform;box-sizing:border-box;text-transform:uppercase;background:#10151aed;border:1px solid #ffffff1f;border-radius:6px;justify-content:flex-start;align-items:center;padding:0 clamp(12px,1.5vw,18px);font-size:clamp(.78rem,1vw,.88rem);font-weight:600;transition:transform 60ms cubic-bezier(.16,1,.3,1),background-color 40ms,border-color 40ms,box-shadow 60ms,color 30ms;display:flex;transform:translateZ(0);box-shadow:0 4px 16px #00000040,inset 0 1px #ffffff14}.main-menu-btn-content{align-items:center;gap:clamp(8px,1.2vw,12px);width:100%;display:flex}.main-menu-btn-icon{color:#94a3b8;flex-shrink:0;justify-content:center;align-items:center;width:clamp(15px,1.2vw,18px);height:clamp(15px,1.2vw,18px);transition:transform 60ms cubic-bezier(.16,1,.3,1),color 30ms;display:flex}.main-menu-btn:hover:not(:disabled),.main-menu-btn.active{color:#fff;background:#1a2128f5;border-color:#ffffff7a;transform:translate(4px);box-shadow:0 6px 20px #0006,inset 0 1px #ffffff47,0 0 16px #d9773624}.main-menu-btn:active:not(:disabled){background:#0d1116f5;transform:translate(2px)scale(.99)}.main-menu-btn:hover:not(:disabled) .main-menu-btn-icon,.main-menu-btn.active .main-menu-btn-icon{color:#fff;transform:scale(1.12)}.main-menu-btn:focus-visible{outline-offset:2px;outline:2px solid #fff6}.main-menu-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none;background:#0a0e1273;border-color:#ffffff0f}@media (orientation:portrait) and (pointer:coarse) and (max-width:900px){.main-menu-btn{height:auto;min-height:44px;padding:10px 14px}}

.desktop-side-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-sizing:border-box;background:#0c1117d1;border:1px solid #ffffff1f;border-radius:6px;flex-direction:column;width:100%;padding:16px;display:flex;box-shadow:0 4px 20px #00000040,inset 0 1px #ffffff14}.desktop-card-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;display:flex}.desktop-card-title-group{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:.75rem;font-weight:700;display:flex}.desktop-card-title{color:#e2e8f0}.desktop-card-status{align-items:center;gap:6px;display:inline-flex}.desktop-card-status .status-dot{border-radius:50%;width:6px;height:6px}.desktop-card-status .status-dot.connected{background:#22c55e;box-shadow:0 0 6px #22c55e99}.desktop-card-status .status-dot.disconnected{background:#94a3b8}.desktop-card-status .status-label{color:#94a3b8;letter-spacing:.04em;font-size:.7rem;font-weight:700}.desktop-card-badge{color:#e2e8f0;letter-spacing:.06em;background:#ffffff14;border:1px solid #ffffff29;border-radius:4px;align-items:center;padding:2px 7px;font-size:.68rem;font-weight:700;display:inline-flex}.desktop-card-body{flex-direction:column;flex:1;gap:10px;display:flex}.account-user-info{align-items:center;gap:12px;display:flex}.account-user-avatar{border:1px solid #fff3;border-radius:50%;flex-shrink:0;width:36px;height:36px;overflow:hidden}.account-avatar-img{object-fit:cover;width:100%;height:100%}.account-avatar-fallback{color:#fff;background:#475569;justify-content:center;align-items:center;width:100%;height:100%;font-size:.85rem;font-weight:700;display:flex}.account-user-details{flex-direction:column;min-width:0;display:flex}.account-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.account-user-email{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.account-guest-info{color:#94a3b8;font-size:.8rem;line-height:1.4}
.info-city-header{justify-content:space-between;align-items:center;display:flex}.info-city-title{color:#fff;margin:0;font-size:1.05rem;font-weight:700}.info-stats-grid{background:#0003;border:1px solid #ffffff0f;border-radius:6px;grid-template-columns:1fr 1fr;gap:8px 12px;padding:10px 12px;display:grid}.info-stat-item{flex-direction:column;gap:2px;display:flex}.info-stat-label{color:#94a3b8;align-items:center;gap:5px;font-size:.72rem;display:flex}.info-stat-value{color:#f1f5f9;font-size:.84rem;font-weight:700}.info-news-text{color:#cbd5e1;margin:0;font-size:.8rem;line-height:1.45}.info-tips-box{background:#0003;border:1px solid #ffffff0f;border-radius:6px;flex-direction:column;gap:5px;padding:8px 10px;display:flex}.info-tip-row{color:#cbd5e1;align-items:center;gap:6px;font-size:.74rem;display:flex}.info-tip-row kbd{color:#f8fafc;background:#ffffff1f;border:1px solid #fff3;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:.68rem}.desktop-card-actions{border-top:1px solid #ffffff14;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.desktop-card-btn{letter-spacing:.05em;text-transform:uppercase;cursor:pointer;box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 12px;font-family:inherit;font-size:.76rem;font-weight:700;transition:all .16s;display:inline-flex}.desktop-btn-primary{color:#fff;background:#ffffff1a;border:1px solid #fff3;flex:1}.desktop-btn-primary:hover{background:#ffffff2e;border-color:#ffffff59;transform:translateY(-1px)}.desktop-btn-secondary{color:#94a3b8;background:0 0;border:1px solid #ffffff1a}.desktop-btn-secondary:hover{color:#fff;background:#ffffff0f}

.desktop-menu-top-right{top:max(20px, calc(32px * var(--ui-scale)));z-index:50;align-items:center;display:flex;position:absolute;right:clamp(24px,5vw,64px)}.google-compact-btn{color:#f1f5f9;letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:#10151aed;border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:8px;height:36px;padding:0 12px;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .16s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 16px #0003,inset 0 1px #ffffff14}.google-compact-btn:hover{background:#1a2128f2;border-color:#ffffff47;transform:translateY(-1px);box-shadow:0 6px 20px #0000004d}.google-compact-btn:active{transform:translateY(1px)}.google-compact-btn:focus-visible{outline-offset:2px;outline:2px solid #fff6}.google-signed-in-wrapper{display:inline-flex;position:relative}.google-avatar-img{object-fit:cover;border:1px solid #ffffff4d;border-radius:50%;width:22px;height:22px}.google-avatar-fallback{color:#111827;background:#f59e0b;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:800;display:flex}.google-compact-name{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.google-sync-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 6px #22c55e99}.google-account-dropdown{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:120;background:#0b0f14f7;border:1px solid #ffffff24;border-radius:14px;flex-direction:column;gap:4px;width:320px;padding:12px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 20px 48px #000000b3,inset 0 1px #ffffff14}.google-dropdown-divider{background:#ffffff14;height:1px;margin:4px 0}.google-dropdown-item{color:#f1f5f9;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-family:inherit;font-size:.86rem;font-weight:600;transition:all .15s cubic-bezier(.16,1,.3,1);display:flex}.google-dropdown-item:hover{color:#fff;background:#ffffff14;border-color:#ffffff29;transform:translateY(-1px)}.google-dropdown-item.danger{color:#f87171}.google-dropdown-item.danger:hover{color:#fca5a5;background:#ef444429;border-color:#ef444461;transform:translateY(-1px)}
.city-preview-container{justify-content:center;width:100%;margin:4px 0 6px;padding-top:10px;display:flex;position:relative}.city-preview-pin{z-index:15;pointer-events:none;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.city-preview-shadow-lift{z-index:1;pointer-events:none;background:0 0;width:65px;height:22px;transition:opacity .4s,transform .4s cubic-bezier(.25,1,.5,1);position:absolute;bottom:4px;left:8px;transform:rotate(-10deg);box-shadow:-8px 12px 16px #000000b3}.city-preview-polaroid{z-index:2;background:#f5f1ea;border-radius:4px;width:100%;padding:7px;transition:transform .4s cubic-bezier(.25,1,.5,1),box-shadow .4s;position:relative;transform:rotate(-1.6deg);box-shadow:0 10px 24px #0000008c}.city-preview-canvas-wrapper{background:#091414;border-radius:2px;width:100%;height:145px;position:relative;overflow:hidden}.city-preview-curl{transform-origin:0 100%;z-index:10;pointer-events:none;width:40px;height:40px;transition:opacity .38s cubic-bezier(.25,1,.5,1),transform .42s cubic-bezier(.25,1,.5,1);position:absolute;bottom:-1px;left:-1px}.city-preview-container:hover .city-preview-polaroid{transform:rotate(0)scale(1.02);box-shadow:0 14px 32px #000000a6}.city-preview-container:hover .city-preview-shadow-lift{opacity:0;transform:rotate(0)scale(.6)translateY(4px)}.city-preview-container:hover .city-preview-curl{opacity:0;transform:rotate(-15deg)scale(.18)translate(-6px,6px)}.city-preview-canvas{object-fit:cover;width:100%;height:100%;display:block}.city-preview-svg{transform-origin:50%;transform:rotateX(60deg)rotate(45deg)scale(1.6)}.city-preview-fallback{background:#091414;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.city-preview-fallback-text{color:#64748b;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;font-weight:700}
.last-city-container{flex-direction:column;justify-content:center;display:flex}.last-city-card{flex-direction:column;gap:12px;display:flex}.last-city-banner{color:#e2e8f0;letter-spacing:.08em;text-transform:uppercase;background:#ffffff0f;border:1px solid #ffffff14;border-radius:6px;justify-content:center;align-items:center;padding:6px 12px;font-size:.72rem;font-weight:700;display:flex}.last-city-header{color:#94a3b8;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;font-size:.75rem;font-weight:700;display:flex}.last-city-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.last-city-name{color:#fff;font-size:1.15rem;font-weight:700;font-family:var(--font-display);margin:0}.save-status-badge{color:#4ade80;background:#22c55e26;border:1px solid #22c55e59;border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.save-status-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #22c55e99}.save-metadata-list{flex-direction:column;gap:8px;display:flex}.save-metadata-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-bottom:6px;font-size:.84rem;display:flex}.save-metadata-row:last-child{border-bottom:none;padding-bottom:0}.save-metadata-label{color:#94a3b8;align-items:center;gap:8px;font-weight:500;display:flex}.save-metadata-value{color:#f1f5f9;font-weight:600}.view-details-btn{color:#1a202c;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#f5e6d3;border:1px solid #e2d9cc;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;height:42px;font-size:.82rem;font-weight:700;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 2px 8px #00000026}.view-details-btn:hover{color:#0f172a;background:#ede0cb;border-color:#dcd0bf;transform:translateY(-1px);box-shadow:0 4px 12px #00000038}.view-details-btn:active{transform:translateY(1px)}
.city-details-backdrop{z-index:10000;box-sizing:border-box;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-family:var(--font), system-ui, -apple-system, sans-serif;background:#080e1ad1;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.city-details-modal{box-sizing:border-box;background:#0c121cf2;border:1px solid #ffffff1f;border-radius:8px;outline:none;width:min(680px,100%);max-height:calc(100vh - 32px);padding:24px;overflow-y:auto;box-shadow:0 24px 64px #000000bf,inset 0 1px #ffffff1f}.city-details-modal:focus,.city-details-modal:focus-visible{outline:none}.city-details-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;display:flex}.city-details-header h1{color:#fff;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.92rem;font-weight:700}.city-details-icon-button,.city-details-button{color:#f1f5f9;cursor:pointer;min-width:36px;min-height:36px;font:inherit;background:#ffffff0a;border:1px solid #ffffff24;border-radius:6px;font-size:.82rem;font-weight:600;transition:all .15s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 1px #ffffff14,0 2px 4px #00000040}.city-details-icon-button{color:#94a3b8;place-items:center;font-size:20px;line-height:1;display:grid}.city-details-icon-button:hover,.city-details-button:hover:not(:disabled){color:#fff;background:#ffffff14;border-color:#ffffff52;transform:translateY(-1px)}.city-details-button:active:not(:disabled){background:#ffffff1f;transform:translateY(1px)}.city-details-icon-button:focus-visible,.city-details-button:focus-visible{outline-offset:1px;outline:2px solid #fff6}.city-details-button:disabled{cursor:not-allowed;opacity:.4}.city-details-summary{gap:16px;display:grid}.city-details-title-row{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.city-details-title-row h2{color:#f8fafc;letter-spacing:-.02em;margin:0;font-size:1.45rem;font-weight:700}.city-details-created{color:#94a3b8;white-space:nowrap;font-size:.74rem}.city-details-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.city-details-metric{background:#080e18bf;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.city-details-metric-icon{color:#38bdf8;background:#38bdf81f;border-radius:6px;flex:none;place-items:center;width:32px;height:32px;display:grid}.city-details-metric.tone-amber .city-details-metric-icon{color:#fbbf24;background:#f59e0b24}.city-details-metric.tone-green .city-details-metric-icon{color:#34d399;background:#34d39924}.city-details-metric>div{min-width:0}.city-details-metric-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600;display:block}.city-details-metric strong{color:#f8fafc;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:1.15rem;font-weight:700;line-height:1.15;display:block;overflow:hidden}.city-details-metric.tone-green strong{color:#34d399}.city-details-facts{border-top:1px solid #ffffff14;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0;display:grid}.city-details-facts>div{border-bottom:1px solid #ffffff0f;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.city-details-facts dt{color:#94a3b8;font-size:.78rem}.city-details-facts dd{color:#f8fafc;font-family:var(--mono);text-align:right;margin:0;font-size:.78rem;font-weight:600}.city-details-alerts{background:#f59e0b0f;border:1px solid #f59e0b40;border-radius:6px;padding:12px}.city-details-alerts-heading{color:#fbbf24;align-items:center;gap:8px;display:flex}.city-details-alerts h3{margin:0;font-size:.82rem;font-weight:650}.city-details-alerts ul{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.city-details-alerts li{color:#f8fafc;font-size:.78rem}.city-details-alerts li:before{color:#fbbf24;content:"•";margin-right:8px}.city-details-footer{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:14px;display:flex}.city-details-actions{flex-wrap:wrap;gap:8px;display:flex}.city-details-button{padding:0 16px}.city-details-button-primary{color:#fff;background:#ffffff24;border:1px solid #ffffff59;min-height:38px;font-weight:700;box-shadow:0 4px 16px #00000059,inset 0 1px #ffffff38}.city-details-button-primary:hover:not(:disabled){color:#fff;background:#ffffff38;border-color:#ffffff80}.city-details-button-quiet{color:#94a3b8;box-shadow:none;background:0 0;border-color:#0000}.city-details-button-quiet:hover:not(:disabled){color:#fff;background:#ffffff0f;border-color:#ffffff1f}.city-details-button-danger{color:#fb7185;background:#f43f5e0f;border-color:#f43f5e4d}.city-details-button-danger:hover:not(:disabled){color:#fff;background:#f43f5e24;border-color:#f43f5e80}.city-details-load-error{color:#fb7185;flex-basis:100%;margin:0;font-size:.76rem}@media (max-width:620px){.city-details-modal{border-radius:8px;padding:16px}.city-details-title-row{flex-direction:column;align-items:flex-start;gap:4px}.city-details-metrics,.city-details-facts{grid-template-columns:1fr}.city-details-footer{align-items:stretch}.city-details-actions{width:100%}.city-details-button-primary{flex:1}}@media (prefers-reduced-motion:reduce){.city-details-icon-button,.city-details-button{transition:none}}
.confirm-action-backdrop{z-index:10020;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#040508c7;place-items:center;padding:16px;animation:.15s ease-out confirm-fade-in;display:grid;position:fixed;inset:0}.confirm-action-modal{box-sizing:border-box;background:#141720;border:1px solid #ffffff24;border-radius:12px;outline:none;flex-direction:column;width:min(470px,94vw);padding:28px 36px;display:flex;position:relative;overflow:hidden;box-shadow:0 36px 80px #000000eb,inset 0 1px #ffffff2e}.confirm-bg-mesh{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.confirm-engraved-corners{pointer-events:none;z-index:2;position:absolute;inset:0}.confirm-corner-stamp{color:#94a3b8;background:#0e1219d1;border:1px solid #ffffff14;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;box-shadow:inset 0 1px 3px #000c,0 1px #ffffff14}.confirm-corner-stamp svg{filter:drop-shadow(0 1px #000000e6);opacity:.85}.confirm-corner-stamp.top-left{top:8px;left:8px}.confirm-corner-stamp.top-right{top:8px;right:8px}.confirm-corner-stamp.bottom-left{bottom:8px;left:8px}.confirm-corner-stamp.bottom-right{bottom:8px;right:8px}.confirm-action-header{z-index:1;border-bottom:1px solid #ffffff14;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;display:flex;position:relative}.confirm-action-icon-wrap{color:#f87171;background:#d938292e;border:1px solid #d9382961;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.confirm-action-modal.variant-warning .confirm-action-icon-wrap{color:#fbbf24;background:#d977062e;border-color:#d9770661}.confirm-action-modal h2{color:#fff;letter-spacing:-.01em;font-size:18px;font-weight:700;font-family:var(--font-display,var(--font));margin:0}.confirm-action-modal p{color:#9ca3af;z-index:1;margin:0;font-size:13.5px;line-height:1.55;position:relative}.confirm-action-detail{color:#d1d5db;z-index:1;background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;margin-top:12px;padding:8px 12px;font-size:12px;position:relative}.confirm-action-actions{z-index:1;grid-template-columns:1fr 1.15fr;gap:12px;margin-top:24px;display:grid;position:relative}.confirm-action-button{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative}.confirm-btn-content{flex:1;align-items:center;gap:8px;min-width:0;display:inline-flex}.confirm-btn-content span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.confirm-btn-icon{opacity:.85;flex-shrink:0}.confirm-btn-key{flex-shrink:0}.confirm-action-cancel{color:#e5e7eb;background:linear-gradient(#ffffff0f 0%,#ffffff05 100%);border:1px solid #ffffff1f;box-shadow:0 2px 6px #0006,inset 0 1px #ffffff1a}.confirm-action-cancel:hover{color:#fff;background:linear-gradient(#ffffff1f 0%,#ffffff0d 100%);border-color:#ffffff3d;transform:translateY(-1px);box-shadow:0 4px 14px #00000080,inset 0 1px #ffffff2e}.confirm-action-cancel:active{transform:translateY(1px);box-shadow:0 1px 2px #00000080}.confirm-action-confirm{color:#fee2e2;background:linear-gradient(#d9382961 0%,#b91c1c42 100%);border:1px solid #ef444485;box-shadow:0 2px 8px #d9382940,inset 0 1px #fff3}.confirm-action-confirm:hover{color:#fff;background:linear-gradient(#dc26268c 0%,#b91c1c66 100%);border-color:#f87171d9;transform:translateY(-1px);box-shadow:0 6px 20px #dc262666,inset 0 1px #ffffff4d}.confirm-action-confirm:active{transform:translateY(1px);box-shadow:0 1px 3px #0009}.confirm-btn-key{color:#9ca3af;letter-spacing:.03em;background:#00000073;border:1px solid #ffffff1f;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:10px;font-weight:600}@keyframes confirm-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (max-width:420px){.confirm-action-actions{grid-template-columns:1fr}}

.footer-bar{font-size:calc(.82rem * var(--ui-scale));color:#cbd5e1;background:#0a0e12e0;border-top:1px solid #ffffff1f;grid-column:1/-1;justify-content:space-between;align-items:center;padding:12px 4rem;display:flex}.footer-left{align-items:center;gap:16px;display:flex}.footer-info{color:#f1f5f9;align-items:center;gap:10px;font-weight:500;display:flex}.footer-early-access{color:#94a3b8;letter-spacing:.02em;font-size:.78rem}.footer-version-badge{font-family:var(--font-jetbrains-mono), "JetBrains Mono", ui-monospace, monospace;letter-spacing:.08em;color:#f5f1ea;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000000d9;background:#ffffff14;border:1px solid #ffffff29;border-radius:4px;align-items:center;padding:1px 7px;font-size:.72rem;font-weight:700;display:inline-flex}.keyboard-hint{color:#f8fafc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #ffffff38;border-radius:6px;align-items:center;gap:8px;padding:3px 10px;font-size:.75rem;display:inline-flex}.key-badge{color:#fff;background:#fff3;border:1px solid #ffffff59;border-radius:4px;padding:1px 6px;font-size:.7rem;font-weight:700}.social-links{align-items:center;gap:16px;display:flex}.social-icon-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:none;padding:0;transition:color .18s,transform .18s}.social-icon-btn:hover{color:#f59e0b;transform:translateY(-2px)}.menu-lang-btn{color:#fff;font-size:inherit;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #ffffff38;border-radius:6px;outline:none;align-items:center;gap:5px;padding:4px 10px;font-weight:600;transition:all .18s;display:flex}.menu-lang-select:hover,.menu-lang-select:focus,.menu-lang-btn:hover,.menu-lang-btn:focus{box-shadow:none;color:#fff!important;background:#ffffff38!important;border-color:#ffffff73!important}
.menu-dialog-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex;position:relative}.menu-dialog-close-btn{color:#94a3b8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .15s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:inset 0 1px #ffffff1a,0 2px 4px #0000004d}.menu-dialog-close-btn:hover{color:#fff;background:#ef44442e;border-color:#ef444473;transform:translateY(-1px)}.menu-dialog-close-btn:active{background:#ef444447;transform:translateY(1px)}.newgame-dialog-modal{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;max-height:90vh;font-family:var(--font), system-ui, -apple-system, sans-serif;overflow-y:auto}.newgame-dialog-subtitle{color:#94a3b8;text-align:left;letter-spacing:.01em;margin:0 0 16px;font-size:.82rem}.newgame-form{text-align:left;flex-direction:column;gap:14px;display:flex}.newgame-section{flex-direction:column;gap:6px;display:flex}.newgame-section-header{justify-content:space-between;align-items:center;display:flex}.newgame-section-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;margin:0;font-size:.72rem;font-weight:700;display:flex}.newgame-name-row{gap:8px;display:flex}.newgame-input{color:#fff;font-family:var(--font), system-ui, -apple-system, sans-serif;background:#10151cf2;border:1px solid #ffffff1f;border-radius:6px;outline:none;flex:1;min-height:40px;padding:8px 12px;font-size:.88rem;transition:all .15s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 1px 2px #00000080}.newgame-input:hover:not(:disabled){border-color:#ffffff47}.newgame-input:focus{border-color:#f59e0b8c;box-shadow:0 0 8px #f59e0b26,inset 0 1px #ffffff14}.newgame-input.readonly{opacity:.75;cursor:default}.newgame-input.invalid{border-color:#ef4444;box-shadow:0 0 10px #ef444433}.newgame-icon-btn{color:#cbd5e1;cursor:pointer;font-family:var(--font), system-ui, -apple-system, sans-serif;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff24;border-radius:6px;align-items:center;gap:6px;min-height:40px;padding:6px 14px;font-size:.78rem;font-weight:600;transition:all .15s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:inset 0 1px #ffffff14,0 2px 4px #00000040}.newgame-icon-btn:hover:not(:disabled){color:#fff;background:#ffffff14;border-color:#ffffff52;transform:translateY(-1px)}.newgame-icon-btn:active:not(:disabled){background:#ffffff1f;transform:translateY(1px)}.newgame-mode-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.newgame-mode-card{cursor:pointer;text-align:left;background:#12171ebf;border:1px solid #ffffff1f;border-radius:6px;flex-direction:column;gap:6px;padding:12px;transition:all .15s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:inset 0 1px #ffffff0d,0 2px 4px #0000004d}.newgame-mode-card:hover:not(:disabled){background:#1a202ad9;border-color:#ffffff40;transform:translateY(-1px)}.newgame-mode-card.active{background:#f59e0b14;border:1px solid #f59e0b8c;box-shadow:0 4px 16px #00000073,inset 0 1px #f59e0b2e}.newgame-mode-header{align-items:center;gap:10px;display:flex}.newgame-mode-icon-box{color:#cbd5e1;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.newgame-mode-card.active .newgame-mode-icon-box{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b59}.newgame-mode-title-box{flex-direction:column;gap:2px;display:flex}.newgame-mode-title{color:#fff;font-size:.84rem;font-weight:700}.newgame-mode-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;width:fit-content;padding:1px 6px;font-size:.6rem;font-weight:700;display:inline-block}.foundation-badge{color:#fbbf24;background:#f59e0b29;border:1px solid #f59e0b59}.scenario-badge{color:#f87171;background:#d9382929;border:1px solid #d9382959}.newgame-mode-desc{color:#94a3b8;margin:0;font-size:.72rem;line-height:1.35}.newgame-size-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.newgame-size-card{cursor:pointer;text-align:center;background:#12171ebf;border:1px solid #ffffff1f;border-radius:6px;flex-direction:column;align-items:center;gap:4px;min-height:44px;padding:8px 4px;transition:all .15s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:inset 0 1px #ffffff0d,0 2px 4px #00000040}.newgame-size-card:hover:not(:disabled){background:#1a202ad9;border-color:#ffffff40;transform:translateY(-1px)}.newgame-size-card.active{background:#f59e0b14;border:1px solid #f59e0b8c;box-shadow:0 4px 16px #00000073,inset 0 1px #f59e0b2e}.newgame-size-dimensions{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;display:flex}.newgame-size-dim-text{color:#f1f5f9;font-family:var(--mono);white-space:nowrap;font-size:.74rem;font-weight:700}.newgame-size-star-badge{color:#fbbf24;text-transform:uppercase;background:#f59e0b29;border:1px solid #f59e0b59;border-radius:3px;padding:0 4px;font-size:.56rem;font-weight:700}.newgame-size-name{color:#fff;font-size:.74rem;font-weight:600}.newgame-size-sub{color:#94a3b8;font-size:.65rem;font-family:var(--mono)}.newgame-seed-fieldset{border:none;margin:0;padding:0}.newgame-seed-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.newgame-segmented-pill{background:#0e1218d9;border:1px solid #ffffff1a;border-radius:6px;gap:2px;padding:2px;display:flex;box-shadow:inset 0 1px 2px #0009}.newgame-pill-btn{color:#94a3b8;min-height:28px;font-family:var(--font), system-ui, -apple-system, sans-serif;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 10px;font-size:.72rem;font-weight:600;transition:all .15s cubic-bezier(.16,1,.3,1)}.newgame-pill-btn:hover{color:#fff;background:#ffffff0f}.newgame-pill-btn.active{color:#fbbf24;background:#f59e0b24;border:1px solid #f59e0b73;font-weight:700;box-shadow:0 2px 8px #00000059,inset 0 1px #f59e0b33}.newgame-seed-input-row{gap:8px;display:flex}.newgame-reuse-seed-btn{color:#94a3b8;cursor:pointer;font-family:var(--font), system-ui, -apple-system, sans-serif;text-align:center;background:#ffffff05;border:1px dashed #ffffff2e;border-radius:6px;min-height:28px;margin-top:6px;padding:4px 10px;font-size:.72rem;font-weight:600;transition:all .15s cubic-bezier(.16,1,.3,1)}.newgame-reuse-seed-btn:hover{color:#fff;background:#ffffff0f;border-color:#ffffff59}.newgame-error-msg{color:#ef4444;margin:4px 0 0;font-size:.74rem}.newgame-hint-text{color:#64748b;margin:4px 0 0;font-size:.7rem}.newgame-footer{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.newgame-footer .cancel-btn{text-transform:uppercase;letter-spacing:.06em;color:#cbd5e1;background:#ffffff0a;border:1px solid #ffffff24;border-radius:6px;flex:1;justify-content:center;height:40px;transition:all .15s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 1px #ffffff14,0 2px 4px #00000040}.newgame-footer .cancel-btn:hover:not(:disabled){color:#fff;background:#ffffff14;border-color:#ffffff47;transform:translateY(-1px)}.newgame-footer .submit-btn{text-transform:uppercase;letter-spacing:.06em;color:#fef08a;background:linear-gradient(135deg,#f59e0b47 0%,#d9773647 100%);border:1px solid #f59e0b8c;border-radius:6px;flex:1.4;justify-content:center;gap:8px;height:40px;font-weight:700;transition:all .15s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 16px #0006,inset 0 1px #ffffff38}.newgame-footer .submit-btn:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#f59e0b61 0%,#d9773661 100%);border-color:#f59e0bd9;transform:translateY(-1px);box-shadow:0 6px 20px #f59e0b40,inset 0 1px #ffffff59}@media (max-width:580px){.newgame-mode-grid{grid-template-columns:1fr}.newgame-size-grid{grid-template-columns:repeat(3,1fr)}.newgame-seed-header{flex-direction:column;align-items:flex-start;gap:6px}}
.changelog-subheader{text-align:left;align-items:center;gap:10px;margin-bottom:16px;display:flex}.changelog-stage-badge-global{font-family:var(--font-jetbrains-mono), "JetBrains Mono", ui-monospace, monospace;letter-spacing:.14em;color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b47;border-radius:3px;flex-shrink:0;align-items:center;padding:2px 7px;font-size:.7rem;font-weight:700;line-height:1.3;display:inline-flex}.changelog-subtitle-text{color:#a8a29e;letter-spacing:.02em;margin:0;font-size:.82rem;line-height:1.4}.changelog-scroll-area{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex-direction:column;gap:12px;max-height:400px;margin-bottom:18px;padding-right:6px;display:flex;overflow-y:auto}.changelog-scroll-area::-webkit-scrollbar{width:5px}.changelog-scroll-area::-webkit-scrollbar-track{background:0 0}.changelog-scroll-area::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}.changelog-scroll-area::-webkit-scrollbar-thumb:hover{background:#ffffff52}.changelog-card{text-align:left;background:#12161ce6;border:1px solid #ffffff14;border-radius:8px;padding:14px 16px;transition:border-color .15s,background-color .15s;box-shadow:0 4px 16px #00000059,inset 0 1px #ffffff0a}.changelog-card.is-latest{background:#181d24f0;border:1px solid #ffffff29;box-shadow:0 6px 20px #00000073,inset 0 1px #ffffff14}.changelog-header-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.changelog-badge-cluster{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.changelog-version-pill{font-family:var(--font-jetbrains-mono), "JetBrains Mono", ui-monospace, monospace;letter-spacing:.06em;color:#f5f1ea;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000000d9;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:4px;align-items:center;padding:2px 7px;font-size:.76rem;font-weight:700;display:inline-flex}.changelog-card.is-latest .changelog-version-pill{color:#fbbf24;background:#f59e0b1a;border-color:#f59e0b47}.changelog-latest-pill{font-family:var(--font-jetbrains-mono), "JetBrains Mono", ui-monospace, monospace;letter-spacing:.1em;color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b40;border-radius:3px;align-items:center;padding:1px 6px;font-size:.65rem;font-weight:700;line-height:1.3;display:inline-flex}.changelog-tag{text-transform:uppercase;letter-spacing:.08em;color:#a8a29e;font-size:.68rem;font-weight:700}.changelog-card.is-latest .changelog-tag{color:#e5e5e5;letter-spacing:.09em}.changelog-date{font-family:var(--font-jetbrains-mono), "JetBrains Mono", ui-monospace, monospace;color:#78716c;letter-spacing:.04em;font-size:.72rem}.changelog-list{color:#d6d3d1;margin:0;padding-left:18px;font-size:.8rem;line-height:1.55}.changelog-list-item{margin-bottom:4px}.changelog-list-item::marker{color:#a8a29e}.changelog-list-item:last-child{margin-bottom:0}
.changelog-close-btn{color:#f5f1ea;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#161b22eb;border:1px solid #ffffff24;border-radius:6px;justify-content:center;align-items:center;width:100%;height:42px;padding:0 16px;font-size:.84rem;font-weight:600;transition:background-color .15s,border-color .15s,transform .1s;display:flex;box-shadow:0 2px 8px #00000059,inset 0 1px #ffffff0f}.changelog-close-btn:hover{color:#fff;background:#1e252ef5;border-color:#ffffff47;transform:translateY(-1px)}.changelog-close-btn:active{background:#10141af5;transform:translateY(1px)}
.showcase-thumbnail-viewport{aspect-ratio:16/9;cursor:pointer;background:#070d14;border:1px solid #ffffff1a;border-radius:6px;outline:none;width:100%;max-height:clamp(140px,19vh,205px);transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.showcase-thumbnail-viewport:hover,.showcase-thumbnail-viewport:focus-visible{border-color:#ffffff52;box-shadow:0 8px 24px #00000080}.showcase-thumbnail-img{object-fit:cover;width:100%;height:100%;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:block;transform:translateZ(0)}.showcase-thumbnail-viewport:hover .showcase-thumbnail-img{transform:scale(1.04)}.showcase-minimap-wrapper{background:#081119;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.showcase-minimap-svg{transform-origin:50%;width:85%;height:85%;transition:transform .35s;transform:rotateX(55deg)rotate(45deg)scale(1.4)}.showcase-thumbnail-viewport:hover .showcase-minimap-svg{transform:rotateX(55deg)rotate(45deg)scale(1.48)}.showcase-thumbnail-fallback{background:#081119;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.showcase-fallback-grid{background-image:linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(#ffffff0a 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.showcase-fallback-text{letter-spacing:.15em;color:#fff6;z-index:1;font-size:.85rem;font-weight:800}.showcase-thumbnail-overlay{pointer-events:none;background:linear-gradient(#0000 35%,#0a10194d 70%,#0a1019d9 100%);position:absolute;inset:0}.showcase-quick-play{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;z-index:2;pointer-events:none;background:#141a23bf;border:1px solid #ffffff47;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:opacity .2s,transform .2s,background .15s;display:flex;position:absolute;bottom:14px;right:14px;transform:scale(.85)}.showcase-thumbnail-viewport:hover .showcase-quick-play{opacity:1;transform:scale(1)}
.desktop-city-showcase{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-sizing:border-box;background:#0e141de0;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;width:100%;padding:clamp(10px,1.4vh,14px);transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 12px 32px #00000080,inset 0 1px #ffffff14}.desktop-city-showcase:hover{border-color:#fff3;box-shadow:0 20px 48px #000000a6,inset 0 1px #ffffff24}.showcase-header-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.showcase-eyebrow{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:.72rem;font-weight:700;display:flex}.showcase-status-badge{color:#cbd5e1;letter-spacing:.04em;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:4px;align-items:center;gap:6px;padding:3px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.showcase-status-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #22c55ea6}.showcase-body{flex-direction:column;gap:clamp(6px,.9vh,8px);margin-top:clamp(8px,1.2vh,12px);display:flex}.showcase-city-name{color:#fff;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(1.05rem,1.2vw,1.2rem);font-weight:700;overflow:hidden}.showcase-kpi-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.showcase-kpi-pill{color:#94a3b8;background:#ffffff0a;border:1px solid #ffffff14;border-radius:5px;align-items:center;gap:5px;padding:3px 8px;font-size:clamp(.7rem,.85vw,.75rem);display:inline-flex}.showcase-kpi-label{color:#94a3b8;font-weight:500}.showcase-kpi-value{font-family:var(--mono,monospace);color:#f1f5f9;font-weight:700}.showcase-actions-row{align-items:center;gap:8px;margin-top:clamp(8px,1.2vh,12px);display:flex}.showcase-continue-btn{color:#fff;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;box-sizing:border-box;background:linear-gradient(135deg,#d977363d 0%,#d938292e 100%);border:1px solid #f59e0b66;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:8px;height:clamp(36px,4.4vh,40px);font-family:inherit;font-size:clamp(.78rem,.95vw,.84rem);font-weight:700;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s;display:inline-flex}.showcase-continue-btn:hover{background:linear-gradient(135deg,#d9773659 0%,#d9382940 100%);border-color:#f59e0bb3;transform:translateY(-1px);box-shadow:0 4px 16px #d9773640}.showcase-continue-btn:active{transform:translateY(1px)}.showcase-details-btn{color:#cbd5e1;cursor:pointer;box-sizing:border-box;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:clamp(36px,4.4vh,40px);padding:0 12px;font-family:inherit;font-size:clamp(.72rem,.85vw,.76rem);font-weight:600;transition:background .15s,color .15s;display:inline-flex}.showcase-details-btn:hover{color:#fff;background:#ffffff17}
.background-overlay{pointer-events:none;z-index:1;background:linear-gradient(90deg,#0a0e12f5 0%,#0a0e12e6 min(420px,35vw),#0a0e12b8 min(820px,68vw),#0a0e1247 min(1080px,82vw),#03060a0d min(1200px,90vw),#0000 min(1280px,95vw));width:100%;height:100%;position:absolute;top:0;left:0;transform:translateZ(0)}.desktop-menu-top-right{z-index:20;position:absolute;top:clamp(14px,2.8vh,32px);right:clamp(16px,3vw,40px)}@media (max-width:1140px){.desktop-menu-content-grid{gap:clamp(18px,3vw,36px);margin-left:clamp(20px,4vw,48px)}.desktop-menu-nav-column{max-width:clamp(280px,28vw,340px)}.desktop-menu-showcase-zone{max-width:clamp(340px,36vw,420px)}}@media (max-width:1024px){.desktop-menu-single-column{gap:clamp(8px,1.5vh,14px);max-width:clamp(320px,44vw,420px);margin-left:clamp(20px,4vw,48px)}.desktop-menu-top-right{transform-origin:100% 0;top:14px;right:18px;transform:scale(.92)}}@media (max-width:860px){.desktop-menu-content-grid{flex-direction:column;align-items:flex-start;gap:16px;margin-top:0;margin-left:clamp(16px,3vw,28px)}.desktop-menu-showcase-zone{max-width:min(420px,100% - 40px)}.desktop-menu-single-column{max-width:min(420px,100% - 40px);margin-left:clamp(16px,3vw,28px)}.background-overlay{background:linear-gradient(90deg,#0a0e12f0 0%,#0a0e12d1 75%,#0000 100%)}}@media (max-height:720px){.desktop-menu-container{padding-top:max(12px, calc(18px * var(--ui-scale)))}.desktop-menu-single-column{gap:clamp(6px,1.2vh,10px)}.game-branding{margin-bottom:6px}.branding-tagline{margin-top:3px;font-size:.8rem}.menu-hero-button{min-height:72px;padding:6px 14px}.main-menu-btn{height:40px;padding:0 14px;font-size:.82rem}}@media (max-height:580px){.branding-tagline{display:none}.game-branding{margin-bottom:2px}.menu-hero-button{min-height:64px}.main-menu-btn{height:36px}}
.mobile-menu-container{height:100dvh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));box-sizing:border-box;flex-direction:column;justify-content:space-between;display:flex}.mobile-landscape-logo{display:none}.mobile-menu-scrollable{scrollbar-width:none;flex-direction:column;flex:1;gap:16px;padding-bottom:16px;display:flex;overflow-y:auto}.mobile-menu-scrollable::-webkit-scrollbar{display:none}.mobile-last-city-wrapper{width:100%}.mobile-menu-buttons-list{flex-direction:column;gap:8px;width:100%;display:flex}.mobile-menu-touch-btn{color:#f1f5f9;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d1818d9;border:1px solid #94a3b82e;border-radius:10px;align-items:center;gap:12px;min-height:44px;padding:10px 16px;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #00000026}.mobile-menu-touch-btn:active{background:#0d1818f2;border-color:#f9731680;transform:scale(.98)}.mobile-menu-touch-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.mobile-menu-btn-icon{color:#94a3b8;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.mobile-menu-touch-btn:active .mobile-menu-btn-icon{color:#f97316}.mobile-menu-btn-label{flex:1}.mobile-menu-btn-chevron{color:#64748b;justify-content:center;align-items:center;width:16px;height:16px;transition:transform .2s,color .2s;display:flex}.mobile-menu-touch-btn:hover .mobile-menu-btn-chevron,.mobile-menu-touch-btn.active .mobile-menu-btn-chevron{color:#f97316;transform:translate(2px)}.mobile-enter-hint-badge{color:#94a3b8;background:#0b0f14b3;border:1px solid #94a3b826;border-radius:6px;align-items:center;gap:6px;margin-left:12px;padding:3px 8px;font-size:.72rem;display:inline-flex}.mobile-enter-hint-badge .kbd-key{color:#e2e8f0;background:#161c24e6;border:1px solid #ffffff26;border-radius:4px;align-items:center;padding:1px 5px;font-family:inherit;font-size:.68rem;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #0006}.mobile-header-clean{z-index:10;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;display:flex;position:relative}.mobile-right-panel{flex-direction:column;gap:10px;width:100%;display:flex}.mobile-auth-card-container{box-sizing:border-box;background:#0b0f14b3;border:1px solid #ffffff1a;border-radius:12px;width:100%;padding:8px 12px;overflow:visible!important}
@media (orientation:landscape) and (max-height:700px),(max-height:600px){.mobile-menu-container{box-sizing:border-box;flex-direction:column;justify-content:space-between;gap:6px;height:100dvh;display:flex;overflow:hidden;padding:max(8px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 0 max(20px, env(safe-area-inset-left))!important}.mobile-header-clean{display:none}.mobile-landscape-logo{flex-shrink:0;margin-bottom:8px;display:block}.mobile-landscape-logo .branding-tagline{color:#94a3b8!important;opacity:1!important;visibility:visible!important;height:auto!important;margin-top:3px!important;font-size:.72rem!important;font-weight:500!important;display:block!important}.mobile-landscape-logo .branding-accent-line{opacity:1!important;visibility:visible!important;background:#f97316!important;border-radius:2px!important;width:32px!important;height:3px!important;margin-top:6px!important;display:block!important}.mobile-landscape-logo .game-branding{margin-bottom:0}.mobile-landscape-logo .metropolyca-logo-wrapper svg{width:40px!important;height:37.5px!important}.mobile-landscape-logo .logo-text{font-size:1.2rem!important;transform:translateY(3px)!important}.mobile-menu-scrollable{flex-direction:row;flex:1;justify-content:space-between;align-items:center;gap:20px;width:100%;padding-bottom:4px;display:flex;position:relative;overflow:hidden auto}.mobile-menu-buttons-list{flex-direction:column;flex-shrink:0;gap:4px;width:255px;max-width:44vw;margin-top:0;display:flex}.mobile-menu-touch-btn{white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d1818bf;border:1px solid #94a3b829;border-radius:8px!important;height:32px!important;min-height:32px!important;padding:0 12px!important;font-size:.8rem!important}.mobile-menu-touch-btn.active{color:#fff!important;background:linear-gradient(90deg,#f973162e,#0d1818f2)!important;border:1.5px solid #f97316!important;box-shadow:0 0 12px #f9731659!important}.mobile-menu-touch-btn.active .mobile-menu-btn-icon{color:#f97316!important}}
@media (orientation:landscape) and (max-height:700px),(max-height:600px){.mobile-right-panel{z-index:10;flex-direction:column;flex-shrink:0;align-self:center;gap:6px;width:230px;max-width:38vw;margin-top:0;margin-left:auto;display:flex;position:relative}.mobile-auth-card-container,.mobile-auth-card-container .google-widget-container{background:0 0;border:none;padding:0;width:100%!important;position:relative!important;top:auto!important;right:auto!important;overflow:visible!important;transform:none!important}.mobile-auth-card-container .google-sign-in-card,.mobile-auth-card-container .google-signed-in-card,.mobile-auth-card-container .google-user-widget{box-sizing:border-box!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;background:#0d1a1feb!important;border:1px solid #94a3b833!important;border-radius:8px!important;gap:6px!important;width:100%!important;min-height:32px!important;margin:0!important;padding:3px 8px!important}.mobile-auth-card-container .google-sign-in-card span,.mobile-auth-card-container .google-signed-in-card span{font-size:.7rem!important}.mobile-last-city-wrapper{max-height:none;overflow:visible;width:100%!important}.mobile-last-city-wrapper .last-city-container{height:100%;padding:0}.mobile-last-city-wrapper .last-city-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0d1a1feb;border:1px solid #94a3b833;border-radius:8px;flex-direction:column;gap:4px;padding:6px 8px;display:flex;box-sizing:border-box!important;width:100%!important}.mobile-last-city-wrapper .city-preview-wrapper{background:#091414e6;border:1px solid #ffffff1f;border-radius:6px;width:100%;position:relative;overflow:hidden;height:80px!important;min-height:80px!important;display:block!important}.mobile-last-city-wrapper .view-details-btn{display:none!important}.mobile-last-city-wrapper .last-city-header{color:#f97316;align-items:center;gap:4px;font-size:.75rem;font-weight:700;display:flex!important}.mobile-last-city-wrapper .last-city-name{margin:0;font-size:.85rem;font-weight:700}.mobile-last-city-wrapper .save-status-badge{padding:1px 5px;font-size:.65rem}.mobile-last-city-wrapper .save-metadata-list{background:#0a141880;border:1px solid #94a3b81a;border-radius:6px;grid-template-columns:1fr 1fr;gap:4px 12px;margin:2px 0 0;padding:6px 8px;display:grid}.mobile-last-city-wrapper .save-metadata-row{border-bottom:none;justify-content:flex-start;align-items:center;gap:4px;padding:0;font-size:.74rem;display:flex}.mobile-last-city-wrapper .save-metadata-row:after{content:none!important}.mobile-last-city-wrapper .save-metadata-label{gap:3px}.mobile-last-city-wrapper .save-metadata-label-text{display:none!important}.mobile-menu-footer-bar{z-index:30;width:100%;padding:3px max(16px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08100eeb;border-top:1px solid #94a3b826;flex-shrink:0;justify-content:space-between;align-items:center;margin-top:auto;font-size:.65rem;display:flex;position:relative}.mobile-footer-left,.mobile-footer-right{align-items:center;gap:8px;display:flex}.mobile-footer-right svg{width:14px!important;height:14px!important}.mobile-enter-hint-badge{gap:4px!important;margin-left:6px!important;padding:1px 6px!important;font-size:.62rem!important}.mobile-enter-hint-badge .kbd-key{padding:0 4px!important;font-size:.6rem!important}.game-subtitle{display:none!important}}


.settings-modal-overlay{-webkit-backdrop-filter:blur(16px);z-index:10000;-webkit-user-select:none;user-select:none;width:100vw;height:100vh;font-family:var(--font), system-ui, -apple-system, sans-serif;background:#080e1ad1;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.settings-modal-container{-webkit-backdrop-filter:blur(24px);box-sizing:border-box;background:#0c121cf0;border:1px solid #ffffff1f;border-radius:8px;grid-template-rows:auto 1fr auto;width:1040px;max-width:95vw;height:720px;max-height:92vh;display:grid;overflow:hidden;box-shadow:0 24px 64px #000000bf,inset 0 1px #ffffff24,inset 0 -1px #00000073}.settings-header{padding:calc(16px * var(--ui-scale)) calc(24px * var(--ui-scale)) calc(14px * var(--ui-scale));background:linear-gradient(#ffffff08 0%,#00000026 100%);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;display:flex}.settings-branding{flex-direction:column;display:flex}.settings-logo-row{align-items:center;gap:var(--ui-space-3);display:flex}.settings-tagline{color:#94a3b8;letter-spacing:.01em;margin-top:3px;font-size:.8rem}.settings-close-btn{color:#94a3b8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .15s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:inset 0 1px #ffffff1a,0 2px 4px #0000004d}.settings-close-btn:hover{color:#fff;background:#ef44442e;border-color:#ef444473;transform:translateY(-1px)}.settings-close-btn:active{background:#ef444447;transform:translateY(1px)}@media (orientation:portrait) and (pointer:coarse) and (max-width:900px){.settings-modal-overlay{padding:max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom));align-items:stretch}.settings-modal-container{border-radius:14px;width:100%;max-width:none;height:100%;max-height:none}.settings-header{padding:14px 16px 12px}.settings-logo-text{font-size:1.25rem}.settings-tagline{display:none}.settings-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.settings-sidebar{scrollbar-width:none;border-bottom:1px solid #94a3b81a;border-right:0;flex-direction:row;padding:8px;overflow:auto hidden}.settings-sidebar::-webkit-scrollbar{display:none}.settings-tab-btn{flex:none;width:auto;min-width:44px;min-height:44px;padding:0 12px}.settings-tab-btn span{white-space:nowrap}.settings-content-area{overscroll-behavior:contain;gap:14px;min-height:0;padding:14px 16px 20px}.settings-grid-layout{grid-template-columns:1fr;gap:14px}.settings-card{gap:12px;padding:16px}.setting-row{flex-direction:column;align-items:flex-start;gap:8px}.setting-row>:last-child,.segmented-btn{min-height:40px}}
.settings-body{grid-template-columns:calc(230px * var(--ui-scale)) 1fr;box-sizing:border-box;height:100%;display:grid;overflow:hidden}.settings-sidebar{padding:var(--ui-space-3) calc(10px * var(--ui-scale));gap:calc(4px * var(--ui-scale));box-sizing:border-box;background:#080d16bf;border-right:1px solid #ffffff14;flex-direction:column;display:flex}.settings-tab-btn{align-items:center;gap:var(--ui-space-3);width:100%;height:38px;min-height:38px;padding:0 calc(12px * var(--ui-scale));color:#94a3b8;font-size:calc(.85rem * var(--ui-scale));letter-spacing:.02em;cursor:pointer;box-sizing:border-box;background:#ffffff05;border:1px solid #0000;border-radius:6px;font-weight:600;transition:all .15s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:inset 0 1px #ffffff08}.settings-tab-btn:hover{color:#fff;background:#ffffff0f;border-color:#ffffff24;transform:translateY(-1px)}.settings-tab-btn.active{color:#fff;background:#ffffff1f;border:1px solid #ffffff47;font-weight:700;box-shadow:0 4px 12px #00000059,inset 0 1px #ffffff2e}.settings-tab-btn.active svg{color:#fff}
.settings-content-area{padding:calc(20px * var(--ui-scale)) calc(28px * var(--ui-scale));box-sizing:border-box;gap:var(--ui-space-4);flex-direction:column;display:flex;overflow:hidden auto}.settings-grid-layout{gap:var(--ui-space-4);grid-template-columns:1fr 1fr;display:grid}.settings-card{padding:calc(16px * var(--ui-scale)) var(--ui-space-4);gap:calc(12px * var(--ui-scale));background:#0a101aa6;border:1px solid #ffffff14;border-radius:6px;flex-direction:column;display:flex;box-shadow:0 4px 16px #0006,inset 0 1px #ffffff0f,inset 0 -1px #00000059}.settings-card-header{letter-spacing:.05em;color:#fff;text-transform:uppercase;text-shadow:0 1px 2px #0009;align-items:center;gap:10px;margin-bottom:2px;font-size:.8rem;font-weight:700;display:flex}.settings-card-header svg{color:#cbd5e1;flex-shrink:0}.setting-row{justify-content:space-between;align-items:center;gap:var(--ui-space-4);font-size:calc(.86rem * var(--ui-scale));display:flex}.setting-label-col{flex-direction:column;display:flex}.setting-title{color:#f1f5f9;letter-spacing:.01em;font-weight:600}.setting-desc{color:#94a3b8;font-size:calc(.75rem * var(--ui-scale));margin-top:2px}
.setting-title-container{align-items:center;gap:8px;display:flex}.setting-info-btn{color:#94a3b8;cursor:help;background:#94a3b81f;border:1px solid #94a3b840;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff14}.setting-info-btn:hover,.setting-info-btn:focus{color:#fff;background:#ffffff26;border-color:#ffffff59;outline:none}.setting-tooltip-popup{color:#e2e8f0;pointer-events:none;opacity:0;visibility:hidden;z-index:100;text-align:left;background:#080e16f5;border:1px solid #ffffff29;border-radius:4px;width:220px;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.4;transition:opacity .18s,visibility .18s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0009,inset 0 1px #ffffff14}.setting-info-btn:hover .setting-tooltip-popup,.setting-info-btn:focus .setting-tooltip-popup{opacity:1;visibility:visible}.setting-tooltip-popup:after{content:"";border:5px solid #0000;border-top-color:#ffffff29;position:absolute;top:100%;left:50%;transform:translate(-50%)}
.segmented-group{background:#04080ea6;border:1px solid #ffffff14;border-radius:6px;gap:2px;padding:2px;display:flex;box-shadow:inset 0 1px 2px #0009}.segmented-btn{min-height:34px;padding:4px var(--ui-space-3);color:#94a3b8;font-size:calc(.78rem * var(--ui-scale));cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;font-weight:600;transition:all .15s cubic-bezier(.16,1,.3,1)}.segmented-btn:hover{color:#fff;background:#ffffff0f}.segmented-btn.active{color:#fff;background:#ffffff24;border:1px solid #ffffff47;font-weight:700;box-shadow:0 2px 8px #00000059,inset 0 1px #ffffff2e}.toggle-switch{cursor:pointer;background:#121a26f2;border:1px solid #ffffff24;border-radius:4px;width:44px;height:22px;transition:all .16s cubic-bezier(.16,1,.3,1);position:relative;box-shadow:inset 0 1px 3px #0009}.toggle-switch.checked{background:#ffffff2e;border-color:#ffffff59;box-shadow:inset 0 1px #ffffff24,0 0 8px #ffffff1f}.toggle-switch:after{content:"";background:#64748b;border:1px solid #ffffff4d;border-color:#ffffff4d #00000080 #0009 #fff3;border-radius:3px;width:16px;height:16px;transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0006}.toggle-switch.checked:after{background:#fff;border:1px solid #94a3b8;border-color:#fff #94a3b8 #94a3b8 #fff;transform:translate(22px)}.settings-select{appearance:none;color:#f8fafc;font-family:var(--font), system-ui, -apple-system, sans-serif;font-size:calc(.82rem * var(--ui-scale));cursor:pointer;background-color:#080e16f2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:13px;border:1px solid #ffffff24;border-radius:4px;outline:none;min-height:34px;padding:6px 32px 6px 12px;font-weight:600;transition:all .15s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 1px #ffffff0d,0 2px 4px #0000004d}.settings-select:hover:not(:disabled){color:#fff;background-color:#121a26fa;border-color:#ffffff52}.settings-select:focus-visible{outline-offset:1px;border-color:#ffffff80;outline:2px solid #ffffff26}.settings-select:disabled{opacity:.5;cursor:not-allowed}.settings-select option{color:#f8fafc;background-color:#0c121c;padding:8px 12px}.range-slider-container,.slider-group{align-items:center;gap:var(--ui-space-3);display:flex}.range-slider-input,.settings-slider{accent-color:#cbd5e1;cursor:pointer}.range-val-badge,.slider-val{font-size:calc(.82rem * var(--ui-scale));font-weight:700;font-family:var(--mono);color:#fff;text-align:right;letter-spacing:-.02em;min-width:40px}.disabled-badge{color:#94a3b8;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}
.settings-content-area,.settings-scrollable{scrollbar-width:thin;scrollbar-color:#1e293b #060a12bf}.settings-content-area::-webkit-scrollbar{width:8px;height:8px}.settings-scrollable::-webkit-scrollbar{width:8px;height:8px}.settings-content-area::-webkit-scrollbar-track{background:#060a12bf;border:1px solid #ffffff0d;border-radius:0}.settings-scrollable::-webkit-scrollbar-track{background:#060a12bf;border:1px solid #ffffff0d;border-radius:0}.settings-content-area::-webkit-scrollbar-thumb{background:#1e293b;border:1px solid #0009;border-color:#ffffff38 #0009 #0009 #ffffff38;border-radius:0;box-shadow:inset 0 0 0 1px #ffffff0a}.settings-scrollable::-webkit-scrollbar-thumb{background:#1e293b;border:1px solid #0009;border-color:#ffffff38 #0009 #0009 #ffffff38;border-radius:0;box-shadow:inset 0 0 0 1px #ffffff0a}.settings-content-area::-webkit-scrollbar-thumb:hover{background:#d4822a;border:1px solid #7c2d12;border-color:#fef08a #7c2d12 #7c2d12 #fef08a}.settings-scrollable::-webkit-scrollbar-thumb:hover{background:#d4822a;border:1px solid #7c2d12;border-color:#fef08a #7c2d12 #7c2d12 #fef08a}.settings-content-area::-webkit-scrollbar-thumb:active{background:#f59e0b;border:1px solid #92400e;border-color:#fff #92400e #92400e #fff}.settings-scrollable::-webkit-scrollbar-thumb:active{background:#f59e0b;border:1px solid #92400e;border-color:#fff #92400e #92400e #fff}
.settings-footer{padding:var(--ui-space-3) calc(26px * var(--ui-scale));background:#080d16e6;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;display:flex}.settings-footer-btn{height:38px;min-height:38px;padding:0 var(--ui-space-4);font-size:calc(.82rem * var(--ui-scale));cursor:pointer;text-transform:uppercase;letter-spacing:.04em;border-radius:6px;align-items:center;gap:8px;font-weight:700;transition:all .15s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:inset 0 1px #ffffff1a,0 2px 4px #0000004d}.settings-footer-btn.restore{color:#94a3b8;background:#ffffff08;border:1px solid #ffffff1f}.settings-footer-btn.restore:hover{color:#fff;background:#ffffff14;border-color:#ffffff3d;transform:translateY(-1px)}.settings-footer-btn.restore:active{transform:translateY(1px)}.settings-footer-btn.close{color:#fff;background:#ffffff1a;border:1px solid #ffffff3d;box-shadow:0 2px 10px #00000059,inset 0 1px #ffffff2e}.settings-footer-btn.close:hover{background:#ffffff2e;border-color:#fff6;transform:translateY(-1px);box-shadow:0 4px 14px #00000073,inset 0 1px #ffffff3d}.settings-footer-btn.close:active{transform:translateY(1px)}@media (orientation:portrait) and (pointer:coarse) and (max-width:900px){.settings-footer{padding:10px 12px max(10px, env(safe-area-inset-bottom));gap:8px}.settings-footer-btn{min-height:40px;padding:8px 12px;font-size:.72rem}}body.mode-borderless{width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;overflow:hidden!important}body.mode-borderless #game-root,body.mode-borderless .main-menu-root{width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;box-shadow:none!important;border-radius:0!important}

.mobile-orientation-overlay{z-index:11000;pointer-events:auto;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.mobile-orientation-backdrop{-webkit-backdrop-filter:blur(8px);background:#040a0cd1;position:absolute;inset:0}.mobile-orientation-modal{z-index:1;text-align:center;background:linear-gradient(#122229f5,#0d1a1ffa);border:1px solid #94a3b82e;border-radius:20px;flex-direction:column;align-items:center;width:min(100%,340px);padding:28px 24px 24px;display:flex;position:relative;box-shadow:0 20px 48px #000000a6,inset 0 1px #ffffff14}.mobile-orientation-icon-container{background:#172b33b3;border:1px solid #94a3b826;border-radius:16px;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:18px;display:flex;box-shadow:0 4px 16px #00000040}.mobile-orientation-device{width:44px;height:44px;color:var(--accent-hi,#f97316);animation:2.4s ease-in-out infinite mobile-orientation-turn}.mobile-expand-device{width:44px;height:44px;color:var(--accent-hi,#f97316);animation:2s ease-in-out infinite mobile-expand-pulse}.mobile-orientation-arrow{opacity:.85}.mobile-orientation-content{margin-bottom:22px}.mobile-orientation-title{color:var(--text-main,#f3f6f7);margin:0 0 8px;font-size:1.125rem;font-weight:650;line-height:1.25}.mobile-orientation-description{color:var(--text-muted,#9eadb6);margin:0;font-size:.875rem;line-height:1.45}.mobile-orientation-continue-btn{color:#fff;cursor:pointer;background:#172b33d9;border:1px solid #94a3b83d;border-radius:10px;width:100%;min-height:44px;padding:10px 16px;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s}.mobile-orientation-continue-btn:hover{background:#1e3741f2;border-color:#94a3b861}.mobile-orientation-continue-btn:active{transform:translateY(1px)}.mobile-orientation-continue-btn:focus-visible{outline:2px solid var(--accent-hi,#f97316);outline-offset:2px}@keyframes mobile-orientation-turn{0%,15%{transform:rotate(0)}45%,68%{transform:rotate(90deg)}to{transform:rotate(0)}}@keyframes mobile-expand-pulse{0%,15%{transform:scale(1)}45%,70%{transform:scale(1.18)}90%,to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.mobile-orientation-device{animation:none}}
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--min-touch-target:44px;--mobile-hud-bg:#07120ff0;--mobile-surface-raised:#0d1a1f;--mobile-surface-secondary:#122229;--mobile-surface-active:#172b33;--mobile-border:#94a3b82e;--mobile-text-primary:#f3f6f7;--mobile-text-secondary:#9eadb6;--mobile-accent-orange:#f97316;--mobile-accent-blue:#4da7e8;--mobile-accent-green:#55c477;--mobile-accent-danger:#e85d4a}
@media (orientation:landscape) and (max-height:700px),(max-height:600px){.desktop-only-element{display:none!important}.mobile-game-topbar{background:var(--mobile-hud-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--mobile-border);height:52px;padding:0 max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));padding-top:env(safe-area-inset-top);z-index:1000;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.mobile-topbar-primary{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.mobile-brand-btn{cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex}.mobile-topbar-stats{align-items:center;gap:8px;display:flex}.mobile-stat-pill{background:var(--mobile-surface-secondary);border:1px solid var(--mobile-border);color:var(--mobile-text-primary);border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;font-weight:600;display:flex}.mobile-speed-popover{top:56px;right:max(16px, env(safe-area-inset-right));background:var(--mobile-surface-raised);border:1px solid var(--mobile-border);z-index:1001;border-radius:12px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;box-shadow:0 10px 25px #00000080}.mobile-speed-option{background:var(--mobile-surface-secondary);min-width:44px;min-height:44px;color:var(--mobile-text-primary);cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:8px 16px;font-weight:600;display:flex}.mobile-speed-option.active{background:var(--mobile-accent-orange);color:#fff}}
@media (orientation:landscape) and (max-height:700px),(max-height:600px){.mobile-left-controls-container{bottom:max(16px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));z-index:990;flex-direction:column;align-items:flex-start;gap:12px;display:flex;position:fixed}.mobile-left-menu-trigger{color:#f3f6f7;-webkit-backdrop-filter:blur(14px);cursor:pointer;background:#0d1822f0;border:1px solid #94a3b838;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;transition:all .15s;display:flex;box-shadow:0 6px 16px #00000073}.mobile-left-menu-trigger.active,.mobile-left-menu-trigger:hover{color:#fbbf24;background:#1e293bf5;border-color:#f59e0ba6}.mobile-left-dropdown-menu{-webkit-backdrop-filter:blur(16px);background:#0d1822f5;border:1px solid #94a3b838;border-radius:14px;flex-direction:column;gap:6px;min-width:170px;padding:8px;animation:.2s ease-out mobileLeftDropdownSlide;display:flex;position:absolute;bottom:84px;left:0;box-shadow:0 12px 28px #0009}@keyframes mobileLeftDropdownSlide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mobile-left-dropdown-item{color:#f3f6f7;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.84rem;font-weight:600;transition:all .15s;display:flex}.mobile-left-dropdown-item:hover,.mobile-left-dropdown-item.active{color:#fbbf24;background:#f59e0b29}.mobile-yellow-build-btn{cursor:pointer;background:linear-gradient(135deg,#ffb703 0%,#fb8500 100%);border:2px solid #fff6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:78px;height:78px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 8px 24px #fb85008c,0 0 16px #ffb70359}.mobile-yellow-build-btn:active,.mobile-yellow-build-btn.active{transform:scale(.94);box-shadow:0 4px 14px #fb8500b3}.build-btn-icon-circle{justify-content:center;align-items:center;display:flex}.build-btn-label{color:#fff;letter-spacing:.02em;text-shadow:0 1px 3px #0006;font-size:.72rem;font-weight:800;line-height:1}}
@media (orientation:landscape) and (max-height:700px),(max-height:600px){.mobile-map-controls-right-column{top:50%;right:max(10px, env(safe-area-inset-right));z-index:990;-webkit-backdrop-filter:blur(14px);background:#081218bf;border:1px solid #94a3b826;border-radius:16px;flex-direction:column;align-items:flex-end;gap:8px;padding:6px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;transform:translateY(-50%)}.mobile-map-controls-right-column.is-collapsed{background:#08121866;border-color:#94a3b81a}.mobile-right-toggle-btn{color:#fbbf24!important;background:#1e293bd9!important;border-color:#f59e0b59!important;border-radius:10px!important;width:44px!important;height:44px!important}.mobile-minimap-tile-btn{-webkit-backdrop-filter:blur(14px);cursor:pointer;background:#0d1822f0;border:1px solid #94a3b833;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:68px;height:60px;transition:all .15s;display:flex;box-shadow:0 8px 24px #00000073}.mobile-minimap-tile-btn.active{background:#f973162e;border-color:#f97316;box-shadow:0 0 14px #f9731659}.minimap-btn-icon{font-size:1.2rem;line-height:1}.minimap-btn-label{color:#f3f6f7;font-size:.68rem;font-weight:600;line-height:1}.mobile-controls-vertical-stack{flex-direction:column;align-items:center;gap:8px;display:flex}.mobile-stack-action-btn{color:#f3f6f7;-webkit-backdrop-filter:blur(14px);cursor:pointer;background:#0d1822f0;border:1px solid #94a3b82e;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;transition:all .15s;display:flex;box-shadow:0 6px 18px #0006}.mobile-stack-action-btn:hover{color:#f97316;background:#172b33f2;border-color:#94a3b859;transform:scale(1.04)}}
@media (orientation:landscape) and (max-height:700px),(max-height:600px){.mobile-left-bottom-group{bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));z-index:990;flex-direction:column;gap:10px;display:flex;position:fixed}.mobile-compass-btn{background:var(--mobile-hud-bg);border:2px solid var(--mobile-border);width:56px;height:56px;color:var(--mobile-text-primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex;box-shadow:0 4px 12px #0006}.mobile-demolish-btn{background:var(--mobile-hud-bg);border:1px solid var(--mobile-border);width:52px;height:52px;color:var(--mobile-text-primary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;display:flex}.mobile-demolish-btn.active{background:var(--mobile-accent-danger);border-color:#fff;box-shadow:0 0 12px #e85d4a99}.mobile-demolish-banner{background:var(--mobile-accent-danger);color:#fff;z-index:1000;border-radius:20px;align-items:center;gap:10px;padding:6px 16px;font-size:.85rem;font-weight:700;display:flex;position:fixed;top:60px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0006}.mobile-bottom-drawer{background:var(--mobile-surface-raised);border-top:1px solid var(--mobile-border);z-index:1050;padding-bottom:env(safe-area-inset-bottom);border-top-left-radius:16px;border-top-right-radius:16px;flex-direction:column;transition:height .25s ease-out;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 24px #00000080}.mobile-bottom-drawer.collapsed{height:44px}.mobile-bottom-drawer.half{height:55vh;max-height:280px}.mobile-bottom-drawer.full{height:82vh;max-height:380px}.mobile-drawer-handle-bar{cursor:pointer;border-bottom:1px solid #ffffff0d;flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 16px;display:flex}.mobile-drawer-pill{background:var(--mobile-border);border-radius:2px;width:36px;height:4px;margin:0 auto}.mobile-drawer-content{flex:1;padding:12px 16px;overflow-y:auto}}

.mobile-bottom-dock-container{bottom:max(14px, env(safe-area-inset-bottom));z-index:990;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%)}.mobile-bottom-dock-pill{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d1a23eb;border:1px solid #94a3b838;border-radius:36px;align-items:center;gap:6px;padding:6px 14px;display:flex;box-shadow:0 12px 36px #0000008c,0 2px 8px #0000004d}.dock-item-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:56px;height:52px;padding:4px 8px;transition:all .18s;display:flex}.dock-item-btn:hover,.dock-item-btn.active{color:#f3f6f7;background:#ffffff0f}.dock-item-btn.active .dock-item-label{color:#38bdf8;font-weight:700}.dock-item-label{color:#94a3b8;letter-spacing:.01em;font-size:.68rem;font-weight:600;line-height:1}.dock-icon-badge-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.dock-alert-dot{background:#f59e0b;border-radius:50%;width:8px;height:8px;position:absolute;top:-1px;right:-2px;box-shadow:0 0 8px #f59e0b}.dock-hero-build-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#fbbf24 0%,#d97706 100%);border:2px solid #fff6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:68px;height:68px;margin:-14px 4px 0;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 8px 24px #d9770673,0 0 14px #fbbf244d}.dock-hero-build-btn:hover,.dock-hero-build-btn.active{transform:translateY(-2px)scale(1.04);box-shadow:0 12px 28px #d9770699,0 0 18px #fbbf2466}.dock-hero-build-btn:active{transform:translateY(0)scale(.96)}.hero-build-icon-wrapper{justify-content:center;align-items:center;display:flex}.hero-build-label{color:#fff;letter-spacing:.02em;text-shadow:0 1px 3px #00000080;font-size:.64rem;font-weight:800;line-height:1}
.metropolyca-loading{z-index:10000;-webkit-backdrop-filter:blur(18px)saturate(135%);backdrop-filter:blur(18px)saturate(135%);color:#fff;-webkit-user-select:none;user-select:none;background:#0f172a3d;place-items:center;transition:opacity .35s;display:grid;position:fixed;inset:0}.metropolyca-loading-content{width:min(440px,100vw - 32px);box-shadow:none;text-align:center;background:0 0;border:none;flex-direction:column;align-items:center;padding:16px;display:flex;position:relative}.metropolyca-loading-logo-container{filter:drop-shadow(0 4px 14px #00000059);justify-content:center;align-items:center;width:120px;height:112px;margin-bottom:22px;display:flex;position:relative}.metropolyca-loading-text{color:#ffffffeb;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 2px 8px #000000a6,0 0 16px #fff3;margin-bottom:14px;font:700 .9rem/1.2 JetBrains Mono,-apple-system,BlinkMacSystemFont,sans-serif}.metropolyca-loading-meter{flex-direction:column;align-items:center;width:100%;max-width:320px;display:flex}.metropolyca-loading-percent-counter{color:#fff;letter-spacing:.08em;font-variant-numeric:tabular-nums;text-shadow:0 2px 8px #000000e6,0 0 14px #f59e0b66;margin-bottom:8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:1.5rem;font-weight:700;line-height:1.1}.metropolyca-loading-track{background:#0f172a99;border:1px solid #ffffff2e;border-radius:999px;width:100%;max-width:280px;height:6px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #00000080,0 2px 8px #0000004d}.metropolyca-loading-fill{border-radius:inherit;will-change:width;background:linear-gradient(90deg,#d93829 0%,#d97736 30%,#f59e0b 70%,#fbbf24 100%);height:100%;transition:none;box-shadow:0 0 10px #f59e0bbf,0 0 18px #fbbf2480}.metropolyca-loading-sublabel{color:#ffffffc7;letter-spacing:.03em;text-shadow:0 1px 4px #000000bf;margin-top:10px;margin-bottom:0;font-size:.82rem;font-weight:500}
.menu-overlay{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:9999;background:radial-gradient(circle,#0c1016d9 0%,#040609f5 100%);justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.menu-overlay.hidden{opacity:0;pointer-events:none}.menu-modal{text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(165deg,#10151cf7 0%,#080b10fc 100%);border:1px solid #ffffff24;border-radius:12px;outline:none;width:420px;max-width:90vw;padding:32px 36px;animation:.25s ease-out menuIn;box-shadow:0 24px 60px #000000bf,inset 0 1px #ffffff14}.menu-modal:focus,.menu-modal:focus-visible{outline:none}@keyframes menuIn{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.menu-title{color:#fff;letter-spacing:2px;margin:0 0 4px;font-size:2.5rem}.menu-subtitle{color:#a8a29e;letter-spacing:.02em;margin-bottom:22px;font-size:.85rem}.menu-buttons{flex-direction:column;gap:10px;display:flex}.menu-config-card{text-align:left;background:#081410a6;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:10px;margin-bottom:4px;padding:12px 14px;display:flex}.menu-config-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.city-size-label{color:#94a3b8;letter-spacing:.03em;font-size:.75rem;font-weight:600}.city-size-select{color:#e2e8f0;width:100%;font:inherit;cursor:pointer;background:#06100dd9;border:1px solid #94a3b833;border-radius:8px;outline:none;padding:8px 12px;font-size:.85rem;transition:border-color .2s,box-shadow .2s}.city-size-select:focus,.city-size-select:hover{border-color:#34d39980;box-shadow:0 0 10px #34d39926}.menu-btn{color:#d1fae5;cursor:pointer;letter-spacing:.02em;background:#10231c8c;border:1px solid #94a3b82e;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 2px 6px #0003}.menu-btn:hover:not(:disabled){color:#fff;background:#ffffff17;border-color:#34d39966;transform:translateY(-1px);box-shadow:0 6px 18px #00000059}.menu-btn:active:not(:disabled){transform:translateY(0)}.menu-btn.primary{color:#ecfdf5;text-shadow:0 1px 2px #00000080;background:linear-gradient(135deg,#10b9814d 0%,#05966973 100%);border-color:#34d39999;box-shadow:0 4px 16px #10b98140}.menu-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#10b98173 0%,#05966999 100%);border-color:#34d399d9;box-shadow:0 6px 20px #10b98159}.menu-btn.danger{color:#ffe0e0;background:#ef44442e;border-color:#ef444466}.menu-btn.danger:hover:not(:disabled){color:#fff;background:#ef444452;border-color:#ef4444a6;box-shadow:0 6px 18px #ef444440}.menu-btn:disabled{opacity:.35;cursor:not-allowed;border-color:#94a3b814}
