:root{color-scheme:dark;--bg:#0b1320;--ink:#f2f8ff;--muted:#bacbda;--solid:#172634;--glass:rgba(16,31,44,.72);--highlight:#dffaff75;--accent:#c6ff72;--cyan:#74e7ef;--action-ink:#102b22;--line:#b3d3e42e;--focus:#c6ff72;--shadow:#0006}
:root[data-theme=light]{color-scheme:light;--bg:#edf1f7;--ink:#142b38;--muted:#425969;--solid:#f3f8fc;--glass:rgba(244,250,255,.78);--highlight:#ffffffed;--accent:#d0ff83;--cyan:#006c7b;--action-ink:#173b2b;--line:#21485f30;--focus:#006b83;--shadow:#264d6c26}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 95% 0%,#5652bd26,transparent 45%),radial-gradient(ellipse at 8% 12%,#22d9d315,transparent 35%),var(--bg);color:var(--ink);font:16px/1.55 'Segoe UI',Arial,sans-serif}a{color:inherit}button,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.38;cursor:default}button,a,input{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:5px}button{border:0}button:active:not(:disabled){scale:.96}a{text-underline-offset:5px}.skip{position:fixed;z-index:20;top:12px;left:12px;translate:0 -180%;background:var(--solid);padding:12px}.skip:focus{translate:0}
.topbar{margin:0 32px;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.back{font-size:14px;text-decoration:none}.wordmark{font-weight:700;letter-spacing:.16em;font-size:14px}.wordmark span{color:var(--cyan);font-weight:400}.preferences{display:flex;gap:8px}.preferences button{min-height:44px;padding:8px 14px;border-radius:12px;background:var(--glass);font-size:13px}.preferences [aria-pressed=true]{box-shadow:inset 0 -2px var(--cyan)}
.intro{margin:0 40px;padding:36px 0 32px;display:flex;justify-content:space-between;gap:24px;align-items:end}.eyebrow{font-size:11px;letter-spacing:.14em;color:var(--cyan);margin:0 0 12px;font-weight:650}.eyebrow>span,.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #b8ff6555;margin-right:8px}h1{font-size:clamp(32px,4.2vw,60px);letter-spacing:-.035em;line-height:1.08;margin:0 0 14px}h2{font-size:clamp(25px,2.6vw,36px);line-height:1.2;letter-spacing:-.025em;margin:0 0 20px}p{color:var(--muted);max-width:65ch}.intro p:last-child{margin:0}.download{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;text-decoration:none;min-height:50px;padding:12px 22px;border-radius:16px;background:var(--accent);color:var(--action-ink);font-weight:650;box-shadow:inset 0 2px 2px #fff7,0 8px 24px #adff6a15;white-space:nowrap}
.map-section{width:100%}.viewer{position:relative;width:100%;height:clamp(520px,78svh,1000px);overflow:hidden;background:radial-gradient(ellipse,#172c38,#080f18);cursor:grab;touch-action:none;isolation:isolate}.viewer.dragging{cursor:grabbing}.scene{position:absolute;left:50%;top:50%;width:min(100vw,78vh);height:min(100vw,78vh);transform:translate(-50%,-50%);transform-origin:0 0;user-select:none}.scene img{width:100%;height:100%;position:absolute;inset:0;display:block;pointer-events:none;user-select:none}.divider{display:none;position:absolute;top:0;bottom:0;width:1px;background:#fff;box-shadow:0 0 3px #000;pointer-events:none}
.glass{position:relative;background:var(--solid);color:var(--ink);border-radius:20px;box-shadow:inset 0 1px 1px var(--highlight),inset -1px -1px 2px #07182338,0 14px 36px var(--shadow);border:0}.glass:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(125deg,#ffffff14,transparent 45%,#70ecff08);pointer-events:none}
@supports(backdrop-filter:blur(1px)){.glass{background:var(--glass);backdrop-filter:blur(18px) saturate(1.18);-webkit-backdrop-filter:blur(18px) saturate(1.18)}}
.place{position:absolute;left:24px;top:24px;display:flex;align-items:center;gap:10px;padding:14px 18px;pointer-events:none;cursor:default}.place strong{font-size:15px;font-weight:650}.place small{display:block;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.north{font-size:13px;color:var(--cyan);margin-left:20px}.zoom{position:absolute;top:24px;right:24px;padding:7px;display:flex;flex-direction:column;align-items:center;width:68px;cursor:default}.zoom button{width:52px;height:48px;border-radius:13px;background:transparent;font-size:28px;line-height:1}.zoom output{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted);padding:3px 0}.zoom .fit{font-size:11px;font-weight:600;line-height:1.25}.control-line{height:1px;width:30px;background:var(--line);margin:5px 0}.comparison{position:absolute;bottom:54px;left:24px;width:300px;padding:16px 20px;cursor:default}.comparison-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px}.comparison label{font-weight:600}.comparison output{font-size:11px;color:var(--cyan);font-variant-numeric:tabular-nums}input[type=range]{width:100%;min-height:44px;accent-color:var(--cyan);margin:2px 0;cursor:ew-resize;touch-action:pan-y}.range-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.map-credit{position:absolute;bottom:0;left:0;right:0;padding:9px 24px;font-size:11px;color:#f4f8ff;background:#08121ddd;cursor:default;pointer-events:none}.map-meta{padding:14px 32px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:12px}.map-meta p{max-width:none;margin:0}.map-meta span{color:var(--cyan);white-space:nowrap}.noscript{padding:20px}
.details{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:70px 40px 40px;max-width:1480px;margin:auto}.details:before{content:"";position:absolute;width:280px;height:280px;right:10%;top:110px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#80ffff88,#096d8c55 55%,transparent 71%);z-index:-1}.details p{max-width:53ch}.details dl{display:flex;flex-wrap:wrap;gap:35px;margin-top:30px}.details dt{font-size:12px;color:var(--muted)}.details dd{margin:6px 0 0;font-variant-numeric:tabular-nums;font-size:19px}.files{padding:28px}.files h2{font-size:22px}.files a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:12px 0;border-top:1px solid var(--line);text-decoration:none;font-size:14px}.files a span{color:var(--cyan);font-size:12px;white-space:nowrap}.limitations{margin:15px 40px 45px;font-size:13px;max-width:90ch}footer{margin:0 40px;padding:22px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}
@media(hover:hover){.zoom button:hover:not(:disabled),.preferences button:hover{background:#81e6ed20;box-shadow:inset 0 1px #c6ffff60,0 0 18px #74e7ef24}.download:hover{box-shadow:inset 0 2px 2px #fff9,0 6px 26px #bbff6c35}.files a:hover{color:var(--cyan)}}
@media(prefers-reduced-motion:no-preference){button,.download{transition:background-color .16s,box-shadow .16s,scale .16s}.intro{animation:arrive .35s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
[data-solid=true] .glass{background:var(--solid);backdrop-filter:none;-webkit-backdrop-filter:none}
@media(prefers-reduced-transparency:reduce){.glass{background:var(--solid);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){.glass,.preferences button,.download{background:Canvas;color:CanvasText;border:1px solid ButtonText;box-shadow:none;backdrop-filter:none}.glass:before{display:none}.zoom button:focus-visible{outline:3px solid Highlight}.map-credit{background:Canvas;color:CanvasText}}
@media(max-width:760px){.topbar{margin:0 16px;min-height:64px;flex-wrap:wrap;gap:10px;padding:12px 0}.wordmark{display:none}.preferences{gap:4px}.preferences button{font-size:11px;padding:7px 10px}.back{font-size:12px}.intro{margin:0 18px;padding:24px 0;display:block}.intro h1{font-size:36px}.intro p:last-child{font-size:14px}.download{margin-top:18px;font-size:14px;min-height:46px}.viewer{height:min(78svh,125vw);min-height:390px}.place{left:12px;top:12px;padding:10px 13px;border-radius:16px}.place small{font-size:10px}.north{margin-left:5px}.zoom{right:12px;top:12px;width:58px;padding:4px;border-radius:17px}.zoom button{width:48px;height:44px}.comparison{left:12px;bottom:54px;width:min(280px,calc(100% - 84px));padding:12px 15px;border-radius:16px}.comparison-heading{font-size:11px}.comparison output{font-size:10px}.map-credit{padding:8px 12px;font-size:9px;min-height:34px}.map-meta{padding:12px 16px;display:block;font-size:11px}.map-meta span{display:block;margin-top:8px}.details{grid-template-columns:1fr;padding:40px 18px 20px;gap:22px}.details dl{gap:24px}.files{padding:22px}.files a{font-size:13px}.limitations{margin:10px 18px 30px}footer{margin:0 18px;flex-direction:column;gap:12px}.viewer:focus-visible{outline-offset:-4px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

