:root{--ink:#152b2e;--paper:#faf8f0;--muted:#778782;--teal:#28675f;--line:#dce2d9;--pink:#be6d66;--bar:#11282b}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--ink);background:#152d2f}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e4b06d;outline-offset:3px}button:disabled{opacity:.35;cursor:not-allowed}[hidden]{display:none!important}.app{height:100dvh;min-height:550px;display:grid;grid-template-columns:minmax(0,1fr) 352px}.viewport{position:relative;overflow:hidden;background:#9abfcd}#world,#weatherFx{display:block;position:absolute;inset:0;width:100%;height:100%}#world{touch-action:none;cursor:grab}#world:active{cursor:grabbing}#weatherFx{pointer-events:none}.masthead{position:absolute;left:35px;top:29px;display:flex;flex-direction:column;gap:6px;pointer-events:none;text-shadow:0 1px 11px #0003}.brand-mark{display:flex;align-items:center;gap:12px}.brand-icon{display:grid;place-items:center;width:42px;height:42px;font-size:29px;color:#e1ae63;background:#193638e8;border:1px solid #ffffff55;border-radius:50%}.brand-mark small{font-size:10px;letter-spacing:.19em;color:#294b4c;display:block;font-weight:800}.brand-mark small b{color:var(--pink)}.brand-mark strong{font-size:24px;line-height:1.3;letter-spacing:.08em;font-weight:850}.slash{color:#cc746d;margin:0 6px}.brand-sub{font-size:10px;letter-spacing:.24em;padding-left:55px;font-weight:750}.dot{font-size:6px;color:#c67c61;margin:0 9px;vertical-align:middle}.museum-line{position:absolute;left:35px;top:135px;font-size:10px;letter-spacing:.14em;color:#375459;font-weight:700}.museum-line span{color:#bb5e5a}.corner{position:absolute;left:22px;top:50%;color:#174846;opacity:.3;pointer-events:none}.viewport-bottom{position:absolute;bottom:21px;left:30px;right:30px;display:flex;flex-direction:column;align-items:center;gap:13px;pointer-events:none}.info-pill{align-self:flex-start;background:#fdfbf0e8;border:1px solid #ffffffd9;border-radius:30px;padding:9px 15px;font-size:10px;letter-spacing:.10em;font-weight:750;box-shadow:0 8px 25px #1c403d1e;backdrop-filter:blur(10px);pointer-events:auto}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#61a27b;margin-right:6px;box-shadow:0 0 0 3px #61a27b44}.separator{padding:0 10px;color:#b0afa1}.camera-dock{display:flex;gap:2px;background:#16393ce9;padding:5px;border:1px solid #d9e3d158;backdrop-filter:blur(12px);box-shadow:0 10px 30px #14393644;pointer-events:auto;border-radius:6px}.camera-dock button{border:0;background:transparent;color:#c9d6cc;font-size:17px;padding:9px 13px;border-radius:3px;display:flex;align-items:center;gap:8px}.camera-dock button span{font-size:10px;font-weight:800;letter-spacing:.09em}.camera-dock button.active,.camera-dock button:hover{background:#f4e4c6;color:#23453e}.help-text{font-size:9px;letter-spacing:.19em;font-weight:800;text-shadow:0 1px 6px #fff5;color:#315c54}.help-text span{margin:0 5px}.inspector{position:relative;z-index:5;background:var(--paper);display:flex;flex-direction:column;min-height:0;box-shadow:-12px 0 45px #192e2a20}.inspector-header{padding:34px 30px 24px;background:radial-gradient(circle at 100% 0%,#fff4da,#faf8f0 70%);position:relative}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:850;color:#9b7464}.series-number{color:#adbdaf}.inspector h1{font-family:Georgia,Times,serif;font-size:40px;line-height:1.03;letter-spacing:-.045em;font-weight:500;margin:20px 0 16px}.inspector h1 i{color:#9b6267;font-weight:500}.inspector-header p{font-size:12px;line-height:1.7;max-width:260px;color:#71827c;margin:0}.panel-close{display:none}.tabbar{display:grid;grid-template-columns:repeat(3,1fr);padding:0 24px;gap:8px;border-bottom:1px solid var(--line)}.tabbar button{border:0;background:transparent;border-bottom:2px solid transparent;font-size:10px;letter-spacing:.12em;font-weight:800;color:#9ba9a0;padding:16px 0}.tabbar button.selected{border-color:#ac6d5f;color:#2a4841}.tab-section{flex:1;min-height:0;overflow:auto;padding:24px 27px;scrollbar-color:#bdc9bd transparent;scrollbar-width:thin}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tiny,.hint{color:#9bada4;font-size:9px;font-weight:800;letter-spacing:.09em}.landmark-list{display:flex;flex-direction:column;gap:9px}.landmark{display:flex;gap:13px;align-items:center;text-align:left;border:1px solid #e3e4da;background:#fffefa;padding:10px;border-radius:4px;width:100%;transition:border-color .2s,transform .2s}.landmark:hover,.landmark.chosen{border-color:#8aada0;transform:translateX(2px)}.landmark .num{font-family:Georgia,serif;color:#c2926d;font-size:17px;width:27px;text-align:center}.landmark .land-content{flex:1}.landmark strong{display:block;font-size:12px;color:#31524a;font-weight:800;margin:2px 0}.landmark small{font-size:10px;color:#94a099}.landmark .arrow{color:#b9c6bb;font-size:20px}.primary{background:#1d574e;border:1px solid #1d574e;color:#fff;padding:14px 18px;letter-spacing:.12em;font-size:10px;font-weight:850;border-radius:3px}.primary:hover{background:#287567}.action-full{width:100%;margin-top:18px;display:flex;justify-content:space-between;align-items:center}.primary span{font-size:18px}.mini-note{border-top:1px solid var(--line);padding-top:17px;margin-top:22px}.mini-note b{font-size:9px;letter-spacing:.15em;color:#bd7a6d}.mini-note p{color:#7b8a82;font-size:11px;line-height:1.7;margin:7px 0}.inspector-footer{padding:16px 26px 18px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:6px}.inspector-footer button{border:1px solid #dbe0d4;background:#fefefa;padding:10px;font-size:10px;letter-spacing:.09em;font-weight:850;color:#4f7067}.inspector-footer button:hover{background:#e8eee7}.footnote{grid-column:span 2;text-align:center;font-size:9px;letter-spacing:.15em;color:#b2bfb3;padding-top:10px}.footnote span{margin:0 6px}.control-label{display:block;font-size:10px;letter-spacing:.10em;font-weight:850;margin-top:16px;color:#3d6258}.control-label output{float:right;color:#b27766}.label-row{display:flex;align-items:center;justify-content:space-between}input[type=range]{accent-color:#b87468;width:100%;margin-top:16px;cursor:pointer}.range-ends{display:flex;justify-content:space-between;color:#afbdb2;font-weight:750;font-size:9px;letter-spacing:.11em}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:12px}.segmented button,.palette-list button{padding:12px 8px;border:1px solid #d9e0d5;background:#fffef9;color:#688179;border-radius:3px;font-size:10px;font-weight:850;letter-spacing:.08em}.segmented button.selected,.palette-list button.active{border-color:#588c7d;background:#edf4ed;color:#235a51}.palette-list{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:12px}.palette-list button{display:flex;flex-direction:column;align-items:center;gap:6px}.swatches{height:14px;width:52px;border-radius:10px;display:block}.swatches.a{background:linear-gradient(90deg,#da4351 0 25%,#e7a43f 25% 50%,#367ca8 50% 75%,#538b5c 75%)}.swatches.b{background:linear-gradient(90deg,#f27fa0 0 25%,#f9b65d 25% 50%,#7eaad0 50% 75%,#ad8fcd 75%)}.swatches.c{background:linear-gradient(90deg,#286895 0 25%,#4d87b6 25% 50%,#e8b75e 50% 75%,#698d9a 75%)}.mechanisms{margin-top:12px;display:flex;flex-direction:column;gap:6px}.mechanisms button{background:#fffefa;border:1px solid #e4e6da;display:flex;justify-content:space-between;padding:14px 12px;border-radius:3px;font-size:10px;font-weight:850;letter-spacing:.07em;color:#45695f}.mechanisms b{color:#b46f69}.mechanisms button:hover{background:#eff4e9}.reset-button{background:transparent;border:1px dashed #c6cec1;width:100%;padding:14px;color:#798f86;font-size:10px;letter-spacing:.1em;font-weight:800;margin-top:16px}.reset-button:hover{background:#edf3e9}#storyContent h2{font-size:26px;font-family:Georgia,serif;font-weight:400;color:#28564b}#storyContent p{font-size:12px;line-height:1.78;color:#73847a}#storyContent .quote{border-left:3px solid #b97e76;padding:6px 16px;font-family:Georgia,serif;color:#76544d;font-size:17px;font-style:italic;line-height:1.5;margin:22px 0}#storyContent .quote small{font-size:9px;display:block;font-family:inherit;font-style:normal;letter-spacing:.12em;margin-top:10px}.story-links{display:flex;flex-direction:column;gap:14px;margin-top:27px}.story-links a{font-size:10px;letter-spacing:.1em;color:#37786b;font-weight:750;text-decoration:none}.hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:0;background:#fbfaefd9;padding:8px 11px;border-radius:30px;box-shadow:0 2px 14px #122e3345;display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.05em;font-weight:850;white-space:nowrap;color:#30584e;backdrop-filter:blur(7px);transition:transform .15s,background .15s}.hotspot:before{content:'+';font-size:15px;width:21px;height:21px;border-radius:50%;color:white;background:#b97d6e;display:grid;place-items:center}.hotspot:hover{transform:translate(-50%,-50%) scale(1.06);background:#fff}.tour-overlay{position:absolute;bottom:139px;left:35px;max-width:510px;width:calc(100% - 70px);background:#173c3de9;color:#fff;backdrop-filter:blur(16px);box-shadow:0 10px 45px #1c3a4059;display:flex;gap:18px;padding:21px 44px 19px 23px;border-left:3px solid #e9b271;border-radius:3px;align-items:center}.tour-overlay strong{display:block;font-family:Georgia,serif;font-size:23px;margin:5px 0}.tour-overlay p{font-size:11px;line-height:1.55;color:#d8e4dd;margin:0}.tour-overlay .eyebrow{color:#e9bc8f}.light-button{border:1px solid #aec3b9;background:transparent;color:#f6e3c8;font-size:10px;letter-spacing:.08em;white-space:nowrap;font-weight:850;padding:12px}.light-button span{padding-left:7px}.text-close{position:absolute;top:5px;right:8px;color:#e9e6dc;background:transparent;border:0;font-size:24px}.loading{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f7f5eb;color:#2d655a;gap:9px;transition:opacity .6s}.spinner-flower{font-size:76px;color:#bd7969;animation:spin 8s linear infinite}.loading b{font-size:12px;letter-spacing:.22em}.loading small{font-size:11px;color:#92a096}@keyframes spin{to{transform:rotate(360deg)}}.error{z-index:40;position:fixed;inset:20%;background:white;padding:30px;box-shadow:0 0 0 200vw #14333790}.error p{font-size:14px}.error button{padding:12px;background:#164d47;color:white}dialog{border:1px solid #d7ddd4;border-radius:6px;max-width:470px;width:90%;padding:30px;color:#294c45;box-shadow:0 25px 90px #0006}dialog::backdrop{background:#183a3edb;backdrop-filter:blur(8px)}dialog h2{font:400 31px Georgia,serif;margin:17px 0}dialog p{font-size:13px;line-height:1.7;color:#6a8177}dialog dl{display:grid;grid-template-columns:100px 1fr;gap:11px;font-size:12px;margin:28px 0}dialog dt{font-weight:800;color:#b57063}dialog dd{margin:0;color:#668075}.modal-close{float:right;background:transparent;border:0;font-size:23px}.mobile-menu{display:none}
@media(max-width:1000px){.app{grid-template-columns:minmax(0,1fr) 320px}.masthead{left:22px;top:20px}.inspector-header{padding:30px 24px 22px}.inspector h1{font-size:35px}.tab-section{padding:20px 21px}.museum-line{left:22px;top:118px}.camera-dock button span{display:none}.camera-dock button{font-size:22px}}
@media(max-width:680px){html,body{overflow:hidden}.app{display:block;min-height:0}.viewport{position:absolute;inset:0}.masthead{left:15px;top:17px}.brand-icon{height:34px;width:34px;font-size:23px}.brand-mark strong{font-size:17px}.brand-mark small{font-size:8px}.brand-sub{font-size:9px;padding-left:48px}.museum-line{top:92px;left:15px;font-size:8px}.mobile-menu{display:block;position:absolute;right:12px;top:18px;z-index:7;border:1px solid #e8e7d3;background:#173a39e8;border-radius:4px;color:white;padding:10px 12px;font-size:12px;letter-spacing:.08em}.mobile-menu span{font-size:9px}.inspector{position:absolute;top:0;bottom:0;right:0;transform:translateX(110%);width:min(348px,89vw);transition:transform .25s}.inspector.open{transform:translateX(0);box-shadow:-10px 0 30px #0d302b88}.panel-close{display:block;position:absolute;top:13px;right:16px;border:0;background:transparent;color:#8c9892;font-size:27px}.inspector h1{font-size:37px}.viewport-bottom{left:10px;right:10px;bottom:16px;gap:8px}.camera-dock button{padding:8px 18px;font-size:19px}.help-text{font-size:8px;color:#2d5b56}.info-pill{font-size:9px;padding:8px 10px}.tour-overlay{bottom:123px;left:13px;width:calc(100% - 26px);padding:16px 34px 15px 14px}.tour-overlay strong{font-size:18px}.tour-overlay p{font-size:10px}.light-button{font-size:9px;padding:9px 6px}.hotspot{padding:5px 7px;font-size:8px}.hotspot:before{width:16px;height:16px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.spinner-flower{animation:none}*{scroll-behavior:auto!important}}
@media(max-width:680px){.app{overflow:hidden}}
@media(max-width:680px){html,body{overflow:clip;max-width:100vw}.inspector:not(.open){visibility:hidden}.inspector{transition:transform .25s,visibility .25s}}
@media(max-width:680px){.app{position:relative;overflow:hidden;height:100%}}
