@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--lime:#d5f5a0;--ink:#070f13;--paper:#f2f5ec;--muted:#9babac;--line:rgba(208,237,227,.17);font-family:'DM Sans',sans-serif;color:var(--paper);background:var(--ink);font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:5px}a{color:inherit;text-decoration:none}button{border:0}svg{fill:none;stroke:currentColor;stroke-width:1.5}button, a{touch-action:manipulation}.hidden{display:none!important}#experience{height:100dvh;min-height:500px;position:relative;overflow:hidden}#world{display:block;width:100%;height:100%;touch-action:none}.vignette{pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,13,16,.65),transparent 45%),linear-gradient(0deg,rgba(3,11,14,.95),transparent 26%,transparent 76%,rgba(4,11,14,.6))}.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:28px 38px;gap:24px;z-index:5}.brand{display:flex;gap:16px;align-items:center}.brand-mark{font-family:'Manrope',sans-serif;font-size:34px;font-weight:800;letter-spacing:-2px;color:var(--lime);white-space:nowrap}.brand-mark span{font-size:21px;vertical-align:top;display:inline-block;margin:2px 0 0 2px}.brand-divider{height:31px;width:1px;background:var(--line)}.brand-title{font-size:10px;letter-spacing:2.4px;line-height:1.5;font-weight:500}.brand-title b{font-weight:600;letter-spacing:4.7px}.main-nav{display:flex;align-items:center;gap:32px}.nav-button{background:none;font-size:12px;padding:10px 0;color:#b9c6c5;white-space:nowrap;position:relative}.nav-button.active{color:var(--paper)}.nav-button.active:after{content:'';position:absolute;bottom:0;left:0;width:20px;height:2px;background:var(--lime)}.nav-button span{padding-left:10px;color:var(--lime)}.header-actions{display:flex;align-items:center;gap:10px}.live-status{font-size:8px;letter-spacing:1.8px;margin-right:14px;display:flex;gap:8px;align-items:center}.live-status i,.status-dot{width:5px;height:5px;background:var(--lime);border-radius:50%;box-shadow:0 0 9px #d5f5a060}.icon-button{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;background:#10202390;font-size:16px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s}.icon-button:hover{background:#2c423b}.icon-button svg{width:15px;height:15px}.intro-panel{position:absolute;left:48px;top:23%;pointer-events:none;transition:opacity .5s,transform .5s;z-index:2}.intro-panel button{pointer-events:auto}.intro-panel.dismissed{opacity:0;transform:translateX(-30px);pointer-events:none}.intro-panel.dismissed button{pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--lime);display:flex;align-items:center;gap:12px;margin:0 0 23px;font-weight:600}.tiny-line{width:24px;height:1px;display:inline-block;background:var(--lime)}h1,h2{font-family:'Manrope',sans-serif;font-weight:500;letter-spacing:-2.6px;line-height:1.13;margin:0}h1{font-size:clamp(36px,4vw,63px)}em{font-style:normal;color:var(--lime)}.intro-copy{font-size:12px;line-height:1.9;color:#b2c2c1;margin:24px 0 25px}.primary-button{background:var(--lime);color:#192519;display:flex;align-items:center;justify-content:space-between;gap:45px;padding:15px 20px;border-radius:3px;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.primary-button:hover{background:#e7ffc4;transform:translateY(-2px)}.primary-button span{font-size:19px;line-height:1}.intro-meta{display:flex;align-items:center;gap:15px;font-size:7px;letter-spacing:1.3px;color:#9fafa9;margin-top:25px}.intro-meta span:first-child{font-size:9px;color:var(--lime)}.world-label{position:absolute;left:50%;top:115px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:2px;color:#dce5da;opacity:.7}.world-label b{font-weight:400;font-size:7px;color:#8eacab;position:absolute;top:18px;left:55px;white-space:nowrap}.world-label .tiny-line{width:12px}#loading{position:absolute;inset:0;display:flex;flex-direction:column;gap:20px;justify-content:center;align-items:center;background:#071316;z-index:9;font-size:10px;letter-spacing:3px}.loader-ring{height:54px;width:54px;border:1px solid #4a6759;border-top:2px solid var(--lime);border-radius:50%;animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.journey-status{position:absolute;right:40px;top:145px;display:flex;gap:12px;align-items:center;background:#10202166;border:1px solid var(--line);border-radius:5px;padding:12px 15px;backdrop-filter:blur(12px)}.micro-label{font-size:7px;letter-spacing:1.8px;color:#9db2ad;display:block}.journey-status strong{display:block;font-weight:400;font-size:10px;margin-top:5px}.journey-status strong b{color:var(--lime);font-weight:500}.journey-status button{font-size:22px;background:none;color:#a3b8aa;padding:0 0 0 14px}.interaction{position:absolute;bottom:190px;left:50%;transform:translateX(-50%);background:rgba(10,26,26,.94);border:1px solid #cbe9a95c;box-shadow:0 8px 45px #0006;border-radius:6px;padding:13px 18px;display:flex;align-items:center;gap:14px;z-index:4;backdrop-filter:blur(12px);min-width:260px;text-align:left}.interaction kbd{padding:7px 10px;font-size:16px;background:var(--lime);color:#11221b}.interaction small{font-size:7px;letter-spacing:1.4px;color:#aab7ad;display:block;margin-bottom:4px}.interaction strong{font-size:14px;font-weight:500}.interaction>b{color:var(--lime);margin-left:auto;font-weight:400}.controls-hint{position:absolute;bottom:164px;left:40px;display:flex;gap:18px;align-items:center;color:#b2c4c0}.controls-hint>div{display:flex;align-items:center;gap:7px}.controls-hint span{font-size:9px}.controls-hint .key-group{display:flex;gap:3px}kbd{display:inline-block;font-family:inherit;border:1px solid #a2c1ad38;padding:4px 6px;border-radius:3px;font-size:8px;color:#d8e2dc;background:#0a191a88} .drag-hint svg{width:14px;height:18px}.district-dock{position:absolute;bottom:49px;left:50%;transform:translateX(-50%);width:min(740px,calc(100% - 440px));background:#0a171dd9;border:1px solid #b7dac321;backdrop-filter:blur(20px);border-radius:8px;padding:14px 16px 12px}.dock-title{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.35px;color:#aec0b7;margin-bottom:12px}.dock-title i{font-style:normal;font-size:6px;color:#718e82}.dock-buttons{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.district-button{border:1px solid #add1c21c;background:#10232999;border-radius:4px;padding:12px 4px 9px;display:flex;gap:7px;flex-direction:column;align-items:center;position:relative;font-size:9px;transition:background .2s,border-color .2s}.district-button svg{width:19px;height:19px;color:var(--district-color)}.district-button:hover,.district-button.current{background:#28443b;border-color:var(--district-color)}.district-button .visited-dot{position:absolute;right:5px;top:4px;font-size:9px;color:var(--lime)}.minimap{position:absolute;right:39px;bottom:51px;width:160px;padding:12px 13px 9px;background:#0c1a20bf;border:1px solid var(--line);border-radius:6px;backdrop-filter:blur(12px)}.minimap-top,.minimap-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:6px;letter-spacing:1.1px;color:#b8cac2}.minimap-top b{font-size:8px;font-weight:400;color:var(--lime)}.minimap svg{display:block;width:100%;height:117px;stroke-width:.2}.map-ring{stroke:#7f9e944d;stroke-dasharray:1 1}.map-axis{stroke:#7f9e9430}.minimap-bottom{font-size:7px}.minimap-bottom i{width:4px;height:4px;background:var(--lime);border-radius:50%}.minimap-bottom b{margin-left:auto}.scene-footer{position:absolute;left:40px;right:40px;bottom:17px;display:flex;justify-content:space-between;font-size:6px;letter-spacing:1.8px;color:#728a80}.scene-footer b{color:var(--lime);margin-left:12px;font-size:10px}.toast{position:absolute;top:104px;left:50%;transform:translateX(-50%);padding:11px 20px;background:#d5f5a0;color:#16281b;border-radius:4px;box-shadow:0 10px 40px #0004;font-size:11px;z-index:10;text-align:center}.fallback{position:absolute;top:30%;left:50%;transform:translateX(-50%);background:#0e2229;border:1px solid var(--line);padding:35px;max-width:450px;z-index:8}.fallback h2{font-size:35px}.fallback p{font-size:13px;line-height:1.7}.mobile-controls{position:absolute;bottom:205px;left:22px;right:22px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none}.joystick{width:100px;height:100px;border-radius:50%;background:#b2e0c312;border:1px solid #d5f5a035;position:relative;pointer-events:auto;touch-action:none}.joystick>div{height:40px;width:40px;background:#d5f5a044;border:1px solid #d5f5a0a0;border-radius:50%;position:absolute;top:29px;left:29px;pointer-events:none}.touch-actions{display:flex;gap:12px;pointer-events:auto}.touch-actions button{border:1px solid #d5f5a050;background:#102022aa;border-radius:50%;height:51px;width:51px;font-size:10px;touch-action:none}.touch-actions button:last-child{font-size:24px}.touch-actions button[aria-pressed=true]{background:#d5f5a0;color:#14241c}
dialog{background:#0a151a;color:var(--paper);border:1px solid #d5f5a029;max-width:1200px;width:calc(100vw - 70px);max-height:calc(100dvh - 70px);padding:0;border-radius:12px;box-shadow:0 30px 100px #0009;overscroll-behavior:contain}dialog::backdrop{background:#020a10b3;backdrop-filter:blur(10px)}.dialog-top{padding:24px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-brand{color:var(--lime);font-family:'Manrope',sans-serif;font-weight:800;font-size:24px;letter-spacing:-1px}.dialog-brand span{font-size:14px;margin-left:5px}.close-dialog{font-size:24px;font-weight:400}.catalog-heading{padding:38px 32px 30px;display:flex;align-items:flex-end;gap:20px;justify-content:space-between}.catalog-heading .eyebrow{font-size:8px;margin-bottom:15px}.catalog-heading h2{font-size:40px;letter-spacing:-1.8px}.catalog-heading p:not(.eyebrow){font-size:11px;line-height:1.7;color:#98ada7;margin-bottom:4px}.catalog-toolbar{display:flex;gap:20px;justify-content:space-between;padding:0 32px 25px;border-bottom:1px solid var(--line)}.category-filters{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.filter-button{background:transparent;color:#aec0b8;padding:8px 12px;border:1px solid transparent;font-size:10px;border-radius:4px}.filter-button.selected{background:var(--lime);color:#1c2e21}.filter-button:hover{border-color:#b3dd9950}.search-field{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:4px;min-width:230px}.search-field svg{height:14px;width:14px;color:#acc1b3}.search-field input{background:none;border:0;outline:none;width:100%;color:var(--paper);font-size:11px}.search-field input::placeholder{color:#839990}.results-top{padding:23px 32px 18px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.1px;color:#8aa296}.results-top i{color:var(--lime);font-style:normal}.product-grid{padding:0 32px 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.product-card{padding:22px;min-height:188px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(135deg,#18302877,#101e2499);display:flex;flex-direction:column;align-items:flex-start;transition:border-color .2s,transform .2s}.product-card:hover{border-color:#d5f5a077;transform:translateY(-2px)}.product-tag{font-size:7px;letter-spacing:1.3px;color:var(--district-color);text-transform:uppercase;display:flex;align-items:center;gap:7px}.product-tag i{width:4px;height:4px;border-radius:50%;background:var(--district-color)}.product-card h3{font-family:'Manrope',sans-serif;font-size:17px;font-weight:500;line-height:1.4;margin:15px 0 8px;letter-spacing:-.4px}.product-card p{font-size:11px;line-height:1.7;color:#9fb4a9;margin:0 0 20px}.product-card .product-link{margin-top:auto;font-size:9px;color:var(--lime);display:flex;align-items:center;justify-content:space-between;width:100%}.product-link span{font-size:16px}.catalog-footer{padding:20px 32px;border-top:1px solid var(--line);display:flex;gap:13px;flex-wrap:wrap;justify-content:space-between;color:#93a79d;font-size:9px;line-height:1.5}.catalog-footer a{color:var(--lime)}.catalog-footer small{flex-basis:100%;font-size:8px;color:#6f8b7b}.empty-state{grid-column:1/-1;padding:30px;text-align:center;color:#9eb4a8}.small-dialog{padding:42px;width:min(520px,calc(100vw - 35px));position:fixed}.floating-close{position:absolute;right:20px;top:20px}.small-dialog h2{font-size:42px}.small-dialog>p:not(.eyebrow){color:#a1b6aa;font-size:12px;line-height:1.9;margin:23px 0}.help-controls{display:grid;grid-template-columns:1fr 1.2fr;gap:13px;font-size:11px;padding:24px 0;border-block:1px solid var(--line)}.help-controls span{color:#98b2a1}.help-controls b{font-weight:500}.quality-label{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:12px}.quality-label select{border:1px solid var(--line);padding:8px 12px;background:#172a23;color:var(--lime);border-radius:4px}.small-dialog .small-copy{font-size:10px!important}.text-link{font-size:11px;color:var(--lime)}#largeMap{margin:10px auto;width:180px}#largeMap svg{width:100%;height:180px;stroke-width:.2}.map-destinations{display:grid;grid-template-columns:1fr 1fr;gap:10px}.map-destinations button{display:flex;align-items:center;gap:12px;font-size:11px;padding:12px;background:#163025;border:1px solid var(--line);border-radius:4px}.map-destinations svg{width:19px;height:19px;color:var(--district-color)}.secondary-button{width:100%;background:none;color:var(--lime);border:1px solid var(--line);padding:12px;margin-top:18px;border-radius:4px;font-size:11px}
@media(min-width:1600px){.intro-panel{left:70px;top:25%}.district-dock{bottom:62px}.minimap{bottom:62px}.controls-hint{bottom:195px}.interaction{bottom:215px}}
@media(max-width:1150px){.district-dock{width:610px;left:35px;transform:none}.controls-hint{gap:11px;font-size:8px}.topbar{padding:25px}.intro-panel{left:35px}.minimap{right:25px;width:130px}.minimap svg{height:100px}.catalog-toolbar{flex-wrap:wrap}.search-field{flex:1}.journey-status{right:25px}.main-nav{gap:20px}.live-status{display:none}.world-label{display:none}}
@media(max-width:850px){.district-dock{width:calc(100% - 190px);left:25px}.district-button{font-size:8px;padding:11px 2px 8px}.dock-title i{display:none}.controls-hint{bottom:165px;left:25px}.controls-hint .drag-hint{display:none}.intro-panel{left:28px;top:22%}.intro-panel h1{font-size:42px}.intro-panel .intro-copy{font-size:11px}.intro-meta{display:none}.product-grid{grid-template-columns:repeat(2,1fr)}.catalog-heading{display:block}.catalog-heading p:not(.eyebrow){margin-top:16px}.journey-status{top:105px}.main-nav .active{display:none}.main-nav{margin-left:auto}.brand-title{font-size:8px}.brand-mark{font-size:30px}.brand{gap:10px}}
@media(max-width:600px){#experience{min-height:540px}.topbar{padding:18px;gap:14px}.brand-title{display:none}.brand-divider{display:none}.main-nav{margin-left:auto}.nav-button{font-size:10px}.nav-button span{padding-left:4px}.header-actions{gap:7px}.icon-button{width:29px;height:29px}.header-actions #soundButton{display:none}.intro-panel{top:20%;left:23px}.intro-panel h1{font-size:37px;letter-spacing:-1.6px}.intro-panel .eyebrow{font-size:7px;margin-bottom:17px}.intro-copy{max-width:230px;margin:20px 0}.primary-button{padding:13px 16px;font-size:11px;gap:30px}.journey-status{top:85px;right:18px;padding:9px 11px}.journey-status strong{font-size:8px}.journey-status .micro-label{font-size:6px}.journey-status button{font-size:18px;padding-left:2px}.journey-status{gap:9px}.district-dock{bottom:38px;left:16px;right:16px;width:auto;padding:12px 10px;border-radius:7px}.dock-title{font-size:6px;margin-bottom:9px}.dock-buttons{gap:4px}.district-button{font-size:8px;padding:10px 2px;gap:6px}.district-button svg{height:18px;width:18px}.controls-hint{display:none}.minimap{bottom:169px;right:18px;width:89px;padding:8px;pointer-events:auto}.minimap svg{height:64px}.minimap-top{font-size:4px;letter-spacing:.5px}.minimap-bottom{font-size:5px;letter-spacing:.5px}.minimap-top b{font-size:6px}.interaction{bottom:153px;min-width:200px;padding:9px 12px;left:18px;transform:none;gap:10px}.interaction strong{font-size:12px}.interaction small{font-size:6px}.interaction kbd{font-size:13px;padding:5px 8px}.mobile-controls{bottom:270px}.scene-footer{left:18px;right:18px;bottom:15px;font-size:5px;letter-spacing:1px}.scene-footer span:last-child{display:none}.toast{top:126px;width:max-content;max-width:90%;font-size:10px;padding:9px 15px}dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:8px}.dialog-top{padding:18px}.dialog-top .micro-label{font-size:6px;letter-spacing:1px}.catalog-heading{padding:27px 19px 24px}.catalog-heading h2{font-size:32px;letter-spacing:-1.4px}.catalog-heading p:not(.eyebrow){font-size:10px}.catalog-toolbar{padding:0 18px 20px;gap:17px}.category-filters{gap:2px}.filter-button{padding:7px 9px;font-size:9px}.search-field{min-width:100%;padding:11px}.results-top{padding:20px 19px 15px;font-size:7px;letter-spacing:.6px}.results-top>span:last-child{display:none}.product-grid{padding:0 18px 22px;grid-template-columns:1fr;gap:10px}.product-card{padding:20px;min-height:170px}.product-card h3{font-size:18px}.product-card p{font-size:12px}.product-link{font-size:10px!important}.catalog-footer{padding:20px;font-size:8px}.small-dialog{padding:32px 25px}.small-dialog h2{font-size:36px}.help-controls{font-size:10px}.map-destinations button{font-size:10px}.fallback{width:90%;padding:25px}.fallback h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
