/* ===== category colour + 3D tilt ===== */
.fx-card{--hue:268;--rx:0deg;--ry:0deg;--mx:50%;--my:50%;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .3s;will-change:transform}
.fx-card::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .25s;
  background:radial-gradient(380px circle at var(--mx) var(--my),hsla(var(--hue),95%,68%,.22),transparent 60%)}
.fx-card:hover::before{opacity:1}
.fx-card:hover{border-color:hsla(var(--hue),85%,66%,.6)!important;box-shadow:0 22px 50px -22px hsla(var(--hue),90%,58%,.65),0 0 0 1px hsla(var(--hue),90%,66%,.25)!important;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-6px)}
.card.fx-card .ceyebrow{color:hsl(var(--hue),95%,80%);border-color:hsla(var(--hue),85%,66%,.45);background:hsla(var(--hue),60%,12%,.8)}
.card.fx-card::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:4;background:linear-gradient(90deg,transparent,hsl(var(--hue),95%,66%),transparent);opacity:.75}
.cat.fx-card .body .n{color:hsl(var(--hue),95%,78%)}
@media(prefers-reduced-motion:reduce){.fx-card{transition:none;transform:none!important}}

/* ===== ticker ===== */
.ticker{display:none;overflow:hidden;padding:18px 0;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--bg),var(--bg-1));
  -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker.on{display:block}
.tk-row{display:flex;overflow:hidden;margin:6px 0}
.tk-track{display:flex;gap:12px;flex:none;padding-right:12px;animation:tkl 70s linear infinite}
.tk-row.r .tk-track{animation-name:tkr;animation-duration:85s}
.ticker:hover .tk-track{animation-play-state:paused}
@keyframes tkl{to{transform:translateX(-50%)}}@keyframes tkr{from{transform:translateX(-50%)}to{transform:none}}
.tk{display:inline-flex;align-items:center;gap:10px;flex:none;padding:9px 16px;border-radius:99px;background:var(--glass);border:1px solid hsla(var(--hue),70%,60%,.3);transition:transform .2s,background .2s,border-color .2s}
.tk i{width:8px;height:8px;border-radius:50%;background:hsl(var(--hue),95%,65%);box-shadow:0 0 10px hsl(var(--hue),95%,60%)}
.tk b{font:700 13.5px var(--disp);color:var(--ink);white-space:nowrap}.tk span{font:600 12px var(--mono);color:hsl(var(--hue),90%,78%)}
.tk:hover{transform:translateY(-2px) scale(1.04);background:hsla(var(--hue),70%,50%,.16);border-color:hsl(var(--hue),90%,66%)}
@media(prefers-reduced-motion:reduce){.tk-track{animation:none}.tk-row{overflow-x:auto}}

/* ===== Warden console ===== */
.wsec .grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:center}
.wsec h2{font-size:clamp(30px,4.4vw,50px);letter-spacing:-.02em;margin:12px 0 14px}
.wsec h2 i{font-style:normal;background:linear-gradient(100deg,#34D399,#9B5CFF 60%,#F76B7E);-webkit-background-clip:text;background-clip:text;color:transparent}
.wsec p.lead{color:var(--ink-dim);font-size:16px;max-width:480px;margin-bottom:22px}
.wc{position:relative;border-radius:20px;overflow:hidden;background:#0A0912;border:1px solid var(--line-v);box-shadow:0 40px 90px -30px rgba(118,41,255,.6)}
.wc::after{content:"";position:absolute;left:0;right:0;height:60px;top:-60px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(155,92,255,.12),transparent);animation:wsweep 5s linear infinite}
@keyframes wsweep{to{top:100%}}
.wc-top{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}
.wc-top i{width:10px;height:10px;border-radius:50%;background:#3a2d55}.wc-top i:nth-child(1){background:#F76B7E}.wc-top i:nth-child(2){background:#F6C454}.wc-top i:nth-child(3){background:#34D399}
.wc-top b{margin-left:8px;font:600 12px var(--mono);color:var(--mute);letter-spacing:.06em}
.wc-top .live{margin-left:auto;display:flex;align-items:center;gap:7px;font:600 10.5px var(--mono);letter-spacing:.14em;color:#F6C454}
.wc-top .live::before{content:"";width:7px;height:7px;border-radius:50%;background:#F6C454;animation:onlinepulse 1.6s infinite}
.wc-body{padding:14px 16px;min-height:290px;font:500 12.5px/1.5 var(--mono);display:flex;flex-direction:column;justify-content:flex-end;gap:5px;overflow:hidden}
.wc-line{display:flex;gap:12px;align-items:baseline;animation:wcin .45s cubic-bezier(.2,.9,.3,1) both}
@keyframes wcin{from{opacity:0;transform:translateX(-14px)}}
.wc-line time{color:#5b5075;flex:none}.wc-line em{font-style:normal;flex:none;width:48px;text-transform:uppercase;font-weight:700;letter-spacing:.08em}
.wc-line span{color:var(--ink-dim);min-width:0}
.wc-line.ok em{color:#34D399}.wc-line.warn em{color:#F6C454}.wc-line.warn span{color:#f3dca0}
.wc-line.bad em{color:#F76B7E}.wc-line.bad span{color:#ffb3c0}.wc-line.bad{background:linear-gradient(90deg,rgba(247,107,126,.14),transparent);border-radius:6px;padding:2px 6px;margin:0 -6px}
.wc-line.info em{color:#7cc4ff}
.wc-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.wc-stats div{padding:14px 16px;border-left:1px solid var(--line)}.wc-stats div:first-child{border-left:0}
.wc-stats b{display:block;font:800 24px var(--disp);font-variant-numeric:tabular-nums}
.wc-stats div:nth-child(2) b{color:#F6C454}.wc-stats div:nth-child(3) b{color:#F76B7E}.wc-stats div:nth-child(1) b{color:#34D399}
.wc-stats span{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.wc-note{margin-top:12px;font:500 11.5px var(--mono);color:var(--faint);text-align:center;letter-spacing:.04em}
.wpts{display:grid;gap:12px;margin-bottom:26px}
.wpts div{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--ink-dim)}
.wpts svg{width:20px;height:20px;flex:none;margin-top:1px;color:#34D399}
@media(max-width:900px){.wsec .grid2{grid-template-columns:1fr}.wc-body{min-height:250px;font-size:11.5px}.wc-line time{display:none}}
