:root{font-family:Inter,Arial,Helvetica,sans-serif;font-synthesis:none;color:#e7e9dc;background:#0c1d1b;--muted:#81958b;--accent:#d9b87c}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:2px solid #e9c882;outline-offset:3px}[hidden]{display:none!important}.app{display:flex;min-height:100vh;position:relative;overflow:hidden;background:#112420}.sidebar{width:323px;min-width:323px;min-height:100vh;display:flex;flex-direction:column;padding:29px 28px 23px;background:linear-gradient(138deg,#172924,#10201c 73%);border-right:1px solid #314038;z-index:5}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:44px;height:44px;border:1px solid #ae9b70;display:flex;align-items:center;justify-content:center;color:#e8d2a9;font-family:Georgia,serif;font-size:28px}.brand-mark span{color:#bc9151}.brand strong{display:block;letter-spacing:2.3px;font-size:10px;font-weight:750}.brand small{display:block;color:#86988c;font-size:8px;letter-spacing:1.85px;margin-top:6px}.issue{margin-top:47px;display:flex;align-items:center;gap:11px;color:#c3ac7b;letter-spacing:1.8px;font-size:9px}.issue-bar{width:21px;height:1px;background:#b39767}.issue-dot{margin-left:auto;font-size:7px}.intro{margin-top:29px}.small-cap{font-size:10px;color:#adbaa7;letter-spacing:1.9px}.intro h1{font-family:Georgia,'Times New Roman',serif;font-size:35px;line-height:1.11;font-weight:400;letter-spacing:-.8px;margin:13px 0 18px;color:#f0ecdb}.intro h1 em{font-weight:400;color:#dcb77d}.intro p{font-size:12px;line-height:1.92;color:#a1b0a3;margin:0;max-width:251px}.divider{height:1px;background:#33443c;margin:29px 0 23px}.side-section{display:block}.section-head{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.6px;color:#b8c5b4;font-weight:700}.section-symbol{font-size:17px;line-height:11px;color:#b5a87e}.control-caption{display:flex;align-items:center;justify-content:space-between;margin-top:25px;font-size:12px;color:#e1e9d9}.control-caption output{color:#e4be83;font-size:12px;letter-spacing:.5px}input[type=range]{width:100%;height:3px;accent-color:#d6b47c;margin:20px 0 9px;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:#7d9183}.weather-label{margin-top:29px}.weather-readout{font-size:10px;color:#859d8c}.segmented{display:flex;margin-top:15px;padding:3px;background:#182d27;border:1px solid #2d483b;gap:3px}.segmented button{background:transparent;border:0;color:#8b9f90;flex:1;font-size:10px;padding:12px 3px}.segmented button span{margin-right:5px;font-size:12px}.segmented button.selected{background:#334a39;color:#efe7ca;box-shadow:inset 0 0 0 1px #617056}.button-stack{display:flex;flex-direction:column;gap:6px;margin-top:18px}.action-button{border:1px solid #364a3f;background:rgba(32,54,43,.60);height:39px;width:100%;text-align:left;color:#d6e0d1;font-size:11px;padding:0 12px;display:flex;align-items:center;gap:12px;transition:.2s}.action-button:hover{background:#334c3e;border-color:#779173}.action-button>span:first-child{font-size:17px;color:#d0b184;width:17px;text-align:center}.action-chevron{margin-left:auto;font-size:18px;color:#a0a899}.sidebar-footer{margin-top:auto;padding-top:30px;display:flex;flex-direction:column;gap:12px;color:#617f70;font-size:10px}.status-pill{font-size:9px;letter-spacing:1.1px;color:#b0c2a9}.pulse,.status-marker{color:#9bbb7b}.pulse{display:inline-block;width:6px;height:6px;background:#9dbb86;border-radius:100%;box-shadow:0 0 9px #9dbb86;margin-right:8px}.workspace{flex:1;display:flex;flex-direction:column;min-width:0;min-height:100vh}.topbar{height:71px;min-height:71px;display:flex;justify-content:space-between;align-items:center;padding:0 34px;background:#172922;border-bottom:1px solid #314037;z-index:2}.breadcrumb{color:#9fac9f;letter-spacing:1.55px;font-size:10px}.breadcrumb span{color:#4e685b;margin:0 10px}.breadcrumb b{color:#e1dec7;font-weight:600}.help-btn{border:1px solid #415346;background:#1c3028;border-radius:2px;color:#e9e3ce;padding:10px 12px;font-size:10px;letter-spacing:1px}.help-btn:hover{background:#335044}.viewport{--sky1:#9cbfce;--sky2:#d3e0d3;--horizon:#e6e6c5;--sun-opacity:.72;position:relative;flex:1;min-height:550px;background:linear-gradient(180deg,var(--sky1) 0%,var(--sky2) 42%,var(--horizon) 72%,#a1b3a0 100%);overflow:hidden;isolation:isolate}.sun-disc{position:absolute;left:65%;top:12%;height:130px;width:130px;border-radius:50%;background:radial-gradient(circle,#fff3d3 0%,#f5ebcf 30%,rgba(255,234,186,.25) 57%,transparent 75%);filter:blur(1px);opacity:var(--sun-opacity);pointer-events:none}.sky-cloud{position:absolute;inset:0;pointer-events:none;opacity:.28;background:radial-gradient(ellipse at 40% 17%,rgba(245,250,234,.6),transparent 24%),radial-gradient(ellipse at 80% 27%,rgba(255,255,255,.6),transparent 25%);transition:opacity .3s}.cloud-two{opacity:.08;transform:scaleX(-1)}.viewport[data-weather=overcast] .sky-cloud,.viewport[data-weather=rain] .sky-cloud{opacity:.65}.viewport[data-weather=rain] .sky-cloud{filter:grayscale(1) brightness(.75)}#scene{width:100%;height:100%;position:absolute;inset:0;display:block;touch-action:none;z-index:1;cursor:grab}#scene:active{cursor:grabbing}#rain{position:absolute;inset:0;height:100%;width:100%;pointer-events:none;z-index:2}.viewport-top{position:absolute;inset:29px 30px auto 30px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none;z-index:3}.scene-label{padding:19px 22px;background:rgba(23,42,35,.91);border:1px solid rgba(222,213,175,.28);border-left:3px solid #dfbb7a;box-shadow:0 10px 30px rgba(10,25,19,.16);min-width:302px;backdrop-filter:blur(8px)}.scene-label-heading{font-size:9px;color:#dcc38d;letter-spacing:1.6px}.scene-number{color:#b2bea8;margin-right:9px}.scene-dot{font-size:8px;margin-right:9px}.scene-label h2{font-family:Georgia,serif;font-weight:400;font-size:30px;margin:10px 0 6px;letter-spacing:-.7px}.scene-label p{font-size:9px;letter-spacing:1.35px;color:#a4baa8;margin:0}.compass{display:flex;align-items:center;flex-direction:column;gap:1px;color:#344f4d;text-shadow:0 2px 4px #e2e8d8;font-size:10px}.compass-rose{font-size:27px}.compass-n{color:#3d5c57;font-weight:750}.compass-s{font-size:9px}.viewport-controls{position:absolute;z-index:3;right:30px;bottom:70px;display:flex;flex-direction:column;border:1px solid rgba(21,45,34,.2);background:rgba(18,43,33,.91);box-shadow:0 8px 23px #14312d34}.viewport-controls button{width:43px;height:40px;color:#ebead4;font-size:21px;background:transparent;border:0;border-bottom:1px solid #465a49}.viewport-controls button:hover{background:#3c604b}.viewport-controls button:last-child{border-bottom:0}.viewport-bottom{position:absolute;left:29px;right:90px;bottom:27px;display:flex;justify-content:space-between;align-items:center;z-index:3;pointer-events:none}.hint{background:rgba(15,38,30,.80);color:#e3e8d4;padding:13px 17px;display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:1.1px;backdrop-filter:blur(6px)}.hint i{height:13px;width:1px;background:#809185}.mouse-icon{font-size:19px;color:#dfc391}.north-line{font-size:10px;letter-spacing:1px;font-weight:600;color:#36584e;text-shadow:0 1px #e7e4c7}.north-line b{margin:0 5px}.hotspots{position:absolute;inset:0;z-index:4;pointer-events:none}.hotspot{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;white-space:nowrap;pointer-events:auto;background:rgba(15,39,31,.90);border:1px solid rgba(234,215,163,.65);border-radius:24px;color:#eee9d4;font-size:10px;padding:6px 10px 6px 7px;box-shadow:0 3px 18px #17291e99;transition:transform .2s,background .2s}.hotspot-dot{width:10px;height:10px;border:2px solid #e8d49a;border-radius:50%;background:#305943;box-shadow:0 0 0 3px #e8d49a22}.hotspot:hover,.hotspot.is-active{background:#344e3d;transform:translate(-50%,-50%) scale(1.065)}.hotspot.is-active .hotspot-dot{background:#e8c480}.bottom-bar{height:46px;min-height:46px;background:#172922;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #35473c;gap:10px;font-size:9px;color:#a0b1a1;letter-spacing:1.13px}.bottom-bar strong{color:#e1d8b9}.bottom-left .separator{padding:0 8px;color:#587265}.bottom-right{display:flex;gap:23px;color:#819c90}.bottom-right b{color:#c7d0bd;font-weight:500}.info-panel{position:absolute;z-index:7;right:28px;top:132px;width:286px;background:linear-gradient(145deg,#f0eadb,#e0d8c6);color:#35453b;box-shadow:0 18px 70px #061d1780;padding:22px 23px 18px;border-top:3px solid #b69a65}.info-head{font-size:9px;letter-spacing:1.65px;color:#897a59;display:flex;align-items:center;justify-content:space-between}.info-head button{border:0;background:transparent;font-size:24px;color:#5e6257;padding:0 2px;line-height:1}.info-dash{margin:0 7px}.info-card-mark{border:1px solid #b7b1a0;width:44px;height:44px;margin:21px 0 15px;display:flex;align-items:center;justify-content:center;font-size:23px;color:#9b8058}.info-sub{color:#776d52;font-size:10px;letter-spacing:.5px;margin:0 0 11px}.info-panel h2{font:normal 26px/1.1 Georgia,serif;letter-spacing:-.5px;margin:0 0 15px;color:#26382f}.info-panel>p#infoText{font-size:12px;line-height:1.8;color:#5a665a;margin:0 0 28px}.info-foot{border-top:1px solid #bfbaa8;padding-top:14px;display:flex;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:.9px;color:#85775b}.info-foot>span:last-child{font-size:18px}.loading{z-index:10;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#20342d;color:#f0dfc1;gap:15px}.loading small{color:#8ead9c;font-size:12px}.loading-ring{height:54px;width:54px;border:3px solid #526b59;border-top-color:#efc887;border-radius:50%;animation:spin 1s linear infinite}.error{padding:30px;text-align:center}.error p{max-width:500px}@keyframes spin{to{transform:rotate(360deg)}}dialog{border:1px solid #c3a77a;max-width:500px;width:calc(100vw - 36px);background:#f1e9d8;color:#2e473a;padding:29px;box-shadow:0 20px 80px #041e19a8}dialog::backdrop{background:rgba(6,26,21,.72)}.dialog-head{display:flex;justify-content:space-between;align-items:center;color:#98825b;font-size:10px;letter-spacing:1.5px}.dialog-head button{border:0;background:transparent;font-size:23px;color:#495b50}dialog h2{font:normal 31px Georgia,serif}dialog p{font-size:13px;line-height:1.8;color:#617061}
@media(max-width:1260px){.sidebar{width:283px;min-width:283px;padding-left:22px;padding-right:22px}.intro h1{font-size:30px}.info-panel{width:250px;right:16px;top:115px}.scene-label{min-width:260px}.scene-label h2{font-size:26px}.viewport-top{left:18px;right:19px}.viewport-bottom{left:18px}.hint{gap:6px;font-size:8px}.hint i:nth-of-type(2),.hint span:last-child{display:none}}
@media(max-width:950px){.app{display:block;overflow:auto}.sidebar{min-height:0;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding:18px 20px}.brand,.issue,.intro,.sidebar-footer{grid-column:1/-1}.issue{margin-top:7px}.intro{margin-top:7px}.intro h1{margin:5px 0 4px;font-size:28px}.intro p{max-width:100%}.sidebar .divider{display:none}.sidebar-footer{padding:10px 0 0;flex-direction:row;justify-content:space-between}.workspace{min-height:0}.viewport{min-height:570px;height:65vh}.info-panel{position:fixed;top:auto;bottom:23px;right:22px;max-height:65vh;overflow:auto}}
@media(max-width:600px){.sidebar{grid-template-columns:1fr;gap:13px;padding:15px}.brand,.issue,.intro,.sidebar-footer{grid-column:1}.issue{display:none}.intro h1{font-size:27px}.intro p{font-size:11px;line-height:1.6}.section-head{margin-bottom:2px}.control-caption{margin-top:12px}.weather-label{margin-top:12px}.segmented{margin-top:9px}.button-stack{margin-top:11px}.sidebar-footer{font-size:8px}.topbar{height:45px;min-height:45px;padding:0 14px}.breadcrumb{font-size:8px;letter-spacing:.4px}.breadcrumb span{margin:0 4px}.help-btn{font-size:10px;padding:6px}.help-btn span{display:none}.viewport{height:540px;min-height:540px}.viewport-top{inset:14px 14px auto}.scene-label{padding:12px 14px;min-width:0}.scene-label-heading{font-size:8px}.scene-label h2{font-size:23px}.scene-label p{font-size:8px}.viewport-controls{bottom:65px;right:10px}.viewport-controls button{width:35px;height:36px}.viewport-bottom{bottom:15px;left:10px;right:55px}.hint{padding:8px;font-size:8px}.hint i,.hint span:not(:first-child):not(:nth-child(2)){display:none}.north-line{display:none}.bottom-bar{height:auto;min-height:42px;padding:10px 12px;display:block;font-size:8px}.bottom-right{display:none}.info-panel{right:8px;bottom:12px;width:min(270px,75vw);padding:13px 15px}.info-card-mark{display:none}.info-sub{margin-top:15px}.info-panel h2{font-size:22px;margin-bottom:8px}.info-panel>p#infoText{font-size:11px;line-height:1.55;margin-bottom:14px}.info-foot{font-size:7px}.hotspot{font-size:8px;padding:4px 6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
