/* =====================================================================
   THE MACHINED DOOR — artwork underneath, independent moving parts on top
   ===================================================================== */
#door.machine{width:min(80vmin,620px)}
#door.machine .dglow{position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle,#fff 0,#cfe0ff 18%,rgba(120,150,255,.6) 40%,transparent 70%);opacity:0;transition:opacity .6s}
#door.machine .dhalf{position:absolute;inset:0;background-size:100% 100%;filter:var(--dfilter,none) drop-shadow(0 0 40px rgba(60,90,255,.35));transition:transform 1.1s cubic-bezier(.7,0,.3,1),filter .5s}
#door.machine .dhalf.l{clip-path:inset(0 50% 0 0)}
#door.machine .dhalf.r{clip-path:inset(0 0 0 50%)}
#door.machine .didle{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:var(--dfilter,none);mix-blend-mode:screen;transition:opacity .5s;
  -webkit-mask-image:radial-gradient(circle,#000 69%,transparent 71%);mask-image:radial-gradient(circle,#000 69%,transparent 71%)}
#door.machine svg.dov{position:absolute;inset:-4%;width:108%;height:108%;overflow:visible;pointer-events:none}
.dov .o-ticks{transform-origin:300px 300px;animation:spin 90s linear infinite}
.dov .o-ticks line{stroke:var(--machine);stroke-width:1.2;opacity:.55}
.dov .o-runes{transform-origin:300px 300px;animation:spin 60s linear infinite reverse}
.dov .o-runes text{fill:var(--human);font-size:15px;letter-spacing:2px;opacity:.75;font-family:var(--hud)}
.dov .o-segs{transform-origin:300px 300px;animation:spin 26s linear infinite}
.dov .o-segs path{fill:none;stroke:var(--machine);stroke-width:5;stroke-linecap:round;opacity:.15;animation:seg 2.4s ease-in-out infinite;animation-delay:calc(var(--k) * -.1s)}
@keyframes seg{0%,100%{opacity:.08}50%{opacity:.85}}
.dov .o-sweep{transform-origin:300px 300px;animation:spin 7s linear infinite}
.dov .o-sweep path{fill:url(#none);fill:rgba(120,160,255,.10)}
.dov .o-bolts .halo{fill:rgba(255,190,80,.18);animation:bp var(--bp) ease-in-out infinite}
.dov .o-bolts .core{fill:#ffbe4f;animation:bp var(--bp) ease-in-out infinite}
@keyframes bp{0%,100%{opacity:.35}50%{opacity:1}}
.dov .o-bolts .bl.free .core{fill:#5dffb0;animation:none;opacity:1}
.dov .o-bolts .bl.free .halo{fill:rgba(93,255,176,.45);animation:none;opacity:1;r:20}
.dov .o-reticle{transform-origin:300px 300px;animation:spin 18s linear infinite reverse}
.dov .o-reticle circle{fill:none;stroke:var(--human);stroke-width:1;stroke-dasharray:3 9;opacity:.6}
.dov .o-reticle path{stroke:var(--machine);stroke-width:2;opacity:.8}
.dov .o-prog{fill:none;stroke:#7dd3ff;stroke-width:3;stroke-dasharray:0 100;transform:rotate(-90deg);transform-origin:300px 300px;transition:stroke-dasharray .3s;filter:drop-shadow(0 0 6px #7dd3ff)}
#door.machine #pad{width:33%;border:0;background:radial-gradient(circle at 50% 42%,rgba(30,50,120,.55),rgba(3,5,16,.9) 72%);box-shadow:inset 0 0 40px rgba(60,100,255,.35)}
#door.machine #pad .scan{inset:4%}
#pad .grid{position:absolute;inset:0;border-radius:50%;opacity:.35;background:repeating-radial-gradient(circle,transparent 0 10px,rgba(120,160,255,.35) 10px 11px),repeating-conic-gradient(rgba(120,160,255,.25) 0 1deg,transparent 1deg 30deg)}
#pad .radar{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(120,180,255,.45),transparent 22%);animation:spin 3.2s linear infinite;opacity:.6}
#pad .laser{position:absolute;left:6%;right:6%;height:2px;top:50%;background:linear-gradient(90deg,transparent,#ff3b6b,transparent);box-shadow:0 0 12px #ff3b6b;opacity:0}
#door.machine #pad .print{color:#bfe3ff;filter:drop-shadow(0 0 8px rgba(120,190,255,.7))}
#pad .readout{position:absolute;left:50%;bottom:-2.6em;transform:translateX(-50%);white-space:nowrap;font-family:var(--hud);font-size:clamp(.55rem,1.4vmin,.72rem);letter-spacing:.28em;color:#8fb6ff;text-shadow:0 0 10px rgba(120,170,255,.6)}
#pad .readout.scan{color:#ffd27a}#pad .readout.ok{color:#5dffb0}#pad .readout.bad{color:#ff4a6a}
#door.machine #pad.scanning .laser{opacity:1;animation:laser .9s ease-in-out infinite alternate}
@keyframes laser{from{top:12%}to{top:88%}}
#door.machine #pad.scanning .radar{animation-duration:.8s;opacity:1}
#door.machine:has(#pad.scanning) .o-prog{stroke-dasharray:88 100;transition:stroke-dasharray 1.4s linear}
#door.machine:has(#pad.scanning) .o-segs{animation-duration:4s}
#door.machine.granted .o-prog{stroke-dasharray:100 100;stroke:#5dffb0;filter:drop-shadow(0 0 8px #5dffb0)}
#door.machine.granted .o-segs,#door.machine.granted .o-ticks,#door.machine.granted .o-runes{animation-duration:1.4s}
#door.machine.granted #pad{box-shadow:inset 0 0 60px rgba(93,255,176,.6),0 0 60px rgba(93,255,176,.35)}
#door.machine.split .dhalf.l{transform:translateX(-62%)}
#door.machine.split .dhalf.r{transform:translateX(62%)}
#door.machine.split .didle,#door.machine.split .dov,#door.machine.split #pad,#door.machine.split .dpan,#door.machine.split .dtext{opacity:0;transition:opacity .35s}
#door.machine.split .dglow{opacity:1}
#door.machine.alarm .dhalf,#door.machine.alarm .didle{filter:var(--dfilter,none) sepia(1) saturate(6) hue-rotate(-50deg) brightness(.9)}
#door.machine.alarm .o-bolts .core{fill:#ff2846;animation-duration:.25s}
#door.machine.alarm .o-segs path,#door.machine.alarm .o-ticks line{stroke:var(--alarm)}
#door.machine.alarm .o-runes text{fill:var(--alarm)}
#door.machine.alarm .o-segs,#door.machine.alarm .o-sweep{animation-duration:1s}
#door.machine.alarm #pad{box-shadow:inset 0 0 60px rgba(255,40,70,.6),0 0 60px rgba(255,40,70,.5)}
#door.machine .dpan{position:absolute;top:22%;width:clamp(110px,16vmin,150px);padding:10px 12px;font-family:var(--hud);font-size:.62rem;letter-spacing:.2em;color:#9fb2ee;
  background:linear-gradient(180deg,rgba(20,30,80,.45),rgba(5,8,22,.55));border:1px solid rgba(120,150,255,.35);clip-path:polygon(0 0,88% 0,100% 12%,100% 100%,12% 100%,0 88%);backdrop-filter:blur(3px);animation:panfloat 6s ease-in-out infinite}
#door.machine .dpan.l{right:104%}
#door.machine .dpan.r{left:104%;animation-delay:-3s}
#door.machine .dpan b{display:block;color:var(--human);font-weight:600;margin-top:.4em}
#door.machine .dpan span{display:block;color:#e6ecff;font-size:1.25em;letter-spacing:.08em}
#door.machine .dpan pre{margin:.4em 0 0;font-family:ui-monospace,monospace;font-size:.95em;letter-spacing:.05em;line-height:1.5;color:#7f97e6;white-space:pre}
#door.machine .dpan .bars{display:flex;gap:3px;align-items:flex-end;height:26px;margin-top:.6em}
#door.machine .dpan .bars i{flex:1;background:linear-gradient(var(--human),var(--machine));height:40%;transition:height .4s}
@keyframes panfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
#door.machine .dtext{position:absolute;left:50%;bottom:-11%;transform:translateX(-50%);white-space:nowrap;font-family:var(--hud);font-size:.68rem;letter-spacing:.5em;color:var(--human);opacity:.75}
@media (max-width:900px){#door.machine .dpan{display:none}}
@media (prefers-reduced-motion:reduce){.dov g{animation:none!important}}

/* =====================================================================
   THE VAULT INTERIOR
   ===================================================================== */
body.invault #skipbtn,body.invault #replaybtn{display:none}
#holo{position:fixed;inset:0;z-index:14;display:grid;grid-template-columns:minmax(0,1fr) 230px;grid-template-rows:auto minmax(0,1fr) auto;
  grid-template-areas:"top top" "room guide" "dock dock";gap:10px 14px;padding:14px 18px 12px;opacity:0;pointer-events:none;color:var(--ink);
  clip-path:circle(0% at 50% 50%);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1),opacity .4s}
#holo.show{opacity:1;pointer-events:auto;clip-path:circle(150% at 50% 50%)}
#holo .hbg{position:absolute;inset:0;z-index:-2;background:#03040c;overflow:hidden}
#holo .hbg video,#holo .hbg img{width:100%;height:100%;object-fit:cover;opacity:.42;filter:var(--rfilter,none) saturate(1.1);animation:bgdrift 30s ease-in-out infinite alternate}
@keyframes bgdrift{from{transform:scale(1.04)}to{transform:scale(1.12) translateY(-1%)}}
#holo .hbg::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,transparent 30%,rgba(2,3,10,.85) 85%),linear-gradient(180deg,rgba(2,3,10,.5),transparent 20%,transparent 80%,rgba(2,3,10,.7))}
#holo .hgrid{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(140,160,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(140,160,255,.25) 1px,transparent 1px);background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 100%,#000,transparent 70%);mask-image:radial-gradient(ellipse at 50% 100%,#000,transparent 70%)}
#holo .hscan{position:absolute;inset:0;z-index:30;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px)}
#holo .hscan::after{content:"";position:absolute;left:0;right:0;height:120px;background:linear-gradient(transparent,rgba(120,160,255,.06),transparent);animation:sweep 7s linear infinite}
@keyframes sweep{from{top:-120px}to{top:100%}}
#holo .cn{position:absolute;width:26px;height:26px;border:2px solid var(--human);opacity:.7;z-index:31;pointer-events:none;filter:drop-shadow(0 0 6px var(--human))}
#holo .cn.tl{left:6px;top:6px;border-right:0;border-bottom:0}#holo .cn.tr{right:6px;top:6px;border-left:0;border-bottom:0}
#holo .cn.bl{left:6px;bottom:6px;border-right:0;border-top:0}#holo .cn.br{right:6px;bottom:6px;border-left:0;border-top:0}
#holo .htop{grid-area:top;display:flex;align-items:center;gap:12px;padding:6px 120px 8px 6px;border-bottom:1px solid var(--line);min-width:0}
#holo .hhome{width:38px;height:38px;flex:none;border-radius:10px;border:1px solid var(--line);background:rgba(20,26,60,.5);color:var(--human);display:grid;place-items:center}
#holo .hhome svg{width:22px;height:22px}
#holo .hhome:hover{box-shadow:0 0 20px var(--human)}
#holo .htitle{min-width:0}
#holo .htitle b{display:block;font-family:var(--serif);letter-spacing:.22em;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#holo .htitle span{display:block;font-family:var(--hud);letter-spacing:.3em;text-transform:uppercase;font-size:.66rem;color:var(--machine)}
#holo .htitle span::before{content:"▸ "}
#holo .sp{flex:1}
#holo .who{font-family:var(--hud);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);white-space:nowrap;display:flex;align-items:center;gap:6px}
#holo .who i{width:7px;height:7px;border-radius:50%;background:#5dffb0;box-shadow:0 0 10px #5dffb0;animation:bp 2s infinite}
#holo .hb{font-family:var(--hud);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;padding:.45rem .75rem;border:1px solid var(--line);background:rgba(10,14,32,.5);color:#c6ccf3;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
#holo .hb:hover{border-color:var(--human);color:#fff;background:rgba(138,61,255,.18)}
#holo .hb.lock{color:#ffb3c0}

/* rooms */
#holo .room{grid-area:room;position:relative;min-height:0;min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;outline:0;overflow:hidden}
#holo .room.enter{animation:roomin .55s cubic-bezier(.2,.8,.2,1)}
@keyframes roomin{from{opacity:0;transform:translateY(10px) scale(.99);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
#holo .eyebrow{font-family:var(--hud);letter-spacing:.32em;text-transform:uppercase;font-size:.68rem;color:var(--c,#8fa0ff)}
#holo h2{font-family:var(--serif);font-size:clamp(1.25rem,2.6vw,2rem);letter-spacing:.06em;line-height:1.1;margin:.15rem 0;text-shadow:0 0 24px color-mix(in srgb,var(--c) 45%,transparent)}
#holo .status{font-family:var(--hud);font-size:.76rem;letter-spacing:.1em;color:var(--dim)}
#holo .cohead{display:flex;gap:14px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--c) 30%,transparent);position:relative}
#holo .cohead::after{content:"";position:absolute;left:0;bottom:-1px;width:120px;height:2px;background:var(--c);box-shadow:0 0 12px var(--c)}
#holo .coid{min-width:0}
#holo .coact{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#holo .moves{font-family:var(--hud);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);padding:.35rem .6rem;border:1px dashed var(--line);border-radius:6px}
#holo .moves b{color:var(--c);font-weight:600}
#holo .cb{font-family:var(--hud);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;padding:.55rem .9rem;border:1px solid color-mix(in srgb,var(--c) 60%,transparent);background:color-mix(in srgb,var(--c) 10%,rgba(6,8,20,.6));color:#eef0ff;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:background .2s,box-shadow .2s}
#holo .cb:hover{background:color-mix(in srgb,var(--c) 28%,rgba(6,8,20,.6))}
#holo .cb.hot{border-color:var(--human);background:linear-gradient(90deg,rgba(138,61,255,.35),rgba(47,107,255,.25))}
#holo .cb.live{background:rgba(255,60,90,.25);border-color:#ff5d7a}
#holo .cb.sm{font-size:.62rem;padding:.4rem .6rem}
#holo .lay{position:relative;min-height:0;min-width:0}
#holo .na{font-family:var(--hud);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;padding:.5rem .9rem;border:1px solid color-mix(in srgb,var(--c) 50%,transparent);background:rgba(6,8,20,.65);color:#e6e9ff;border-radius:8px}
#holo .na:hover{background:color-mix(in srgb,var(--c) 22%,rgba(6,8,20,.65))}
#holo .muted{color:var(--dim);font-size:.85em}

/* the slide body every layout shares; --fs shrinks it until it fits */
#holo .fit{font-size:calc(var(--fs,1) * 1rem);overflow:hidden}
#holo .fit.tight{overflow:auto}
#holo .sb{height:100%;display:flex;flex-direction:column;gap:.55em;padding:1.1em 1.3em}
#holo .sb .kind{font-family:var(--hud);letter-spacing:.3em;text-transform:uppercase;font-size:.72em;color:var(--c);display:flex;justify-content:space-between;gap:1em}
#holo .sb .kind span{color:var(--dim);letter-spacing:.12em}
#holo .sb h3{font-family:var(--hud);font-weight:600;font-size:1.85em;line-height:1.12;letter-spacing:.02em;color:#fff}
#holo .sb ul{display:grid;gap:.45em}
#holo .sb li{list-style:none;position:relative;padding-left:1.25em;line-height:1.5;font-size:1em;color:#dfe2f7}
#holo .sb li::before{content:"";position:absolute;left:0;top:.55em;width:.5em;height:.5em;background:var(--c);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);box-shadow:0 0 8px var(--c)}
#holo .nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5em,1fr));gap:.6em}
#holo .num{border:1px solid color-mix(in srgb,var(--c) 35%,transparent);padding:.6em .75em;background:color-mix(in srgb,var(--c) 7%,rgba(0,0,0,.25));clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
#holo .num b{display:block;font-family:var(--hud);font-size:1.45em;color:var(--c);letter-spacing:.02em;text-shadow:0 0 14px color-mix(in srgb,var(--c) 60%,transparent)}
#holo .num span{display:block;font-size:.78em;color:#cdd2f2}
#holo .num i{display:block;font-size:.7em;color:var(--dim);font-style:normal}
#holo .say{margin-top:auto;padding:.65em .85em;border-left:2px solid var(--human);background:linear-gradient(90deg,rgba(138,61,255,.16),transparent);font-size:.92em;line-height:1.5;color:#ece8ff;font-style:italic}
#holo .say span{display:block;font-style:normal;font-family:var(--hud);letter-spacing:.3em;text-transform:uppercase;font-size:.68em;color:var(--human);margin-bottom:.2em}

/* glass panel used by most layouts */
#holo .panel,#holo .cfc,#holo .sc,#holo .pg .sb,#holo .bzc,#holo .bcontent,#holo .frame,#holo .core,#holo .ff,#holo .apbody{
  background:linear-gradient(160deg,color-mix(in srgb,var(--c) 12%,rgba(14,18,44,.82)),rgba(5,7,20,.88));border:1px solid color-mix(in srgb,var(--c) 40%,transparent);
  box-shadow:0 0 0 1px rgba(0,0,0,.4),0 20px 60px rgba(0,0,0,.5),inset 0 0 40px color-mix(in srgb,var(--c) 8%,transparent)}

/* 1 · full-page pager */
.lay-pager .lay{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px}
.pg-win{position:relative;overflow:hidden;height:100%}
.pg-track{transition:transform .8s cubic-bezier(.7,0,.2,1)}
.pg{padding:6px 2px}
.pg .sb{clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px))}
.pg .sb h3{font-family:var(--serif);font-size:2.2em}
.pg-rail{display:flex;flex-direction:column;justify-content:center;gap:6px;max-height:100%}
.pg-rail button{display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--dim);font-family:var(--hud);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;padding:2px 0;justify-content:flex-end}
.pg-rail button i{order:2;width:4px;height:22px;background:rgba(255,255,255,.15);transition:all .3s}
.pg-rail button.on{color:#fff}.pg-rail button.on i{background:var(--c);height:34px;box-shadow:0 0 10px var(--c)}
@media (max-width:760px){.pg-rail span{display:none}}

/* 2 · coverflow */
.lay-coverflow .lay{perspective:1400px}
.cf{position:absolute;inset:0}
.cfc{position:absolute;left:50%;top:50%;width:min(62%,640px);height:94%;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .5s;border-radius:14px;cursor:pointer}
.cfc.on{cursor:default;box-shadow:0 0 50px color-mix(in srgb,var(--c) 35%,transparent),0 20px 60px rgba(0,0,0,.6)}
.cfc::after{content:"";position:absolute;inset:0;border-radius:14px;background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 40%);pointer-events:none}
#holo .na.side{position:absolute;top:50%;transform:translateY(-50%);z-index:60;width:44px;height:64px;padding:0;font-size:1.6rem}
#holo .na.side.prev{left:0}#holo .na.side.next{right:0}
@media (max-width:760px){.cfc{width:82%}}

/* 3 · turning book */
.lay-book .lay{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;perspective:2000px}
.book{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(100%,1000px);justify-self:center;height:100%;transform-style:preserve-3d;
  background:linear-gradient(90deg,#2b2214,#1a140b 49%,#0c0905 50%,#1a140b 51%,#2b2214);padding:12px;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.7),inset 0 0 0 2px #5a4724}
.book .pgL,.book .pgR,.leaf{background:radial-gradient(120% 100% at 50% 50%,#2a2214,#16110a);color:#efe2c2;position:relative;overflow:hidden;min-height:0}
.book .pgL{border-right:1px solid #000;box-shadow:inset -30px 0 40px rgba(0,0,0,.45)}
.book .pgR{box-shadow:inset 30px 0 40px rgba(0,0,0,.45)}
.book .sb h3{font-family:var(--serif);color:#ffe7a6;font-size:1.9em}
.book .sb li{color:#efe2c2}.book .sb li::before{background:#d7b25a;box-shadow:none}
.book .sb .kind{color:#d7b25a}
.book .say{border-left-color:#d7b25a;background:none;color:#f3e6c4}
.book .drop{font-family:var(--serif);font-size:1.4em;line-height:1.5;color:#f3e6c4;margin:auto 0}
.book .pno{margin-top:auto;align-self:flex-end;font-family:var(--serif);color:#8d7440;font-size:.8em}
.book .spine{position:absolute;left:50%;top:6px;bottom:6px;width:4px;transform:translateX(-50%);background:linear-gradient(#000,#3a2c14,#000)}
.leaf{position:absolute;top:12px;bottom:12px;width:calc(50% - 12px);z-index:5;backface-visibility:hidden}
.leaf.fwd{left:50%;transform-origin:left center;animation:turnf .9s cubic-bezier(.5,0,.3,1) forwards}
.leaf.back{left:12px;transform-origin:right center;animation:turnb .9s cubic-bezier(.5,0,.3,1) forwards}
@keyframes turnf{to{transform:rotateY(-180deg);filter:brightness(.5)}}
@keyframes turnb{to{transform:rotateY(180deg);filter:brightness(.5)}}
.bnav,.snav{display:flex;align-items:center;justify-content:center;gap:12px;font-family:var(--hud);letter-spacing:.16em;font-size:.72rem;color:var(--dim);text-transform:uppercase}
@media (max-width:760px){.book{grid-template-columns:1fr;grid-template-rows:auto 1fr}.book .spine{display:none}.book .pgL .say{display:none}}

/* 4 · bento */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:10px;height:100%;grid-auto-flow:dense}
.tile{position:relative;text-align:left;display:flex;flex-direction:column;gap:.4em;padding:.9em 1em;border:1px solid color-mix(in srgb,var(--c) 30%,transparent);color:#eef0ff;
  background:linear-gradient(150deg,color-mix(in srgb,var(--c) 14%,rgba(10,16,30,.85)),rgba(4,8,14,.9));border-radius:16px;overflow:hidden;font-size:calc(var(--fs,1) * 1rem);
  animation:tilein .6s both;transition:transform .25s,box-shadow .25s}
.tile:nth-child(1){grid-column:span 2;grid-row:span 2}.tile:nth-child(5){grid-column:span 2}.tile:nth-child(8){grid-row:span 2}
.tile:hover,.tile.on{transform:translateY(-3px);box-shadow:0 0 30px color-mix(in srgb,var(--c) 35%,transparent)}
.tile .kind{font-family:var(--hud);font-size:.68em;letter-spacing:.26em;text-transform:uppercase;color:var(--c)}
.tile b{font-family:var(--hud);font-size:1.25em;line-height:1.15}
.tile:nth-child(1) b{font-size:1.9em;font-family:var(--serif)}
.tile em{margin-top:auto;font-style:normal;font-family:var(--hud);font-size:1.6em;color:var(--c);text-shadow:0 0 16px var(--c)}
@keyframes tilein{from{opacity:0;transform:scale(.92)}}
.bzoom{position:absolute;inset:0;z-index:20;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;opacity:0;pointer-events:none;transform-origin:var(--ox) var(--oy);transform:scale(.2);transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .35s}
.bzoom.open{opacity:1;pointer-events:auto;transform:none}
.bzoom .bx{justify-self:start;font-family:var(--hud);letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;background:rgba(6,8,20,.8);border:1px solid var(--line);color:#fff;padding:.4rem .7rem;border-radius:8px}
.bzc{border-radius:18px;min-height:0}
.bznav{display:flex;justify-content:center;gap:10px}
@media (max-width:760px){.bento{grid-template-columns:repeat(2,1fr)}.tile:nth-child(1){grid-row:span 1}.tile:nth-child(8){grid-row:span 1}}

/* 5 · roll-up bays */
.lay-bays .lay{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}
.bayrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px}
.bay{position:relative;height:64px;border:2px solid #3b1018;background:repeating-linear-gradient(180deg,#3a2a2e 0 5px,#241a1d 5px 8px);color:#ffd9de;font-family:var(--hud);display:flex;flex-direction:column;justify-content:flex-end;padding:4px 6px;text-align:left;overflow:hidden}
.bay .bn{font-size:.62rem;letter-spacing:.2em;color:#fff}
.bay .bl{font-size:.6rem;letter-spacing:.06em;color:#ffb3bd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bay .lamp{position:absolute;top:5px;right:6px;width:8px;height:8px;border-radius:50%;background:#511}
.bay.on{border-color:var(--c);box-shadow:0 0 18px color-mix(in srgb,var(--c) 50%,transparent)}
.bay.on .lamp{background:#ffcf5a;box-shadow:0 0 10px #ffcf5a}
.bigbay{position:relative;overflow:hidden;border:3px solid #2a0c12;border-top:10px solid #1b0a0e;box-shadow:inset 0 0 80px rgba(0,0,0,.8),0 0 40px color-mix(in srgb,var(--c) 20%,transparent)}
.bcontent{height:100%;border:0;background:radial-gradient(80% 90% at 50% 110%,color-mix(in srgb,var(--c) 30%,transparent),transparent 60%),linear-gradient(180deg,#14070b,#0a0306)}
.bcontent .sb h3{text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.shutter{position:absolute;inset:0;z-index:5;background:repeating-linear-gradient(180deg,#5b4a50 0 14px,#3a2d32 14px 18px,#2a2024 18px 22px);transform:translateY(0);transition:transform .42s cubic-bezier(.6,0,.4,1);display:grid;place-items:end center;padding-bottom:18px;
  box-shadow:inset 0 -8px 0 #1b1215}
.shutter span{font-family:var(--hud);letter-spacing:.4em;color:#ffcf5a;font-size:1rem;background:#1a1012;padding:.3rem .8rem;border:1px solid #ffcf5a55}
.shutter.up{transform:translateY(-101%);transition-duration:.75s}

/* 6 · swipe stack */
.lay-stack .lay{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px}
.stk{position:relative;width:min(100%,720px);justify-self:center;height:100%}
.sc{position:absolute;inset:0 0 40px;border-radius:20px;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .45s;touch-action:pan-y;cursor:grab}
.sc.on{cursor:grab}
.lay-stack .sb{background-image:linear-gradient(rgba(160,200,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(160,200,255,.06) 1px,transparent 1px);background-size:22px 22px}
.lay-stack .sb h3{font-family:ui-monospace,monospace;text-transform:uppercase;font-size:1.5em;color:#cfe4ff}

/* 7 · accordion */
.acc{display:flex;gap:6px;height:100%}
.ap{position:relative;flex:0 0 58px;transition:flex .55s cubic-bezier(.2,.8,.2,1);min-width:0;overflow:hidden;border-radius:12px;border:1px solid color-mix(in srgb,var(--c) 30%,transparent);
  background:radial-gradient(80% 100% at 50% 110%,color-mix(in srgb,var(--c) 35%,transparent),transparent 60%),rgba(18,8,4,.85)}
.ap.on{flex:1 1 auto}
.aplab{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 0;background:none;border:0;color:#ffe2c9;font-family:var(--hud)}
.aplab b{font-size:1.1rem;color:var(--c)}
.aplab span{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.24em;text-transform:uppercase;font-size:.7rem}
.ap.on .aplab{display:none}
.apbody{position:absolute;inset:0;opacity:0;transition:opacity .3s;border:0;background:none;box-shadow:none}
.ap.on .apbody{opacity:1;transition-delay:.3s}
.lay-accordion .sb h3{font-family:var(--serif)}
@media (max-width:760px){.acc{flex-direction:column}.ap{flex:0 0 40px}.aplab{flex-direction:row;padding:0 14px}.aplab span{writing-mode:horizontal-tb;transform:none}}

/* 8 · flashcards */
.lay-flash .lay{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;perspective:1600px}
.fl{display:grid;place-items:center;min-height:0}
.flc{position:relative;width:min(100%,760px);height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,1.3,.5,1);cursor:pointer}
.flc.flipped{transform:rotateY(180deg)}
.flc.deal{animation:deal .6s cubic-bezier(.2,.8,.2,1)}
@keyframes deal{from{transform:translateX(60%) rotate(8deg);opacity:0}}
.ff{position:absolute;inset:0;backface-visibility:hidden;border-radius:18px;background:linear-gradient(135deg,#2a2d36,#15171d 50%,#2a2d36);border-color:#6f7486}
.ff.back{transform:rotateY(180deg)}
.ff .big{font-size:2.6em;margin:auto 0;font-family:var(--serif);color:#f1e6d6}
.ff .hint{color:#c9c2b4;font-style:italic}
.ff .tap{align-self:center;font-family:var(--hud);letter-spacing:.3em;text-transform:uppercase;font-size:.62em;color:var(--dim);animation:bp 2s infinite}

/* 9 · terminal */
.term{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--c);border-radius:10px;background:rgba(6,2,12,.92);box-shadow:0 0 40px color-mix(in srgb,var(--c) 30%,transparent),inset 0 0 40px color-mix(in srgb,var(--c) 10%,transparent);overflow:hidden}
.tbar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid color-mix(in srgb,var(--c) 40%,transparent);font-family:ui-monospace,monospace;font-size:.75rem;color:var(--dim)}
.tbar i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.tbar i:nth-child(2){background:#febc2e}.tbar i:nth-child(3){background:#28c840}
.tbar span{margin-left:10px}
.tbody{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);min-height:0}
.tls{border-right:1px solid color-mix(in srgb,var(--c) 30%,transparent);padding:10px;display:flex;flex-direction:column;gap:2px;overflow:hidden;font-family:ui-monospace,monospace;font-size:.78rem}
.tdim{color:var(--dim);margin-bottom:6px}
.tls button{text-align:left;background:none;border:0;color:#d8b8ff;font-family:inherit;font-size:inherit;padding:3px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tls button.on{background:var(--c);color:#0a0410}
.tout{padding:14px 16px;font-family:ui-monospace,monospace;color:#f3e8ff;text-shadow:0 0 8px color-mix(in srgb,var(--c) 70%,transparent)}
.tout .cmd{color:#7dffb0;margin-bottom:.6em;font-size:.9em}
.tout pre{white-space:pre-wrap;font-family:inherit;font-size:.95em;line-height:1.6;margin:0;display:inline}
.tout .cur{display:inline-block;width:.6em;height:1.1em;background:var(--c);vertical-align:-2px;animation:bp .8s steps(2) infinite}
@media (max-width:760px){.tbody{grid-template-columns:1fr;grid-template-rows:auto 1fr}.tls{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}.tdim{display:none}.tls button{font-size:.65rem}}

/* 10 · cinema + film strip */
.lay-filmstrip .lay{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px}
.screen{position:relative;background:#000;border-top:clamp(10px,3vh,26px) solid #000;border-bottom:clamp(10px,3vh,26px) solid #000;box-shadow:0 0 0 1px rgba(255,244,214,.15),0 0 80px rgba(255,244,214,.08);overflow:hidden}
.frame{height:100%;border:0;background:linear-gradient(90deg,rgba(14,124,123,.22),transparent 45%,rgba(201,162,39,.18)),#05050c}
.frame .sb h3{font-family:var(--serif);letter-spacing:.14em;text-transform:uppercase;color:#fff4d6}
.beam{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 80% at 50% 0%,rgba(255,244,214,.12),transparent 70%)}
.screen.flick .frame{animation:flick .5s steps(5)}
@keyframes flick{0%{opacity:.2;filter:brightness(2)}40%{opacity:.8}60%{opacity:.4}100%{opacity:1;filter:none}}
.strip{position:relative;overflow:hidden;padding:12px 0;background:#0b0b0b;border-top:2px dashed #333;border-bottom:2px dashed #333}
.sprk{display:flex;gap:10px;transition:transform .6s cubic-bezier(.2,.8,.2,1);width:max-content}
.fr{flex:none;width:118px;height:62px;border:2px solid #222;background:linear-gradient(135deg,#1b1a14,#0b0b0b);color:#d9cfb0;font-family:var(--hud);text-align:left;padding:6px 8px;display:flex;flex-direction:column;justify-content:space-between;filter:grayscale(.7)}
.fr span{font-size:.62rem;color:#887}
.fr b{font-size:.66rem;letter-spacing:.06em;font-weight:600}
.fr.on{border-color:#fff4d6;filter:none;box-shadow:0 0 18px rgba(255,244,214,.35)}

/* 11 · orbit dial */
.orw{position:relative;height:100%;aspect-ratio:1;max-width:100%;margin:0 auto}
.ring{position:absolute;inset:0;border-radius:50%;transform:rotate(var(--spin,0deg));transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.moon{position:absolute;left:50%;top:50%;width:clamp(56px,11%,96px);aspect-ratio:1;margin:calc(clamp(56px,11%,96px) / -2) 0 0 calc(clamp(56px,11%,96px) / -2);border-radius:50%;
  transform:rotate(var(--a)) translateY(calc(-1 * var(--R,200px))) rotate(calc(-1 * var(--a) - var(--spin,0deg)));transition:transform 1s cubic-bezier(.2,.8,.2,1);
  border:1px solid color-mix(in srgb,var(--c) 60%,transparent);background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 45%,#fff 0%),rgba(4,10,24,.9) 70%);color:#eaf6ff;font-family:var(--hud);font-size:.58rem;letter-spacing:.06em;padding:4px;line-height:1.1}
.moon.on{box-shadow:0 0 26px var(--c);border-color:#fff}
.core{position:absolute;inset:19%;border-radius:24px;clip-path:polygon(10% 0,90% 0,100% 10%,100% 90%,90% 100%,10% 100%,0 90%,0 10%)}
.lay-orbit .lay{display:grid;place-items:center}
.lay-orbit .orw{height:min(100%,100cqw)}

/* home: the vault drawer wall */
.r-home{grid-template-rows:auto minmax(0,1fr)}
.homehead{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:end}
.homehead .note{max-height:4.6em;font-size:.8rem;line-height:1.45;color:#e9e3c8;border-left:3px solid var(--accent);padding:.4rem .7rem;background:rgba(255,207,90,.06)}
.drawers{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-auto-rows:1fr;gap:10px;min-height:0;perspective:1200px}
.drawer{position:relative;text-align:left;display:flex;flex-direction:column;gap:.25em;padding:.8em .9em;color:#eef0ff;overflow:hidden;font-size:calc(var(--fs,1) * 1rem);
  background:linear-gradient(180deg,#1a1f33,#0c0f1c);border:1px solid #2c3458;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -14px 24px rgba(0,0,0,.5),0 6px 20px rgba(0,0,0,.5);
  animation:tilein .5s both;animation-delay:var(--d);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.drawer::before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.06);pointer-events:none}
.drawer:hover{transform:translateZ(20px);box-shadow:0 0 30px color-mix(in srgb,var(--c) 35%,transparent),inset 0 1px 0 rgba(255,255,255,.1)}
.drawer.out{transform:translateZ(260px) scale(1.04);box-shadow:0 0 80px var(--c)}
.drawer .plate{font-family:ui-monospace,monospace;font-size:.62em;letter-spacing:.2em;color:#8ea0d8;background:#060812;align-self:flex-start;padding:.15em .5em;border:1px solid #2c3458}
.drawer b{font-family:var(--hud);font-size:1.15em;letter-spacing:.04em;margin-top:.2em}
.drawer small{font-size:.74em;color:var(--dim)}
.drawer em{margin-top:auto;font-style:normal;font-family:var(--hud);font-size:.64em;letter-spacing:.16em;text-transform:uppercase;color:var(--c)}
.drawer .led{position:absolute;top:.9em;right:.9em;width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c);animation:bp 2.4s infinite;animation-delay:var(--d)}
.drawer .handle{position:absolute;right:.9em;bottom:.8em;width:34px;height:8px;border-radius:4px;background:linear-gradient(#5a6390,#2a3050);box-shadow:0 2px 4px rgba(0,0,0,.6)}
@media (max-width:760px){.homehead{grid-template-columns:1fr}.homehead .note{display:none}.drawers{grid-template-columns:repeat(2,1fr)}.drawer em,.drawer small{display:none}}

/* plan dashboard */
.dash{display:grid;grid-template-columns:200px minmax(0,1fr);gap:12px;min-height:0}
.dtabs{display:flex;flex-direction:column;gap:6px}
.dtabs button{display:flex;align-items:center;gap:10px;text-align:left;padding:.65rem .8rem;border:1px solid var(--line);background:rgba(8,10,24,.6);color:#cdd2f2;font-family:var(--hud);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.dtabs button i{font-style:normal;color:var(--accent);width:1.2em;text-align:center}
.dtabs button[aria-selected="true"]{border-color:var(--accent);background:linear-gradient(90deg,rgba(255,207,90,.18),transparent);color:#fff;box-shadow:inset 3px 0 0 var(--accent)}
.dpanel{position:relative;min-height:0;min-width:0;display:grid;grid-template-rows:minmax(0,1fr)}
.dpanel.pin,.pgv.pin{animation:roomin .45s cubic-bezier(.2,.8,.2,1)}
.plabel{display:inline-block;margin-top:.3rem;padding:.25rem .6rem;border:1px solid var(--accent);border-radius:999px;font-size:.62rem!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--accent)!important}
.qgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:10px;height:100%}
.qcard{padding:.9em 1em;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,207,90,.08),rgba(8,10,24,.75));animation:tilein .5s both;animation-delay:var(--d)}
.qcard b{display:block;font-family:var(--hud);letter-spacing:.06em;font-size:1.05em;color:var(--accent);margin-bottom:.3em}
.qcard p{font-size:.88em;line-height:1.5;color:#d6daf3}
.gw{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;height:100%}
.climb{display:flex;align-items:flex-end;gap:10px;padding:10px 4px 0;border-bottom:1px solid var(--line);min-height:0}
.climb .step{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;text-align:center;background:none;border:0;color:#eef0ff;padding:0;min-width:0}
.climb .bar{height:var(--h);min-height:24px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--human) 70%,transparent));box-shadow:0 0 24px rgba(255,207,90,.25);display:flex;justify-content:center;animation:grow 1.1s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d);transform-origin:bottom;clip-path:polygon(0 8px,8px 0,100% 0,100% 100%,0 100%)}
@keyframes grow{from{transform:scaleY(0)}}
.climb .step.on .bar{box-shadow:0 0 30px var(--accent);filter:brightness(1.25)}
.climb .bar span{font-family:var(--hud);font-weight:700;font-size:.95rem;color:#160f00;margin-top:6px}
.climb b{font-family:var(--hud);font-size:.74rem;margin-top:.4rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.climb i{font-style:normal;font-size:.66rem;color:var(--dim);display:block;min-height:1.4em}
.gside{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0}
.gtog{display:flex;gap:6px}.gtog button{flex:1;padding:.5rem;border:1px solid var(--line);background:rgba(8,10,24,.6);color:#cdd2f2;font-family:var(--hud);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.gtog button.on{border-color:var(--accent);color:#fff;background:rgba(255,207,90,.12)}
.gdet{padding:1em 1.1em;border:1px solid var(--line);background:rgba(8,10,24,.7)}
.gdet h3{font-family:var(--hud);font-size:1.2em;color:var(--accent);margin-bottom:.4em}
.gdet p{font-size:.92em;line-height:1.55;color:#d6daf3;margin-bottom:.6em}
.timeline{display:grid;gap:4px}.timeline div{display:grid;grid-template-columns:9em 1fr;gap:10px;padding:.4em 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.88em}
.timeline b{font-family:var(--hud);color:var(--accent)}
.pgv{min-height:0;height:100%}
.dpanel>.pgv,.vr>.pgv,.chv>.pgv,.abox>.pgv{display:block}
.dpanel,.vr,.chv,.abox{grid-template-rows:minmax(0,1fr) auto}
.dpanel.t-comps,.dpanel.t-sources{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px}
.pgnav{display:flex;align-items:center;justify-content:center;gap:12px;font-family:var(--hud);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);padding-top:6px}
.comps{display:grid;grid-template-columns:repeat(var(--per),1fr);gap:12px;height:100%}
.comp{padding:1em 1.1em;border:1px solid var(--line);background:linear-gradient(160deg,rgba(138,61,255,.1),rgba(8,10,24,.8));font-size:.9em;line-height:1.5;color:#d6daf3}
.comp h3{font-family:var(--serif);font-size:1.3em;color:#fff;margin-bottom:.3em}
.comp p{margin:.35em 0}.comp .what{color:var(--dim)}.comp .lesson{color:#fff;border-left:2px solid var(--accent);padding-left:.6em}
.comp a,.srcs a{color:#9fb4ff}
.val{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;height:100%}
.vl{padding:1em}
.vlabel{display:inline-block;padding:.3rem .7rem;border:1px solid var(--accent);border-radius:999px;font-family:var(--hud);letter-spacing:.14em;text-transform:uppercase;font-size:.62em;color:var(--accent)}
.vtarget{font-family:var(--serif);font-size:3.2em;color:var(--accent);text-shadow:0 0 30px rgba(255,207,90,.45);margin:.2em 0}
.vl p{font-size:.95em;line-height:1.6;color:#d8dcf6;margin-bottom:1em}
.vr{display:grid;min-height:0}
.vstep{height:100%;padding:1.2em 1.3em;border:1px solid var(--line);background:rgba(8,10,24,.75)}
.vstep h3{font-family:var(--hud);font-size:1.4em;margin:.3em 0}.vstep p{line-height:1.6;color:#d6daf3}
.vstep.warn{border-color:var(--alarm);background:rgba(60,4,14,.6)}.vstep.warn li{margin:.4em 0;line-height:1.5}
.warnb.on{background:rgba(255,40,70,.25)!important}
.chap{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);gap:12px;height:100%}
.chl{display:flex;flex-direction:column;gap:4px;min-height:0;overflow:hidden}
.chl button{display:flex;gap:8px;align-items:baseline;text-align:left;background:none;border:0;border-left:2px solid transparent;color:#cdd2f2;padding:.35rem .5rem;font-size:.8rem}
.chl button b{font-family:var(--hud);color:var(--dim)}
.chl button.on{border-left-color:var(--accent);background:rgba(255,207,90,.08);color:#fff}
.chv{display:grid;min-height:0}
.chsec{height:100%;padding:1.1em 1.3em;border:1px solid var(--line);background:rgba(8,10,24,.75)}
.chsec h3{font-family:var(--hud);font-size:1.3em;color:#fff;margin:.4em 0}
.chsec li{list-style:none;position:relative;padding-left:1.1em;margin:.4em 0;line-height:1.55;color:#cfd4f2}
.chsec li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;background:var(--accent)}
.srcs{padding-left:1.6rem;font-size:.9rem;line-height:2.1}
@media (max-width:760px){.dash{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.dtabs{flex-direction:row;overflow-x:auto}.dtabs button span{display:none}
  .qgrid{grid-template-columns:1fr 1fr}.gw,.val,.chap{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.chl{flex-direction:row;overflow-x:auto}.chl button span{display:none}}

/* keys */
.admin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px;min-height:0}
.acol{min-height:0;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);align-content:start;gap:6px;padding:1em;border:1px solid var(--line);background:rgba(8,10,24,.7)}
.acol:last-child{grid-template-rows:auto minmax(0,1fr)}
.admin label{font-family:var(--hud);letter-spacing:.16em;text-transform:uppercase;font-size:.7rem;color:var(--dim)}
.admin input{width:100%;padding:.6rem .7rem;border:1px solid var(--line);background:rgba(0,0,0,.35);color:#fff;font:inherit}
.atabs{display:flex;gap:6px}.atabs button{padding:.45rem .7rem;border:1px solid var(--line);background:none;color:#cdd2f2;font-family:var(--hud);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.atabs button.on{border-color:var(--human);color:#fff;background:rgba(138,61,255,.18)}
.abox{display:grid;min-height:0}
.admin .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.86rem}
.admin .row .grow{flex:1;min-width:160px}
.admin .linkbox{margin-top:.7rem;padding:.7rem;border:1px dashed var(--human);word-break:break-all;font-family:ui-monospace,monospace;font-size:.78rem;background:rgba(138,61,255,.08)}
@media (max-width:760px){.admin{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}}

/* the dock */
#holo .dock{grid-area:dock;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px 2px}
#holo .dock::-webkit-scrollbar{display:none}
#holo .dock button{flex:none;display:flex;align-items:center;gap:7px;padding:.5rem .8rem;border:1px solid rgba(140,160,255,.18);background:rgba(8,10,24,.65);color:#c8cdf0;font-family:var(--hud);font-size:.72rem;letter-spacing:.08em;
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);transition:all .25s}
#holo .dock button i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}
#holo .dock button:hover{background:color-mix(in srgb,var(--c) 15%,rgba(8,10,24,.65));color:#fff}
#holo .dock button[aria-current="true"]{border-color:var(--c);background:color-mix(in srgb,var(--c) 22%,rgba(8,10,24,.7));color:#fff;box-shadow:0 0 18px color-mix(in srgb,var(--c) 35%,transparent)}

/* Ami's pod */
#holo .guide{grid-area:guide;display:flex;flex-direction:column;gap:10px;min-height:0;padding:10px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(18,14,44,.75),rgba(6,6,18,.75));
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px))}
#holo .gpod{position:relative;flex:1 1 auto;min-height:120px;border-radius:50% 50% 12px 12px / 30% 30% 12px 12px;overflow:hidden;background:radial-gradient(circle at 50% 70%,rgba(138,61,255,.35),rgba(4,4,14,.9) 70%);border:1px solid rgba(138,61,255,.35)}
#holo .gpod video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;mix-blend-mode:screen;opacity:.85;transition:filter .3s}
#holo .gpod .orb{position:absolute;left:50%;top:45%;width:50%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,var(--human) 30%,var(--machine) 70%,transparent 72%);filter:blur(1px);animation:bp 3s infinite}
#holo .wave{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:4px;height:18px;align-items:flex-end;opacity:.25}
#holo .wave i{width:4px;height:20%;background:var(--human);box-shadow:0 0 6px var(--human)}
#holo .guide.talk .wave{opacity:1}
#holo .guide.talk .wave i{animation:wv .5s ease-in-out infinite alternate}
#holo .guide.talk .wave i:nth-child(2){animation-delay:-.2s}#holo .guide.talk .wave i:nth-child(3){animation-delay:-.4s}#holo .guide.talk .wave i:nth-child(4){animation-delay:-.1s}#holo .guide.talk .wave i:nth-child(5){animation-delay:-.3s}
@keyframes wv{from{height:15%}to{height:100%}}
#holo .guide.talk .gpod video{filter:brightness(1.35) saturate(1.3)}
#holo .gtxt b{display:block;font-family:var(--hud);letter-spacing:.4em;text-transform:uppercase;font-size:.7rem;color:var(--human)}
#holo .gtxt span{display:block;font-size:.86rem;line-height:1.45;color:#ece8ff;font-style:italic;max-height:9.5em;overflow:hidden}
#holo .gtxt span.in{animation:capin .4s ease}
@media (max-width:900px){
  #holo{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "room" "guide" "dock";padding:10px 10px 8px;gap:8px}
  #holo .htop{padding-right:96px;gap:8px}
  #holo .who,#holo #replaybtn2{display:none}
  #holo .guide{flex-direction:row;align-items:center;padding:6px 10px;clip-path:none}
  #holo .gpod{flex:0 0 52px;height:52px;min-height:0;border-radius:50%}
  #holo .gtxt span{max-height:2.9em;font-size:.78rem}
  #holo .moves{display:none}
  #holo .cohead{gap:8px}
}

/* the film */
#holo .cinema{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:rgba(0,0,0,.9);opacity:0;pointer-events:none;transition:opacity .5s}
#holo .cinema.on{opacity:1;pointer-events:auto}
#holo .cbox{position:relative;width:min(94%,calc(80vh * 16 / 9));aspect-ratio:16/9;background:#000;box-shadow:0 0 120px rgba(120,140,255,.25);transform:scale(.94);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
#holo .cinema.on .cbox{transform:none}
#holo .cbox video{width:100%;height:100%;object-fit:cover;display:block}
#holo .cbars::before,#holo .cbars::after{content:"";position:absolute;left:0;right:0;height:9%;background:#000;z-index:2}
#holo .cbars::before{top:0}#holo .cbars::after{bottom:0}
#holo .cbar{position:absolute;left:0;right:0;bottom:-44px;display:flex;justify-content:space-between;align-items:center;font-family:var(--hud);letter-spacing:.3em;text-transform:uppercase;font-size:.72rem;color:#c8cdf0}
#holo .cbar button{font-family:var(--hud);letter-spacing:.2em;text-transform:uppercase;font-size:.7rem;padding:.45rem .8rem;border:1px solid var(--line);background:none;color:#fff}

body.invault #brandmark{opacity:0!important}
#holo .sc,#holo .cfc{background:linear-gradient(160deg,color-mix(in srgb,var(--c) 14%,#0d1126),#05070f)}
#holo .bzoom{background:rgba(3,4,12,.82);backdrop-filter:blur(6px);padding:4px;border-radius:18px}
#holo .bzc{background:linear-gradient(160deg,color-mix(in srgb,var(--c) 14%,#0d1126),#05070f)}
.drawer .numeral{position:absolute;right:.15em;bottom:-.18em;font-family:var(--serif);font-size:5.2em;line-height:1;color:color-mix(in srgb,var(--c) 22%,transparent);pointer-events:none;text-shadow:0 0 30px color-mix(in srgb,var(--c) 30%,transparent)}
.drawer .handle{z-index:1}
.drawer::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--c);opacity:.6;box-shadow:0 0 14px var(--c)}

#door.machine .dopen{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:var(--dfilter,none);opacity:0;transition:opacity .25s;pointer-events:none;
  -webkit-mask-image:radial-gradient(circle,#000 62%,transparent 74%);mask-image:radial-gradient(circle,#000 62%,transparent 74%)}
#door.machine.filmopen .dopen{opacity:1}
#door.machine.filmopen .didle,#door.machine.filmopen .dhalf,#door.machine.filmopen #pad,#door.machine.filmopen .dpan,#door.machine.filmopen .dtext{opacity:0;transition:opacity .3s}
#door.machine.filmopen .dov{opacity:.35;transition:opacity .6s}
#door.machine .dhalf{opacity:0}
#door.machine:not(:has(.didle)) .dhalf,#door.machine.split .dhalf{opacity:1}

.ring::before{content:"";position:absolute;inset:var(--mi,40px);border-radius:50%;border:1px dashed color-mix(in srgb,var(--c) 45%,transparent);box-shadow:0 0 40px color-mix(in srgb,var(--c) 12%,transparent) inset}
.ring::after{content:"";position:absolute;inset:calc(var(--mi,40px) + 18px);border-radius:50%;border:1px solid color-mix(in srgb,var(--c) 18%,transparent);animation:spin 40s linear infinite;border-top-color:var(--c)}
.lay-orbit .lay{container-type:size;display:grid;place-items:center}
.lay-orbit .orw{width:min(100cqw,100cqh);height:auto;aspect-ratio:1;margin:0}
@media (max-width:760px){.core{inset:15%}}

@media (max-width:900px){body.invault #hud{top:12px;bottom:auto;right:10px}body.invault #hud #soundbtn{padding:.45rem .6rem;font-size:.6rem}}
#holo .sc:not(.on) .sb{opacity:0;transition:opacity .3s}
#holo .cfc:not(.on) .say{display:none}
#door.machine .dtext{display:none}

/* ===== card films: every slide shows what the guide is talking about ===== */
#holo .sb.has-v,#holo .tout.has-v{position:relative}
#holo .sv{position:absolute;margin:0;overflow:hidden;z-index:0;background:#05060d;pointer-events:none;
  border:1px solid color-mix(in srgb,var(--c) 45%,transparent);box-shadow:0 0 28px color-mix(in srgb,var(--c) 22%,transparent) inset}
#holo .sv video{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transform:scale(1.06);transition:opacity .7s,transform 6s linear}
#holo .sv.live video{opacity:1;transform:scale(1)}
#holo .sv::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--c) 30%,transparent),transparent 60%);animation:svload 1.6s ease-in-out infinite}
#holo .sv.live::before{display:none}
@keyframes svload{50%{opacity:.35}}
#holo .sv .svs{position:absolute;inset:0;z-index:2;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}
#holo .sv::after{content:"";position:absolute;z-index:2;left:0;right:0;height:22%;top:-22%;background:linear-gradient(transparent,color-mix(in srgb,var(--c) 18%,transparent),transparent);animation:svscan 4.5s linear infinite}
@keyframes svscan{to{top:100%}}
/* wide card: film fills the right side */
#holo .vside{padding-right:calc(46% + 1.4em)!important}
#holo .vside>.sv{top:.7em;right:.7em;bottom:.7em;width:46%;clip-path:polygon(7% 0,100% 0,100% 100%,0 100%)}
/* tall card: film across the top */
#holo .vtop{padding-top:calc(var(--vh) + 1.2em)!important}
#holo .vtop>.sv{top:.6em;left:.6em;right:.6em;height:var(--vh)}
#holo .sb.has-v>*:not(.sv){position:relative;z-index:1}
/* the command line gets a monitor window */
#holo .tout.has-v{padding-right:calc(44% + 1.2em)}
#holo .tout.has-v>.sv{top:.8em;right:.8em;width:42%;aspect-ratio:16/9;height:auto;border-radius:4px;filter:saturate(.85) contrast(1.1)}
@media (max-width:760px){#holo .tout.has-v{padding-right:1em;padding-top:calc(50vw + 1em)}#holo .tout.has-v>.sv{left:.8em;width:auto}}
/* bento: every tile is a little moving window */
#holo .tile.tv{overflow:hidden;isolation:isolate}
#holo .tile.tv>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.55;transition:opacity .4s}
#holo .tile.tv::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,5,12,.25),rgba(4,5,12,.88))}
#holo .tile.tv:hover>video,#holo .tile.tv.on>video{opacity:.85}
@media (prefers-reduced-motion:reduce){#holo .sv::after,#holo .sv::before{animation:none}}
/* real L.O.V.E.-O seal as the home button, and the wordmark in the title */
#holo .hhome.hasmark{width:46px;height:46px;border-radius:50%;padding:0;overflow:visible;background:none;border:0;box-shadow:0 0 18px rgba(138,61,255,.45)}
#holo .hhome.hasmark img{width:100%;height:100%;object-fit:contain;transition:transform .5s}
#holo .hhome.hasmark:hover img{transform:rotate(-8deg) scale(1.08)}
#holo .htitle b .wm{font-size:1.05em;margin-right:.2em;vertical-align:-.1em}
#holo .eyebrow .wm{font-size:1.1em;vertical-align:-.15em}
#holo .htitle span.wm{display:inline-flex;font-size:1.05em;letter-spacing:0;color:inherit;text-transform:none}
#holo .htitle span.wl{display:inline-flex;font-size:1em;letter-spacing:.04em;color:inherit;text-transform:none}
#holo .htitle span.wm::before,#holo .htitle span.wl::before{content:none}
#holo .eyebrow .wm{font-size:1.25em}
@media (max-width:480px){#holo .htitle b{letter-spacing:.05em;font-size:.82rem}#holo .htitle span.wm{font-size:.85em}#holo .hhome.hasmark{width:40px;height:40px}}

/* ---------- Ami presents the plan ---------- */
#holo .pres{position:absolute;inset:0;z-index:30;overflow:hidden;background:#03040a;opacity:0;transition:opacity .5s;color:#f3f0ff}
#holo .pres.on{opacity:1}
#holo .pres .pimg,#holo .pres .pimg img{position:absolute;inset:0;width:100%;height:100%}
#holo .pres .pimg img{object-fit:cover;opacity:0;transition:opacity 1.1s ease}
#holo .pres .pimg img.on{opacity:1}
#holo .pres .pimg img.kb{animation:pkb 16s ease-out both}
@keyframes pkb{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(-1.5%,-1%,0)}}
#holo .pres .pshade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,4,10,.92) 0%,rgba(3,4,10,.72) 38%,rgba(3,4,10,.15) 72%,rgba(3,4,10,.35) 100%),linear-gradient(0deg,rgba(3,4,10,.9),transparent 30%)}
#holo .pres .ptxt{position:absolute;left:clamp(16px,6vw,90px);top:50%;transform:translateY(-55%);width:min(620px,calc(100% - 32px))}
#holo .pres .ptxt.in>*{animation:ptin .7s cubic-bezier(.2,.8,.2,1) both}
#holo .pres .ptxt.in>*:nth-child(2){animation-delay:.12s}#holo .pres .ptxt.in>*:nth-child(3){animation-delay:.24s}#holo .pres .ptxt.in>*:nth-child(4){animation-delay:.36s}
@keyframes ptin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
#holo .pres .pe{color:var(--accent);letter-spacing:.28em}
#holo .pres .pbig{font-family:var(--serif);font-weight:700;font-size:clamp(2.6rem,8vw,6rem);line-height:1;margin:.35rem 0 .5rem;background:linear-gradient(90deg,#ffe7a3,var(--accent) 45%,#c9a2ff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgba(255,207,90,.15);overflow-wrap:anywhere}
#holo .pres .ph{font-family:var(--hud);font-weight:600;font-size:clamp(1.15rem,2.6vw,1.7rem);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.7rem}
#holo .pres .ps{font-size:clamp(.92rem,1.6vw,1.08rem);line-height:1.6;color:#cfd2ec;max-width:56ch}
#holo .pres .pbar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:8px;padding:12px clamp(12px,3vw,28px);background:linear-gradient(0deg,rgba(3,4,10,.85),transparent)}
#holo .pres .pbtn{font-family:var(--hud);font-size:1rem;min-width:42px;height:42px;padding:0 .8rem;border-radius:999px;border:1px solid rgba(255,207,90,.45);background:rgba(10,12,28,.7);color:#fff;cursor:pointer}
#holo .pres .pbtn:hover,#holo .pres .pbtn:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px rgba(255,207,90,.25)}
#holo .pres .px{margin-left:auto;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}
#holo .pres .pdots{display:flex;gap:5px;flex-wrap:wrap;margin-left:6px;min-width:0}
#holo .pres .pdots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18);cursor:pointer;transition:background .3s,transform .3s}
#holo .pres .pdots i.done{background:rgba(138,61,255,.7)}
#holo .pres .pdots i.on{background:var(--accent);transform:scale(1.35)}
#holo .pres .pcount{font-family:var(--hud);font-size:.8rem;letter-spacing:.14em;color:#aeb3d8;white-space:nowrap}
@media (max-width:640px){
  #holo .pres .pshade{background:linear-gradient(0deg,rgba(3,4,10,.96) 0%,rgba(3,4,10,.82) 55%,rgba(3,4,10,.2) 100%)}
  #holo .pres .ptxt{top:auto;bottom:88px;transform:none}
  #holo .pres .pdots{display:none}
  #holo .pres .ps{font-size:.9rem;line-height:1.5}
}
@media (prefers-reduced-motion:reduce){#holo .pres .pimg img.kb,#holo .pres .ptxt.in>*{animation:none}}
/* ===== living business plan ===== */
.qgrid .qcard{position:relative;overflow:hidden;isolation:isolate;display:flex;transition:opacity .4s,transform .4s,box-shadow .4s}
.qcard .qtxt{position:relative;z-index:1;height:100%;width:100%}
.qcard.qv>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.42;transition:opacity .5s}
.qcard.qv::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,7,18,.35),rgba(6,7,18,.9) 70%)}
.qcard:hover>video,.qcard.on>video{opacity:.8}
.qgrid.focus .qcard{opacity:.38}
.qgrid.focus .qcard.on{opacity:1;transform:scale(1.03);box-shadow:0 0 0 1px var(--accent),0 0 34px rgba(255,207,90,.35);z-index:2}

.money{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:14px;height:100%;min-height:0}
.money.tall{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
.msvg{min-height:0;position:relative;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 0%,rgba(255,207,90,.08),transparent 60%),rgba(6,8,20,.6)}
.msvg svg{position:absolute;inset:0;width:100%;height:100%}
.mp{fill:none;stroke:rgba(255,207,90,.14);stroke-width:3;stroke-dasharray:6 8}
.flows{opacity:0;transition:opacity .6s}.fd{fill:#ffcf5a;filter:drop-shadow(0 0 5px #ffcf5a)}
.f-comm .fd,.f-fund .fd{fill:#7dd3ff;filter:drop-shadow(0 0 5px #7dd3ff)}
.mn{opacity:.18;transition:opacity .6s,transform .6s}.mn rect{fill:rgba(10,12,30,.92);stroke:rgba(255,207,90,.35);stroke-width:1.5}
.mn text{text-anchor:middle;fill:#fff}.mn .mb{font:700 26px Orbitron,Rajdhani,sans-serif;fill:#ffcf5a}.mn .ms{font:600 13px Rajdhani,sans-serif;letter-spacing:.12em;text-transform:uppercase;fill:#cdd2f2}
.n-comm rect,.n-fund rect{stroke:rgba(125,211,255,.5)}.n-comm .mb,.n-fund .mb{fill:#7dd3ff}
.coin{opacity:0;transition:opacity .4s}.coin text{text-anchor:middle;font:900 24px Orbitron,Rajdhani,sans-serif;fill:#3a2500}.coin .cring{fill:none;stroke:rgba(90,55,0,.45);stroke-width:2;stroke-dasharray:3 4}
.money.s-drop .coin{opacity:1}.money.s-drop .coin .cin{animation:coindrop .9s cubic-bezier(.3,1.6,.5,1) both}
@keyframes coindrop{from{transform:translateY(-60px) scale(.4);opacity:0}}
.coin .cin{animation:none}
.money.s-person .n-person,.money.s-person .n-comm,.money.s-person .n-fund{opacity:1}
.money.s-person .f-person,.money.s-person .f-comm,.money.s-person .f-fund{opacity:1}
.money.s-person .p-person,.money.s-person .p-comm,.money.s-person .p-fund{stroke:rgba(255,207,90,.4)}
.money.s-center .n-ops,.money.s-center .n-center,.money.s-center .f-ops,.money.s-center .f-center{opacity:1}
.money.s-center .p-ops,.money.s-center .p-center{stroke:rgba(255,207,90,.4)}
.bk{fill:rgba(255,207,90,.08);stroke:rgba(255,207,90,.3)}
.money.s-center .bk{animation:brick 6s ease-in-out infinite;animation-delay:calc(var(--i) * 140ms)}
@keyframes brick{0%{fill:rgba(255,207,90,.08)}20%,80%{fill:#d9a53c;filter:drop-shadow(0 0 4px #ffcf5a)}100%{fill:rgba(255,207,90,.08)}}
.roof{fill:none;stroke:#fff4d6;stroke-width:3;stroke-linejoin:round;opacity:.25}
.money.s-center .roof{opacity:.95;filter:drop-shadow(0 0 6px #fff4d6)}
.mside{display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:10px;min-height:0}
.money.tall .mside{grid-template-rows:auto auto auto}
.mstage{padding:1em 1.1em;border:1px solid var(--line);background:rgba(8,10,24,.7)}
.mstage h3{font-family:var(--hud);font-size:1.5em;color:#fff;margin:.2em 0}.mstage p{color:#d6daf3;line-height:1.55}
.mcalc{padding:.8em 1em;border:1px solid rgba(255,207,90,.35);background:rgba(30,22,4,.35);opacity:.35;transition:opacity .5s}
.money.s-slide .mcalc,.money:not(.s-drop) .mcalc{opacity:1}
.mcalc label{display:flex;justify-content:space-between;font-family:var(--hud);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.mcalc label b{color:#fff;font-size:1.1rem;letter-spacing:.04em}
.mslide{width:100%;accent-color:#ffcf5a;margin:.4em 0}
.mstats{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.mstats div{display:flex;flex-direction:column}
.mstats b{font-family:Orbitron,var(--hud);font-size:1rem;color:#ffcf5a}.mstats span{font-size:.68rem;color:var(--dim);letter-spacing:.06em}
.mco{padding:.7em 1em;border:1px dashed rgba(180,140,255,.45);opacity:.3;transition:opacity .6s}
.money.s-company .mco{opacity:1;box-shadow:0 0 24px rgba(138,61,255,.3)}
.mcorow{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem;color:#e4e6ff;margin-top:.3em}.mcorow b{color:#b48cff;font-family:Orbitron,var(--hud)}

.gmap{position:relative;min-height:0;border:1px solid var(--line);background:radial-gradient(ellipse at 60% 40%,rgba(138,61,255,.12),transparent 70%),rgba(4,6,16,.7);overflow:hidden}
.gmap canvas{position:absolute;inset:0}
.gcount{position:absolute;left:14px;top:10px;display:flex;flex-direction:column}
.gcount b{font-family:Orbitron,var(--hud);font-size:clamp(1.4rem,3.4vw,2.6rem);color:#fff;text-shadow:0 0 18px rgba(255,207,90,.6)}
.gcount span{font-family:var(--hud);letter-spacing:.3em;text-transform:uppercase;font-size:.62rem;color:var(--dim)}
.gchips{position:absolute;left:8px;right:8px;bottom:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.gchips .step{display:flex;flex-direction:column;align-items:flex-start;padding:.4rem .6rem;border:1px solid var(--line);background:rgba(8,10,24,.8);color:#cdd2f2;text-align:left;min-width:0}
.gchips .step b{font-family:Orbitron,var(--hud);font-size:.95rem;color:#ffcf5a}.gchips .step span{font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.gchips .step.on{border-color:#ffcf5a;box-shadow:0 0 18px rgba(255,207,90,.35);color:#fff}
.gdet .big{font-family:Orbitron,var(--hud);color:#fff;font-size:1.15em}

.hall{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;height:100%;min-height:0}
.plaques{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:8px;min-height:0}
.plq{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25em;padding:.4em;border:1px solid var(--line);color:#e8eaff;min-width:0;
  background:radial-gradient(circle at 50% 30%,hsl(var(--h) 70% 50% / .22),rgba(8,10,24,.85) 70%);animation:tilein .5s both;animation-delay:var(--d);transition:transform .3s,box-shadow .3s}
.plq i{font-style:normal;width:2.6em;height:2.6em;display:grid;place-items:center;border-radius:50%;font:900 .95rem Orbitron,var(--hud);color:#fff;border:2px solid hsl(var(--h) 80% 65% / .8);box-shadow:0 0 14px hsl(var(--h) 80% 60% / .5),inset 0 0 10px hsl(var(--h) 80% 60% / .4)}
.plq b{font-size:.78rem;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plq span{font-size:.62rem;color:var(--dim);letter-spacing:.08em}
.plq:hover,.plq.on{transform:translateY(-3px);box-shadow:0 0 0 1px #ffcf5a,0 0 26px rgba(255,207,90,.3)}
.hdet{padding:1em 1.1em;border:1px solid var(--line);background:linear-gradient(160deg,rgba(138,61,255,.12),rgba(8,10,24,.85));line-height:1.5;color:#d6daf3;font-size:.92em}
.hdet h3{font-family:var(--serif);font-size:1.5em;color:#fff;margin:.2em 0 .3em}.hdet p{margin:.35em 0}.hdet .what{color:var(--dim)}.hdet .lesson{color:#fff;border-left:2px solid var(--accent);padding-left:.6em}.hdet a{color:#9fb4ff}
.hdet.pin{animation:roomin .45s cubic-bezier(.2,.8,.2,1)}

.vbars{display:grid;gap:8px;margin:.4em 0 1em}
.vb{display:grid;grid-template-columns:5.5em 1fr auto;align-items:center;gap:8px;font-size:.8em;color:#cdd2f2}
.vb i{height:10px;width:var(--w);background:linear-gradient(90deg,rgba(138,61,255,.6),rgba(255,207,90,.7));border-radius:6px;animation:growx 1.1s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d);transform-origin:left}
@keyframes growx{from{transform:scaleX(0)}}
.vb b{font-family:Orbitron,var(--hud);color:#fff}.vb em{grid-column:2/4;font-style:normal;font-size:.85em;color:var(--dim);margin-top:-4px}
.vb.hot i{background:linear-gradient(90deg,#ffcf5a,#fff4d6);box-shadow:0 0 14px #ffcf5a}.vb.hot b{color:#ffcf5a}
.vr{grid-template-rows:minmax(0,1fr) auto}.vsteps{min-height:0;display:grid}.vsteps.pin{animation:roomin .45s cubic-bezier(.2,.8,.2,1)}
#amibtn.live{box-shadow:0 0 22px var(--human)}
@media (max-width:760px){
  .qgrid{grid-template-columns:repeat(2,1fr)}
  .hall{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.plaques{grid-template-columns:repeat(4,1fr);grid-auto-rows:auto}.plq{padding:.3em .2em}.plq b{font-size:.6rem}.plq span{display:none}.plq i{width:2em;height:2em;font-size:.7rem}
  .gw{grid-template-columns:1fr;grid-template-rows:minmax(0,1.2fr) minmax(0,1fr)}
  .gchips .step span{display:none}
  .val{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .mstats b{font-size:.85rem}
}
#holo .htitle .trest{font-style:normal}
@media (max-width:480px){#holo .htitle .trest{display:none}}
.money.tall{grid-template-rows:minmax(190px,1fr) auto}
.money.tall .mside{gap:6px}.money.tall .mstage{padding:.5em .7em}.money.tall .mstage .eyebrow,.money.tall .mstage p{display:none}.money.tall .mstage h3{font-size:1.1em;margin:0}
.money.tall .mcalc{padding:.5em .7em}.money.tall .mstats{grid-template-columns:repeat(4,1fr)}.money.tall .mstats span{font-size:.56rem}.money.tall .mco{padding:.4em .7em}.money.tall .mcorow{font-size:.72rem}
@media (max-width:760px){.val{grid-template-rows:auto minmax(170px,1fr)}.val .vl p{display:none}.val .vtarget{font-size:1.8rem}.vbars{margin:.2em 0 .5em}}
.mcalc{opacity:1!important}.money.s-slide .mcalc{box-shadow:0 0 26px rgba(255,207,90,.3)}
@media (max-width:480px){#holo .htitle span.wm{font-size:.72em}#holo .htitle b{overflow:visible}}
.qgrid .qcard:nth-child(10):last-child{grid-column:1/-1}@media (max-width:760px){.qgrid .qcard:nth-child(10):last-child{grid-column:1/-1}}
@media (max-width:900px){
  .gw{grid-template-columns:1fr;grid-template-rows:minmax(180px,1fr) auto}
  .gside{grid-template-rows:auto auto}
  .gdet{max-height:9.5em}
  .gtog button{padding:.35rem;font-size:.62rem}
  .gcount b{font-size:1.3rem}
  .gchips .step{padding:.25rem .4rem}.gchips .step b{font-size:.8rem}
}

/* ---------- Pioneers spread: the saturation map ---------- */
.spread{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,1fr);gap:14px;height:100%;min-height:0}
.smap{position:relative;min-height:0;border:1px solid var(--line);background:radial-gradient(ellipse at 55% 45%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%),rgba(4,6,16,.7);overflow:hidden}
.smap svg{position:absolute;inset:44px 10px 54px;width:calc(100% - 20px);height:calc(100% - 98px)}
.sz{fill:rgba(60,56,120,.22);stroke:rgba(159,180,255,.22);stroke-width:.8;transition:fill .5s,stroke .5s;cursor:pointer}
.sz.hov{fill:color-mix(in srgb,var(--accent) 28%,transparent)!important;stroke:var(--accent)}
.spread.zl .sz{animation:zlit 1.6s both;animation-delay:var(--d)}
@keyframes zlit{0%{fill:rgba(60,56,120,.22)}35%{fill:color-mix(in srgb,var(--accent) 34%,transparent);stroke:var(--accent)}100%{fill:hsla(var(--h),45%,40%,.2);stroke:rgba(200,210,255,.35)}}
.sout{fill:none;stroke:var(--accent);stroke-width:1.6;filter:drop-shadow(0 0 6px var(--accent))}
.sd circle{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(0)}
.sd .r,.sd .r2{fill:var(--sres,#ffcf5a);filter:drop-shadow(0 0 4px var(--sres,#ffcf5a))}
.sd .o,.sd .o2{fill:var(--sopen,#b48cff);filter:drop-shadow(0 0 4px var(--sopen,#b48cff))}
.spread.v60 .r60 circle,.spread.v60 .o60 circle{animation:sdrop .6s cubic-bezier(.3,1.7,.5,1) both;animation-delay:var(--d)}
.spread.v240 .r60 circle,.spread.v240 .o60 circle{opacity:.25;transform:scale(1);animation:none}
.spread.v240 .r240 circle,.spread.v240 .o240 circle{animation:sdrop .5s cubic-bezier(.3,1.7,.5,1) both;animation-delay:var(--d)}
.spread.calm .r240 circle,.spread.calm .o240 circle{animation:none;opacity:.9;transform:scale(1)}
@keyframes sdrop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.7)}100%{opacity:1;transform:scale(1)}}
.scount{position:absolute;left:14px;top:8px;display:flex;flex-direction:column}
.scount b{font-family:Orbitron,var(--hud);font-size:clamp(1.4rem,3.2vw,2.4rem);color:#fff;text-shadow:0 0 18px color-mix(in srgb,var(--accent) 60%,transparent)}
.scount span{font-family:var(--hud);letter-spacing:.24em;text-transform:uppercase;font-size:.62rem;color:var(--dim)}
.slegend{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:4px;font-size:.7rem;color:#cdd2f2}
.slegend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}
.slegend .lr{background:var(--sres,#ffcf5a);box-shadow:0 0 6px var(--sres,#ffcf5a)}.slegend .lo{background:var(--sopen,#b48cff);box-shadow:0 0 6px var(--sopen,#b48cff)}
.szname{position:absolute;left:10px;right:10px;bottom:8px;padding:.45rem .7rem;font-size:.74rem;line-height:1.4;color:#d6daf3;background:rgba(8,10,24,.82);border:1px solid var(--line);min-height:2.3em}
.sside{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;min-height:0}
.sstage{padding:1em 1.1em;border:1px solid var(--line);background:rgba(8,10,24,.7);overflow:hidden}
.sstage h3{font-family:var(--hud);font-size:1.35em;color:#fff;margin:.2em 0 .35em}
.sstage p{color:#d6daf3;line-height:1.55;font-size:.92em}
.slist{list-style:none;margin:.6em 0 0;padding:0;display:grid;gap:5px}
.slist li{position:relative;padding:.35em .6em .35em 1.6em;font-size:.84em;line-height:1.4;color:#e6e8fa;border-left:2px solid var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent);animation:tilein .45s both;animation-delay:var(--d)}
.slist li::before{content:"✦";position:absolute;left:.5em;color:var(--accent);font-size:.8em;top:.45em}
.schips{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.schips button{padding:.45rem .3rem;border:1px solid var(--line);background:rgba(8,10,24,.8);color:#cdd2f2;font-family:var(--hud);font-size:.68rem;letter-spacing:.06em;cursor:pointer;min-width:0}
.schips button b{font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.schips button.on{border-color:var(--accent);color:#fff;box-shadow:0 0 16px color-mix(in srgb,var(--accent) 35%,transparent)}
@media (max-width:760px){.spread{grid-template-columns:1fr;grid-template-rows:minmax(0,1.1fr) minmax(0,1fr)}.schips{grid-template-columns:repeat(5,minmax(0,1fr))}.slegend{display:none}}

/* ---------- Ask the guide ---------- */
#holo .askpop{position:absolute;right:14px;top:150px;z-index:20;width:min(380px,calc(100% - 28px));max-height:calc(100% - 170px);overflow:auto;padding:12px;border:1px solid var(--accent);background:rgba(6,8,22,.95);box-shadow:0 18px 50px rgba(0,0,0,.6),0 0 30px color-mix(in srgb,var(--accent) 25%,transparent);animation:tilein .3s both}
#holo .askpop[hidden]{display:none}
.askhd{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.askhd b{font-family:var(--hud);letter-spacing:.2em;text-transform:uppercase;font-size:.78rem;color:var(--accent)}
.askx{background:none;border:0;color:#cdd2f2;font-size:1rem;cursor:pointer;padding:4px 8px}
.askqs{display:grid;gap:6px}
.askqs button{text-align:left;padding:.55rem .75rem;border:1px solid var(--line);background:rgba(14,16,36,.8);color:#e6e8fa;font-size:.86rem;cursor:pointer;line-height:1.35}
.askqs button:hover,.askqs button:focus-visible,.askqs button.on{border-color:var(--accent);outline:none;background:color-mix(in srgb,var(--accent) 12%,rgba(14,16,36,.8))}
.aska{margin-top:10px;font-size:.88rem;line-height:1.5;color:#fff;min-height:1em}
.aska:empty{display:none}

/* ---------- the guide glows with the voice ---------- */
#holo .gpod video{filter:brightness(calc(1 + var(--vl,0) * .9)) drop-shadow(0 0 calc(var(--vl,0) * 26px) color-mix(in srgb,var(--human) 80%,transparent));transition:filter .08s linear}
#holo .gpod .wave i{transform:scaleY(calc(.35 + var(--vl,0) * 2.4))}
#holo .pres .pwave{display:inline-flex;gap:3px;align-items:center;height:22px;margin:0 6px}
#holo .pres .pwave i{width:3px;height:100%;border-radius:2px;background:var(--accent);transform:scaleY(calc(.15 + var(--vl,0) * 1.2));transition:transform .08s}
#holo .pres .pwave i:nth-child(2),#holo .pres .pwave i:nth-child(4){transform:scaleY(calc(.15 + var(--vl,0) * .8))}
@media (max-width:640px){#holo .pres .pwave{display:none}}
@media (max-width:760px){.spread{grid-template-rows:minmax(0,1.6fr) minmax(0,1fr);gap:8px}.smap svg{inset:30px 4px 40px;width:calc(100% - 8px);height:calc(100% - 70px)}.scount b{font-size:1.3rem}.scount span{display:none}.szname{font-size:.66rem;padding:.3rem .5rem;min-height:0}}
/* Ask: type any question */
.askf{display:flex;gap:6px;margin-bottom:8px}
.askf input{flex:1;min-width:0;padding:.55rem .7rem;border:1px solid var(--line);background:rgba(4,6,16,.9);color:#fff;font:inherit;font-size:.88rem}
.askf input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}
.askrel{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;align-items:center}
.askrel:empty{display:none}
.askrel span{width:100%;font-family:var(--hud);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.askrel button{padding:.35rem .55rem;border:1px dashed var(--line);background:none;color:#cdd2f2;font-size:.76rem;cursor:pointer;text-align:left}
.askrel button:hover,.askrel button:focus-visible{border-color:var(--accent);color:#fff;outline:none}
/* ===== Inside the Vault: interactive podcast ===== */
#holo .podx{position:absolute;inset:0;z-index:30;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;color:#f3f0ff;opacity:0;transition:opacity .45s;
  background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--accent) 14%,#070816) 0%,#04050c 70%)}
#holo .podx.on{opacity:1}
#holo .podx .pdhd{display:flex;align-items:center;gap:12px;padding:12px clamp(12px,3vw,28px) 6px}
#holo .podx .pdhd h3{font-family:var(--hud);font-size:clamp(.95rem,2vw,1.25rem);letter-spacing:.05em;text-transform:uppercase;margin-top:.2rem}
#holo .podx .pdhd .eyebrow{color:var(--accent)}
#holo .podx .pbtn{font-family:var(--hud);font-size:1rem;min-width:42px;height:42px;padding:0 .8rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);background:rgba(10,12,28,.7);color:#fff;cursor:pointer}
#holo .podx .pbtn:hover,#holo .podx .pbtn:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}
#holo .podx .px{margin-left:auto;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;flex:0 0 auto}
#holo .podx .pdbody{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr) minmax(250px,340px);gap:clamp(10px,2vw,22px);padding:6px clamp(12px,3vw,28px) 8px;min-height:0}
#holo .podx .pdch{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-height:0;overflow:auto}
#holo .podx .pdch button{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;padding:.55rem .6rem;border:1px solid rgba(255,255,255,.1);background:rgba(8,10,24,.6);color:#d9dcf5;cursor:pointer;font:inherit;font-size:.82rem;border-radius:8px;transition:border-color .25s,background .25s}
#holo .podx .pdch button b{font-family:var(--hud);color:var(--accent);font-size:.78rem}
#holo .podx .pdch button em{display:block;font-style:normal;font-size:.7rem;color:#9ea3c8;margin-top:2px}
#holo .podx .pdch button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,rgba(8,10,24,.7));color:#fff}
#holo .podx .pdch button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
#holo .podx .pdstage{display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,4vh,40px);min-height:0;min-width:0}
#holo .podx .pdhosts{display:flex;align-items:center;justify-content:center;gap:clamp(10px,4vw,48px);padding-top:4px}
#holo .podx .phost{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.55;transition:opacity .3s;min-width:0}
#holo .podx .phost.on{opacity:1}
#holo .podx .porb{--hc:#7fd6ff;position:relative;width:clamp(58px,9vw,96px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--hc) 55%,#fff) 0%,var(--hc) 35%,color-mix(in srgb,var(--hc) 30%,#05060f) 100%);
  box-shadow:0 0 18px color-mix(in srgb,var(--hc) 40%,transparent);transition:box-shadow .1s,transform .1s}
#holo .podx .h-A .porb{--hc:var(--accent)}
#holo .podx .porb span{font-family:var(--serif);font-weight:700;font-size:clamp(1.4rem,3vw,2.2rem);color:#0a0b18}
#holo .podx .porb i{position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--hc);opacity:0;transform:scale(.9)}
#holo .podx .phost.on .porb{transform:scale(calc(1 + var(--vl,0) * .08));box-shadow:0 0 calc(20px + var(--vl,0) * 50px) color-mix(in srgb,var(--hc) 70%,transparent)}
#holo .podx .phost.on .porb i{opacity:calc(.3 + var(--vl,0) * .7);transform:scale(calc(1 + var(--vl,0) * .15))}
#holo .podx .phost b{font-family:var(--hud);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
#holo .podx .phost em{font-style:normal;font-size:.66rem;color:#9ea3c8;text-align:center;max-width:16ch}
#holo .podx .pdmid .pwave{display:inline-flex;gap:3px;align-items:center;height:28px}
#holo .podx .pdmid .pwave i{width:3px;height:100%;border-radius:2px;background:var(--accent);transform:scaleY(calc(.12 + var(--vl,0) * 1.2));transition:transform .08s}
#holo .podx .pdmid .pwave i:nth-child(2),#holo .podx .pdmid .pwave i:nth-child(4){transform:scaleY(calc(.12 + var(--vl,0) * .8))}
#holo .podx .pdtx{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;min-height:0;max-height:62%;flex:0 1 auto;overflow:hidden;width:min(760px,100%);margin:0 auto;padding:0 4px 4px}
#holo .podx .pdtx p{margin:0;line-height:1.5}
#holo .podx .pdtx p b{display:block;font-family:var(--hud);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:#7fd6ff;margin-bottom:2px}
#holo .podx .pdtx p.w-A b{color:var(--accent)}
#holo .podx .pdtx p.old{font-size:.86rem;color:#8f94ba;opacity:.75}
#holo .podx .pdtx p.now{font-family:var(--serif);font-size:clamp(1.05rem,2.3vw,1.55rem);color:#fff}
#holo .podx .pdtx p.now.ans{border-left:3px solid var(--accent);padding-left:12px}
#holo .podx .pdtx p.in{animation:ptin .5s cubic-bezier(.2,.8,.2,1) both}
#holo .podx .pdask{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:rgba(6,8,22,.7);border-radius:10px}
#holo .podx .pdask .eyebrow{color:var(--accent)}
#holo .podx .pdqs{display:flex;flex-direction:column;gap:6px}
#holo .podx .pdqs button,#holo .podx .pdqa button{text-align:left;font:inherit;font-size:.82rem;padding:.5rem .6rem;border:1px solid rgba(255,255,255,.14);background:rgba(12,14,32,.8);color:#e7e9ff;cursor:pointer;border-radius:8px}
#holo .podx .pdqs button:hover,#holo .podx .pdqs button.on,#holo .podx .pdqa button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,rgba(12,14,32,.8))}
#holo .podx .pdqs button:focus-visible,#holo .podx .pdqa button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
#holo .podx .pdf{display:flex;gap:6px}
#holo .podx .pdf input{flex:1;min-width:0;font:inherit;font-size:.85rem;padding:.5rem .6rem;border:1px solid rgba(255,255,255,.2);background:rgba(3,4,12,.8);color:#fff;border-radius:8px}
#holo .podx .pdf input:focus{outline:none;border-color:var(--accent)}
#holo .podx .pdf .cb{--c:var(--accent)}
#holo .podx .pdqa{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);animation:ptin .4s both}
#holo .podx .pdqa b{font-family:var(--hud);font-size:.75rem;letter-spacing:.06em}
#holo .podx .pdqa p{margin:0;font-size:.85rem;line-height:1.5;color:#dfe1f7}
#holo .podx .pdqa.miss{border-color:#ffb36b}
#holo .podx .pdnote{margin:auto 0 0;font-size:.66rem;color:#8a8fb4;line-height:1.4}
#holo .podx .pdbar{position:static;display:flex;align-items:center;gap:8px;padding:10px clamp(12px,3vw,28px) 14px;background:linear-gradient(0deg,rgba(3,4,10,.9),transparent)}
#holo .podx .pdprog{flex:1;display:flex;gap:4px;min-width:60px}
#holo .podx .pdprog i{flex:var(--n,1);height:6px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden;cursor:pointer}
#holo .podx .pdprog i u{display:block;height:100%;width:calc(var(--p,0) * 100%);background:var(--accent);transition:width .4s}
#holo .podx .pcount{font-family:var(--hud);font-size:.72rem;letter-spacing:.1em;color:#aeb3d8;white-space:nowrap;max-width:34vw;overflow:hidden;text-overflow:ellipsis}
@media (max-width:860px){
  #holo .podx .pdbody{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) minmax(0,auto);gap:8px}
  #holo .podx .pdch{flex-direction:row;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
  #holo .podx .pdch li{flex:0 0 auto}
  #holo .podx .pdch button{padding:.4rem .55rem;font-size:.74rem;white-space:nowrap}
  #holo .podx .pdch button em{display:none}
  #holo .podx .pdask{max-height:min(46vh,330px);padding:8px}
  #holo .podx .pdqs{flex-direction:row;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
  #holo .podx .pdqs button{flex:0 0 auto;white-space:nowrap}
  #holo .podx .pdnote{display:none}
  #holo .podx .pdtx p.old:first-child{display:none}
  #holo .podx .pdstage{justify-content:space-between}
  #holo .podx .pdtx{max-height:none;flex:1 1 auto}
  #holo .podx .pcount{display:none}
}
@media (max-width:860px) and (max-height:700px){#holo .podx .phost em{display:none}#holo .podx .porb{width:50px}}
@media (prefers-reduced-motion:reduce){#holo .podx .pdtx p.in,#holo .podx .pdqa{animation:none}}
#holo .podx .pdsoon{display:none}
@media (max-width:860px){
  #holo .podx .pdtx p.now.ans{font-size:0;border-left-width:3px}
  #holo .podx .pdtx p.now.ans b{display:inline;font-size:.66rem;margin-right:.5em}
  #holo .podx .pdtx p.now.ans .pdsoon{display:inline;font-family:var(--hud);font-size:.8rem;letter-spacing:.06em;color:#cfd2ec}
}
@media (max-height:500px) and (orientation:landscape){
  #holo .podx .pdhd{padding:6px 14px 2px}#holo .podx .pdhd .eyebrow{display:none}#holo .podx .pdhd h3{font-size:.85rem}
  #holo .podx .px{height:34px}
  #holo .podx .pdbody{grid-template-columns:minmax(0,1fr) minmax(220px,40%);grid-template-rows:minmax(0,1fr);padding:4px 14px}
  #holo .podx .pdch{display:none}
  #holo .podx .pdstage{justify-content:flex-start;gap:6px}
  #holo .podx .pdhosts{gap:14px;padding:0}#holo .podx .phost{flex-direction:row;gap:6px}#holo .podx .phost em{display:none}
  #holo .podx .porb{width:34px}#holo .podx .porb span{font-size:1rem}
  #holo .podx .pdtx{max-height:none;flex:1 1 auto}#holo .podx .pdtx p.old{display:none}
  #holo .podx .pdtx p.now{font-size:1rem}
  #holo .podx .pdtx p.now.ans{font-size:0}#holo .podx .pdtx p.now.ans b{display:inline;font-size:.66rem;margin-right:.5em}#holo .podx .pdtx p.now.ans .pdsoon{display:inline;font-size:.8rem;color:#cfd2ec}
  #holo .podx .pdask{max-height:none;padding:6px}
  #holo .podx .pdqs{flex-direction:column;overflow:visible}#holo .podx .pdqs button{white-space:normal}
  #holo .podx .pdbar{padding:4px 14px 8px}#holo .podx .pdbar .pbtn{height:34px;min-width:34px}
}
