:root{--paper:#f3f0e9;--sig:#ef4025;--gold:#ffb85c;--brass:#d9b77a;--display:"Archivo",system-ui,sans-serif;--serif:"Newsreader",serif;--mono:"JetBrains Mono",monospace;--body:"Inter Tight",system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#050507;color:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;cursor:pointer}
#world{position:fixed;inset:0;width:100vw;height:100vh;display:block;outline:none;touch-action:none}
.bars i{position:fixed;left:0;right:0;height:9vh;background:#000;z-index:5;transition:height 2.4s cubic-bezier(.65,0,.35,1)}
.bars i:first-child{top:0}.bars i:last-child{bottom:0}
body.inside .bars i{height:0}

/* ------------------------------------------------ the approach (from the Arrival) */
.gate{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:radial-gradient(60% 60% at 50% 60%,rgba(20,12,8,.2),rgba(0,0,0,.85));transition:opacity 2.2s ease}
.gate.gone{opacity:0;pointer-events:none}
html.returning .gate .row,html.returning .gate p{visibility:hidden}
html.public:not(.journey-ready) .gate .row{visibility:hidden}
#world{touch-action:none}
@media (pointer: coarse) { #orbitHint{display:none} }   /* phones: no keyboard, so no W A S D / P hints */   /* phones: a drag turns your head instead of scrolling or zooming the page */   /* bedz.app: the doors wait for the journey (and the launch clock) */
html.returning .gate{background:#000;transition:opacity .9s ease}
.gate-inner{text-align:center}
.gate small{font:500 11px/1 var(--mono);letter-spacing:.42em;color:rgba(243,240,233,.6)}
.gate h1{margin:26px 0 10px;font-family:var(--display);font-stretch:125%;font-weight:800;font-size:clamp(64px,13vw,190px);letter-spacing:.34em;line-height:1;padding-left:.34em;
  background:linear-gradient(180deg,#fff 20%,#e8d6c0 60%,#8f6a4c);-webkit-background-clip:text;background-clip:text;color:transparent}
.gate p{margin:0 0 42px;font-family:var(--serif);font-style:italic;font-size:19px;color:rgba(243,240,233,.7)}
.gate .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.gbtn{position:relative;border:1px solid rgba(255,184,92,.6);background:rgba(255,184,92,.06);padding:16px 30px;border-radius:40px;font:600 12px/1 var(--mono);letter-spacing:.3em;color:var(--gold);overflow:hidden;transition:background .4s,box-shadow .4s}
.gbtn:hover{background:rgba(255,184,92,.16);box-shadow:0 0 60px -10px rgba(255,184,92,.8)}
.gbtn.primary::after{content:"";position:absolute;inset:-2px;border-radius:inherit;border:1px solid rgba(255,184,92,.4);animation:halo 2.4s infinite}
.gbtn.ghost{border-color:rgba(255,255,255,.2);color:rgba(243,240,233,.7);background:transparent}
@keyframes halo{from{transform:scale(1);opacity:1}to{transform:scale(1.35,1.8);opacity:0}}
.lines{position:fixed;left:0;right:0;bottom:17vh;z-index:20;text-align:center;pointer-events:none}
.lines p{margin:0 auto;max-width:22ch;font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.8vw,58px);line-height:1.08;letter-spacing:-.01em;text-shadow:0 4px 40px rgba(0,0,0,.6);
  opacity:0;filter:blur(8px);transform:translateY(10px);transition:opacity 1.6s ease,filter 1.8s ease,transform 2s cubic-bezier(.2,.8,.2,1)}
.lines p.on{opacity:1;filter:none;transform:none}
.lines p em{font-style:italic;color:var(--gold)}
.telemetry{position:fixed;z-index:20;left:34px;bottom:calc(9vh + 26px);display:flex;gap:30px;font-family:var(--mono)}
.telemetry small{display:block;font-size:9.5px;letter-spacing:.26em;color:rgba(243,240,233,.5);margin-bottom:6px}
.telemetry b{font-size:15px;font-weight:500;letter-spacing:.06em}
.telemetry b.warn{color:#ff7a4a}
body.inside .telemetry{opacity:0;pointer-events:none;transition:opacity 1s}
.foot{position:fixed;z-index:60;right:26px;bottom:calc(9vh + 20px);display:flex;gap:10px}
.foot button{border:1px solid rgba(255,255,255,.2);background:rgba(10,10,12,.4);border-radius:30px;padding:8px 14px;font-size:12px;backdrop-filter:blur(10px)}
body.inside .foot{bottom:22px}
.white{position:fixed;inset:0;z-index:35;background:#fff6e8;opacity:0;pointer-events:none;transition:opacity .9s ease}
.white.on{opacity:1;transition:opacity 1.3s ease-in}
.flash{position:fixed;inset:0;z-index:34;pointer-events:none;background:radial-gradient(circle at var(--fx,50%) var(--fy,50%),rgba(220,235,255,.9),rgba(180,200,255,.25) 40%,transparent 70%);opacity:0}

/* ------------------------------------------------ the Sanctum HUD: engraved, quiet, exact */
.hud{position:fixed;inset:0;z-index:25;pointer-events:none;opacity:0;transition:opacity 1.4s ease}
.hud.in{opacity:1}
.hud .brand{position:absolute;left:28px;top:24px;display:flex;align-items:center;gap:14px}
.hud .brand img{width:40px;height:40px;border-radius:10px;background:#f4f1eb;padding:3px}
.hud .brand b{font:800 15px/1 var(--display);font-stretch:125%;letter-spacing:.42em}
.hud .brand small{display:block;margin-top:5px;font:600 9px/1 var(--mono);letter-spacing:.3em;color:var(--brass)}
.chrono{position:absolute;right:28px;top:22px;display:flex;align-items:center;gap:14px;text-align:right}
.chrono svg{width:46px;height:46px}
.chrono .face{fill:rgba(10,9,10,.5);stroke:rgba(217,183,122,.55);stroke-width:1}
.chrono .tk{stroke:rgba(217,183,122,.7);stroke-width:1}
.chrono .hand{stroke:#ff6a3d;stroke-width:1.2;stroke-linecap:round}
.chrono b{display:block;font:500 17px/1 var(--mono);letter-spacing:.08em;color:var(--paper)}
.chrono small{display:block;margin-top:6px;font:600 8.5px/1 var(--mono);letter-spacing:.32em;color:var(--brass)}
.title{position:absolute;left:0;right:0;top:9vh;text-align:center;transition:opacity 1s,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.title small{font:600 10.5px/1 var(--mono);letter-spacing:.38em;color:var(--brass)}
.title h2{margin:14px 0 0;font-family:var(--serif);font-weight:300;font-size:clamp(40px,5.4vw,84px);letter-spacing:-.02em;line-height:1;text-shadow:0 6px 50px rgba(0,0,0,.7)}
.title h2 em{font-style:italic;color:var(--gold)}
body.overhead .title,body.focus .title{opacity:0;transform:translateY(-14px)}
.rise{position:absolute;left:50%;bottom:9vh;translate:-50% 0;pointer-events:auto;width:132px;height:132px;border-radius:50%;border:0;background:none;display:grid;place-items:center;transition:opacity .8s,scale .8s}
.rise svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rise .r0{fill:rgba(12,10,10,.55);stroke:rgba(217,183,122,.5);stroke-width:1}
.rise .r1{fill:none;stroke:rgba(217,183,122,.35);stroke-width:1;stroke-dasharray:1 5.2}
.rise .r2{fill:none;stroke:var(--gold);stroke-width:1.4;stroke-dasharray:40 400;animation:orbit 3.2s linear infinite;transform-origin:50% 50%}
.rise span{position:relative;font:700 11px/1.5 var(--mono);letter-spacing:.34em;padding-left:.34em;color:var(--gold);text-align:center}
.rise span i{display:block;font:300 34px/1 var(--serif);letter-spacing:0;padding:0;color:var(--paper);font-style:normal;animation:bob 1.8s ease-in-out infinite}
.rise:hover .r0{fill:rgba(255,184,92,.14)}
@keyframes orbit{to{rotate:360deg}}
@keyframes bob{50%{translate:0 -5px}}
body.overhead .rise span i,body.focus .rise span i{rotate:180deg}
body.focus .rise{opacity:0;scale:.8;pointer-events:none}
body.overhead .rise{bottom:auto;top:22px;width:92px;height:92px}
body.overhead .rise span{font-size:9px}
body.overhead .rise span i{font-size:24px}
.forms{position:absolute;left:50%;bottom:22px;translate:-50% 0;display:flex;gap:2px;padding:5px;border-radius:40px;pointer-events:auto;
  background:rgba(12,10,10,.55);border:1px solid rgba(217,183,122,.35);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 60px -20px #000;transition:opacity .8s,translate .8s}
.forms small{align-self:center;padding:0 12px 0 14px;font:600 8.5px/1 var(--mono);letter-spacing:.3em;color:var(--brass)}
.forms button{border:0;background:none;border-radius:30px;padding:9px 14px;font:600 10px/1 var(--mono);letter-spacing:.2em;color:rgba(243,240,233,.66);transition:.3s}
.forms button:hover{color:var(--paper);background:rgba(255,255,255,.06)}
.forms button[aria-pressed=true]{color:#1a1206;background:linear-gradient(180deg,#ffd9a0,#d9a45a);box-shadow:0 0 24px -4px rgba(255,184,92,.8)}
body:not(.overhead) .forms{opacity:0;translate:-50% 20px;pointer-events:none}
.keys{position:absolute;left:28px;bottom:26px;font:500 10px/1.9 var(--mono);letter-spacing:.14em;color:rgba(243,240,233,.5)}
.keys kbd{display:inline-block;min-width:20px;padding:0 5px;margin-right:6px;border:1px solid rgba(217,183,122,.4);border-radius:5px;text-align:center;color:var(--brass);font:inherit}
.labels{position:fixed;inset:0;z-index:26;pointer-events:none}
.rlabel{position:absolute;left:0;top:0;translate:-50% 0;white-space:nowrap;text-align:center;opacity:0;transition:opacity .35s}
.rlabel.on{opacity:1}
.rlabel.side{translate:0 0;text-align:left}
.rlabel.side kbd{margin:0 8px 0 0;vertical-align:middle}
.rlabel.side b{display:inline-block;vertical-align:middle}
.rlabel b{display:block;font:400 17px/1 var(--serif);letter-spacing:.01em;text-shadow:0 2px 12px #000}
.rlabel small{display:block;margin-top:5px;font:600 8px/1 var(--mono);letter-spacing:.3em;color:var(--c)}
.rlabel kbd{display:inline-block;margin-bottom:6px;min-width:18px;padding:2px 5px;border:1px solid color-mix(in srgb,var(--c) 60%,transparent);border-radius:5px;font:600 9px/1 var(--mono);color:var(--c);background:rgba(0,0,0,.4)}
body.focus .rlabel{opacity:0!important}
body.overhead .rlabel small{opacity:0;transition:opacity .3s}
body.overhead .rlabel.hot small{opacity:1}
.rlabel.hot b{color:var(--c)}
.toast{position:fixed;z-index:50;right:26px;top:88px;width:330px;padding:16px 18px;border-radius:16px;display:flex;flex-direction:column;gap:5px;pointer-events:auto;
  background:linear-gradient(135deg,rgba(255,184,92,.16),rgba(12,10,10,.72) 45%);border:1px solid rgba(255,184,92,.45);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  opacity:0;transform:translateX(30px);transition:opacity .8s,transform 1s cubic-bezier(.2,.8,.2,1)}
.toast.in{opacity:1;transform:none}
.toast small{display:flex;gap:8px;align-items:center;font:600 10px/1 var(--mono);letter-spacing:.2em;color:var(--gold)}
.toast small i{width:7px;height:7px;border-radius:50%;background:var(--sig);box-shadow:0 0 10px var(--sig);animation:ping 1.6s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(239,64,37,.7)}100%{box-shadow:0 0 0 10px rgba(239,64,37,0)}}
.toast b{font-size:14px}.toast span{font-size:12px;opacity:.65}
.toast button{margin-top:8px;align-self:flex-start;border:0;border-radius:10px;padding:8px 13px;background:var(--gold);color:#1a1206;font-weight:700}
.note{position:fixed;z-index:55;left:50%;top:18vh;translate:-50% 0;padding:12px 20px;border-radius:30px;font:600 11px/1 var(--mono);letter-spacing:.24em;color:var(--c,#ffb85c);
  background:rgba(12,10,10,.7);border:1px solid color-mix(in srgb,var(--c,#ffb85c) 60%,transparent);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .4s,translate .6s cubic-bezier(.2,.8,.2,1)}
.note.on{opacity:1;translate:-50% -8px}
.world-actions{position:fixed;z-index:30;left:28px;top:84px;display:grid;gap:7px;justify-items:start}
.world-actions button{border:1px solid rgba(255,255,255,.18);background:rgba(10,10,12,.4);border-radius:30px;padding:7px 13px;font-size:11px;opacity:0;pointer-events:none;transition:opacity 1s,border-color .2s,background .2s}
.world-actions button:hover{border-color:rgba(255,184,92,.65);background:rgba(255,184,92,.1)}
body.inside .world-actions button{opacity:.8;pointer-events:auto}

/* ------------------------------------------------ relic menus */
.rm-layer{position:fixed;inset:0;z-index:28;pointer-events:none}
.rm{position:absolute;left:var(--ax);top:var(--ay);width:0;height:0;pointer-events:auto;--glass:linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.02) 42%),rgba(11,9,10,.66)}
.rm-card{position:absolute;left:calc(var(--ar) * 1.18 + 24px);top:0;translate:0 -50%;width:410px;padding:20px 20px 16px;border-radius:22px;background:var(--glass);
  border:1px solid rgba(217,183,122,.34);backdrop-filter:blur(20px) saturate(1.35);-webkit-backdrop-filter:blur(20px) saturate(1.35);
  box-shadow:0 50px 90px -40px #000,0 0 70px -24px var(--c),inset 0 1px 0 rgba(255,255,255,.14)}
.rm-card::before{content:"";position:absolute;left:22px;right:22px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--c),transparent);opacity:.8}
.rm-head{position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;padding-bottom:14px;margin-bottom:10px;
  background:repeating-linear-gradient(90deg,rgba(217,183,122,.5) 0 1px,transparent 1px 7px) bottom/100% 4px no-repeat}
.rm-head small{grid-column:1;font:600 9.5px/1 var(--mono);letter-spacing:.34em;text-transform:uppercase;color:var(--c)}
.rm-head h3{grid-column:1;margin:8px 0 0;font:300 38px/1 var(--serif);letter-spacing:-.02em}
.rm-x{grid-row:1/3;grid-column:2;align-self:start;border:1px solid rgba(217,183,122,.4);background:rgba(0,0,0,.25);border-radius:20px;padding:6px 10px;font:600 9px/1 var(--mono);letter-spacing:.2em;color:var(--brass)}
.rm-x:hover{color:var(--paper);border-color:var(--c)}
.rm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.rm-item{position:relative;display:grid;grid-template-columns:34px 1fr 14px;gap:10px;align-items:center;padding:11px 12px;border-radius:12px;cursor:pointer;outline:none;transition:background .25s,translate .35s cubic-bezier(.2,.8,.2,1)}
.rm-item:hover,.rm-item:focus-visible{background:color-mix(in srgb,var(--c) 16%,transparent);translate:4px 0}
.rm-item b{font:600 11px/1 var(--mono);color:var(--brass);opacity:.8}
.rm-item em{display:block;font:500 15px/1.2 var(--body);font-style:normal}
.rm-item i{display:block;margin-top:3px;font:400 12px/1.2 var(--body);font-style:normal;color:rgba(243,240,233,.55)}
.rm-item .chev{width:12px;height:12px;color:var(--c);opacity:.6}
.rm-item:hover .chev{opacity:1}
.box{width:24px;height:24px;border-radius:7px;border:1px solid color-mix(in srgb,var(--c) 60%,transparent);display:grid;place-items:center;color:var(--c)}
.box.ok{color:#43e59a;border-color:rgba(67,229,154,.6)}
.ck{width:18px;height:18px}.ck path{stroke-dasharray:1;stroke-dashoffset:1}
/* home: the beds of the mark */
.rm-bedframe{position:absolute;left:calc(var(--ar) * 1.18 + 24px);top:0;translate:0 -50%;width:410px;height:390px}
.rm-bedframe .rm-card{left:0;top:50%}
.bf{position:absolute;inset:0;border-radius:22px}
.bf-taupe{background:linear-gradient(160deg,#a69b8b,#6f665a);box-shadow:0 30px 60px -30px #000}
.bf-orange{background:linear-gradient(160deg,#ff7a4a,#c9391a);box-shadow:0 30px 60px -30px #000}
/* lane */
.rm-runway{overflow:hidden}
.streaks{position:absolute;inset:0;pointer-events:none}
.streaks i{position:absolute;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--c),#fff,transparent);opacity:0}
/* projects: the deck */
.rm.rm-k-deck>.rm-head,.rm.rm-k-stack>.rm-head,.rm.rm-mission>.rm-head{position:absolute;left:calc(var(--ar) * 1.18 + 24px);top:calc(-1 * var(--ar) - 150px);width:420px;padding:14px 18px;border-radius:18px;background:var(--glass);border:1px solid rgba(217,183,122,.3);backdrop-filter:blur(14px)}
.rm-deck{position:absolute;left:calc(var(--ar) * 1.1 + 10px);top:-120px}
.rm-pcard{position:absolute;left:0;top:0;width:200px;padding:8px 8px 12px;border-radius:16px;border:1px solid rgba(217,183,122,.35);background:var(--glass);backdrop-filter:blur(16px);text-align:left;
  box-shadow:0 30px 60px -24px #000,0 0 40px -20px var(--c);transition:translate .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;transform-origin:50% 120%}
.rm-pcard:hover{translate:0 -22px;box-shadow:0 40px 70px -24px #000,0 0 60px -10px var(--c);z-index:9}
.rm-pcard .ph{display:block;height:112px;border-radius:10px;background-size:cover;background-position:center}
.rm-pcard b{display:block;margin:10px 4px 0;font:400 19px/1.1 var(--serif)}
.rm-pcard i{display:block;margin:4px 4px 0;font:600 8.5px/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;font-style:normal;color:var(--c)}
.rm-pcard.gold{border-color:rgba(255,196,90,.9);box-shadow:0 30px 60px -24px #000,0 0 50px -10px rgba(255,190,80,.9)}
.rm-pcard.gold i{color:#ffc45a}
/* tasks */
.rm-tumble .rm-item{grid-template-columns:34px 1fr 14px;transform-origin:50% 0}
/* proof: the seal */
.rm-seal{position:absolute;left:0;top:0;width:calc(var(--ar) * 2.7);height:calc(var(--ar) * 2.7);pointer-events:none}
.rm-seal svg{width:100%;height:100%;animation:orbit 30s linear infinite}
.rm-seal .s1{fill:none;stroke:#43e59a;stroke-width:1.6;filter:drop-shadow(0 0 6px #43e59a)}
.rm-seal .s2{fill:none;stroke:rgba(67,229,154,.5);stroke-width:.6;stroke-dasharray:1 3}
.rm-seal text{font:600 9.5px var(--mono);letter-spacing:3.2px;fill:#8ff5c2}
.rm-shock{position:absolute;left:0;top:0;width:calc(var(--ar) * 2.7);height:calc(var(--ar) * 2.7);border-radius:50%;border:2px solid #43e59a;pointer-events:none}
.rm-side{left:calc(var(--ar) * 1.5 + 24px)}
/* activity */
.rm-eq{display:flex;align-items:flex-end;gap:3px;height:54px;margin:4px 0 12px}
.rm-eq i{flex:1;height:100%;border-radius:2px;background:linear-gradient(0deg,color-mix(in srgb,var(--c) 30%,transparent),var(--c));transform-origin:50% 100%;animation:eq 1s ease-in-out infinite alternate}
@keyframes eq{0%{transform:scaleY(.15)}100%{transform:scaleY(1)}}
.rm-log .rm-item{grid-template-columns:52px 1fr 14px}
/* release */
.rm-count{position:absolute;left:0;top:0;font:800 120px/1 var(--display);color:#ff7446;text-shadow:0 0 40px #ff5a1a;pointer-events:none}
.rm-flame{position:absolute;left:calc(var(--ar) * 1.18 + 24px);top:120px;width:410px;height:260px;pointer-events:none;
  background:radial-gradient(40% 60% at 50% 0%,rgba(255,240,200,.95),rgba(255,140,50,.6) 40%,rgba(255,70,20,0) 75%);filter:blur(10px);transform-origin:50% 0}
.spark{position:absolute;left:0;top:140px;width:3px;height:3px;border-radius:50%;background:#ffd08a;box-shadow:0 0 8px #ff8a3a;pointer-events:none;margin-left:calc(var(--ar) * 1.18 + 24px)}
/* versions */
.rm-stack{position:absolute;left:calc(var(--ar) * 1.2 + 24px);top:-150px;perspective:1100px;transform-style:preserve-3d}
.rm-rev{position:absolute;left:0;top:0;width:330px;padding:14px 18px;border-radius:16px;text-align:left;border:1px solid rgba(217,183,122,.3);background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.02) 42%),rgba(14,11,14,.9);backdrop-filter:blur(14px);
  box-shadow:0 30px 60px -30px #000;transition:translate .35s cubic-bezier(.2,.8,.2,1),border-color .3s;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline}
.rm-rev:hover{translate:-26px 0 60px;border-color:var(--c)}
.rm-rev b{grid-row:1/3;font:300 44px/1 var(--serif)}
.rm-rev i{font:500 14px/1.2 var(--body);font-style:normal}
.rm-rev span{font:600 8.5px/1 var(--mono);letter-spacing:.3em;color:var(--c);margin-top:6px}
.rm-rev.now{border-color:color-mix(in srgb,var(--c) 80%,transparent);box-shadow:0 30px 60px -30px #000,0 0 50px -16px var(--c)}
/* diagnostics: radar */
.rm-radar{position:absolute;left:0;top:0;width:calc(var(--ar) * 4.4);height:calc(var(--ar) * 4.4);border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,88,116,.08),rgba(10,6,8,.35) 60%,transparent 71%)}
.rm-radar .sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 300deg,rgba(255,88,116,.05) 320deg,rgba(255,88,116,.55) 359deg,transparent 360deg);animation:orbit 1.6s linear infinite;-webkit-mask:radial-gradient(circle,transparent 0 22%,#000 23% 70%,transparent 71%);mask:radial-gradient(circle,transparent 0 22%,#000 23% 70%,transparent 71%)}
.rm-radar .ring{position:absolute;border-radius:50%;border:1px solid rgba(255,88,116,.4);left:50%;top:50%;translate:-50% -50%}
.rm-radar .r1{width:46%;height:46%}.rm-radar .r2{width:94%;height:94%;border-style:dashed}.rm-radar .r3{width:140%;height:140%;border-color:rgba(255,88,116,.18)}
.rm-radar .cross{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,88,116,.3) 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(50% - .5px),rgba(255,88,116,.3) 50%,transparent calc(50% + .5px))}
.rm-rhead{position:absolute;left:0;top:calc(-1 * var(--ar) * 2.8 - 70px);translate:-50% 0;width:340px;text-align:center;display:block;background:none;padding-bottom:12px}
.rm-rhead h3{margin-top:6px}.rm-rhead .rm-x{position:absolute;right:-6px;top:-4px}
.rm-chip{position:absolute;left:calc(cos(var(--a)) * var(--ar) * 2.35);top:calc(sin(var(--a)) * var(--ar) * 2.35);translate:-50% -50%;min-width:130px;padding:10px 14px;border-radius:14px;text-align:left;
  border:1px solid color-mix(in srgb,var(--c) 55%,transparent);background:var(--glass);backdrop-filter:blur(14px);box-shadow:0 20px 40px -20px #000,0 0 30px -14px var(--c);transition:scale .3s,border-color .3s}
.rm-chip:hover{scale:1.08;border-color:var(--c)}
.rm-chip b{display:block;font:600 8.5px/1 var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--c)}
.rm-chip i{display:block;margin-top:6px;font:400 17px/1 var(--serif);font-style:normal}
/* mission */
.rm-sky{position:absolute;left:calc(var(--ar) * 1.2 + 24px);top:-120px;width:620px;height:300px}
.rm-sky svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rm-sky .course{fill:none;stroke:#31ddcf;stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 6px #31ddcf)}
.rm-star{position:absolute;border:0;background:none;padding:0;text-align:center;white-space:nowrap}
.rm-star>i{display:block;margin:0 auto 8px;width:14px;height:14px;border-radius:50%;background:#1d4d4a;border:1px solid #31ddcf;box-shadow:0 0 12px -2px #31ddcf}
.rm-star.lit>i{background:#31ddcf;box-shadow:0 0 22px 2px #31ddcf}
.rm-star b{display:block;font:400 17px/1.1 var(--serif);text-shadow:0 2px 10px #000}
.rm-star em{display:block;margin-top:4px;font:600 8.5px/1 var(--mono);letter-spacing:.26em;text-transform:uppercase;font-style:normal;color:#31ddcf}
.rm-star:hover b{color:#bff9f3}
/* settings: orrery */
.rm-orrery{position:absolute;left:0;top:0;pointer-events:none}
.orb{position:absolute;left:0;top:0;border-radius:50%;border:1px solid rgba(164,183,197,.5)}
.orb.o1{width:calc(var(--ar) * 2.9);height:calc(var(--ar) * 2.9)}
.orb.o2{width:calc(var(--ar) * 4.1);height:calc(var(--ar) * 4.1);border-style:dashed;border-color:rgba(164,183,197,.35)}
.orb.o3{width:calc(var(--ar) * 5.3);height:calc(var(--ar) * 5.3);border-color:rgba(217,183,122,.35)}
.orb.o1::after,.orb.o3::after{content:"";position:absolute;inset:-5px;border-radius:50%;background:repeating-conic-gradient(rgba(217,183,122,.55) 0 .6deg,transparent .6deg 6deg);-webkit-mask:radial-gradient(circle,transparent 0 calc(50% - 6px),#000 calc(50% - 5px) 50%,transparent calc(50% + 1px));mask:radial-gradient(circle,transparent 0 calc(50% - 6px),#000 calc(50% - 5px) 50%,transparent calc(50% + 1px))}
.rm-ochip{left:calc(cos(var(--a)) * var(--ar) * (.85 + var(--rr) * .6));top:calc(sin(var(--a)) * var(--ar) * (.85 + var(--rr) * .6))}
@media (prefers-reduced-motion:reduce){.rm *{animation-duration:0s!important}}
@media (max-width:820px){.telemetry,.keys{display:none}.rm-card,.rm-bedframe{width:320px}}

/* v2: the cavern */
.orbit-hint{position:fixed;z-index:21;left:50%;top:calc(9vh + 16px);translate:-50% 0;font:600 9.5px/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:rgba(243,240,233,.45);pointer-events:none;transition:opacity 1s}
.orbit-hint b{color:var(--gold)}
.orbit-hint.paused{color:var(--gold)}
.orbit-hint.paused::after{content:"  ·  paused";color:var(--gold)}
body.inside .orbit-hint{opacity:0}
body.overhead .hud .brand,body.focus .hud .brand{opacity:0;transition:opacity .6s}
body.overhead .chrono,body.focus .chrono{opacity:.75}
.rlabel b{text-shadow:0 2px 14px #000,0 0 30px #000}

/* v3: the open world */
.orbit-hint .free{display:none}.orbit-hint.flying .free{display:inline}.orbit-hint.flying .rail{display:none}
.lines p small{display:block;margin-top:14px;font:600 11px/1 var(--mono);letter-spacing:.34em;text-transform:uppercase;color:rgba(243,240,233,.6)}
.isles{position:fixed;inset:0;z-index:19;pointer-events:none}
.isle{position:absolute;left:0;top:0;translate:-50% -100%;text-align:center;white-space:nowrap;opacity:0;transition:opacity .4s}
.isle b{display:block;font:300 26px/1 var(--serif);letter-spacing:-.01em;text-shadow:0 2px 24px rgba(0,0,0,.8)}
.isle span{display:block;margin-top:7px;font:600 9px/1 var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);text-shadow:0 1px 12px #000}
.isle::after{content:"";display:block;width:1px;height:46px;margin:10px auto 0;background:linear-gradient(var(--gold),transparent)}
body.inside .isles{display:none}

/* ---------------------------------------------------------------- Bedz v2 step 8: the live Bed */
.bed{position:fixed;inset:0;z-index:1000;background:#0b0907}
.bed[hidden]{display:none}
.bed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.bed-return{position:absolute;z-index:2;right:14px;top:12px;padding:8px 13px;border:1px solid rgba(217,183,122,.65);border-radius:8px;background:rgba(18,16,13,.92);color:#f3efe6;font:700 10px/1 "JetBrains Mono",monospace;letter-spacing:.08em;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.bed-return:hover{background:#d9b77a;color:#15110c;border-color:#d9b77a}
.bed-hint{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);padding:3px 10px;border-radius:10px;background:rgba(18,16,13,.7);color:rgba(243,239,230,.55);font:600 10.5px/1.2 "JetBrains Mono",monospace;letter-spacing:.06em;pointer-events:none;opacity:.8}
