:root{color-scheme:dark;--bg:#0b141d;--panel:#111e29;--panel2:#152532;--line:#253744;--muted:#8093a0;--text:#e6edf0;--teal:#64c6b2;--gold:#e8c27c;--blue:#70b8d2}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:'DM Sans',system-ui,sans-serif}body{min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;flex:none;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 25px;gap:38px;background:#0e1923}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;min-width:210px}.brand-mark{width:37px;height:37px;border:1px solid #5bb9a6;border-radius:11px;display:grid;place-items:center;color:#77d4bd;font:800 23px Manrope,system-ui,sans-serif;background:linear-gradient(145deg,#193d40,#14252d)}.brand strong{display:block;letter-spacing:2.6px;font:800 15px Manrope,system-ui,sans-serif}.brand small{display:block;color:#8297a3;font:500 8px 'DM Mono',ui-monospace,monospace;letter-spacing:1.4px;margin-top:3px}.world-date{display:flex;align-items:center;gap:9px;color:#9aabb4;font:10px 'DM Mono',ui-monospace,monospace;letter-spacing:.7px}.world-date strong{color:#dfe9eb;font-weight:500;border-left:1px solid var(--line);padding-left:10px}.live-dot{width:7px;height:7px;border-radius:50%;background:#62c8a8;box-shadow:0 0 10px #62c8a877}.top-stats{margin-left:auto;display:flex;align-items:center;gap:27px}.top-stats>div small{display:block;color:#81939e;font:9px 'DM Mono',ui-monospace,monospace;letter-spacing:.7px}.top-stats>div strong{display:block;margin-top:4px;font:700 13px Manrope;color:#e9f0f1}.icon-button,.avatar{border:1px solid var(--line);background:#142430;color:#b8c8ce;border-radius:9px;width:35px;height:35px;position:relative}.icon-button i{position:absolute;width:5px;height:5px;background:#e9b86e;border-radius:50%;right:7px;top:7px}.avatar{background:#294b50;color:#a9e1d2;font-weight:700}.main-layout{display:grid;grid-template-columns:76px minmax(400px,1fr) 330px;flex:1;min-height:calc(100vh - 110px)}.rail{border-right:1px solid var(--line);background:#0e1923;display:flex;flex-direction:column;align-items:center;padding:19px 0;gap:10px}.rail-item{width:55px;height:58px;border:0;background:transparent;color:#718691;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.rail-item span{font-size:21px;line-height:22px}.rail-item small{font:8px 'DM Mono',ui-monospace,monospace;letter-spacing:.5px}.rail-item.active{color:#78d0bb;background:#193039;box-shadow:inset 2px 0 #69c7b1}.rail-spacer{flex:1}.map-workspace{min-width:0;padding:25px 26px 12px;display:flex;flex-direction:column}.map-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.eyebrow{font:9px 'DM Mono',ui-monospace,monospace;letter-spacing:1.5px;color:#81a0a9}.eyebrow span{color:#4b6470;padding:0 5px}.map-heading h1{font:700 25px Manrope,system-ui,sans-serif;letter-spacing:-.7px;margin:7px 0 4px}.map-heading p{font-size:12px;color:#8da0aa;margin:0}.map-actions{display:flex;gap:9px;align-items:center}.search-box{height:37px;width:230px;border:1px solid #2a414e;border-radius:8px;background:#111f2a;display:flex;align-items:center;padding:0 10px;gap:8px;color:#8da4ad}.search-box>span{font-size:19px}.search-box input{width:100%;min-width:0;background:transparent;border:0;outline:0;color:#e2ebee;font:11px 'DM Sans'}.search-box input::placeholder{color:#748893}.search-box kbd{white-space:nowrap;font:9px 'DM Mono',ui-monospace,monospace;border:1px solid #354b56;padding:3px 4px;border-radius:4px}.secondary-button{height:37px;border:1px solid #2a414e;border-radius:8px;background:#142430;color:#c3d0d4;padding:0 12px;font-size:11px}.map-stage{border:1px solid #2b414b;border-radius:12px;overflow:hidden;background:#102632;display:flex;flex-direction:column;min-height:460px;flex:1;box-shadow:0 12px 35px #0002}.map-toolbar{height:43px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 13px;background:#12232e;border-bottom:1px solid #2a414b}.zoom-level{display:flex;align-items:center;gap:9px;color:#8ea4ad;font:9px 'DM Mono',ui-monospace,monospace;letter-spacing:1px}.map-tools{display:flex;align-items:center;gap:5px}.map-tools button{width:28px;height:27px;border:1px solid #2b4652;border-radius:6px;background:#1a303c;color:#c5d6d9;font-size:16px}.map-tools button:hover,.secondary-button:hover{border-color:#67bca9;color:#8ce0ca}.tool-divider{height:18px;border-left:1px solid #35505c;margin:0 4px}.map-canvas-wrap{position:relative;flex:1;min-height:410px;overflow:hidden;touch-action:none;background:#102f3e}#worldMap{width:100%;height:100%;display:block;cursor:grab;user-select:none}#worldMap.dragging{cursor:grabbing}.landmass{fill:url(#land);stroke:#c0c7a0;stroke-width:2.4;stroke-linejoin:round;filter:url(#softShadow)}.cold-land{fill:#9baea9}.island{fill:#839b7d}.land-detail{fill:url(#forest);opacity:.58;pointer-events:none}.mountain-line{fill:none;stroke:#596f68;stroke-width:5;stroke-linecap:round;stroke-dasharray:2 7;opacity:.7}.river-line{fill:none;stroke:#75b9bd;stroke-width:3;stroke-linecap:round;opacity:.8}.lake{fill:#5c9da5;stroke:#9fc5b9;stroke-width:2}.rift-line{fill:none;stroke:#c17d56;stroke-width:3;stroke-linecap:round;opacity:.65}.forest-patch{fill:url(#forest);stroke:#537967;stroke-width:2;opacity:.8}.desert-patch{fill:url(#desert);stroke:#c4a071;stroke-width:1.5;opacity:.9}.region-label{fill:#405f56;font:500 10px 'DM Mono';letter-spacing:1.4px;text-anchor:middle;opacity:.82;pointer-events:none}.water-label{fill:#a1c4c3;font:italic 15px Manrope;letter-spacing:3px;text-anchor:middle;opacity:.52}.water-small{fill:#79a6ad;font:9px 'DM Mono',ui-monospace,monospace;letter-spacing:1.5px;text-anchor:middle;opacity:.45}.route{fill:none;stroke:#e7c27d;stroke-width:2.2;stroke-dasharray:7 6;opacity:.7}.route.secondary{stroke:#8ac5cb;stroke-dasharray:3 6;opacity:.58}.route-label{font:8px 'DM Mono',ui-monospace,monospace;fill:#f0d49e;letter-spacing:.6px}.city-marker{cursor:pointer;outline:none}.city-marker .halo{fill:#f1d18b;opacity:.13}.city-marker .dot{fill:#f4d89e;stroke:#203e43;stroke-width:3}.city-marker .core{fill:#fff1c9}.city-marker text{font:600 11px Manrope,system-ui,sans-serif;fill:#f2eee0;paint-order:stroke;stroke:#18333c;stroke-width:3px;stroke-linejoin:round}.city-marker.selected .halo{opacity:.38;stroke:#f4d89e;stroke-width:1;stroke-dasharray:3 3}.city-marker.selected .dot{fill:#72d1b9;stroke:#e5f4dc}.city-marker:focus .dot{stroke:#fff;stroke-width:4}.resource-marker{fill:#d2a76a;stroke:#f2d4a1;stroke-width:1.5}.resource-label{fill:#e8c68f;font:8px 'DM Mono',ui-monospace,monospace;paint-order:stroke;stroke:#14313b;stroke-width:3px}.selection-ring{fill:none;stroke:#80d8c0;stroke-width:2;stroke-dasharray:4 4;opacity:.9}.map-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 75px #07192366}.map-legend{position:absolute;left:14px;bottom:13px;display:flex;gap:14px;background:#10232dcc;border:1px solid #49616a88;border-radius:7px;padding:8px 10px;color:#c1d0cf;font:9px 'DM Mono',ui-monospace,monospace}.map-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:7px;height:7px;border-radius:50%}.city-dot{background:#f2d18d}.resource-dot{background:#d5a66c;transform:rotate(45deg);border-radius:1px}.legend-line{width:15px;border-top:2px dashed #e6c17c}.map-compass{position:absolute;right:17px;bottom:14px;display:flex;flex-direction:column;align-items:center;color:#a5c2be;font:9px 'DM Mono',ui-monospace,monospace;opacity:.7}.map-compass b{font-size:22px;font-weight:400}.map-footer{height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#10232e;color:#718b95;font:8px 'DM Mono',ui-monospace,monospace;letter-spacing:.8px}.map-footer b,.bottom-bar b{color:#48636e;padding:0 5px}.inspector{background:#111e29;border-left:1px solid var(--line);padding:23px 19px 16px;display:flex;flex-direction:column;min-width:0}.inspector-head{display:flex;justify-content:space-between;align-items:flex-start}.inspector-head h2{font:700 22px Manrope,system-ui,sans-serif;margin:6px 0 3px}.inspector-head p{font-size:11px;color:#8298a3;margin:0}.close-button{background:transparent;border:0;color:#80949d;font-size:23px}.selected-banner{margin:20px 0 21px;border:1px solid #3d5d5b;background:linear-gradient(110deg,#1d3c3d,#1b3036);border-radius:9px;padding:13px;display:flex;align-items:center;gap:11px;position:relative}.banner-orb{width:38px;height:38px;border-radius:9px;background:#2e6258;color:#a4e0ca;display:grid;place-items:center;font-size:22px}.selected-banner span:not(.pin-badge){display:block;font:8px 'DM Mono',ui-monospace,monospace;letter-spacing:1.1px;color:#8dc7b6}.selected-banner strong{display:block;font:700 12px Manrope,system-ui,sans-serif;letter-spacing:1px;margin:3px 0}.selected-banner small{display:block;color:#8fa8a8;font-size:9px}.pin-badge{margin-left:auto;color:#e5c17b;font-size:13px}.inspector-section{border-top:1px solid #293c47;padding:16px 0}.section-title{display:flex;justify-content:space-between;color:#8ca1aa;font:9px 'DM Mono',ui-monospace,monospace;letter-spacing:1.2px;margin-bottom:13px}.section-title span{font-size:8px;color:#627d88}.section-title button{border:0;background:transparent;color:#6ec4b0;font:9px 'DM Mono',ui-monospace,monospace}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 9px}.metric{min-height:68px}.metric small{display:block;color:#718893;font:8px 'DM Mono',ui-monospace,monospace;letter-spacing:.8px}.metric strong{display:block;font:700 17px Manrope,system-ui,sans-serif;margin:4px 0 1px;color:#e6eeee}.metric em{font-style:normal;color:#7e949d;font-size:9px}.metric .positive{color:#72c7a9}.industry-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.industry-list span{font-size:9px;color:#a6b6ba;display:flex;justify-content:space-between;gap:3px}.industry-list span b{color:#d7e0df;font:10px 'DM Mono',ui-monospace,monospace}.industry-list>div{height:4px;background:#263b45;border-radius:4px;overflow:hidden;margin-top:-4px}.industry-list>div i{height:100%;display:block;background:linear-gradient(90deg,#4d9e91,#8bc9a9);border-radius:4px}.layer-toggle{display:flex;align-items:center;justify-content:space-between;margin:12px 0;cursor:pointer}.layer-toggle>span{display:flex;align-items:center;gap:9px}.layer-icon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-size:13px;font-style:normal}.layer-icon.economy{background:#443a2a;color:#e9c27c}.layer-icon.resource{background:#29483d;color:#8ec59b}.layer-icon.names{background:#293d4d;color:#9dc9d7}.layer-toggle b{display:block;font-size:10px;font-weight:600}.layer-toggle small{display:block;color:#738993;font-size:9px;margin-top:2px}.layer-toggle input{position:absolute;opacity:0}.switch{width:29px;height:16px;border-radius:10px;background:#344752;position:relative;transition:.2s}.switch:after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#82949b;transition:.2s}.layer-toggle input:checked+.switch{background:#387d70}.layer-toggle input:checked+.switch:after{left:15px;background:#c5f0dc}.inspector-bottom{margin-top:auto;padding-top:13px}.primary-button{width:100%;height:40px;border:0;border-radius:7px;background:#68c5ae;color:#102c2c;font:700 11px Manrope,system-ui,sans-serif;display:flex;align-items:center;justify-content:center;gap:10px}.primary-button:hover{background:#83d8c2}.inspector-bottom p{text-align:center;color:#718690;font-size:9px;line-height:1.5;margin:9px 0 0}.bottom-bar{height:34px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;color:#647b86;font:8px 'DM Mono',ui-monospace,monospace;letter-spacing:.7px}.hidden{display:none!important}
@media(max-width:1150px){.main-layout{grid-template-columns:65px minmax(300px,1fr) 295px}.map-workspace{padding:20px 17px 10px}.inspector{padding:20px 14px}.map-actions .search-box{width:190px}.topbar{padding:0 17px;gap:20px}.top-stats{gap:15px}}
@media(max-width:850px){.main-layout{grid-template-columns:58px minmax(0,1fr)}.inspector{position:fixed;z-index:5;right:0;top:76px;bottom:34px;width:min(340px,calc(100vw - 58px));box-shadow:-15px 0 35px #0006;transform:translateX(105%);transition:transform .25s}.inspector.open{transform:translateX(0)}.map-workspace{padding:18px 15px 10px}.map-heading{align-items:flex-start;flex-direction:column}.map-actions{width:100%}.search-box{flex:1}.map-stage{min-height:430px}.top-stats>div{display:none}.world-date{font-size:8px}.bottom-bar{padding:0 10px}.bottom-bar span:last-child{display:none}}
@media(max-width:520px){.topbar{height:62px;padding:0 12px}.brand{min-width:0}.brand-mark{width:32px;height:32px}.brand strong{font-size:13px}.brand small{font-size:7px}.world-date{margin-left:auto;gap:6px}.world-date span:nth-child(2){display:none}.top-stats{margin-left:0;gap:7px}.icon-button,.avatar{width:31px;height:31px}.main-layout{min-height:calc(100vh - 94px);grid-template-columns:48px minmax(0,1fr)}.rail{padding-top:12px}.rail-item{width:42px;height:52px}.rail-item small{font-size:7px}.map-workspace{padding:14px 10px 8px}.map-heading{margin-bottom:13px}.map-heading h1{font-size:21px}.map-heading p{font-size:10px}.map-actions{gap:6px}.search-box{height:34px}.search-box kbd{display:none}.secondary-button{height:34px;padding:0 8px;font-size:10px}.secondary-button span{display:none}.map-stage{min-height:390px;border-radius:9px}.map-canvas-wrap{min-height:350px}.map-legend{left:7px;bottom:7px;gap:7px;padding:6px;font-size:7px}.map-compass{right:8px;bottom:7px}.map-footer{font-size:7px;padding:0 7px}.inspector{top:62px;bottom:28px}.bottom-bar{height:28px;font-size:7px}.map-toolbar{height:38px}}
