:root{--bg:#050204;--ink:#f3e9e6;--mut:#b8a5a3;--blue:#59b8ff;--red:#ff2338;--blood:#8f0a17;--ember:#ff7a1a;--acc:#59b8ff;--acc2:#2a6cff;--glow:89,184,255;--p:0;--disp:'Orbitron',sans-serif;--serif:'Cinzel',serif;--body:'Rajdhani',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:auto;background:var(--bg)}
html,body{overflow-x:clip;max-width:100%}
body{margin:0;color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.55;background:radial-gradient(120% 80% at 50% 0%,rgba(var(--glow),.10),transparent 60%),var(--bg)}
body.is-loading{overflow:hidden}
img{max-width:100%;display:block}
svg{width:1em;height:1em}
a{color:inherit;text-decoration:none}
::selection{background:var(--red);color:#fff}
#space,#warp{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
#warp{z-index:60;opacity:0}
#cursorlight{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(255,35,56,.16),transparent 65%);mix-blend-mode:screen;transform:translate3d(-999px,-999px,0)}
.grain{position:fixed;inset:-50%;z-index:2;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-2%)}}
main,footer,.topbar{position:relative;z-index:3}

/* INTRO */
#intro{position:fixed;inset:0;z-index:100;pointer-events:auto}
.intro-half{position:absolute;left:0;right:0;height:50.5%;background:#000}
.intro-half.top{top:0}.intro-half.bot{bottom:0}
.intro-breath{position:absolute;left:50%;top:50%;width:46vmin;height:46vmin;margin:-23vmin 0 0 -23vmin;border-radius:50%;background:radial-gradient(circle,rgba(143,10,23,.55),transparent 62%);animation:breath 1.6s ease-in-out infinite;opacity:.0}
body.intro-on .intro-breath{opacity:1}
@keyframes breath{0%,100%{transform:scale(.7);opacity:.35}50%{transform:scale(1.05);opacity:.9}}
.intro-spark{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:#ffd2a0;box-shadow:0 0 12px 4px var(--ember),0 0 40px 10px rgba(255,90,0,.5);opacity:0}
.intro-blade{position:absolute;left:0;right:0;top:50%;height:0;display:flex;justify-content:center}
.intro-blade span{display:block;height:6px;margin-top:-3px;width:0;border-radius:6px;background:#eef8ff;box-shadow:0 0 8px 2px #9fd6ff,0 0 26px 8px var(--blue),0 0 80px 20px rgba(42,108,255,.6)}
.intro-blade.red span{background:#fff0f0;box-shadow:0 0 8px 2px #ff8a8a,0 0 26px 8px var(--red),0 0 90px 24px rgba(200,0,20,.65)}
.intro-word{position:absolute;left:0;right:0;top:calc(50% + 34px);text-align:center;font-family:var(--disp);letter-spacing:.6em;font-size:12px;color:#d9c6c3;opacity:0;padding-left:.6em}
.intro-skip{position:absolute;right:20px;bottom:20px;background:none;border:1px solid #ffffff30;color:#cbb;font:600 12px var(--disp);letter-spacing:.2em;padding:8px 14px;border-radius:30px;cursor:pointer;text-transform:uppercase}
#intro.gone{display:none}

/* TOPBAR */
.topbar{position:fixed;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(5,2,4,.85),transparent);display:flex;justify-content:space-between;align-items:center;padding:16px clamp(16px,4vw,40px);z-index:40;pointer-events:none}
.topbar>*{pointer-events:auto}
.brand{display:flex;gap:10px;align-items:center;font:900 16px var(--disp);letter-spacing:.12em}
.brand img{border-radius:50%;box-shadow:0 0 0 1px rgba(var(--glow),.6),0 0 18px rgba(var(--glow),.45)}
.xbtn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:40px;border:1px solid rgba(255,255,255,.18);background:rgba(10,4,6,.55);backdrop-filter:blur(8px);font:700 12px var(--disp);letter-spacing:.14em;text-transform:uppercase}
.xbtn svg{width:16px;height:16px}
[aria-disabled="true"]{cursor:not-allowed;opacity:.6}
.xbtn[aria-disabled="true"] .lbl,.btn[aria-disabled="true"] .lbl{color:var(--ember)}

/* RAIL */
#rail{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:45;height:min(70vh,560px);width:44px;display:flex;flex-direction:column;align-items:center}
.rail-blade{position:relative;flex:1;width:6px;border-radius:6px 6px 0 0;background:rgba(255,255,255,.06);overflow:hidden}
.rail-blade i{position:absolute;left:0;right:0;bottom:0;height:calc(var(--prog,0)*100%);border-radius:6px;background:linear-gradient(to top,#fff,#fff 30%,var(--acc));box-shadow:0 0 10px 2px var(--acc),0 0 22px 6px rgba(var(--glow),.5)}
.rail-blade{box-shadow:0 0 0 1px rgba(255,255,255,.05)}
.rail-hilt{width:18px;height:74px;border-radius:3px;background:linear-gradient(90deg,#2a2a2e,#9a9aa4 35%,#3a3a40 60%,#16161a);position:relative;display:flex;flex-direction:column;justify-content:space-evenly;align-items:center}
.rail-hilt span{width:22px;height:5px;background:#111;border-radius:1px}
.rail-hilt em{position:absolute;right:-5px;top:16px;width:5px;height:8px;background:var(--red);border-radius:1px;box-shadow:0 0 6px var(--red)}
.rail-marks{position:absolute;inset:0 0 74px 0;list-style:none;margin:0;padding:0;display:flex;flex-direction:column-reverse;justify-content:space-between}
.rail-marks li{position:relative;height:0}
.rail-marks a{position:absolute;right:30px;top:-11px;display:flex;align-items:center;gap:10px;white-space:nowrap;flex-direction:row-reverse}
.rail-marks b{font:700 11px var(--serif);color:var(--mut);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);background:rgba(5,2,4,.7);transition:.3s}
.rail-marks span{font:600 11px var(--disp);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);opacity:0;transform:translateX(8px);transition:.3s;text-shadow:0 0 10px #000}
.rail-marks a:hover span,.rail-marks a.on span{opacity:1;transform:none}
.rail-marks a.on b{color:#fff;border-color:var(--acc);box-shadow:0 0 12px var(--acc)}
.rail-marks a{right:auto;left:-34px}
.rail-marks a{left:auto;right:28px}

/* SHARED */
.chapter{position:relative;min-height:100vh;padding:clamp(90px,12vh,140px) clamp(18px,5vw,64px)}
.wrap{max-width:1180px;margin:0 auto;position:relative}
.eyebrow{display:flex;align-items:center;gap:12px;font:600 12px var(--disp);letter-spacing:.32em;text-transform:uppercase;color:var(--acc);margin:0 0 18px}
.eyebrow.center{justify-content:center}
.eb-line{width:42px;height:2px;background:var(--acc);box-shadow:0 0 10px var(--acc)}
.h2{font:900 clamp(34px,5.4vw,72px)/1.02 var(--serif);margin:0 0 14px;letter-spacing:.01em}
.h2 em{font-style:normal;color:var(--acc);text-shadow:0 0 30px rgba(var(--glow),.55)}
.sub{color:var(--mut);max-width:620px;font-size:19px;margin:0 0 40px}

/* HERO */
.hero{display:flex;align-items:center;padding-top:96px;padding-bottom:40px;overflow:hidden}
.hero-grid{max-width:1240px;margin:0 auto;width:100%;display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:center}
.wordmark{font:900 clamp(64px,12.5vw,190px)/.88 var(--disp);margin:0;letter-spacing:.04em;display:flex;background:linear-gradient(180deg,#fff 0%,#f1dcd8 45%,#a8323c 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 28px rgba(255,35,56,.25))}
.wordmark span{display:inline-block}
.saber-underline{position:relative;height:5px;margin:16px 0 22px;width:min(100%,640px);border-radius:5px;background:rgba(255,255,255,.06)}
.saber-underline i{position:absolute;inset:0;border-radius:5px;background:linear-gradient(90deg,#fff,#fff 70%,var(--acc));box-shadow:0 0 8px 2px var(--acc),0 0 30px 8px rgba(var(--glow),.6);transform-origin:left}
.ticker{font:700 clamp(20px,2.4vw,30px) var(--disp);letter-spacing:.08em;margin:0 0 10px}
.ticker em{font:500 16px var(--body);letter-spacing:.04em;color:var(--mut);font-style:normal;margin-left:8px}
.lede{color:#d8c7c4;max-width:560px;margin:0 0 26px}
.lede b{color:var(--ember)}
.ca-box{display:flex;align-items:center;gap:12px;max-width:560px;padding:8px 8px 8px 16px;border-radius:14px;border:1px solid rgba(var(--glow),.35);background:linear-gradient(90deg,rgba(var(--glow),.08),rgba(10,4,6,.7));backdrop-filter:blur(6px);margin-bottom:20px}
.ca-box.wide{max-width:760px;margin:40px auto 30px}
.ca-label{font:700 10px var(--disp);letter-spacing:.24em;text-transform:uppercase;color:var(--acc);flex:none}
.ca-box code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 15px ui-monospace,Menlo,monospace;color:#fff}
.ca-copy{flex:none;display:inline-flex;gap:8px;align-items:center;cursor:pointer;border:0;border-radius:10px;padding:10px 14px;background:var(--red);color:#fff;font:700 12px var(--disp);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 0 18px rgba(255,35,56,.45);transition:transform .2s}
.ca-copy:hover{transform:translateY(-1px)}
.ca-copy svg{width:16px;height:16px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.ctas.center{justify-content:center;margin-top:36px}
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:12px;font:700 14px var(--disp);letter-spacing:.12em;text-transform:uppercase;transition:transform .25s,box-shadow .25s;overflow:hidden}
.btn img{border-radius:5px}
.btn svg{width:18px;height:18px}
.btn small{font:700 10px var(--disp);padding:3px 7px;border-radius:6px;background:rgba(0,0,0,.35);color:var(--ember);letter-spacing:.1em}
.btn-red{background:linear-gradient(180deg,#ff3546,#b40b1c);color:#fff;box-shadow:0 0 0 1px #ff6b77 inset,0 10px 30px -8px rgba(255,35,56,.8)}
.btn-ghost{border:1px solid rgba(255,255,255,.2);background:rgba(10,4,6,.55);backdrop-filter:blur(6px)}
.btn:not([aria-disabled="true"]):hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--acc) inset,0 0 30px rgba(var(--glow),.5)}
.btn::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-20deg);transition:left .6s}
.btn:hover::after{left:130%}
.hero-figure{position:relative;height:min(86vh,820px);display:flex;justify-content:center;align-items:flex-end}
.hero-figure .figure{position:relative;z-index:2;height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 0 2px rgba(255,120,90,.35)) drop-shadow(-12px 0 22px rgba(var(--glow),.25)) drop-shadow(16px 0 30px rgba(255,35,56,.35))}
.rim{position:absolute;z-index:1;left:50%;top:48%;width:120%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(255,96,20,.55),rgba(170,12,26,.35) 35%,transparent 64%);filter:blur(10px)}
.hero-sigil{position:absolute;z-index:0;left:50%;top:44%;width:min(110%,620px);height:min(110%,620px);transform:translate(-50%,-50%);color:rgba(255,70,60,.22);animation:spin 80s linear infinite}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.figure-saberglow{position:absolute;z-index:3;left:14%;bottom:12%;width:18%;height:34%;background:radial-gradient(ellipse at 40% 60%,rgba(var(--glow),.45),transparent 60%);mix-blend-mode:screen;filter:blur(8px);animation:hum 2.4s ease-in-out infinite;pointer-events:none}
@keyframes hum{0%,100%{opacity:.7}50%{opacity:1}}
.scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font:600 10px var(--disp);letter-spacing:.3em;text-transform:uppercase;color:var(--mut)}
.scroll-cue i{width:2px;height:40px;background:linear-gradient(var(--acc),transparent);animation:cue 1.8s ease-in-out infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* TURN */
.turn{padding:0;height:320vh;min-height:0}

.turn-stage{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:80px 18px 40px;overflow:hidden;--t:0}
.turn-stage::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 50% at 50% 45%,rgba(42,108,255,calc(.28*(1 - var(--t)))),transparent 70%),radial-gradient(60% 50% at 50% 45%,rgba(220,20,30,calc(.38*var(--t))),transparent 70%)}
.turn-heads{position:relative;width:min(300px,64vw);aspect-ratio:111/128;border-radius:50% 50% 46% 46%/40% 40% 60% 60%;overflow:hidden;box-shadow:0 0 0 1px rgba(var(--glow),.4),0 0 60px rgba(var(--glow),.35);-webkit-mask:radial-gradient(70% 70% at 50% 45%,#000 60%,transparent 100%);mask:radial-gradient(70% 70% at 50% 45%,#000 60%,transparent 100%)}
.head{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.head.h1{opacity:1}
.head-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 2px,transparent 2px 4px);mix-blend-mode:multiply}
.turn-blade{position:relative;width:min(560px,86vw);height:46px}
.turn-blade .bl{display:none}
.beam{position:absolute;left:0;right:0;top:50%;height:10px;margin-top:-5px;display:flex;align-items:center}
.beam::before{content:"";width:64px;height:18px;flex:none;border-radius:3px;background:linear-gradient(180deg,#5a5a62,#d0d0d8 40%,#2a2a30);box-shadow:inset -8px 0 0 #111}
.beam i{flex:1;height:8px;border-radius:0 8px 8px 0;background:#fff;transform-origin:left;box-shadow:0 0 6px 2px var(--bc,#59b8ff),0 0 22px 7px var(--bc,#59b8ff),0 0 60px 16px var(--bcg,rgba(42,108,255,.6))}
.turn-quotes{position:relative;height:96px;width:min(820px,92vw)}
.q{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;font:700 clamp(22px,3.4vw,40px)/1.15 var(--serif);opacity:0;color:#fff;text-shadow:0 0 24px rgba(var(--glow),.6)}
.q1{opacity:1}
.turn-meter{display:flex;gap:12px;align-items:center;font:600 10px var(--disp);letter-spacing:.3em;text-transform:uppercase;color:var(--mut)}
.turn-meter div{width:180px;height:3px;background:linear-gradient(90deg,var(--blue),var(--red));position:relative;border-radius:3px}
.turn-meter i{position:absolute;top:50%;left:calc(var(--t)*100%);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff}

/* MUSTAFAR */
.mustafar{overflow:hidden;background:linear-gradient(180deg,transparent,rgba(80,6,6,.35) 40%,rgba(120,20,0,.35))}
.lava{position:absolute;left:0;right:0;bottom:0;height:60%;pointer-events:none;filter:url(#heat);opacity:.9}
.lava svg{width:100%;height:100%}
.cracks path{stroke:#ff6a00;stroke-width:3;filter:drop-shadow(0 0 6px #ff3b00) drop-shadow(0 0 16px #ff2200);stroke-dasharray:1600;stroke-dashoffset:1600;animation:crack 3s ease forwards paused}
.mustafar.lit .cracks path{animation-play-state:running}
.cracks path:nth-child(2){stroke-width:2;animation-delay:.6s}.cracks path:nth-child(3){stroke-width:1.6;animation-delay:1.1s}
@keyframes crack{to{stroke-dashoffset:0}}
.heat{filter:url(#heat)}
.holocrons{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;perspective:900px}
.holo{position:relative;padding:22px 20px 20px;border-radius:12px;background:linear-gradient(160deg,rgba(255,110,30,.14),rgba(20,4,4,.8) 60%);border:1px solid rgba(255,110,30,.35);overflow:hidden;transform-style:preserve-3d;transition:transform .4s,box-shadow .4s}
.holo:hover{transform:translateY(-4px) rotateX(6deg);box-shadow:0 18px 40px -16px rgba(255,80,0,.6)}
.holo::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,140,60,.06) 0 1px,transparent 1px 3px);pointer-events:none}
.holo::after{content:"";position:absolute;top:10px;right:10px;width:14px;height:14px;border:1px solid var(--ember);transform:rotate(45deg);box-shadow:0 0 8px var(--ember)}
.holo dt{font:600 11px var(--disp);letter-spacing:.24em;text-transform:uppercase;color:var(--ember);margin-bottom:10px}
.holo dd{margin:0;font:900 clamp(26px,3vw,38px)/1 var(--disp);color:#fff;text-shadow:0 0 20px rgba(255,90,20,.5)}
.holo .ph{display:inline-block;margin-top:10px;font:600 10px var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);border:1px dashed rgba(255,255,255,.2);padding:2px 6px;border-radius:4px}
.mustafar-shot{margin:56px auto 0;max-width:820px;border-radius:18px;overflow:hidden;position:relative;box-shadow:0 0 0 1px rgba(255,60,40,.35),0 40px 80px -30px rgba(255,30,0,.6)}
.mustafar-shot img{width:100%;filter:saturate(1.1) contrast(1.05)}
.mustafar-shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(20,0,0,.85)),linear-gradient(90deg,rgba(255,60,0,.18),transparent 40%)}
.mustafar-shot figcaption{position:absolute;left:24px;bottom:18px;z-index:2;font:700 clamp(16px,2.2vw,24px) var(--serif)}

/* ARCHIVES */
.projector{position:relative;margin:10px auto 0;width:min(560px,100%);outline:none;padding-bottom:70px}
.holo-frame{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#05070c;box-shadow:0 0 0 1px rgba(var(--glow),.35),0 0 60px rgba(var(--glow),.18)}
.holo-screen{position:absolute;inset:0}
.holo-item{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#030407}
.holo-item img,.holo-item video{width:100%;height:100%;object-fit:contain}
.holo-item .bgblur{position:absolute;inset:-20px;width:calc(100% + 40px);height:calc(100% + 40px);object-fit:cover;filter:blur(24px) brightness(.35);}
.holo-item .fg{position:relative}
.holo-item.holo .fg,.holo-item.holo .bgblur{filter:grayscale(1) sepia(1) hue-rotate(170deg) saturate(3.2) brightness(1.05) contrast(1.1);opacity:.75}
.holo-item.holo{animation:flick .9s steps(1) 1}
.holo-item.holo .fg{animation:jit .12s steps(2) infinite}
.holo-item .fg,.holo-item .bgblur{transition:filter 1.1s ease,opacity 1.1s ease}
@keyframes flick{0%{opacity:0}8%{opacity:.8}12%{opacity:.1}20%{opacity:.9}26%{opacity:.3}34%{opacity:1}}
@keyframes jit{0%{transform:translateX(0)}50%{transform:translateX(1.5px) skewX(.6deg)}}
.holo-lines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(120,200,255,.10) 0 1px,transparent 1px 4px);opacity:1;transition:opacity 1s}
.projector.resolved .holo-lines{opacity:.25}
.holo-lines::after{content:"";position:absolute;left:0;right:0;height:22%;background:linear-gradient(180deg,transparent,rgba(120,200,255,.18),transparent);animation:sweep 3.2s linear infinite}
@keyframes sweep{from{top:-25%}to{top:110%}}
.holo-status{position:absolute;left:12px;right:12px;top:10px;display:flex;gap:10px;align-items:center;font:600 10px var(--disp);letter-spacing:.2em;text-transform:uppercase;color:#bfe3ff;text-shadow:0 0 6px #000;pointer-events:none}
.holo-status .js-count{margin-left:auto}
.holo-status .dot{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 8px var(--blue);animation:hum 1s infinite}
.projector.resolved .holo-status .dot{background:var(--red);box-shadow:0 0 8px var(--red)}
.holo-cone{position:absolute;left:50%;bottom:30px;width:110%;height:60px;transform:translateX(-50%);background:radial-gradient(60% 100% at 50% 100%,rgba(var(--glow),.35),transparent 70%);clip-path:polygon(44% 100%,56% 100%,100% 0,0 0);pointer-events:none}
.emitter{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:120px;height:22px;border-radius:50%;background:radial-gradient(ellipse,#2b2f38,#0b0c10 70%);box-shadow:0 0 0 1px #3c4250,0 0 30px rgba(var(--glow),.5);display:flex;justify-content:center;align-items:center;gap:14px}
.emitter i{width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 8px var(--blue)}
.holo-nav{position:absolute;top:calc(50% - 35px);width:52px;height:52px;margin-top:-26px;border-radius:50%;border:1px solid rgba(var(--glow),.5);background:rgba(5,6,10,.7);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);transition:.25s;z-index:3}
.holo-nav svg{width:22px;height:22px}
.holo-nav:hover{background:var(--red);border-color:var(--red);box-shadow:0 0 22px var(--red)}
.holo-nav.prev{left:-76px}.holo-nav.next{right:-76px}
.holo-meta{max-width:640px;margin:8px auto 0;text-align:center}
.holo-caption{font:700 clamp(18px,2.2vw,24px)/1.3 var(--serif);margin:0 0 12px;min-height:2.6em}
.holo-link{display:inline-flex;align-items:center;gap:10px;font:600 12px var(--disp);letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border-radius:30px;border:1px solid rgba(255,255,255,.18);background:rgba(10,4,6,.6);flex-wrap:wrap;justify-content:center}
.holo-link svg{width:14px;height:14px}
.holo-link .v{color:var(--acc)}
.holo-link:hover{border-color:var(--acc)}
.crystals{display:flex;justify-content:center;gap:12px;margin-top:28px;flex-wrap:wrap}
.crystal{width:58px;height:72px;padding:0;border:0;cursor:pointer;background:none;position:relative;clip-path:polygon(50% 0,100% 22%,100% 78%,50% 100%,0 78%,0 22%);opacity:.5;transition:.3s}
.crystal img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(1) hue-rotate(170deg) saturate(2.5)}
.crystal.on{opacity:1;transform:translateY(-4px)}
.crystal.on img{filter:none}
.crystal:hover{opacity:.9}
.crystal .pl{position:absolute;inset:0;display:grid;place-items:center;color:#fff}
.crystal .pl svg{width:18px;height:18px;filter:drop-shadow(0 0 4px #000)}
.playbtn{position:absolute;z-index:4;left:50%;top:50%;width:84px;height:84px;margin:-42px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(200,15,30,.85);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 30px rgba(255,35,56,.7)}
.playbtn svg{width:34px;height:34px;margin-left:4px}

/* JOIN */
.orders{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:o}
.order{position:relative;padding:26px 22px;border-radius:14px;background:linear-gradient(180deg,rgba(255,35,56,.10),rgba(8,2,4,.8));border:1px solid rgba(255,35,56,.28);overflow:hidden}
.order::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,#fff,var(--red));box-shadow:0 0 12px var(--red);transform-origin:left;transform:scaleX(var(--s,1))}
.onum{font:700 11px var(--disp);letter-spacing:.3em;text-transform:uppercase;color:var(--red)}
.oico{display:block;width:36px;height:36px;margin:16px 0 12px;color:#fff}
.order h3{margin:0 0 6px;font:700 22px var(--serif)}
.order p{margin:0;color:var(--mut);font-size:16px}
.chart-wrap{max-width:1000px;margin:0 auto;border-radius:16px;overflow:hidden;border:1px solid rgba(255,35,56,.3);background:rgba(8,2,4,.75)}
.chart-head{display:flex;align-items:center;gap:10px;padding:12px 16px;font:700 12px var(--disp);letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.08);flex-wrap:wrap}
.chart-head img{border-radius:5px}
.small-link{margin-left:auto;color:var(--mut);font-size:11px}
.small-link small{color:var(--ember)}
.chart{position:relative;height:min(560px,70vh)}
.chart iframe{width:100%;height:100%;border:0}
.chart-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;overflow:hidden}
.chart-ph svg.bgline{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.chart-ph .t{font:900 clamp(22px,3vw,34px) var(--disp);letter-spacing:.08em;position:relative}
.chart-ph p{position:relative;color:var(--mut);margin:0;max-width:420px}
.chart-ph .ic{position:relative;width:46px;height:46px;color:var(--red);filter:drop-shadow(0 0 10px var(--red))}

/* FOOTER */
.foot{padding:80px 20px 50px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;border-top:1px solid rgba(255,60,40,.2);background:linear-gradient(180deg,transparent,rgba(60,0,0,.5))}
.foot-sigil{width:70px;height:70px;color:var(--red);filter:drop-shadow(0 0 10px var(--red))}
.foot-brand{font:900 28px var(--disp);letter-spacing:.14em;margin:0}
.disclaimer{max-width:720px;color:var(--mut);font-size:15px;margin:10px 0 0}
.copy{font-size:13px;color:#7d6b69;margin:0}

#toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);z-index:120;padding:12px 20px;border-radius:12px;background:rgba(12,4,6,.92);border:1px solid var(--red);box-shadow:0 0 24px rgba(255,35,56,.5);font:700 13px var(--disp);letter-spacing:.1em;opacity:0;pointer-events:none;transition:.35s;max-width:90vw;text-align:center}
#toast.show{opacity:1;transform:translate(-50%,0)}

/* RESPONSIVE */
@media (max-width:1100px){.holo-nav.prev{left:8px}.holo-nav.next{right:8px}}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;text-align:left}
  .hero-figure{height:48vh;order:-1;margin-top:-10px}
  .holocrons,.orders{grid-template-columns:repeat(2,1fr)}
  #rail{top:auto;bottom:0;right:0;left:0;transform:none;width:auto;height:58px;flex-direction:row;padding:0 10px;background:rgba(6,2,4,.88);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.08)}
  .rail-hilt{display:none}
  .rail-blade{position:absolute;left:0;right:0;top:0;width:auto;height:3px;flex:none;border-radius:0}
  .rail-blade i{top:0;bottom:0;height:auto;width:calc(var(--prog,0)*100%)}
  .rail-marks{position:static;flex-direction:row;flex:1;justify-content:space-around;align-items:center;height:100%}
  .rail-marks li{height:auto}
  .rail-marks a{position:static;flex-direction:column;gap:2px}
  .rail-marks span{opacity:1;transform:none;font-size:8px;letter-spacing:.06em;color:var(--mut);max-width:70px;overflow:hidden;text-overflow:ellipsis}
  .rail-marks a.on span{color:#fff}
  .foot{padding-bottom:100px}
  #toast{bottom:80px}
  .scroll-cue{display:none}
}
@media (max-width:520px){
  body{font-size:17px}
  .holocrons{grid-template-columns:1fr 1fr;gap:10px}
  .holo{padding:18px 14px}
  .orders{grid-template-columns:1fr}
  .ctas .btn{flex:1 1 100%;justify-content:center}
  .ca-box{padding-left:12px;gap:8px}
  .ca-copy span{display:none}
  .holo-nav{width:42px;height:42px;margin-top:-21px}
  .topbar{padding:12px 16px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .cracks path{stroke-dashoffset:0}
}

@media (prefers-reduced-motion:reduce){.turn{height:auto}.turn-stage{position:relative}}
