@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#183b3c;font-synthesis:none;background:#c7dfe9;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{outline:0;width:100%;height:100%;display:block}#app{width:100vw;height:100dvh;position:relative}header{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:30px;left:36px;right:342px}.brand{letter-spacing:3px;align-items:center;gap:12px;font-size:14px;font-weight:800;display:flex}.mark{letter-spacing:-4px;border:1px solid #183b3c55;border-radius:50%;width:48px;height:48px;padding:1px 9px;font-family:Georgia,serif;font-size:36px}.eyebrow{letter-spacing:2px;font-size:9px;font-weight:700;display:block}.brand .eyebrow{letter-spacing:1.5px;margin-top:7px;font-size:8px}.badge{letter-spacing:1.3px;background:#ffffff80;border:1px solid #fff8;border-radius:30px;padding:10px 14px;font-size:9px}.badge i,.dot{background:#38876c;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.intro{pointer-events:none;position:absolute;top:145px;left:38px}.intro h1{letter-spacing:-3px;margin:18px 0;font-family:Manrope,sans-serif;font-size:clamp(34px,4.3vw,64px);font-weight:500;line-height:1.08}.intro p{opacity:.68;font-size:12px;line-height:1.8}.presets{position:absolute;bottom:104px;left:38px}.presets>div{gap:7px;margin-top:12px;display:flex}button{cursor:pointer;color:inherit;font-family:inherit}.presets button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3f7efab;border:1px solid #fff9;border-radius:7px;padding:11px 14px;font-size:16px;box-shadow:0 3px 15px #16392c06}.presets button span{margin-left:7px;font-size:11px}.presets button.active{color:#fff;background:#1f4544;border-color:#1f4544}.presets button:hover{transform:translateY(-2px)}footer{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:.4px;background:#f2f6efb5;border-top:1px solid #183b3c1c;justify-content:space-between;align-items:center;height:32px;padding:0 36px;font-size:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.instructions{letter-spacing:1px;align-items:center;gap:12px;font-size:8px;display:flex}.instructions b{opacity:.3}#reset-camera{letter-spacing:0;background:0 0;border:1px solid #183b3c33;border-radius:5px;padding:8px 11px;font-size:10px}#performance{opacity:.7;font:10px monospace;position:absolute;top:100px;left:38px}#toast{color:#fff;opacity:0;pointer-events:none;background:#193d3c;border-radius:6px;padding:12px 20px;font-size:12px;transition:opacity .2s;position:absolute;bottom:85px;left:50%;transform:translate(-50%)}.lil-gui.lil-root{--background-color:#f5f7f0ed;--text-color:#234342;--title-background-color:#e4eae0;--title-text-color:#234342;--widget-color:#dce5d7;--hover-color:#d0ddcc;--focus-color:#c4d8bd;--number-color:#236e68;--string-color:#236e68;--font-family:"DM Sans",sans-serif;--font-size:11px;--input-font-size:11px;--folder-indent:10px;--widget-height:22px;--padding:8px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #fffa;border-radius:9px;max-height:calc(100dvh - 108px);overflow-y:auto;box-shadow:0 8px 40px #24423c12;width:280px!important;position:absolute!important;top:24px!important;right:22px!important}.lil-gui.lil-root>.lil-title{letter-spacing:.5px;font-size:12px}.lil-gui .lil-controller{margin:3px 0}.lil-gui .lil-title{font-weight:600}.lil-gui .lil-children{border:0!important}.lil-gui .lil-controller .lil-name{font-size:10px}@media (width<=800px){header{top:20px;left:20px;right:20px}.badge{display:none}.intro{top:100px;left:20px}.intro h1{letter-spacing:-1.5px;font-size:36px}.intro p{display:none}.lil-gui.lil-root{max-height:65vh;width:240px!important;top:20px!important;right:12px!important}.presets{bottom:90px;left:20px}.presets button{padding:9px}.presets button span{font-size:10px}footer{padding:0 20px}.instructions{gap:0;font-size:0}.instructions b{display:none}.instructions button{font-size:10px}#performance{top:78px;left:20px}}.lil-gui.lil-root,.lil-gui.lil-root .lil-gui{--background-color:#f5f7f0ed;--text-color:#234342;--title-background-color:#e4eae0;--title-text-color:#234342;--widget-color:#dce5d7;--hover-color:#d0ddcc;--focus-color:#c4d8bd;--number-color:#236e68;--string-color:#236e68;--font-family:"DM Sans",sans-serif;--font-size:11px;--input-font-size:11px}.lil-gui.lil-root .lil-title{color:#234342;background:#e4eae0}.lil-gui.lil-root .lil-name,.lil-gui.lil-root .lil-controller{color:#234342}.presets>div{flex-wrap:wrap;max-width:calc(100vw - 40px)}.presets[hidden]{display:none}#edit-mode{z-index:20;color:#183b3c;background:#f3f7efed;border:1px solid #fffa;border-radius:8px;padding:11px 18px;font-size:12px;font-weight:700;position:absolute;top:30px;left:36px;transform:none;box-shadow:0 4px 20px #123a3018}#edit-mode[aria-pressed=true]{color:#fff;background:#214b40;border-color:#426f58}.scene-editor[hidden]{display:none}.scene-editor{z-index:30;box-sizing:border-box;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#234342;background:#f2f6efed;border:1px solid #fffb;border-radius:11px;width:290px;max-height:calc(100dvh - 160px);padding:17px;font-size:11px;position:absolute;top:85px;left:22px;overflow:auto;box-shadow:0 14px 45px #183b3c20}.editor-heading{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:14px;display:flex}.editor-heading h2{letter-spacing:-.5px;margin:6px 0 0;font-family:Manrope,sans-serif;font-size:18px}.scene-editor button{background:#e0e8db;border:1px solid #23434224;border-radius:5px;padding:7px 9px;font-size:11px}.scene-editor button:hover{background:#cbdcc3}.scene-editor button:disabled{opacity:.4;cursor:default}.editor-heading>button{padding:3px 7px;font-size:18px;line-height:1}.editor-tools{gap:5px;margin-bottom:13px;display:flex}.editor-tools button{flex:1}.editor-tools button[aria-pressed=true]{color:#fff;background:#28543e}.editor-field{flex-direction:column;gap:5px;margin-bottom:9px;font-size:10px;font-weight:600;display:flex}.editor-field input,.editor-field select{box-sizing:border-box;color:#234342;background:#fff9;border:1px solid #23434229;border-radius:4px;width:100%;padding:7px 8px;font:11px DM Sans,sans-serif}.editor-models{background:#e2e9db77;border:1px solid #23434222;border-radius:5px;flex-direction:column;gap:3px;height:165px;padding:4px;display:flex;overflow:auto}.editor-models button{text-align:left;background:0 0;border-color:#0000;flex-shrink:0}.editor-models button[aria-selected=true]{color:#fff;background:#28543e}.editor-models p{padding:8px}.editor-selection{color:#38684e;min-height:14px;margin:9px 0 12px;font-weight:700}.editor-brush{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.editor-history,.editor-files{gap:5px;margin:10px 0;display:flex}.editor-history button,.editor-files button{flex:1}.editor-files button:first-child{color:#fff;background:#28543e}.editor-layers{flex-direction:column;gap:8px;margin:12px 0;display:flex}.editor-layers label{align-items:center;gap:5px;display:flex}.editor-help{color:#557360;margin:10px 0;font-size:10px;line-height:1.6}.editor-count{color:#38684e;margin:9px 0 0;font-size:10px;font-weight:700}.editor-overlay{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.editor-cursor{filter:drop-shadow(0 1px 2px #123a30);stroke-dasharray:5 3}.is-editing .intro,.is-editing .presets,.is-editing .lil-gui.lil-root{display:none!important}.is-editing canvas{cursor:crosshair}@media (width<=800px){#edit-mode{top:20px;left:20px;right:auto;transform:none}.scene-editor{width:250px;max-height:calc(100dvh - 145px);padding:12px;top:76px;left:12px}.editor-models{height:110px}.editor-heading h2{font-size:16px}.editor-help{font-size:9px}}.editor-field[hidden]{display:none}.editor-field input[type=color]{cursor:pointer;height:32px;padding:3px}.geo-label-layer{z-index:var(--ui-layer-label);pointer-events:none;position:absolute;inset:0}.geo-category-icon{vertical-align:middle;flex-shrink:0}.geo-explorer-host{z-index:var(--ui-layer-panel);pointer-events:none;width:328px;max-width:calc(100vw - 44px);max-height:calc(100dvh - 110px);position:absolute;top:22px;left:22px}.geo-explorer{pointer-events:auto;max-height:inherit;scrollbar-width:thin;scrollbar-color:#94ac99 transparent;overflow:auto}.geo-heading{text-align:left;width:100%;color:var(--ui-text);background:0 0;border:0;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px;display:flex}.geo-heading h1{font:600 26px/1.25 var(--ui-font-heading);letter-spacing:-1px;margin:12px 0 7px}.geo-heading p{font:400 13px/1.6 var(--ui-font);color:var(--ui-text-muted);margin:0}.geo-heading>span{text-align:right;min-width:24px;font-size:22px;line-height:1.2}.geo-filter{margin:8px 8px 16px}.geo-list{scrollbar-width:thin;flex-direction:column;gap:4px;max-height:350px;margin:-4px;padding:8px;display:flex;overflow:auto}.geo-switches{border-top:1px solid var(--ui-border);flex-wrap:wrap;gap:24px;margin-top:8px;padding:12px 8px 0;display:flex}.geo-index[hidden]{display:none}.geo-explorer.is-detail{min-height:min(520px,100dvh - 160px)}.geo-detail{padding:0 8px;position:relative}.geo-detail h2{font:600 24px/1.35 var(--ui-font-heading);letter-spacing:-.7px;overflow-wrap:anywhere;margin:12px 0 20px}.geo-detail h2 .ui-icon{width:24px;height:24px;margin-right:4px}.geo-detail-image{border-radius:var(--ui-radius-item);width:100%;height:auto;margin:0 0 var(--ui-space-5);display:block}.geo-detail p{font:400 14px/1.7 var(--ui-font);margin:0 0 16px}.geo-back{margin:0 0 0 -8px}.geo-source{color:var(--ui-text-muted)}.geo-provenance{color:var(--ui-text-muted);margin-top:16px;font-size:12px;line-height:1.7}.geo-provenance summary{cursor:pointer;min-height:32px;padding-block:4px}.geo-provenance p{margin:12px 0}.geo-label{pointer-events:auto;white-space:nowrap;background:var(--ui-glass);color:var(--ui-text);border:1px solid var(--ui-glass-border);border-radius:var(--ui-radius-control);font:500 12px/1.5 var(--ui-font);transition:background var(--ui-duration) var(--ui-easing);padding:6px 10px;box-shadow:0 2px 8px #173b3420}.geo-label .geo-category-icon{margin-right:4px}.geo-label:hover{background:var(--ui-surface)}.geo-label.selected{background:var(--ui-accent);color:var(--ui-on-accent)}.geo-label.selected img{background:var(--ui-surface);border-radius:4px}.geo-label:focus-visible{outline:2px solid var(--ui-ring);outline-offset:3px}.geo-label small{font-size:11px}.is-editing .geo-explorer-host,.is-editing .geo-label{display:none!important}@media (width<=800px){.geo-explorer-host{width:328px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 160px);top:76px;left:12px}.geo-list{max-height:240px}footer{padding:0 12px}footer .instructions{display:none}.geo-label{font-size:11px}}@media (width>=801px){#edit-mode{top:22px;left:50%;transform:translate(-50%)}}
