@import url('data:text/css,');
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e9e7df;background:#151c1d;font-synthesis:none;--accent:#e2ae69;--line:#ffffff20;--muted:#9ca9a6}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:1px solid var(--line);background:#192223b8;border-radius:7px;padding:10px 15px;cursor:pointer;transition:background .18s,border-color .18s}button:hover{background:#354240;border-color:#e2ae6970}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.35;cursor:default}#world{width:100vw;height:100vh;display:block;touch-action:none}header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:27px 35px;pointer-events:none}header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font-size:12px;letter-spacing:.16em}.mark{width:39px;height:39px;border:1px solid #d8c19d70;border-radius:50%;display:grid;place-items:center;color:var(--accent);font-family:Georgia,serif;font-size:28px;letter-spacing:-.07em;line-height:1;padding-bottom:4px}.brand i{display:block;font-style:normal;font-size:8px;letter-spacing:.17em;color:var(--muted);margin-top:5px}.header-right{display:flex;align-items:center;gap:12px;font-size:12px}.header-right #help{padding:9px 13px}.recorded{font-size:9px;letter-spacing:.12em;color:#bdc7c0;margin-right:14px}.recorded b{display:inline-block;width:5px;height:5px;background:#aac5ab;border-radius:50%;margin-right:6px}.intro{position:absolute;top:145px;left:45px;width:330px;pointer-events:none;transition:opacity .4s,transform .4s}.intro button{pointer-events:auto}.eyebrow{color:var(--accent);font-size:9px;letter-spacing:.18em;font-weight:600}h1{font-family:Georgia,"Times New Roman",serif;font-size:45px;line-height:1.06;font-weight:400;letter-spacing:-.04em;margin:19px 0}p{font-size:13px;line-height:1.7;color:#afbbb6}.intro p{max-width:255px}.journey{margin-top:21px;display:flex;align-items:center;gap:12px;border-color:#e2ae693a;background:#222b28e0;font-size:11px;padding:13px 15px}.journey>span{color:var(--accent);font-size:9px}.journey small{font-size:9px;color:var(--muted);margin-left:12px}.metrics{display:flex;gap:20px;margin-top:35px;color:#bec9c4}.metrics strong{font-size:17px;font-weight:400;display:block}.metrics span{font-size:8px;letter-spacing:.08em;color:#8e9e98;display:block;margin-top:7px}.stage-caption{position:absolute;left:45px;bottom:155px;max-width:380px;pointer-events:none;transition:opacity .3s}.stage-caption>span{font-size:9px;letter-spacing:.13em;color:var(--accent)}h2{font-family:Georgia,"Times New Roman",serif;font-size:31px;line-height:1.15;font-weight:400;margin:10px 0}.stage-caption p{font-size:11px;max-width:270px}.tools{position:absolute;right:33px;top:120px;display:flex;gap:4px;flex-direction:column}.tools button{border-color:transparent;background:#1923247d;text-align:left;display:flex;align-items:center;gap:10px;font-size:19px;padding:9px 11px;min-width:40px}.tools span{font-size:10px;display:none}.tools button:hover span{display:inline}.tools button.active{color:var(--accent);background:#35423b}.context{position:absolute;right:35px;bottom:166px;width:205px;border:1px solid var(--line);background:#182323a8;border-radius:8px;overflow:hidden}.context-head{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.13em;padding:10px 12px;color:#aab9b2}.context-head button{padding:0;border:0;background:none;font-size:17px;color:var(--accent)}#map{width:100%;height:130px;display:block}.context-footer{display:flex;justify-content:space-between;padding:9px 12px;border-top:1px solid var(--line);font-size:8px;color:#9fafa8}.hint{position:absolute;bottom:130px;left:50%;transform:translateX(-50%);font-size:9px;color:#9baa9f;white-space:nowrap;pointer-events:none}.hint b{margin:0 10px;color:#e2ae6970}footer{position:absolute;bottom:24px;left:35px;right:35px;display:flex;gap:30px;align-items:center;border:1px solid #dbe4de26;border-radius:11px;background:#182322ed;padding:21px 28px;box-shadow:0 10px 40px #0002;backdrop-filter:blur(14px)}.zoom-readout{width:100px;flex-shrink:0}.zoom-readout strong{display:block;font-size:32px;line-height:1;font-weight:300;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.zoom-readout strong span{font-size:17px;color:var(--accent);margin-left:4px}.zoom-readout>span{font-size:7px;letter-spacing:.1em;color:var(--muted);display:block;margin-top:8px}.scale-control{flex:1;min-width:0}.stage-buttons{display:flex;justify-content:space-between;margin-bottom:6px}.stage-buttons button{padding:0;border:0;background:none;color:#91a39a;font-size:10px}.stage-buttons button.active{color:var(--accent)}input[type=range]{width:100%;margin:8px 0;appearance:none;background:linear-gradient(to right,var(--accent) var(--zoom,0%),#64766d55 var(--zoom,0%));height:2px;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:11px;height:11px;background:#ead1aa;border:3px solid #536054;border-radius:50%;box-shadow:0 0 0 4px #e2ae6910}.scale-ends{display:flex;justify-content:space-between;font-size:6px;letter-spacing:.13em;color:#73867c;margin-top:4px}#play{border-radius:50%;width:40px;height:40px;padding:0;color:var(--accent);font-size:11px;margin-left:3px}#loading{position:absolute;inset:0;background:#172022;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:20;transition:opacity .7s}.loader-mark{font:60px Georgia;color:var(--accent)}#loading h2{margin-top:25px;font-size:25px}#loading p{font-size:11px}.load-track{height:2px;background:#52615940;width:220px;margin-top:20px}.load-track i{display:block;height:100%;width:3%;background:var(--accent);transition:width .5s}#toast{position:absolute;bottom:135px;left:50%;transform:translateX(-50%) translateY(8px);max-width:500px;padding:10px 18px;border:1px solid var(--line);background:#273431f0;color:#e9e6d9;border-radius:6px;font-size:11px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}dialog{border:1px solid #7d8e7940;background:#1c2829;color:#e6e8df;border-radius:13px;box-shadow:0 25px 100px #0007;padding:30px;width:min(1080px,92vw);max-height:87vh}dialog::backdrop{background:#050e11ad;backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.close{font-size:22px;padding:2px 9px;border:0;background:none}.filter-row{display:flex;gap:8px;margin:22px 0;flex-wrap:wrap;font-size:11px}.filter-row .selected{color:var(--accent);border-color:#e2ae6970}#photoGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;max-height:48vh;overflow:auto;padding-right:5px}.photo-card{padding:0;overflow:hidden;text-align:left;border-color:#8b9c8430;background:#142122}.photo-card img{width:100%;aspect-ratio:1.5;object-fit:cover;display:block}.photo-card div{padding:10px}.photo-card b{font-size:10px;font-weight:500;display:block}.photo-card small{font-size:8px;display:block;color:#90a096;margin-top:5px}.photo-card .registered{color:#b6c6a3}details{margin-top:25px;font-size:11px;color:#9faeaa}pre{white-space:pre-wrap;font:10px/1.7 ui-monospace,monospace}#photoDialog{width:96vw;height:93vh;max-height:93vh;padding:0;overflow:hidden;background:#111b1d}.photo-toolbar{display:flex;gap:12px;align-items:center;padding:15px 22px;position:absolute;top:0;left:0;right:0;z-index:2;background:#1c2829e8;font-size:10px}.photo-toolbar>div{margin-right:auto}.photo-toolbar small{display:block;font-size:8px;color:var(--muted);margin-top:6px}#photoViewport{height:100%;overflow:hidden;touch-action:none;cursor:grab;position:relative}#photoImage{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;user-select:none}.photo-hint{position:absolute;bottom:8px;left:0;right:0;text-align:center;pointer-events:none;color:#c4cfca;font-size:9px;text-shadow:0 1px 8px #000}#helpDialog{max-width:570px}#helpDialog>.close{float:right}dl{display:grid;grid-template-columns:100px 1fr;gap:14px;font-size:12px;margin:30px 0}dt{color:var(--accent)}dd{margin:0;color:#b5c0bb}.muted{font-size:11px;color:#82978f}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}body.deep .intro{opacity:0;transform:translateY(-10px);pointer-events:none}body.deep .intro button{pointer-events:none}@media(max-width:850px){header{padding:20px}.recorded{display:none}.intro{left:25px;top:115px;width:250px}h1{font-size:35px}.intro p{font-size:11px;width:215px}.metrics{margin-top:22px}.stage-caption{left:25px;bottom:180px}.context{width:160px;right:20px;bottom:183px}.context canvas{height:100px}footer{left:18px;right:18px;bottom:18px;padding:18px;gap:18px}.tools{right:18px;top:95px}.zoom-readout{width:60px}.zoom-readout strong{font-size:26px}.hint{bottom:133px;font-size:8px}.stage-caption p{max-width:180px}.stage-caption h2{font-size:25px}}@media(max-width:550px){.intro{top:108px}.intro .metrics{display:none}.intro p{max-width:190px}.context{width:114px;bottom:169px}.context canvas{height:75px}.context-footer{font-size:6px;padding:7px}.context-head{padding:7px;font-size:6px}.stage-caption{bottom:155px;max-width:210px}.stage-caption p{font-size:9px;max-width:195px}.hint{font-size:7px}.hint b{margin:0 4px}footer{gap:11px;padding:17px 14px}.scale-ends{font-size:5px}.stage-buttons button{font-size:8px}.zoom-readout{width:46px}.zoom-readout>span{font-size:5px}#play{width:30px;height:30px;flex-shrink:0}.photo-toolbar{padding:10px;gap:5px}.photo-toolbar button{font-size:8px;padding:8px}.photo-toolbar small{max-width:120px}.header-right button{font-size:10px}}

body:not(.deep) .stage-caption{opacity:0}

.stage-caption button{pointer-events:auto;margin-top:7px;font-size:10px;border-color:#e2ae6955;color:#e2c59d}.stage-caption button[hidden]{display:none}
/* The additional display mode must not put controls underneath the locator. */
.tools{align-items:flex-end;z-index:2}
.tools button{position:relative;width:44px;height:42px;justify-content:center;padding:0}
.tools span{position:absolute;right:calc(100% + 8px);white-space:nowrap;background:#192324ed;border:1px solid var(--line);border-radius:6px;padding:10px 12px;pointer-events:none}
.tools button:hover span,.tools button:focus-visible span{display:block}
@media(max-height:900px){.context{right:94px}}
@media(max-height:900px) and (max-width:850px){.context{right:78px}}

#startScreen{position:fixed;inset:0;z-index:100;background:#172022;display:grid;place-items:center;overflow:hidden}#startScreen>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.55}#startScreen::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102021ee,#10202188 55%,#10202130)}.start-card{position:relative;z-index:1;width:min(600px,90%);padding:35px}.start-card h1{font-size:clamp(36px,6vw,68px);margin:15px 0}.start-card p{max-width:360px;color:#d5ded7}.start-card button{margin:14px 0;background:#dfb77f;color:#172022;border:0;font-weight:600;padding:16px 20px;display:flex;gap:20px;align-items:center}.start-card a{font-size:12px;color:#dfc7a5}.start-card .start-note{font-size:11px;color:#aebfb5}#startError{color:#f1c99c}
@media(max-width:650px){.intro{top:92px;left:20px;width:calc(100% - 92px)}.intro h1{font-size:29px;max-width:210px}.intro p{max-width:190px}.intro .metrics,.context,.hint{display:none}.stage-caption{left:20px;bottom:145px;max-width:calc(100% - 100px)}.tools{top:88px;right:10px}.tools button{width:38px;height:37px}.tools span{font-size:9px}.stage-caption h2{font-size:24px}header{padding:15px}.brand{font-size:10px}.recorded{display:none}footer{left:12px;right:12px;bottom:12px}.start-card{padding:18px}}
@media(max-height:620px){.intro{top:84px}.intro h1{font-size:28px;margin:10px 0}.intro p,.intro .metrics{display:none}.intro .journey{margin-top:12px}.context,.hint{display:none}.tools{top:80px}.tools button{height:31px}.stage-caption{bottom:130px}.stage-caption h2{font-size:24px}.stage-caption p{max-width:250px;margin:6px 0}header{padding:18px 25px}footer{bottom:12px;padding:14px 20px}}
