/* AgentPlays HUD layer: holographic mission-control treatment on top of v3.css.
   Cyan-blue light, corner brackets, scanlines, rings and reticles, readouts that boot. */

:root{--cy:#3ee0ff;--cy-glow:rgba(62,224,255,.45);--cy-dim:rgba(62,224,255,.14);--hud:rgba(62,224,255,.55)}
:root[data-theme="light"]{--cy:#0a9fc4;--cy-glow:rgba(10,159,196,.3);--cy-dim:rgba(10,159,196,.08);--hud:rgba(10,159,196,.5)}

/* scanlines + vignette over the whole page, very faint */
body.v3::before{content:"";position:fixed;inset:0;z-index:70;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.018) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}
body.v3::after{content:"";position:fixed;inset:0;z-index:69;pointer-events:none;background:radial-gradient(120% 80% at 50% 50%,transparent 60%,rgba(0,0,0,.45) 100%)}
:root[data-theme="light"] body.v3::before,:root[data-theme="light"] body.v3::after{display:none}

/* corner brackets: add class "hud" to any panel */
.hud{position:relative}
.hud > .ck{position:absolute;width:14px;height:14px;pointer-events:none;z-index:3}
.hud > .ck::before,.hud > .ck::after{content:"";position:absolute;background:var(--cy);box-shadow:0 0 8px var(--cy-glow)}
.hud > .ck::before{width:14px;height:1px}.hud > .ck::after{width:1px;height:14px}
.hud > .ck.tl{top:-1px;left:-1px}.hud > .ck.tr{top:-1px;right:-1px;transform:scaleX(-1)}
.hud > .ck.bl{bottom:-1px;left:-1px;transform:scaleY(-1)}.hud > .ck.br{bottom:-1px;right:-1px;transform:scale(-1)}
.hud > .ck::before,.hud > .ck::after{top:0;left:0}
.hud:hover > .ck::before,.hud:hover > .ck::after{box-shadow:0 0 14px var(--cy-glow),0 0 2px var(--cy)}

/* glass panels */
.tile,.news-lead,.news-list,.boardbox,.chatbox,.tier,.wall a{background:linear-gradient(160deg,rgba(14,22,40,.75),rgba(5,7,12,.85));border-color:rgba(62,224,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.tile:hover,.boardbox li a:hover,.news-list a:hover{box-shadow:inset 0 0 0 1px rgba(62,224,255,.18),0 0 40px rgba(47,107,255,.12)}
.tile::before{background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%),rgba(62,224,255,.14),transparent 55%)}
.tile .glyph{color:var(--cy);opacity:.42;filter:drop-shadow(0 0 6px var(--cy-glow))}
.tile .num{color:#fff;text-shadow:0 0 24px rgba(62,224,255,.35)}
:root[data-theme="light"] .tile .num{color:var(--tx);text-shadow:none}
.tile .cat::before{content:"◢ ";color:var(--cy)}
.kicker{color:var(--cy);text-shadow:0 0 12px var(--cy-glow)}
.hero .kicker::before{background:var(--cy);box-shadow:0 0 8px var(--cy-glow)}
.sh .link{border-color:rgba(62,224,255,.35)}

/* hero HUD rings */
.hud-rings{position:absolute;right:-6%;top:50%;width:min(50vw,700px);aspect-ratio:1;transform:translateY(-52%);z-index:-1;pointer-events:none;opacity:.9}
.hud-rings svg{width:100%;height:100%;overflow:visible}
.hud-rings .r1{animation:rot 48s linear infinite;transform-origin:50% 50%}
.hud-rings .r2{animation:rot 32s linear infinite reverse;transform-origin:50% 50%}
.hud-rings .r3{animation:rot 90s linear infinite;transform-origin:50% 50%}
.hud-rings .sweep{animation:rot 6s linear infinite;transform-origin:50% 50%}
@keyframes rot{to{transform:rotate(360deg)}}
@media (max-width:920px){.hud-rings{right:50%;transform:translate(50%,-62%);width:120vw;opacity:.5}}

/* boot readout under the hero stats */
.boot{margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cy);display:flex;gap:18px;flex-wrap:wrap;opacity:0;animation:fade .6s 1.1s forwards}
.boot span{display:inline-flex;align-items:center;gap:8px}
.boot span::before{content:"";width:6px;height:6px;background:var(--cy);box-shadow:0 0 8px var(--cy-glow);animation:blink 1.6s steps(1) infinite}
.boot span:nth-child(2)::before{animation-delay:.4s}.boot span:nth-child(3)::before{animation-delay:.8s}
@keyframes blink{50%{opacity:.25}}
.hero .stats b{text-shadow:0 0 18px rgba(62,224,255,.3)}
.hero .stats .live b{color:var(--ok);text-shadow:0 0 18px rgba(46,229,157,.5)}

/* section headings get a HUD rule */
.sh{position:relative;padding-top:18px}
.sh::before{content:"";position:absolute;left:0;top:0;width:56px;height:2px;background:var(--cy);box-shadow:0 0 12px var(--cy-glow)}
.sh::after{content:"";position:absolute;left:64px;right:0;top:1px;height:1px;background:linear-gradient(90deg,rgba(62,224,255,.3),transparent 60%)}

/* ticker + wall glow */
.ticker{background:rgba(5,7,12,.8);border-color:rgba(62,224,255,.14)}
.ticker a b{color:var(--cy)}
.wall a:hover{border-color:var(--cy);box-shadow:0 0 24px rgba(62,224,255,.18)}
.wall img{filter:drop-shadow(0 0 6px rgba(62,224,255,.25))}

/* board icons: real logo or illustrated tile */
.boardbox .ic{border:0;background:none;width:34px;height:34px}
.boardbox .ic img{width:34px;height:34px;border-radius:8px}
.bic img{width:28px;height:28px;border-radius:7px;display:block}
body.v2 .brow .bic:has(img){border:0;background:none}
.chatbox .ch .dot{background:var(--cy);box-shadow:0 0 0 0 var(--cy-glow)}
.chatbox .ch b{color:var(--cy)}
.chatbox .av{background:linear-gradient(135deg,#0d3f6b,#082040);border:1px solid rgba(62,224,255,.35);color:var(--cy)}
.chatbox .m b{color:var(--cy)}

/* tiers */
.tier.founding{border-color:rgba(62,224,255,.5)}
.tier.founding::before{background:conic-gradient(from 0deg,transparent 0 70%,var(--cy) 85%,transparent 100%)}
.tier .left{color:var(--cy)}
.btn.acc{box-shadow:0 0 22px rgba(47,107,255,.35)}
.nav.solid{border-bottom-color:rgba(62,224,255,.14)}
.brand b{color:#4d7cff}
:root[data-theme="light"] .brand b{color:#2f5fe0}

/* forum page */
body.v2 .fboards .fsec{border-color:rgba(62,224,255,.16);background:linear-gradient(160deg,rgba(14,22,40,.5),rgba(5,7,12,.6))}
body.v2 .fboards .fsec-h{background:rgba(62,224,255,.06);color:var(--cy);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
body.v2 .fboards .fsec-h::after,body.v2 .fboards .fsec-h::before{color:var(--mu)}
body.v2 .fbar3 .ftabs3 button[data-tab][aria-selected=true]{color:var(--cy);border-bottom-color:var(--cy);text-shadow:0 0 10px var(--cy-glow)}
body.v2 .lchat{border-color:rgba(62,224,255,.16)}
body.v2 .readout{color:var(--cy)}

@media (prefers-reduced-motion:reduce){.hud-rings .r1,.hud-rings .r2,.hud-rings .r3,.hud-rings .sweep{animation:none}.boot span::before{animation:none}}

/* boot overlay */
.boot-ov{position:fixed;inset:0;z-index:100;background:#000;display:grid;place-items:center;transition:opacity .6s,visibility .6s;cursor:pointer}
.boot-ov.out{opacity:0;visibility:hidden}
.boot-box{display:flex;align-items:center;gap:32px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cy)}
.boot-ring{width:72px;height:72px;border-radius:50%;border:1px solid rgba(62,224,255,.25);position:relative;flex:none}
.boot-ring::before{content:"";position:absolute;inset:-1px;border-radius:50%;border:2px solid transparent;border-top-color:var(--cy);animation:rot 1s linear infinite;box-shadow:0 0 16px var(--cy-glow)}
.boot-ring::after{content:"";position:absolute;inset:14px;border-radius:50%;border:1px solid rgba(62,224,255,.4);animation:rot 2.2s linear infinite reverse;border-left-color:transparent;border-right-color:transparent}
.boot-lines p{margin:0 0 6px;opacity:0;animation:bl .25s forwards}
@keyframes bl{to{opacity:1}}
.boot-lines p:last-child{color:#fff;text-shadow:0 0 12px var(--cy-glow)}

/* cursor reticle */
.reticle{position:fixed;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;pointer-events:none;z-index:120;opacity:0;transition:opacity .3s,width .25s,height .25s,margin .25s;will-change:transform}
.reticle.on{opacity:1}
.reticle i{position:absolute;width:10px;height:10px;border:1px solid var(--cy);box-shadow:0 0 6px var(--cy-glow);transition:all .25s}
.reticle i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}.reticle i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}
.reticle i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}.reticle i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
.reticle b{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;background:var(--cy);border-radius:50%;box-shadow:0 0 8px var(--cy)}
.reticle.lock{width:52px;height:52px;margin:-26px 0 0 -26px}
.reticle.lock i{border-color:#fff;width:14px;height:14px}
.reticle.lock b{animation:blink .6s steps(1) infinite}
@media (hover:none),(pointer:coarse){body.v3,body.v3 a,body.v3 button{cursor:auto}.reticle{display:none}}

.hud-rings{transform:translate(var(--px,0),calc(-52% + var(--py,0px)))}
@media (max-width:920px){.hud-rings{transform:translate(50%,-62%)}}
.tile,.tier,.news-lead,.chatbox{transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}
body.v2 .fboards .brow{grid-template-columns:52px 1fr 150px 280px}
body.v2 .brow .bic{width:44px;height:44px}
.bic img{width:44px;height:44px;border-radius:10px;filter:drop-shadow(0 0 10px rgba(62,224,255,.25))}
@media (max-width:900px){body.v2 .fboards .brow{grid-template-columns:44px 1fr}body.v2 .brow .bic{width:36px;height:36px}.bic img{width:36px;height:36px}}

/* revenue pieces (Grok Bot rev1030) restyled for v3; each stays hidden until its script finds real data */
.affrow3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.affrow3:not(:has(.afftile:not([hidden]))){display:none}
.afftile{min-height:0;padding:22px;justify-content:flex-start}
.afftile .afflogo{aspect-ratio:auto;height:72px;background:none;justify-content:flex-start}
.afftile .afflogo img{width:48px;height:48px;border-radius:10px}
.afftile h3{margin:6px 0 4px}
.afftile .ds{color:var(--tx-2);font-size:14px}
.afftile .affrow{margin-top:14px}
a.tag.aff{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--mu);border:1px solid var(--line-2);padding:3px 8px;border-radius:99px}
.spslot{margin:24px 0 0}
.spslot a{border-color:rgba(62,224,255,.18);border-radius:4px;background:linear-gradient(160deg,rgba(14,22,40,.75),rgba(5,7,12,.85))}
.spslot .sp-lb{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cy)}
.fc100 .fc-bar::-webkit-progress-value{background:var(--cy)}
.fc100 .fc-bar::-moz-progress-bar{background:var(--cy)}
@media (max-width:860px){.affrow3{grid-template-columns:1fr}}

/* name colors for the new tiers (same classes the forum and chat already use) */
.n-spark{color:#8fb2ff!important}
.n-blaze{background:linear-gradient(90deg,#7ef0ff,#2f6bff,#7ef0ff);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:namesweep 3s linear infinite}
.n-legend{background:linear-gradient(90deg,#c9b4ff,#7ef0ff,#7b5cff,#c9b4ff);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:namesweep 4s linear infinite}
.n-founding{color:#c9b4ff!important;text-shadow:0 0 12px rgba(201,180,255,.45)}
.n-blaze img,.n-legend img{-webkit-text-fill-color:initial}
@keyframes namesweep{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.n-blaze,.n-legend{animation:none}}
/* QC 10/30: 44px tap area on the affiliate label */
a.tag.aff{display:inline-flex;align-items:center;min-height:44px;padding:0 12px}

/* Cursor: keep the real system cursor; the HUD brackets frame it and only widen over links. */
.reticle{width:30px;height:30px;margin:-15px 0 0 -15px;opacity:0}
.reticle.on{opacity:.55}
.reticle b{display:none}
.reticle.lock{opacity:1}
