/* ===== space page: same design system as the main site ===== */
:root{--bg:#0b0b0a;--ink:#ece8e1;--mute:#8b867d;--line:#2a2927;--accent:#9dffb0;--pad:clamp(1.1rem,4vw,3rem)}
*{box-sizing:border-box}
html,body.space-body{margin:0;overflow:hidden;height:100%;background:#050505;color:var(--ink);font:400 13px/1.6 "Space Mono",ui-monospace,Menlo,monospace;-webkit-font-smoothing:antialiased}
body.space-body{touch-action:none;overscroll-behavior:none}
a{color:inherit}
h2{margin:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:9999;background:var(--accent);color:#000;padding:.4rem .7rem}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

#space-canvas{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;display:block;z-index:0;cursor:grab;touch-action:none;outline:none}
#space-canvas.dragging{cursor:grabbing}
#space-canvas.hovering{cursor:pointer}
#space-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
body.space-body::after{content:"";position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}

.wipe{position:fixed;inset:0;z-index:9500;background:var(--bg);pointer-events:none;transition:transform .6s cubic-bezier(.76,0,.18,1)}
.wipe::after{content:"";position:absolute;top:0;bottom:0;left:-2px;width:2px;background:#9dffb0;box-shadow:0 0 18px 2px rgba(157,255,176,.55)}
.wipe.off{transform:translateX(102%)}

.bar{position:fixed;left:0;right:0;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem var(--pad);pointer-events:none;background:linear-gradient(180deg,rgba(5,5,5,.8),transparent)}
.bar>*{pointer-events:auto}
.mark{font-weight:700;font-size:15px;letter-spacing:.04em;text-decoration:none}
.clock{color:var(--mute);font-variant-numeric:tabular-nums}
.pill,.hud-btn{font:inherit;cursor:pointer;text-decoration:none;color:var(--accent);background:rgba(11,11,10,.72);border:1px solid var(--accent);padding:.35rem .95rem;border-radius:0;white-space:nowrap;transition:background .2s,color .2s,border-color .2s;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
@media(hover:hover){.pill:hover,.hud-btn:hover{background:var(--accent);color:#000}}
.hud-btn{color:var(--ink);border-color:var(--line)}
@media(hover:hover){.hud-btn:hover{border-color:var(--accent)}}
.hud-btn.active,.hud-btn[aria-pressed="true"]{background:var(--ink);color:#000;border-color:var(--ink)}
.hud-btn:disabled{opacity:.4;cursor:default}

.loader{position:fixed;inset:0;z-index:8000;background:var(--bg);display:flex;align-items:flex-end;padding:var(--pad);font-size:13px;letter-spacing:.06em;color:var(--accent);transition:opacity .7s ease,visibility .7s}
.loader.done{opacity:0;visibility:hidden;pointer-events:none}
.loader a{color:var(--ink);margin-left:1rem}

.hud{position:fixed;z-index:60;left:0;right:0;pointer-events:none}
.hud>*{pointer-events:auto}
.hud-bottom{bottom:0;padding:1rem var(--pad) calc(1rem + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto;gap:.75rem 1.5rem;align-items:end;background:linear-gradient(to top,rgba(5,5,5,.9),rgba(5,5,5,0))}
.hud-hint{grid-column:1/-1;margin:0;font-size:12px;color:var(--mute);transition:opacity .6s}
.hud-hint::first-letter,.hand-status::first-letter,.detail-line::first-letter{text-transform:uppercase}
.hud-hint.fade{opacity:0}
.hud-filters{display:flex;flex-wrap:wrap;gap:.45rem}
.hud-controls{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}
.timeline{grid-column:1/-1;display:flex;align-items:center;gap:.75rem;font-size:12px;color:var(--mute);font-variant-numeric:tabular-nums}
.tl-track{position:relative;flex:1;height:18px;cursor:pointer}
.tl-track::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--line)}
.tl-dot{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;background:var(--accent);border-radius:0;left:0}
.tl-now{position:absolute;top:-16px;transform:translateX(-50%);font-weight:700;color:var(--ink);font-size:12px;white-space:nowrap;left:0}

.detail{position:fixed;z-index:70;left:var(--pad);bottom:8rem;width:min(360px,92vw);background:rgba(11,11,10,.94);border:1px solid var(--line);border-radius:0;padding:1.1rem 1.2rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.detail[hidden]{display:none}
.detail-kicker{margin:0 0 .5rem;font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums}
.detail h2{font-size:18px;line-height:1.3;margin-bottom:.7rem;word-break:break-word;letter-spacing:-.01em}
.detail-line{margin:.15rem 0}
.detail-meta{margin:0 0 .5rem;display:flex;flex-wrap:wrap;gap:.2rem .9rem;align-items:baseline}
#d-date{color:var(--ink)}#d-role{color:var(--accent)}
#d-role:empty{display:none}
.detail-line.dim{color:var(--mute)}
.detail-line:empty{display:none}
.detail-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
#d-photos{display:grid;gap:.9rem;margin-top:.9rem}
#d-photos a{text-underline-offset:3px}
#d-photos span{display:block;color:var(--mute)}
#d-photos figure{margin:0}#d-photos img{width:100%;display:block}
#d-photos figcaption{color:var(--mute)}

.hand-preview{position:fixed;z-index:80;left:var(--pad);top:5rem;width:160px;border:1px solid var(--accent);border-radius:0;overflow:hidden;background:#000}
.hand-preview[hidden]{display:none}
.hand-preview video,.hand-preview canvas{display:block;width:160px;height:120px;transform:scaleX(-1);object-fit:cover}
.hand-preview canvas{position:absolute;top:0;left:0}
.hand-status{margin:0;font-size:11px;padding:.35rem .55rem;color:var(--accent);line-height:1.35}
.reticle{position:fixed;z-index:85;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border:2px solid var(--accent);border-radius:0;pointer-events:none;transition:width .12s,height .12s,margin .12s,background .12s}
.reticle[hidden]{display:none}
.reticle.pinch{width:18px;height:18px;margin:-9px 0 0 -9px;background:rgba(157,255,176,.55)}
.noscript-msg{position:fixed;z-index:9001;inset:40% 0 auto;text-align:center}

@media(max-width:768px){
 .bar{padding:.8rem var(--pad)}
 .clock{display:none}
 .hud-bottom{grid-template-columns:1fr;padding:.8rem var(--pad) calc(.8rem + env(safe-area-inset-bottom))}
 .hud-controls{justify-content:flex-start;flex-wrap:nowrap}
 .hud-controls .hud-btn{font-size:11px;padding:.35rem .7rem}
 .hud-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
 .hud-filters::-webkit-scrollbar{display:none}
 .hud-filters .hud-btn{flex:0 0 auto}
 .detail{left:var(--pad);right:var(--pad);width:auto;bottom:9.4rem;padding:.8rem .95rem;max-height:34vh;overflow-y:auto;overscroll-behavior:contain}
 .detail h2{font-size:16px;margin-bottom:.4rem}
 .detail-actions{margin-top:.7rem}
 .hand-preview{top:4.6rem;width:120px}
 .hand-preview video,.hand-preview canvas{width:120px;height:90px}
}
@media(prefers-reduced-motion:reduce){.loader,.wipe{transition:none}}
.tour-link{display:block;padding:.55rem 0;border-top:1px solid var(--line)}.tour-link a{text-decoration:none;color:var(--ink);transition:color .2s}@media(hover:hover){.tour-link a:hover{color:var(--accent)}}.tour-link .ig-note{display:block;color:var(--mute);font-size:11px;letter-spacing:.06em;margin-top:.1rem}
#d-photos{gap:0}
#d-photos .tour-photo{margin:0}#d-photos .tour-photo img{width:100%;display:block}#d-photos .tour-photo figcaption{color:var(--mute)}
.vignette{position:fixed;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 85% 80% at 50% 50%,transparent 45%,rgba(5,5,5,.85) 100%)}

@media(pointer:coarse){#btn-hand{display:none}}

/* overflow guards (same as main site) */
html,body{max-width:100%;overflow-x:hidden}

/*hv-wrapped*/
