/* RICHX CHAIN — the Information Wars engine in titanium and Matrix emerald. One screen at a time. Real network facts only. */
@font-face{font-family:Orbitron;src:url(/rxs/fonts/orbitron-latin-900-normal.woff2) format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:Orbitron;src:url(/rxs/fonts/orbitron-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Share Tech Mono';src:url(/rxs/fonts/share-tech-mono-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Chakra Petch';src:url(/rxs/fonts/chakra-petch-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Chakra Petch';src:url(/rxs/fonts/chakra-petch-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Chakra Petch';src:url(/rxs/fonts/chakra-petch-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--a:#00FF83;--a2:#9EFFC9;--g:#FFBC52;--uv:#111B19;--uv2:#0B1110;--vi:#15D989;--ice:#DDE9E3;--tx:#F4FFF9;--mu:#A8B8B2;--red:#FF465B;--grn:#00FF83;--metal:#273530;
  --cjk:"Noto Sans TC","Noto Sans JP","Noto Sans KR","PingFang TC","Hiragino Sans","Apple SD Gothic Neo","Malgun Gothic","Microsoft JhengHei";
  --fd:Orbitron,'Chakra Petch',var(--cjk),system-ui,sans-serif;--fm:'Share Tech Mono',var(--cjk),ui-monospace,Menlo,monospace;--fb:'Chakra Petch',var(--cjk),system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --c1:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{background:radial-gradient(120% 80% at 50% 0%,#1B2B27 0,var(--uv) 45%,var(--uv2) 100%) fixed;color:var(--tx);font-family:var(--fb)}
body{height:100svh;overflow:hidden}
a{color:var(--a);text-decoration:none}a:hover{text-shadow:0 0 10px var(--a)}
button{font-family:inherit;color:inherit;border:0;background:none;cursor:pointer}
/* top bar */
.top-bar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:linear-gradient(180deg,rgba(11,17,16,.9),rgba(11,17,16,0));pointer-events:none}
.top-bar>*{pointer-events:auto}
.brand{display:flex;align-items:center;gap:8px;font:900 .86rem var(--fd);letter-spacing:.12em;color:#fff;white-space:nowrap}
.brand img{width:30px;height:30px;border-radius:50%;box-shadow:0 0 0 2px var(--g),0 0 14px rgba(255,188,82,.6)}.brand em{font-style:normal;color:var(--a);text-shadow:0 0 12px var(--a)}
.langs{margin-left:auto;display:flex;gap:2px}
.langs button{min-width:30px;height:30px;padding:0 6px;font:700 .72rem var(--fd);color:var(--mu);clip-path:var(--c1)}
.langs button.on{background:var(--a);color:var(--uv2);box-shadow:0 0 16px rgba(0,255,131,.6)}
.snd{flex:none;width:32px;height:30px;font-size:.9rem;border:1px solid rgba(0,255,131,.45);clip-path:var(--c1);background:rgba(17,27,25,.6)}
@media (max-width:420px){.brand em{display:none}}
/* the reel */
.reel{height:100svh;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none}
.reel::-webkit-scrollbar{display:none}
.s{position:relative;height:100svh;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;isolation:isolate;background:radial-gradient(90% 70% at 50% 40%,#1B2B27,#0F1816)}
.s .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;background:center/cover no-repeat;filter:saturate(1.15) contrast(1.05)}
.s .bg canvas{width:100%;height:100%;display:block}
.s .sh{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(17,27,25,.7) 0,rgba(17,27,25,0) 22%,rgba(17,27,25,0) 36%,rgba(14,22,20,.88) 66%,rgba(11,17,16,.98) 100%)}
.scan{position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,255,131,.05) 0 1px,transparent 1px 3px);mix-blend-mode:screen}
.scan::after{content:'';position:absolute;left:0;right:0;height:22%;top:-22%;background:linear-gradient(180deg,transparent,rgba(0,255,131,.10),rgba(0,255,131,.38) 96%,transparent);animation:sw 5s linear infinite}
@keyframes sw{to{top:110%}}
.hud{position:absolute;top:calc(54px + env(safe-area-inset-top));left:14px;right:14px;display:flex;justify-content:space-between;font:400 .64rem var(--fm);letter-spacing:.2em;color:var(--a);text-shadow:0 0 8px rgba(0,255,131,.6)}
.hud .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--grn);box-shadow:0 0 8px var(--grn);margin-right:6px;animation:bl 1.2s steps(2) infinite}
@keyframes bl{50%{opacity:.25}}
.b{width:100%;max-width:640px;padding:0 74px calc(34px + env(safe-area-inset-bottom)) 18px}
.k{display:block;font:400 .7rem/1.4 var(--fm);letter-spacing:.18em;color:var(--a);text-transform:uppercase;margin-bottom:10px;text-shadow:0 0 10px rgba(0,255,131,.5)}
.b h2{margin:0 0 12px;font:900 clamp(1.5rem,7vw,2.4rem)/1.1 var(--fd);color:#fff;text-shadow:0 2px 18px rgba(11,17,16,.9)}
.why{margin:0 0 12px;padding:10px 12px;border-left:3px solid var(--g);background:rgba(255,188,82,.09);font:600 1rem/1.45 var(--fb);color:var(--ice)}
.tx3{margin:0 0 16px;font:400 .78rem/1.5 var(--fm);letter-spacing:.14em;color:var(--a)}
.tx3 b{color:var(--g);font-weight:400}
.acts{display:flex;gap:10px;flex-wrap:wrap}
.go{display:inline-flex;align-items:center;gap:8px;padding:14px 20px;background:var(--a);color:var(--uv2)!important;font:900 .76rem var(--fd);letter-spacing:.14em;clip-path:var(--c1);box-shadow:0 0 26px rgba(0,255,131,.5);text-shadow:none!important}
.go.gold{background:var(--g);box-shadow:0 0 26px rgba(255,188,82,.5)}
.go.ghost{background:rgba(17,27,25,.75);color:var(--a)!important;box-shadow:inset 0 0 0 1px var(--a)}
.go[disabled]{opacity:.5}
.lockst{display:inline-block;margin-bottom:12px;padding:5px 10px;font:400 .66rem var(--fm);letter-spacing:.16em;clip-path:var(--c1);background:rgba(17,27,25,.8);box-shadow:inset 0 0 0 1px currentColor}
.lockst.ok{color:var(--grn)}.lockst.trial{color:var(--g)}.lockst.lock{color:var(--red)}
/* the side rail */
.rail{position:absolute;right:10px;bottom:calc(36px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px;z-index:3}
.rail>*{display:flex;flex-direction:column;align-items:center;gap:4px;width:52px;color:#fff;font:400 .54rem var(--fm);letter-spacing:.12em}
.rail i{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(17,27,25,.75);box-shadow:inset 0 0 0 1px rgba(0,255,131,.6),0 0 18px rgba(0,255,131,.25);font-style:normal;font-size:1.15rem;color:var(--a)}
.rail .face i{background:center/cover;box-shadow:0 0 0 2px var(--g),0 0 18px rgba(255,188,82,.5)}
/* glitch headline */
.gl{position:relative}
.on .gl::before,.on .gl::after{content:attr(data-t);position:absolute;inset:0;pointer-events:none;opacity:.55}
.on .gl::before{color:var(--a);transform:translate(2px,-1px);clip-path:inset(0 0 62% 0);animation:g1 1.1s steps(1) 1 both}
.on .gl::after{color:var(--g);transform:translate(-2px,1px);clip-path:inset(58% 0 0 0);animation:g1 1.1s steps(1) .1s 1 both}
@keyframes g1{0%{opacity:.9}20%{transform:translate(-3px,1px)}40%{transform:translate(3px,-2px)}60%{opacity:.6}100%{opacity:0}}
/* intro */
.intro{align-items:center}
.intro .bg{filter:brightness(.8) saturate(1.1)}
.haz{position:absolute;left:0;right:0;bottom:0;height:12px;background:repeating-linear-gradient(-45deg,var(--g) 0 16px,var(--uv2) 16px 32px);opacity:.9}
.ib{text-align:center;padding:60px 18px 40px;max-width:720px}
.eye-stage{width:min(54vw,240px);aspect-ratio:1;margin:0 auto 14px;position:relative}
.eye-stage img{width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px var(--g),0 0 40px rgba(255,188,82,.55),0 0 90px rgba(0,255,131,.35)}
.eye-stage::before,.eye-stage::after{content:'';position:absolute;inset:-14px;border-radius:50%;border:1px dashed rgba(0,255,131,.7);animation:spin 18s linear infinite}
.eye-stage::after{inset:-26px;border:2px solid transparent;border-top-color:var(--a);border-bottom-color:var(--g);animation-duration:3.2s}
@keyframes spin{to{transform:rotate(360deg)}}
.logo{margin:0;font:900 clamp(2.1rem,11vw,4.4rem)/1 var(--fd);letter-spacing:.06em;color:#fff;text-shadow:0 0 22px rgba(255,255,255,.35)}
.logo span{display:block;margin-top:6px;font-size:.42em;color:var(--a);letter-spacing:.42em;text-shadow:0 0 18px var(--a),0 0 50px rgba(0,255,131,.6)}
.slog{margin:16px auto;max-width:520px;font:600 1.05rem/1.5 var(--fb);color:var(--ice)}.slog b{display:block;font:900 1.2rem var(--fd);color:var(--g);letter-spacing:.04em;margin-bottom:6px}
.stat{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;font:400 .64rem var(--fm);letter-spacing:.18em;color:var(--a);margin:0 0 18px}
.ib .acts{justify-content:center}
.swipe{margin:22px 0 0;font:400 .66rem var(--fm);letter-spacing:.3em;color:var(--mu)}.swipe b{display:block;color:var(--a);font-size:1.3rem;animation:up 1.4s ease-in-out infinite}
@keyframes up{50%{transform:translateY(-8px)}}
/* panels: entry pass, token */
.panel{margin:0 0 14px;padding:14px;background:rgba(11,17,16,.82);box-shadow:inset 0 0 0 1px rgba(0,255,131,.35);clip-path:var(--c1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(0,255,131,.15);font:400 .72rem var(--fm);letter-spacing:.12em}
.row:last-child{border:0}.row span{color:var(--mu)}.row b{color:#fff;font-weight:400;text-align:right;overflow-wrap:anywhere}
.row b.big{font:900 .95rem var(--fd);color:var(--g);letter-spacing:.04em}
.pmsg{margin:10px 0 0;font:600 .9rem/1.4 var(--fb);color:var(--mu)}.pmsg.ok{color:var(--grn)}.pmsg.low{color:var(--red)}
.deeps{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.deeps a{padding:8px 12px;font:400 .66rem var(--fm);letter-spacing:.14em;box-shadow:inset 0 0 0 1px var(--a);clip-path:var(--c1);background:rgba(17,27,25,.7)}
.note{font:400 .62rem/1.6 var(--fm);letter-spacing:.12em;color:var(--mu);margin-top:12px}
.coinimg{position:absolute;right:16px;top:calc(84px + env(safe-area-inset-top));width:min(30vw,130px);aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 0 22px rgba(255,188,82,.55));animation:up 4s ease-in-out infinite}
/* gallery */
.gal{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -18px 14px;padding:0 18px}
.gal::-webkit-scrollbar{display:none}
.gal a{flex:0 0 78%;max-width:420px;scroll-snap-align:center;clip-path:var(--c1);box-shadow:inset 0 0 0 1px rgba(255,188,82,.5)}
.gal img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
/* faq + contact (normal scrolling) */
.long{scroll-snap-align:start;min-height:100svh;padding:calc(70px + env(safe-area-inset-top)) 16px 40px}
.long .in{max-width:640px;margin:0 auto}
.nh{text-align:center;font:400 .72rem var(--fm);letter-spacing:.26em;color:var(--a);margin-bottom:16px}
details{border-bottom:1px solid rgba(0,255,131,.2)}details:last-child{border:0}
summary{list-style:none;cursor:pointer;padding:14px 26px 14px 0;font:700 1rem var(--fb);position:relative}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';position:absolute;right:2px;top:10px;font:900 1.3rem var(--fd);color:var(--g)}
details[open] summary:after{content:'−'}
details p{padding:0 0 14px;font:400 .98rem/1.6 var(--fb);color:var(--mu)}
.risk{font:400 .64rem/1.7 var(--fm);letter-spacing:.1em;color:var(--mu);text-align:center;margin:18px 0}
.mails{display:grid;gap:6px;margin:0 0 18px}
.mails a{display:block;padding:10px 12px;background:rgba(17,27,25,.72);box-shadow:inset 0 0 0 1px rgba(0,255,131,.3);clip-path:var(--c1);font:400 .86rem var(--fm);text-align:center}
.badges{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 0 18px}
.badge{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;box-shadow:inset 0 0 0 1px rgba(0,255,131,.4);background:linear-gradient(135deg,rgba(0,255,131,.12),rgba(21,217,137,.22));color:#fff;font:400 .7rem var(--fm);letter-spacing:.14em;clip-path:var(--c1)}
.badge[hidden]{display:none}
.badge .dot{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red);animation:bl 1.6s infinite}
.badge svg{width:16px;height:16px}
.fine{font:400 .6rem/1.7 var(--fm);letter-spacing:.1em;color:var(--mu);text-align:center}
.prog{position:fixed;left:0;right:0;bottom:0;height:3px;z-index:60;background:rgba(0,255,131,.12)}.prog i{display:block;height:100%;width:0;background:var(--a);box-shadow:0 0 10px var(--a);transition:width .3s}
.toast2{position:fixed;left:50%;bottom:70px;transform:translateX(-50%);z-index:200;padding:11px 16px;background:var(--a);color:var(--uv2);font:700 .76rem var(--fd);letter-spacing:.08em;clip-path:var(--c1);max-width:92vw;text-align:center;opacity:0;transition:opacity .25s;pointer-events:none}
.toast2.on{opacity:1}
@media (prefers-reduced-motion:reduce){.scan::after,.on .gl::before,.on .gl::after,.swipe b,.eye-stage::before,.eye-stage::after,.coinimg{animation:none}}
.k-ad .adbg{background-color:#0F1816;background-repeat:no-repeat;filter:saturate(1.1)}
.k-ad .k{color:var(--g);text-shadow:0 0 10px rgba(255,188,82,.5)}
.k-ad .why{border-color:var(--a);background:rgba(0,255,131,.1)}
.netl{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 22px}
.netl a{padding:8px 12px;font:400 .66rem var(--fm);letter-spacing:.14em;box-shadow:inset 0 0 0 1px rgba(0,255,131,.4);background:rgba(17,27,25,.6);clip-path:var(--c1)}

/* richxchain additions */
#rain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.11}
.reel,.top-bar{position:relative}.top-bar{position:fixed}
.reel{z-index:1}
.brand img{border-radius:8px;box-shadow:0 0 14px rgba(0,255,131,.45)}
.brand svg{width:30px;height:30px}
.s .bg{filter:saturate(1.05) contrast(1.05) brightness(.8)}
.logo span{letter-spacing:.3em}
.stripe{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;margin:0 0 16px;padding:8px 10px;font:400 .62rem var(--fm);letter-spacing:.14em;color:var(--mu);background:rgba(11,17,16,.7);box-shadow:inset 0 0 0 1px rgba(0,255,131,.25);clip-path:var(--c1)}
.stripe b{color:var(--a);font-weight:400}.stripe .bad{color:var(--red)}
.cc{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.cell{padding:10px;background:rgba(11,17,16,.82);box-shadow:inset 0 0 0 1px rgba(0,255,131,.28);clip-path:var(--c1);min-width:0}
.cell span{display:block;font:400 .56rem var(--fm);letter-spacing:.16em;color:var(--mu)}
.cell b{display:block;margin:4px 0 2px;font:900 clamp(.9rem,4.4vw,1.15rem) var(--fd);color:#fff;overflow-wrap:anywhere}
.cell i{font:400 .52rem var(--fm);letter-spacing:.14em;font-style:normal;color:var(--a)}.cell i.spec{color:var(--g)}.cell i.bad{color:var(--red)}
pre.code{margin:0 0 12px;padding:12px;max-height:34svh;overflow:auto;background:rgba(6,12,10,.9);box-shadow:inset 0 0 0 1px rgba(0,255,131,.3);clip-path:var(--c1);font:400 .72rem/1.55 var(--fm);color:var(--a2);white-space:pre;-webkit-overflow-scrolling:touch}
.tabs{display:flex;gap:4px;margin:0 0 6px}.tabs button{padding:7px 10px;font:400 .62rem var(--fm);letter-spacing:.12em;color:var(--mu);box-shadow:inset 0 0 0 1px rgba(0,255,131,.25);clip-path:var(--c1)}
.tabs button.on{background:var(--a);color:var(--uv2)}
.cp{float:right;margin:-2px 0 0 8px;padding:4px 8px;font:400 .58rem var(--fm);letter-spacing:.12em;color:var(--a);box-shadow:inset 0 0 0 1px var(--a);clip-path:var(--c1);background:rgba(11,17,16,.9)}
.list{margin:0 0 12px;padding:0;list-style:none;font:500 .92rem/1.45 var(--fb);color:var(--ice)}
.list li{position:relative;padding:5px 0 5px 18px;border-bottom:1px solid rgba(0,255,131,.12)}.list li:before{content:'▸';position:absolute;left:0;color:var(--a)}
.warn{margin:0 0 12px;padding:10px 12px;border-left:3px solid var(--g);background:rgba(255,188,82,.1);font:600 .9rem/1.45 var(--fb);color:#FFE3B5}
.warn.red{border-color:var(--red);background:rgba(255,70,91,.1);color:#FFD0D6}
.tag{display:inline-block;margin:0 0 10px;padding:4px 9px;font:400 .6rem var(--fm);letter-spacing:.16em;clip-path:var(--c1);box-shadow:inset 0 0 0 1px currentColor}
.tag.ok{color:var(--a)}.tag.hist{color:var(--g)}.tag.no{color:var(--red)}
.paulbtn{display:inline-flex;align-items:center;gap:10px}
.eye{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle,#fff 0,#9EFFC9 18%,#00FF83 32%,#063 60%,#0B1110 75%);box-shadow:0 0 10px var(--a)}
.paulbtn.on .eye,.speaking .r-paul i{animation:pz .9s ease-in-out infinite}
@keyframes pz{50%{box-shadow:0 0 26px var(--a),0 0 0 3px rgba(0,255,131,.4)}}
.ask{display:grid;gap:6px;margin:0 0 12px}
.ask button{text-align:left;padding:10px 12px;font:600 .9rem/1.3 var(--fb);color:var(--tx);background:rgba(11,17,16,.82);box-shadow:inset 0 0 0 1px rgba(0,255,131,.3);clip-path:var(--c1)}
.ask button.on{box-shadow:inset 0 0 0 1px var(--a),0 0 18px rgba(0,255,131,.3);color:var(--a)}
.ans{min-height:3.2em;margin:0 0 10px;padding:10px 12px;border-left:3px solid var(--a);background:rgba(0,255,131,.07);font:500 .95rem/1.5 var(--fb);color:var(--ice)}
.r-paul i{background:radial-gradient(circle,#fff 0,#9EFFC9 14%,#00FF83 26%,#063 52%,#0B1110 70%)!important}
.review{display:none;margin:0 0 12px}.review.on{display:block}
.mailg{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 16px}
.mailg a{display:block;padding:8px 10px;background:rgba(17,27,25,.8);box-shadow:inset 0 0 0 1px rgba(0,255,131,.28);clip-path:var(--c1);min-width:0}
.mailg a span{display:block;font:700 .56rem var(--fd);letter-spacing:.14em;color:var(--a)}.mailg a b{display:block;font:400 clamp(.56rem,2.6vw,.74rem) var(--fm);color:var(--tx);overflow-wrap:anywhere;font-weight:400}
.terms{font:400 .82rem/1.6 var(--fb);color:var(--mu)}.terms h3{font:700 .8rem var(--fd);color:var(--a);letter-spacing:.1em;margin:14px 0 4px}
.k-dense .b{padding-bottom:calc(26px + env(safe-area-inset-bottom))}
.k-dense .b h2{font-size:clamp(1.25rem,6vw,2rem)}
@media (min-width:900px){.b{max-width:760px}}
.core{width:100%;height:100%;filter:drop-shadow(0 0 30px rgba(0,255,131,.45))}
.core .spin1{transform-origin:100px 100px;animation:spin 40s linear infinite}.core .spin2{transform-origin:100px 100px;animation:spin 9s linear infinite reverse}
.core .breathe{animation:br 3.4s ease-in-out infinite}@keyframes br{50%{opacity:.55}}
.intro .eye-stage::before,.intro .eye-stage::after{display:none}
.cell b.num{font-size:clamp(.72rem,3.3vw,.95rem);letter-spacing:0}

/* ===== v2: red HAL eye, protocol terminal, aggressive HUD ===== */
.mini-eye{display:inline-block;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle,#fff 0,#FF6A78 10%,#FF1F3D 26%,#5a0010 52%,#0B1110 64%,#9AA9A3 70%,#273530 82%);box-shadow:0 0 14px rgba(255,31,61,.75);animation:hb 2.6s ease-in-out infinite}
@keyframes hb{50%{box-shadow:0 0 26px rgba(255,31,61,1)}}
.hal-stage{position:relative;width:min(70vw,320px);aspect-ratio:1;margin:0 auto 30px;cursor:pointer;outline:none}
.hal-stage .hal{position:absolute;inset:13%;width:74%;height:74%;filter:drop-shadow(0 0 40px rgba(255,31,61,.55))}
.hal-stage .ret{position:absolute;inset:0;width:100%;height:100%}
.ret .spin1,.ret .spin2{transform-origin:200px 200px}.ret .spin1{animation:spin 30s linear infinite}.ret .spin2{animation:spin 7s linear infinite reverse}
.hal-tag{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);white-space:nowrap;font:400 .58rem var(--fm);letter-spacing:.2em;color:var(--red);text-shadow:0 0 8px rgba(255,70,91,.8);animation:bl 1.4s steps(2) infinite}
.hal-stage:focus-visible{box-shadow:0 0 0 2px var(--a)}
.intro .logo{font-size:clamp(2rem,10vw,4rem)}.intro .ib{padding-top:52px}
.s::before{content:'';position:absolute;inset:calc(48px + env(safe-area-inset-top)) 8px 10px;pointer-events:none;z-index:2;
 background:linear-gradient(var(--a),var(--a)) 0 0/18px 2px,linear-gradient(var(--a),var(--a)) 0 0/2px 18px,linear-gradient(var(--a),var(--a)) 100% 0/18px 2px,linear-gradient(var(--a),var(--a)) 100% 0/2px 18px,
 linear-gradient(var(--red),var(--red)) 0 100%/18px 2px,linear-gradient(var(--red),var(--red)) 0 100%/2px 18px,linear-gradient(var(--red),var(--red)) 100% 100%/18px 2px,linear-gradient(var(--red),var(--red)) 100% 100%/2px 18px;background-repeat:no-repeat;opacity:.8}
.k-ad .adfill{background:center/cover no-repeat;filter:blur(22px) brightness(.45) saturate(1.2);transform:scale(1.15)}
.k-ad .adbg{background-color:transparent!important;background-position:50% 28%!important;inset:calc(64px + env(safe-area-inset-top)) 0 auto!important;height:46%!important;filter:none}
#term{position:fixed;inset:0;z-index:150;display:none;flex-direction:column;padding:calc(10px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));background:radial-gradient(90% 60% at 50% 30%,rgba(90,0,16,.55),rgba(11,17,16,.97) 60%),#0B1110;overflow:auto}
#term.on{display:flex;animation:topen .45s cubic-bezier(.2,.8,.2,1)}
@keyframes topen{0%{clip-path:inset(49% 0 49% 0);filter:brightness(3)}60%{clip-path:inset(0 0 0 0)}100%{filter:none}}
#term::after{content:'';position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,70,91,.05) 0 1px,transparent 1px 3px)}
.t-top{display:flex;justify-content:space-between;align-items:center;font:400 .66rem var(--fm);letter-spacing:.18em;color:var(--red)}
.t-x{width:42px;height:42px;font-size:18px;color:var(--red);box-shadow:inset 0 0 0 1px var(--red);clip-path:var(--c1)}
.t-eye{width:min(56vw,250px);aspect-ratio:1;margin:8px auto}.t-eye canvas{width:100%;height:100%;filter:drop-shadow(0 0 50px rgba(255,31,61,.7))}
.t-log{flex:1;min-height:140px;margin:0 0 12px;padding:12px;background:rgba(6,10,9,.9);box-shadow:inset 0 0 0 1px rgba(255,70,91,.4);clip-path:var(--c1);font:400 .74rem/1.6 var(--fm);color:var(--a2);white-space:pre-wrap;overflow:auto}
.t-log .n{color:var(--a)}.t-log .u{color:var(--mu)}.t-log .r{color:var(--red)}
.t-acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.t-acts .go{padding:11px 14px;font-size:.66rem}
.t-note{margin-top:10px;font:400 .58rem/1.6 var(--fm);letter-spacing:.1em;color:var(--mu);text-align:center}
.speaking .hal-stage .hal{filter:drop-shadow(0 0 60px rgba(255,31,61,.95))}
/* ===== v3: smaller eye stage (no overlap), coins, zoom viewer, install ===== */
.hal-stage{width:min(62vw,34svh,320px)!important;margin-top:8px!important}
.intro .ib{padding-top:calc(64px + env(safe-area-inset-top))!important}
.intro .hud{z-index:4;background:linear-gradient(90deg,rgba(11,17,16,.85),rgba(11,17,16,.4),rgba(11,17,16,.85));padding:4px 6px}
.intro .slog{margin:10px auto}
.coinbtn{position:relative;display:block;width:min(46vw,26svh,210px);aspect-ratio:1;margin:0 auto 10px;border-radius:50%;cursor:zoom-in;animation:float 6s ease-in-out infinite}
.coinbtn img{width:100%;height:100%;object-fit:contain;border-radius:50%;filter:drop-shadow(0 0 30px rgba(255,188,82,.45)) drop-shadow(0 18px 30px rgba(0,0,0,.6))}
.coinbtn i{position:absolute;right:-4px;bottom:6%;padding:5px 8px;font:400 .56rem var(--fm);font-style:normal;letter-spacing:.14em;color:var(--g);background:rgba(11,17,16,.85);box-shadow:inset 0 0 0 1px var(--g);clip-path:var(--c1)}
@keyframes float{50%{transform:translateY(-8px) rotate(2deg)}}
.k-tok .b h2 em{font-style:normal;color:var(--g);font-size:.6em;letter-spacing:.1em;margin-left:6px}
.k-tok .panel{padding:8px 12px}
.k-tok .row b.big{font-size:.82rem}
#zoom{position:fixed;inset:0;z-index:160;display:none;flex-direction:column;background:#0B1110;padding:calc(10px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))}
#zoom.on{display:flex}
.z-top{display:flex;align-items:center;gap:10px}.z-name{flex:1;font:900 .9rem var(--fd);color:var(--g);letter-spacing:.1em}.z-dl{padding:10px 14px;font-size:.64rem}
.z-stage{flex:1;min-height:0;overflow:auto;display:grid;place-items:center;touch-action:pinch-zoom pan-x pan-y}
.z-stage img{max-width:100%;max-height:100%;transform-origin:center;transition:transform .15s;filter:drop-shadow(0 0 40px rgba(255,188,82,.4))}
.inst-steps{margin-top:12px;font:500 .95rem/1.55 var(--fb);color:var(--ice)}.inst-steps b{color:var(--a)}

/* ===== v4: the Globe + riddle ===== */
.k-xg .xglobe{display:block;width:min(84vw,44svh,460px);aspect-ratio:1;margin:0 auto 2px;touch-action:none;cursor:grab}
.gcount{margin:6px 0 4px;font:400 .6rem/1.5 var(--fm);letter-spacing:.14em;color:var(--a2);text-align:center}.gcount b{color:var(--a);font-weight:400}
.ldot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:1px;background:#2C6B46}
.ldot.ok{background:var(--a);box-shadow:0 0 8px var(--a);animation:bl 2.4s ease-in-out infinite}
.riddle{margin:10px auto 0;max-width:340px;padding:9px 14px;text-align:center;background:rgba(6,14,11,.85);box-shadow:inset 0 0 0 1px rgba(255,70,91,.55),0 0 24px -8px rgba(255,70,91,.6);clip-path:var(--c1)}
.riddle span{display:block;font:400 .56rem var(--fm);letter-spacing:.24em;color:var(--red)}
.riddle b{display:block;margin:4px 0;font:900 1.35rem var(--fd);letter-spacing:.08em;color:var(--a);text-shadow:0 0 18px rgba(0,255,131,.6)}
.riddle em{display:block;font:400 .72rem/1.45 var(--fb);font-style:normal;color:var(--ice)}
.k-xg .gnote{max-width:520px;margin:8px auto 0;font:400 .54rem/1.5 var(--fm);letter-spacing:.1em;color:var(--mu)}

/* v5: HAL stands free — no numbers over the eye; network status lives in the header */
.intro .hud{display:none!important}
.brand>span{display:flex;flex-direction:column;line-height:1.05}
.brand .hst{font:400 .5rem var(--fm);letter-spacing:.2em;color:var(--a);margin-top:3px}.brand .hst.off{color:var(--red)}
.intro .ib{padding-top:calc(58px + env(safe-area-inset-top))!important}
/* ===== RICHXSCAN explorer ===== */
:root{--a:#00FF77;--a2:#65FF9B;--vi:#00E68A;--ice:#E6FFF2;--mu:#9DB8B2;--g:#FFC857;--red:#FF5266}
.sr{position:absolute;left:-9999px}
.netsw{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-width:460px;margin:0 auto 10px}
.netsw button{padding:8px 6px;text-align:center;background:rgba(11,17,16,.8);box-shadow:inset 0 0 0 1px rgba(0,255,119,.3);clip-path:var(--c1);color:var(--mu)}
.netsw b{display:block;font:900 .7rem var(--fd);letter-spacing:.12em}.netsw span{display:block;font:400 .52rem var(--fm);letter-spacing:.14em;margin-top:2px}
.netsw button.on{background:var(--a);color:#06251B;box-shadow:0 0 22px rgba(0,255,119,.45)}
.netsw button[data-net=notary].on{background:var(--g);box-shadow:0 0 22px rgba(255,200,87,.45)}
.srch{display:flex;gap:6px;max-width:520px;margin:0 auto 6px}
.srch input{flex:1;min-width:0;height:50px;padding:0 14px;background:rgba(6,14,11,.92);border:0;box-shadow:inset 0 0 0 1px rgba(0,255,119,.55);clip-path:var(--c1);color:var(--ice);font:400 .86rem var(--fm)}
.srch input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--a),0 0 24px rgba(0,255,119,.35)}
.srch .go{flex:none;padding:0 16px;height:50px}
.serr{min-height:1.2em;margin:0 0 6px;font:400 .66rem var(--fm);letter-spacing:.08em;color:var(--red);text-align:center}
.intro .slog{margin:8px auto}.intro .logo{font-size:clamp(1.9rem,9vw,3.6rem)}
.intro .hal-stage{width:min(48vw,26svh,260px)!important;margin:4px auto 26px!important}
.feed{display:grid;gap:6px;margin:0 0 10px}
.fc{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 10px;background:rgba(11,17,16,.84);box-shadow:inset 0 0 0 1px rgba(0,255,119,.22);clip-path:var(--c1);color:var(--ice)}
.fc:hover{box-shadow:inset 0 0 0 1px var(--a),0 0 16px rgba(0,255,119,.25);text-shadow:none}
.fi{width:34px;height:34px;display:grid;place-items:center;font:900 .58rem var(--fd);color:#06251B;background:var(--a);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.fi.tx{background:var(--a2)}.fi.out{background:var(--g)}
.fc b{display:block;font:700 .8rem var(--fd);letter-spacing:.04em}.fc i{display:block;font:400 .6rem var(--fm);font-style:normal;color:var(--mu);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc em{font:400 .58rem var(--fm);font-style:normal;color:var(--a);white-space:nowrap}
.mono,.cell b.mono{font:400 .66rem/1.4 var(--fm)!important;word-break:break-all;letter-spacing:0}
.cell b small{font-size:.6em;color:var(--mu)}
.on-notary .stripe b,.on-notary .k span[data-netname]{color:var(--g)}
.nofx .scan,.nofx .scan::after{display:none}.nofx #rain{display:none}.nofx .gl::before,.nofx .gl::after{display:none}
.fx{min-width:34px}.nofx .fx{color:var(--red)!important}
.filebox{display:block;margin:4px 0 10px;padding:10px 12px;background:rgba(11,17,16,.7);box-shadow:inset 0 0 0 1px dashed rgba(0,255,119,.3);border:1px dashed rgba(0,255,119,.4);font:400 .62rem/1.5 var(--fm);letter-spacing:.08em;color:var(--mu);cursor:pointer}
.filebox input{display:block;margin-bottom:6px;color:var(--ice);font:400 .7rem var(--fm);max-width:100%}
.vout{min-height:2em}
.stamp{margin:8px 0;padding:10px 12px;clip-path:var(--c1);box-shadow:inset 0 0 0 2px currentColor;text-align:center}
.stamp b{display:block;font:900 1rem var(--fd);letter-spacing:.1em}.stamp span{display:block;font:400 .6rem var(--fm);letter-spacing:.12em;margin-top:3px;color:var(--ice)}
.stamp.ok{color:var(--a);background:rgba(0,255,119,.08)}.stamp.no{color:var(--red);background:rgba(255,82,102,.08)}.stamp.hist{color:var(--g);background:rgba(255,200,87,.08)}
#dos{position:fixed;inset:0;z-index:140;display:none;flex-direction:column;background:radial-gradient(90% 60% at 50% 0%,rgba(6,37,27,.96),rgba(11,17,16,.98) 70%),#0B1110}
#dos.on{display:flex;animation:topen .4s cubic-bezier(.2,.8,.2,1)}
#dos.notary{background:radial-gradient(90% 60% at 50% 0%,rgba(60,45,6,.9),rgba(11,17,16,.98) 70%),#0B1110}
#dos::after{content:'';position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,255,119,.035) 0 1px,transparent 1px 3px)}
.d-top{display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid rgba(0,255,119,.3)}
.d-net{font:900 .66rem var(--fd);letter-spacing:.12em;color:var(--a)}#dos.notary .d-net{color:var(--g)}
.d-kind{flex:1;font:400 .6rem var(--fm);letter-spacing:.18em;color:var(--mu);text-align:right}
.d-x{color:var(--a)!important;box-shadow:inset 0 0 0 1px var(--a)!important}
.d-body{flex:1;overflow:auto;padding:14px 14px calc(30px + env(safe-area-inset-bottom));max-width:820px;width:100%;margin:0 auto}
.dh{font:900 clamp(1.1rem,5vw,1.6rem) var(--fd);letter-spacing:.06em;margin:4px 0 8px;color:#fff}
.dhash{margin:0 0 10px;color:var(--a2)}
.d-body .row b{font:400 .72rem var(--fm);text-align:right;word-break:break-all}
.d-body .row b a{color:var(--a)}
.cp2{margin-left:6px;padding:2px 6px;font:400 .52rem var(--fm);letter-spacing:.1em;color:var(--a);box-shadow:inset 0 0 0 1px var(--a);vertical-align:middle}
.raw{margin:10px 0}.raw summary{cursor:pointer;padding:8px 0;font:400 .62rem var(--fm);letter-spacing:.14em;color:var(--a)}
.raw summary:after{display:none}.raw pre.code{max-height:50svh}
.d-body .nh{text-align:left;margin:14px 0 6px}

/* ===== v2: VERIFICATION CHAMBER — the sacred place ===== */
#vc{position:fixed;inset:0;z-index:170;display:none;flex-direction:column;align-items:center;overflow:auto;padding:calc(10px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom));
 background:radial-gradient(70% 45% at 50% 22%,rgba(0,255,119,.22),rgba(6,37,27,.92) 45%,rgba(11,17,16,.97) 80%)}
#vc.on{display:flex;animation:vcin .7s cubic-bezier(.2,.9,.2,1)}
@keyframes vcin{0%{clip-path:inset(50% 0 50% 0);filter:brightness(4) saturate(2)}40%{clip-path:inset(0 0 0 0)}100%{filter:none}}
#vc::before{content:'';position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,255,119,.06) 0 1px,transparent 1px 3px);z-index:0}
#vc::after{content:'';position:fixed;left:0;right:0;height:30%;top:-30%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(0,255,119,.18),rgba(0,255,119,.55) 97%,transparent);animation:sw 2.2s linear infinite;z-index:0}
#vc>*{position:relative;z-index:1;width:100%;max-width:640px}
body.vc-on #rain{opacity:.42!important;z-index:165}
.vc-top{display:flex;align-items:center;gap:8px}.vc-net{flex:1;font:400 .62rem var(--fm);letter-spacing:.2em;color:var(--a);text-shadow:0 0 10px var(--a)}
.vc-snd{width:42px;height:42px;font-size:16px;box-shadow:inset 0 0 0 1px var(--a);clip-path:var(--c1)}
.vc-x{color:var(--a)!important;box-shadow:inset 0 0 0 1px var(--a)!important}
.vc-eye{position:relative;width:min(44vw,24svh,190px)!important;aspect-ratio:1;margin:6px auto}
.vc-eye canvas{position:absolute;inset:9%;width:82%;height:82%;filter:drop-shadow(0 0 40px rgba(255,31,61,.7));transition:filter .6s}
#vc.ok .vc-eye canvas{filter:drop-shadow(0 0 50px rgba(0,255,119,.9)) hue-rotate(115deg) saturate(1.4)}
#vc.bad .vc-eye canvas{filter:drop-shadow(0 0 60px rgba(255,31,61,1))}
.vc-ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 6s linear infinite}
.vc-prog{transition:stroke-dashoffset .4s ease;filter:drop-shadow(0 0 6px #00FF77)}
.vc-hash{margin:4px auto 8px;padding:10px 12px;background:rgba(6,14,11,.9);box-shadow:inset 0 0 0 1px rgba(0,255,119,.6),0 0 30px rgba(0,255,119,.2);clip-path:var(--c1)}
.vc-hash span{display:block;font:400 .52rem var(--fm);letter-spacing:.28em;color:var(--mu)}
.vc-h{display:block;min-height:2.6em;font:400 .8rem/1.3 var(--fm);color:var(--a);word-break:break-all;text-shadow:0 0 8px rgba(0,255,119,.8)}
.vc-h::after{content:'▌';animation:bl .6s steps(2) infinite;color:var(--a)}
.vc-log{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.vc-log li{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:baseline;padding:6px 8px;background:rgba(6,14,11,.82);box-shadow:inset 0 0 0 1px rgba(0,255,119,.18);font:400 .64rem/1.35 var(--fm);letter-spacing:.06em;color:var(--mu);
 animation:lin .35s cubic-bezier(.2,.9,.2,1) both;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
@keyframes lin{0%{opacity:0;transform:translateX(-24px) scaleY(.4);filter:brightness(3)}100%{opacity:1;transform:none;filter:none}}
.vc-log li i{font-style:normal;color:var(--a);text-align:center}.vc-log li.wait i{animation:spin .8s linear infinite;display:inline-block}
.vc-log li b{font-weight:400;color:var(--ice);text-align:right;word-break:break-all;max-width:60vw}
.vc-log li.ok{box-shadow:inset 0 0 0 1px rgba(0,255,119,.5)}.vc-log li.ok b{color:var(--a)}
.vc-log li.no{box-shadow:inset 0 0 0 1px rgba(255,82,102,.6)}.vc-log li.no i,.vc-log li.no b{color:var(--red)}
.vc-log li.hot{background:rgba(0,255,119,.12)}
.vc-seal{margin:12px auto 8px;padding:14px;text-align:center;clip-path:var(--c1);animation:seal .55s cubic-bezier(.2,1.6,.4,1) both}
@keyframes seal{0%{transform:scale(2.6) rotate(-6deg);opacity:0;filter:blur(8px) brightness(3)}100%{transform:none;opacity:1;filter:none}}
.vc-seal b{display:block;font:900 clamp(1.4rem,7vw,2.3rem) var(--fd);letter-spacing:.12em}.vc-seal span{display:block;margin-top:4px;font:400 .62rem var(--fm);letter-spacing:.16em;color:var(--ice)}
.vc-seal.ok{color:var(--a);background:rgba(0,255,119,.12);box-shadow:inset 0 0 0 2px var(--a),0 0 60px rgba(0,255,119,.55);text-shadow:0 0 24px var(--a)}
.vc-seal.no{color:var(--red);background:rgba(255,82,102,.1);box-shadow:inset 0 0 0 2px var(--red),0 0 60px rgba(255,82,102,.5)}
.vc-future{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 auto 10px}
.vc-future div{padding:8px;text-align:center;background:rgba(6,14,11,.85);box-shadow:inset 0 0 0 1px rgba(0,255,119,.35);clip-path:var(--c1)}
.vc-future span{display:block;font:400 .5rem var(--fm);letter-spacing:.16em;color:var(--mu)}.vc-future b{display:block;margin-top:3px;font:900 1.05rem var(--fd);color:var(--a);text-shadow:0 0 12px rgba(0,255,119,.7)}
.vc-future b.bump{animation:bump .5s ease}@keyframes bump{30%{transform:scale(1.35);color:#fff}}
.vc-acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:4px auto}
#vc.shake{animation:shk .35s}@keyframes shk{25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}}
#vc [hidden]{display:none!important}.vc-log li span{min-width:0}
