@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#eef1e8;background:#071820;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #dfbf83;outline-offset:3px}#app{width:100vw;height:100dvh;display:flex;flex-direction:column}.topbar{height:76px;min-height:76px;background:#10252d;border-bottom:1px solid #2b4349;display:flex;align-items:center;padding:0 26px;gap:24px;z-index:20}.brand{display:flex;align-items:center;gap:14px}.brand-mark{height:34px;width:36px;position:relative;display:flex;align-items:end;gap:3px}.brand-mark span{display:block;background:#d8be8a;width:9px;transform:skew(-10deg)}.brand-mark span:nth-child(1){height:22px}.brand-mark span:nth-child(2){height:33px}.brand-mark span:nth-child(3){height:16px}.brand-copy{font-size:12px;font-weight:800;letter-spacing:2px;line-height:1.35;white-space:nowrap}.brand-copy small{display:block;color:#849e9f;font-size:8px;letter-spacing:3.8px}.brand-divider{height:36px;width:1px;background:#385158;margin-left:6px}.product-name{display:flex;flex-direction:column;line-height:1.27}.product-name .eyebrow{color:#9faeaa;font-size:9px;letter-spacing:2.2px}.product-name>span:last-child{letter-spacing:2px;font-size:14px;font-weight:600}.product-name strong{color:#d7c39a}.top-actions{margin-left:auto;display:flex;align-items:center;gap:24px}.live{color:#a9c1b5;font-size:10px;font-weight:700;letter-spacing:1.7px;white-space:nowrap}.live span,.map-dot{display:inline-block;width:7px;height:7px;background:#97c9ac;border-radius:50%;box-shadow:0 0 16px #8ed1af;margin-right:7px}.icon-button{background:none;border:1px solid #496369;color:#d4e2db;width:33px;height:33px;border-radius:50%;font-weight:700}.action{border:0;background:#e0c18a;color:#1a2b2f;padding:13px 19px;font-weight:800;font-size:10px;letter-spacing:1.4px}.action-gold{background:#e0c18a}.action span{margin-left:14px}.shell{height:calc(100dvh - 76px);min-height:0;display:flex;position:relative}.sidebar{width:365px;flex:0 0 365px;background:#10242b;z-index:12;display:flex;flex-direction:column;border-right:1px solid #3a5057}.sidebar-scroll{padding:28px 28px 8px;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:#456067 transparent}.section-preamble{display:flex;justify-content:space-between;color:#a0b1ac;letter-spacing:2px;font-size:10px;font-weight:800}.section-preamble .glyph{font-size:19px;color:#e0c18a}.sidebar h1{font-family:'Space Grotesk',sans-serif;font-size:32px;letter-spacing:-1.4px;line-height:1.16;font-weight:600;margin:16px 0 12px}.sidebar h1 em{font-weight:500;color:#e0c18a;font-style:normal}.intro{font-size:11.8px;color:#9db1b1;line-height:1.8;max-width:290px;margin:0 0 23px}.world-meta{display:grid;grid-template-columns:repeat(3,1fr);padding:20px 0;border-top:1px solid #355058;border-bottom:1px solid #355058;gap:9px}.world-meta>div+div{border-left:1px solid #355058;padding-left:15px}.world-meta b{font:600 23px 'Space Grotesk',sans-serif;letter-spacing:-1px;display:block}.world-meta span{display:block;font-size:8px;letter-spacing:1.3px;color:#8fa7a7;margin-top:5px;white-space:nowrap}.section-preamble.second{margin-top:28px;margin-bottom:13px}.district-list{display:flex;flex-direction:column;gap:4px}.district-item{width:100%;display:flex;align-items:center;padding:10px 8px;background:transparent;border:1px solid transparent;color:#e6ede7;text-align:left;transition:.18s}.district-item:hover,.district-item.active{background:#1d3940;border-color:#37555b}.district-icon{height:36px;width:41px;display:grid;place-items:center;border-radius:2px;margin-right:12px;position:relative}.district-icon:after{content:'';position:absolute;left:7px;right:7px;bottom:7px;border-bottom:1px solid currentColor;opacity:.6}.district-text{display:flex;flex-direction:column;flex:1;gap:4px}.district-text b{font-size:12px;font-weight:700}.district-text small{font-size:10px;color:#98abab}.district-num{color:#849da2;font-size:10px}.interior-grid{display:flex;flex-direction:column;gap:6px}.interior-option{width:100%;color:#eaf2eb;text-align:left;display:flex;align-items:center;gap:12px;background:#172f37;border:1px solid #344b51;padding:10px}.interior-option:hover{border-color:#d0b47f;background:#263c43}.interior-icon{color:#d9bf8e;font-size:18px;display:grid;place-items:center;width:31px;height:31px;background:#27444b}.interior-option b,.interior-option small{display:block}.interior-option b{font-size:11px}.interior-option small{font-size:10px;color:#95acac;margin-top:3px}.interior-option .chev{margin-left:auto;color:#bbcfca}.seed-box{background:#152e34;padding:13px 14px;border:1px solid #355059;margin-top:24px}.seed-label{font-size:9px;color:#a0b3b3;letter-spacing:1.5px}.seed-line{display:flex;align-items:center;justify-content:space-between;margin-top:7px;gap:7px}.seed-line code{font-family:monospace;font-size:15px;color:#f0d396}.seed-line button{color:#e6dcc5;background:#28464b;border:1px solid #567071;padding:7px 9px;font-size:10px}.seed-box p{color:#8ea3a7;font-size:10px;margin:9px 0 0}.sidebar-bottom{display:flex;justify-content:space-between;padding:17px 28px;border-top:1px solid #355059;font-size:9px;font-weight:700;letter-spacing:1.2px;color:#92a8a7}.sidebar-bottom a{color:#d6c08e}.viewport{position:relative;flex:1;min-width:0;overflow:hidden;background:linear-gradient(145deg,#8bafb9,#1f4b55)}#city-canvas{display:block;width:100%;height:100%;touch-action:none}.viewport-gradient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,18,25,.43),transparent 35%),linear-gradient(0deg,rgba(4,18,22,.63),transparent 23%);pointer-events:none}.map-coordinate{position:absolute;top:27px;left:32px;color:#f2f3ec;display:flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:1.8px;text-shadow:0 1px 6px #132b32}.locator{display:inline-block;width:7px;height:7px;border:1px solid #ffdb99;transform:rotate(45deg);margin-right:13px}.map-title{position:absolute;top:86px;left:34px;display:flex;flex-direction:column;pointer-events:none;text-shadow:0 2px 16px #17333c}.eyebrow{color:#d7bd8b;font-size:11px;font-weight:700;letter-spacing:3px}.map-title strong{font-family:'Space Grotesk',sans-serif;font-size:clamp(30px,4.2vw,74px);font-weight:600;letter-spacing:-3px;white-space:nowrap;line-height:1.16}.tiny-star{font-size:25px;color:#f2c98b;vertical-align:top;margin-left:10px}.tagline{font-style:italic;letter-spacing:.6px;font-size:15px;color:#e5e7da}.compass{position:absolute;right:40px;top:29px;display:flex;flex-direction:column;align-items:center;color:#f0eddf;text-shadow:0 2px 8px #15292f;font-size:10px;font-weight:700;gap:6px}.compass div{font-size:21px;color:#e9c58a;transition:transform .2s}.compass small{font-size:9px}.mini-map{position:absolute;left:28px;bottom:75px;width:190px;background:rgba(11,33,40,.9);padding:13px;border:1px solid #496a72;box-shadow:0 12px 30px #09212b55}.map-caption{display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:1.4px;color:#dce4db}.map-dot{width:6px;height:6px}.mini-map canvas{display:block;width:100%;height:auto;margin:10px 0 7px;border:1px solid #36515a}.mini-map-footer{color:#85a5a7;font-size:8px;letter-spacing:1px}.floating-control{position:absolute;right:25px;top:105px;display:flex;flex-direction:column;gap:5px}.floating-control button{width:39px;height:39px;border:1px solid #668188;background:rgba(15,43,50,.83);color:#f0f0e4;font-size:20px}.floating-control button:hover{background:#34545b}.controls-panel{position:absolute;right:25px;bottom:76px;width:274px;background:rgba(12,34,41,.93);border:1px solid #627679;padding:20px;box-shadow:0 15px 45px #091d2866;backdrop-filter:blur(8px)}.panel-head{display:flex;justify-content:space-between;align-items:center;color:#e9d6b4;font-weight:800;font-size:10px;letter-spacing:1.5px;border-bottom:1px solid #38535a;padding-bottom:13px}.sliders-icon{font-size:20px;font-weight:400}.control{margin-top:20px}.control-label{display:flex;justify-content:space-between;font-size:9px;font-weight:800;letter-spacing:1.5px;color:#dbe4df}.control-label span:last-child{color:#e0c18a}.control input[type=range]{width:100%;margin:15px 0 4px;accent-color:#ddb97a;cursor:pointer;height:5px}.range-ends{display:flex;justify-content:space-between;color:#8ba5a9;font-size:9px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);margin-top:11px;border:1px solid #456168}.segmented button{color:#a6bdbe;background:#1b3940;border:0;padding:9px 3px;font-size:10px;border-right:1px solid #456168}.segmented button:last-child{border-right:0}.segmented button.active{background:#d5bc8b;color:#192d34;font-weight:800}.floating-bottom{position:absolute;bottom:0;left:0;right:0;height:49px;background:rgba(8,27,33,.9);border-top:1px solid #415a61;display:flex;justify-content:space-between;align-items:center;padding:0 26px;gap:12px;color:#c4d4d0;font-size:9px;letter-spacing:1.2px}.view-actions,.render-stats{display:flex;align-items:center;gap:18px}.view-actions button{border:0;background:none;color:#e6d2ac;font-size:9px;font-weight:800;letter-spacing:1px;padding:5px}.divider-small{width:1px;height:17px;background:#5b6c6c}.render-stats{color:#9fb9b9;gap:11px}.render-stats i{width:3px;height:3px;background:#c6b78f;border-radius:50%}.selection-card{position:absolute;top:220px;left:35px;max-width:290px;padding:19px 22px;background:#112e38f2;border:1px solid #7c999b;box-shadow:0 9px 34px #0a1c2666}.selection-card.hidden,.hidden{display:none!important}.card-kicker{color:#dcc08b;letter-spacing:2px;font-size:9px;font-weight:700}.selection-card h3{font:600 21px 'Space Grotesk',sans-serif;margin:8px 0}.selection-card p{color:#aabebe;font-size:12px;line-height:1.7}.selection-card button#btn-enter{background:#e0bf83;border:0;padding:10px;color:#1b3038;font-size:10px;font-weight:800;letter-spacing:1.2px}.selection-card .dismiss{position:absolute;right:7px;top:5px;border:0;background:none;color:#fff;font-size:22px}.interior-banner{position:absolute;top:22px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;background:#112c34ed;padding:14px 20px;border:1px solid #759199;gap:12px}.interior-banner small{display:block;color:#d1b77e;letter-spacing:1.6px;font-size:9px}.interior-banner strong{display:block;font-size:17px;font-family:'Space Grotesk';margin-top:3px}.interior-banner button{border:1px solid #a9b4ac;color:#f5e9d3;background:#25444c;padding:10px;font-size:10px;font-weight:700;letter-spacing:1px}.overlay{position:absolute;inset:0;background:#071a25c9;display:grid;place-items:center;z-index:13;padding:24px}.help-modal{position:relative;max-width:500px;background:#142f38;border:1px solid #648388;padding:40px;box-shadow:0 15px 80px #03121788}.help-modal h2{font:500 34px 'Space Grotesk';margin:15px 0}.help-modal p{font-size:13px;color:#bbcfc9;line-height:1.8}.close-modal{position:absolute;right:18px;top:13px;border:0;background:transparent;color:#fff;font-size:28px}.loader{position:absolute;inset:0;background:#0a2029;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:10}.loader-graphic{height:92px;display:flex;align-items:end;gap:8px}.loader-graphic span{display:block;width:20px;background:#d8b982;animation:growth .9s infinite alternate}.loader-graphic span:nth-child(1){height:34px}.loader-graphic span:nth-child(2){height:77px;animation-delay:.2s}.loader-graphic span:nth-child(3){height:52px;animation-delay:.4s}@keyframes growth{to{transform:scaleY(.55);opacity:.65}}.loader-title{font:600 22px 'Space Grotesk';margin-top:28px;letter-spacing:2px}.loader-caption{font-size:12px;color:#8ba8ab;margin-top:12px}.loader-bar{height:3px;width:250px;background:#2d4952;margin-top:22px;overflow:hidden}.loader-bar span{display:block;width:43%;height:100%;background:#dbbd82;animation:sweep 1s infinite alternate}@keyframes sweep{to{transform:translateX(135%)}}.error-state{position:absolute;inset:0;z-index:11;background:#132c35;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center}.error-state h2{font:600 28px 'Space Grotesk'}.error-state p{max-width:510px;line-height:1.7;color:#b2c6c5}.mobile-toggle{display:none}@media(max-width:1300px){.sidebar{width:320px;flex-basis:320px}.sidebar-scroll{padding:22px 20px}.sidebar h1{font-size:28px}.controls-panel{width:247px;right:15px}.mini-map{width:155px;left:15px}.floating-bottom{padding:0 12px}.view-actions{gap:8px}.view-actions span{display:none}.brand-copy{font-size:11px}}@media(max-width:950px){.topbar{padding:0 13px;gap:12px;height:64px;min-height:64px}.shell{height:calc(100dvh - 64px)}.sidebar{position:absolute;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .2s;width:min(360px,90vw);z-index:14}.sidebar.open{transform:translateX(0)}.top-actions{gap:10px}.live{display:none}.brand-divider{display:none}.brand-copy{font-size:10px}.top-actions .action{font-size:9px;padding:10px}.mobile-toggle{display:block;position:absolute;top:77px;left:15px;z-index:15;background:#152f36;color:#e6c891;border:1px solid #597a7c;padding:10px 13px;font-size:10px;letter-spacing:1px}.map-coordinate{top:73px;left:18px}.map-title{top:106px;left:17px}.map-title strong{font-size:36px;letter-spacing:-1.5px}.controls-panel{bottom:59px;width:218px;padding:14px}.control{margin-top:14px}.mini-map{bottom:60px;width:130px}.floating-bottom{height:43px}.render-stats span:last-child{display:none}.compass{right:25px;top:18px}.floating-control{right:14px;top:100px}}@media(max-width:560px){.product-name,.brand-copy small{display:none}.topbar{height:58px;min-height:58px}.shell{height:calc(100dvh - 58px)}.top-actions .action{padding:9px}.map-title strong{font-size:28px}.map-title{top:122px}.tagline{font-size:11px}.controls-panel{width:190px;right:9px;bottom:52px;padding:11px}.control{margin-top:10px}.segmented button{font-size:9px}.panel-head{font-size:8px}.mini-map{width:103px;bottom:52px;left:7px;padding:7px}.mini-map-footer{font-size:6px}.map-caption{font-size:7px}.floating-bottom{height:43px;padding:0 10px}.render-stats{display:none}.mobile-toggle{top:69px}.floating-control{right:12px;top:88px;gap:3px}.floating-control button{width:31px;height:31px}.map-coordinate{top:75px;font-size:8px}.selection-card{top:220px;left:7px;max-width:235px}.interior-banner{left:8px;right:8px}.interior-banner strong{font-size:12px}}

.interior-mode .map-title,.interior-mode .mini-map,.interior-mode .map-coordinate{display:none!important}
