:root{color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#f6f8f2;background:#092d35;font-synthesis:none;--surface:#0b3038;--muted:#c5d3d1;--lime:#d6eca5;--edge:clamp(20px,3vw,55px)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--lime);outline-offset:4px}canvas:focus-visible{outline-offset:-5px}
#experience{width:100%;height:100svh;position:relative;overflow:hidden}#scene,#scene canvas,.vignette{position:absolute;inset:0;width:100%;height:100%}#scene canvas{display:block;touch-action:none}.vignette{pointer-events:none;background:linear-gradient(180deg,#001a1f70,transparent 23%,transparent 54%,#00151cdb),linear-gradient(90deg,#021d3210,transparent 40%)}
header{position:absolute;inset:max(26px,env(safe-area-inset-top)) var(--edge) auto;display:flex;align-items:center;justify-content:space-between;z-index:2}.wordmark{display:flex;gap:12px;align-items:center;min-height:44px;color:inherit;text-decoration:none;font-size:11px;line-height:1.4;letter-spacing:2.2px}.wordmark b{font-weight:500}.location{font-size:11px;letter-spacing:2.4px;text-align:center;position:absolute;left:50%;transform:translateX(-50%);text-shadow:0 1px 8px #163239}.location span{display:block;margin-top:7px;font-size:12px;letter-spacing:1px;color:var(--muted)}
.round{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:1px solid #ffffff40;transition:background .2s,transform .2s}.round:hover{background:#21474b;transform:translateY(-1px)}button[aria-pressed=true]:not([data-view]):not(#tour){border-color:var(--lime);color:var(--lime)}
.intro,.view-caption{position:absolute;left:var(--edge);bottom:154px;pointer-events:none;text-shadow:0 2px 24px #05293180;max-width:calc(100% - 125px)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:500}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(48px,5.6vw,80px);letter-spacing:-3.4px;line-height:1.05;margin:15px 0 12px}h1 span{color:var(--lime)}.intro p,.view-caption p{font-size:14px;line-height:1.5;margin:0;color:#e0e9e5}.intro{transition:opacity .45s,transform .65s}.exploring .intro{opacity:0;transform:translateY(12px)}.view-caption{opacity:0;transform:translateY(10px);transition:opacity .5s,transform .65s}.view-caption h2{font:400 clamp(26px,3vw,40px)/1.15 Georgia,serif;letter-spacing:-.8px;margin:10px 0}.exploring .view-caption{opacity:1;transform:none}
.tools{position:absolute;right:var(--edge);bottom:164px;display:flex;align-items:center;flex-direction:column;gap:10px;z-index:3}.compass{height:60px;gap:0;font-size:10px;letter-spacing:1px}.compass svg{filter:drop-shadow(0 1px 4px #04252a)}.zoom{background:var(--surface);border:1px solid #ffffff40;border-radius:26px;overflow:hidden}.zoom button{display:block;width:44px;height:46px;background:transparent;font-size:25px;line-height:1}.zoom button:hover{background:#21474b}.zoom button+button{border-top:1px solid #ffffff30}
footer{position:absolute;bottom:max(60px,calc(env(safe-area-inset-bottom) + 45px));left:var(--edge);right:var(--edge);display:flex;align-items:center;justify-content:space-between;gap:20px}.hint{display:flex;gap:12px;align-items:center;font-size:12px}.hint span span{display:block;margin-top:5px;color:var(--muted);font-size:11px}.views{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:6px;border:1px solid #ffffff38;border-radius:40px;background:var(--surface);white-space:nowrap;box-shadow:0 8px 30px #072b3a30}.views button{height:46px;border-radius:26px;padding:0 20px;font-size:13px;background:transparent;transition:background .2s,color .2s}.views button:hover{background:#21474b}.views button.selected{background:#eef3df;color:#1b3532}.views #tour{width:46px;padding:0;display:grid;place-items:center;border:1px solid #ffffff40}.views #tour[aria-pressed=true]{background:var(--lime);color:#17322e}.height{text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.height>span:first-child{font-size:22px}.height>span:last-child{display:block;font-size:10px;letter-spacing:1.4px;color:var(--muted);margin-top:5px}
.credit{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));left:var(--edge);right:var(--edge);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#d3ded8;gap:8px}.credit a{color:inherit;text-decoration:none;line-height:1.4;min-height:24px;display:flex;align-items:center}.credit a:hover{text-decoration:underline}.pin{position:absolute;left:0;top:0;min-height:44px;white-space:nowrap;padding:10px 14px;background:var(--surface);border:1px solid #ffffff50;border-radius:30px;font-size:12px;box-shadow:0 4px 15px #002b3933;display:flex;align-items:center;gap:8px;will-change:transform;transition:opacity .2s;opacity:0}.pin:hover{background:#21474b}.pin-dot{width:5px;height:5px;border-radius:100%;background:var(--lime)}.touch-hint{display:none}
#loading{position:absolute;inset:0;z-index:10;background:#092d35;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;transition:opacity .65s,visibility .65s}#loading.done{opacity:0;visibility:hidden}.load-coordinate{font-size:11px;letter-spacing:3px;color:#c4d9cb}#loading h2{font:400 clamp(34px,5vw,64px) Georgia,serif;letter-spacing:-1.5px;margin:23px 0 38px}.load-line{height:2px;background:#ffffff20;width:170px;overflow:hidden}.load-line span{display:block;width:0;height:100%;background:var(--lime);transition:width .35s}#load-status{font-size:13px;line-height:1.5;color:#c5d6d1;margin-top:20px}.retry{min-height:46px;padding:0 24px;border-radius:24px;background:var(--lime);color:#17322e;margin-top:12px}
dialog{max-width:510px;width:calc(100% - 32px);max-height:calc(100svh - 32px);overflow:auto;overscroll-behavior:contain;border:1px solid #ffffff35;border-radius:22px;background:#0d343c;color:#f6f8f2;padding:38px;box-shadow:0 24px 100px #0005}dialog::backdrop{background:#05232bba;backdrop-filter:blur(5px)}dialog h2{font:400 36px/1.1 Georgia,serif;letter-spacing:-1px;margin:20px 0}dialog p{font-size:15px;line-height:1.65;color:#d0deda}dialog a{font-size:13px;color:#dbecb5}#close-info{position:absolute;right:12px;top:12px;font-size:24px}.guide{border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;margin:24px 0;padding:7px 0}.guide h3{font-size:14px;font-weight:600;margin:18px 0 8px}.guide p{font-size:13px;margin:8px 0 18px}kbd{display:inline-block;border:1px solid #ffffff38;padding:0 4px;border-radius:4px;font:12px/1.7 inherit;color:#f6f8f2}.no-script{position:absolute;inset:0;z-index:20;display:grid;place-content:center;background:#092d35;padding:30px}.no-script a{color:var(--lime)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1120px){.hint,.height{display:none}footer{justify-content:center}.views{position:static;transform:none}.location{font-size:10px}}
@media(max-width:700px){header{top:max(18px,env(safe-area-inset-top))}.location{display:none}.wordmark{font-size:10px;letter-spacing:1.7px}.intro,.view-caption{bottom:176px}.intro h1{font-size:54px;letter-spacing:-2.6px}.eyebrow{font-size:10px;letter-spacing:1.3px}.tools{bottom:182px;gap:8px}.views button{padding:0 14px}.credit{flex-wrap:wrap;justify-content:center;font-size:10px;gap:0 14px;bottom:max(8px,env(safe-area-inset-bottom))}.credit a{min-height:24px}.touch-hint{display:block;position:absolute;bottom:max(122px,calc(env(safe-area-inset-bottom) + 107px));left:0;right:0;margin:0;text-align:center;font-size:11px;color:var(--muted)}dialog{padding:30px 24px}dialog>.eyebrow{display:block;padding-right:35px}dialog h2{font-size:32px}}
@media(max-width:390px){:root{--edge:16px}.views{gap:2px;padding:5px}.views button{font-size:12px;padding:0 10px}.intro h1{font-size:46px}.intro p{font-size:13px}.intro,.view-caption{max-width:calc(100% - 90px)}.credit{font-size:9px}}
@media(max-height:600px){header{top:12px}.intro{bottom:130px}.intro h1{font-size:44px;margin:8px 0}.intro .eyebrow,.intro p,.view-caption .eyebrow,.view-caption p,.touch-hint{display:none}.view-caption{bottom:125px}.view-caption h2{font-size:27px}.tools{bottom:105px;gap:6px;flex-direction:row}.tools .compass{height:46px}.zoom{display:flex}.zoom button+button{border-top:0;border-left:1px solid #ffffff30}.credit{font-size:9px}footer{bottom:44px}}
@media(max-height:600px) and (max-width:700px){.intro,.view-caption{bottom:182px}.tools{bottom:116px}.view-caption h2{font-size:24px}.intro h1{font-size:40px}.credit{bottom:4px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
