:root{font-family:'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif;color:#e6e8e0;background:#161b1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html,body,#app{height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #d4be8b;outline-offset:2px}.shell{display:flex;height:100%;width:100%;min-width:320px}.sidebar{width:326px;flex:0 0 326px;min-height:0;display:flex;flex-direction:column;z-index:30;background:linear-gradient(148deg,#212725 0%,#181d1c 100%);border-right:1px solid #313b36;box-shadow:10px 0 45px #0d16151a}.sidebar-header{padding:27px 27px 19px}.brandline{display:flex;align-items:center;gap:8px;margin-bottom:49px;color:#e8e9e2}.logo-mark{font-size:33px;line-height:.6;color:#cbb98f;font-weight:300}.brand-text{font:800 12px 'Manrope',sans-serif;letter-spacing:2.1px}.dot{color:#d5a975}.issue{margin-left:auto;font:500 9px 'Manrope',sans-serif;letter-spacing:1.5px;color:#848e86}.eyebrow{font-size:9px;letter-spacing:2.2px;color:#bba779;font-weight:700}.sidebar h1{font-family:'Manrope',sans-serif;font-size:34px;letter-spacing:-1.8px;line-height:1.08;margin:14px 0 7px;font-weight:800}.text-accent{color:#ceae73}.subtitle{font-size:13px;letter-spacing:.2px;color:#d3d5cb}.intro{color:#909c94;font-size:11.5px;line-height:1.75;margin:20px 0 19px}.chips{display:flex;gap:7px}.chips span{border:1px solid #474b3f;padding:7px 8px;font-size:9px;letter-spacing:1.1px;color:#b4b5a3;font-weight:700}.tabs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #313834;border-bottom:1px solid #313834;flex:none}.tab{height:48px;background:transparent;border:0;color:#7d8981;letter-spacing:2px;font-size:10px;font-weight:800;position:relative}.tab.active{color:#e4d3b5}.tab.active::after{content:"";height:2px;background:#d1b382;position:absolute;bottom:0;left:0;right:0}.sidebar-scroll{padding:22px 27px 20px;overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#4c554e transparent}.tab-panel.is-hidden{display:none}.label-row{display:flex;justify-content:space-between;align-items:center;color:#a7b1a9;font-weight:800;font-size:9px;letter-spacing:1.5px;margin-bottom:14px}.tiny-index{color:#596b60;letter-spacing:.5px}.camera-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.camera-btn{display:flex;align-items:center;gap:12px;padding:12px 10px;color:#bbc6bc;border:1px solid #38423d;background:#242b28;font-size:11px;border-radius:2px;text-align:left;min-height:44px}.camera-btn:hover,.camera-btn.active{border-color:#9e8f71;color:#e8dfcd;background:#393a31}.camera-symbol{font-size:19px;color:#c8b58e;line-height:1}.rule{height:1px;background:#303a35;margin:23px 0 21px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:15px;position:relative;margin:13px 0;cursor:pointer}.switch-copy{display:flex;flex-direction:column;gap:5px}.switch-copy strong{font-size:11.5px;font-weight:600;color:#cbd3ca}.switch-copy small{color:#7f8b81;font-size:10px}.toggle-row input{position:absolute;opacity:0;width:1px;height:1px;right:10px}.switch{display:block;flex:none;width:33px;height:18px;border-radius:14px;background:#48524b;position:relative;transition:background .2s}.switch:after{content:"";position:absolute;width:12px;height:12px;background:#aab5a8;border-radius:100%;top:3px;left:3px;transition:transform .2s}.toggle-row input:checked+.switch{background:#bd9966}.toggle-row input:checked+.switch:after{background:#f5ead8;transform:translateX(15px)}.toggle-row input:focus-visible+.switch{outline:2px solid white;outline-offset:3px}.sun-caption{display:flex;align-items:center;gap:9px;color:#bdc9c0;font-size:11px}.sun-caption strong{margin-left:auto;color:#edd5a9;letter-spacing:.7px}.sun-icon{color:#d5ae75;font-size:21px}.range{--percent:87.5%;appearance:none;width:100%;height:4px;margin:17px 0 7px;outline:none;border-radius:9px;background:linear-gradient(to right,#d2b07c var(--percent),#434b43 var(--percent))}.range::-webkit-slider-thumb{appearance:none;width:15px;height:15px;border-radius:50%;background:#e8d3aa;border:3px solid #303b33;box-shadow:0 0 0 1px #d3b786}.range::-moz-range-thumb{width:13px;height:13px;border:2px solid #384239;background:#e8d3aa;border-radius:50%}.range-labels{display:flex;justify-content:space-between;color:#78857a;font-size:9px;margin-top:3px}.weather-options{display:flex;gap:5px;margin-top:21px}.weather-btn{flex:1;background:#222a25;border:1px solid #3b453c;padding:9px 0;color:#8f9d91;font-size:9px;font-weight:800;letter-spacing:1.3px}.weather-btn.active,.weather-btn:hover{color:#f3e3c6;border-color:#aa9876;background:#454437}.tool-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tool-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 8px;border:1px solid #475048;background:#28312b;color:#d0d8ce;font-size:12px}.tool-btn:hover{background:#434a3d}.sidebar-foot{border-top:1px solid #303934;padding:17px 26px;display:flex;align-items:center;gap:8px;font:800 9px 'Manrope',sans-serif;letter-spacing:1px;color:#7f8a80;white-space:nowrap}.status-dot{width:7px;height:7px;background:#9bbd80;border-radius:50%;box-shadow:0 0 8px #a4d68b55}.footer-version{color:#b59c72;margin-left:auto}.viewer{position:relative;flex:1;min-width:0;overflow:hidden;background:linear-gradient(#66979d,#e1bf99);isolation:isolate}#scene{display:block;width:100%;height:100%;touch-action:none;outline:0}.hotspot-layer{pointer-events:none;position:absolute;inset:0}.hotspot-layer.hidden{display:none}.hotspot{position:absolute;transform:translate(-50%,-50%);border:none;background:transparent;pointer-events:auto;display:flex;align-items:center;gap:8px;padding:9px;color:white;z-index:3;filter:drop-shadow(0 1px 4px #0008)}.pin-ring{width:27px;height:27px;flex:none;border:1px solid #fff9;border-radius:50%;display:grid;place-items:center;background:#15291b50;box-shadow:0 0 0 5px #fff1}.pin-core{width:8px;height:8px;background:#ffdf9f;border-radius:50%;border:2px solid #fff}.pin-label{font-size:10px;letter-spacing:.45px;white-space:nowrap;font-weight:800;background:#101c19c9;border:1px solid #b9c0ad55;padding:8px 10px;backdrop-filter:blur(9px)}.hotspot:hover .pin-ring,.hotspot.selected .pin-ring{border-color:#fbd48b;transform:scale(1.15)}.hotspot.selected .pin-label{color:#ffdfa1;border-color:#d7b57f}.topbar{position:absolute;z-index:2;left:0;right:0;top:0;display:flex;align-items:center;padding:26px 30px;gap:20px;color:#faf2e1;font:800 10px 'Manrope',sans-serif;letter-spacing:2px;text-shadow:0 1px 8px #13262266;pointer-events:none}.top-right{margin-left:auto}.coord{color:#ffecd4a1;margin-left:15px}.divider-symbol{color:#e6bc76}.mobile-menu{border:1px solid #f8e4ce77;pointer-events:auto;display:none;background:#16211dd4;color:white;padding:7px 12px;font-size:18px}.orientation-tag{position:absolute;right:31px;top:80px;color:#fff1d8;font-size:9px;letter-spacing:1.2px;font-weight:700;opacity:.9;text-shadow:0 2px 5px #0007}.north-symbol{font-size:23px;vertical-align:middle;margin-right:3px}.orientation-line{display:inline-block;height:1px;background:#d4dfcc8a;width:27px;margin:0 8px 3px}.legend{position:absolute;bottom:27px;left:30px;color:#f1e5ce;font-size:9px;letter-spacing:1.5px;text-shadow:0 2px 8px #0008;font-weight:800}.legend-mark{display:inline-block;width:8px;height:8px;border:1px solid #e6c998;margin-right:6px;transform:rotate(45deg)}.legend-sep{padding:0 5px;color:#dcc9aa}.info-card{position:absolute;right:28px;bottom:70px;width:min(345px,calc(100% - 56px));padding:20px 21px 13px;background:#1d2520f2;color:#e7e8dc;border:1px solid #6e705e8a;box-shadow:0 10px 65px #0006;backdrop-filter:blur(19px);transition:transform .3s,opacity .3s}.info-card.dismissed{transform:translateY(130%);opacity:0;pointer-events:none}.info-top{display:flex;justify-content:space-between;align-items:center}.info-kicker{font-size:9px;letter-spacing:1.5px;color:#d2b580;font-weight:800}.info-close{font-size:20px;background:none;border:0;color:#b8c5b8}.info-title{font-family:Manrope,sans-serif;font-size:20px;font-weight:800;margin-top:7px;line-height:1.25}.info-card p{color:#bac4b9;font-size:11.5px;line-height:1.7;margin:12px 0 17px}.info-footer{border-top:1px solid #465148;padding:13px 0 0;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#85938a;letter-spacing:1px}.info-next{background:none;border:0;color:#dec497;font-size:10px;font-weight:800;letter-spacing:1px}.info-next span{font-size:15px;margin-left:6px}.viewer-hint{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);display:flex;gap:18px;white-space:nowrap;color:#fff3ddc7;font-size:9px;font-weight:800;letter-spacing:1px;text-shadow:0 2px 7px #000b}.viewer-hint span:before{content:'•';padding-right:7px;color:#e7c68e}.loading{position:absolute;inset:0;background:#171f1c;z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#e2d1b2;letter-spacing:3px;font-size:10px;font-weight:800;transition:opacity .75s,visibility .75s}.loading.done{opacity:0;visibility:hidden;pointer-events:none}.loading-mark{font-size:60px;font-weight:200;line-height:1}.loading-line{margin-top:15px;width:130px;height:2px;background:linear-gradient(to right,transparent,#d4bd90,transparent);animation:pulse 1s infinite alternate}@keyframes pulse{from{opacity:.3;transform:scaleX(.55)}to{opacity:1;transform:scaleX(1)}}.context-subtitle{font-size:17px;font-family:Manrope;font-weight:800;color:#e3d6bf;line-height:1.4;margin:19px 0 15px}.tab-panel p{font-size:11px;color:#a8b4a7;line-height:1.85}.fact{padding:12px 0;border-bottom:1px solid #363e37;display:flex;justify-content:space-between;align-items:center;gap:10px}.fact span{font-size:9px;color:#7f8e82;font-weight:800;letter-spacing:.6px}.fact strong{font-size:9px;color:#dbc6a2;letter-spacing:.2px;text-align:right}.source-title{font-size:9px;color:#b6ab89;letter-spacing:1.5px;margin:26px 0 13px;font-weight:800}.sources{display:flex;flex-direction:column;gap:10px}.sources a{font-size:10.5px;color:#d4cfb2;text-decoration:none;line-height:1.4}.sources a:hover{text-decoration:underline}.method-note{border-left:2px solid #a18a62;padding:9px 0 9px 13px;margin-top:28px!important;color:#bba986!important}
@media(max-width:1170px){.sidebar{width:298px;flex-basis:298px}.sidebar-header{padding:23px 22px 16px}.sidebar-scroll{padding:22px}.sidebar h1{font-size:30px}.viewer-hint{left:29px;transform:none;bottom:55px}.info-card{bottom:67px}.legend{bottom:27px}}
@media(max-width:820px){.sidebar{position:absolute;left:0;top:0;bottom:0;width:min(315px,85vw);transform:translateX(-102%);transition:transform .24s;box-shadow:10px 0 45px #0008}.sidebar.mobile-open{transform:translateX(0)}.viewer{width:100%}.mobile-menu{display:block}.topbar{padding:19px 16px;gap:12px}.coord,.orientation-tag,.top-index{display:none}.top-right{font-size:9px;letter-spacing:1px}.viewer-hint{display:none}.info-card{right:12px;bottom:37px;width:min(340px,calc(100% - 24px));padding:15px}.info-card p{font-size:11px}.legend{bottom:12px;left:16px;font-size:8px}.hotspot .pin-label{display:none}.hotspot:hover .pin-label,.hotspot.selected .pin-label{display:block}.pin-ring{width:25px;height:25px}}
@media(max-height:720px) and (min-width:821px){.sidebar-header{padding-top:16px}.brandline{margin-bottom:22px}.intro{margin:10px 0}.sidebar-scroll{padding-top:16px}.rule{margin:14px 0}.sidebar h1{font-size:29px}.chips{margin-top:3px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.mobile-close{display:none} .viewer::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 47% 40%,transparent 49%,#14201c32 100%);mix-blend-mode:multiply}
@media(max-width:820px){.mobile-close{display:block;border:0;background:#364238;color:#ecddc2;padding:1px 10px;margin-right:4px;font-size:22px;line-height:1.4}}
