/* radikal-base.css — shared styles for all radikal subpages */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:#fdfd00;color:#0a0a0a;overflow-x:hidden;cursor:crosshair}
body{font-family:"Bricolage Grotesque",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#0a0a0a;color:#fdfd00}
html{scroll-behavior:smooth}
button,input,textarea,select{font-family:inherit}
a{color:inherit}

/* Noise overlay */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:100;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity:0.5;mix-blend-mode:multiply;
}

/* Marquee */
@keyframes m-x{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq{display:flex;width:max-content;animation:m-x 30s linear infinite;will-change:transform}
.mq-rev{animation-direction:reverse}
.mq-fast{animation-duration:14s}

/* Spin */
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.15)}}

/* Reveal */
.rv{opacity:0;transform:translateY(60px)}
.rv.in{opacity:1;transform:translateY(0);transition:opacity .6s ease-out,transform .6s ease-out}

/* Hover lift */
.lift{transition:transform .15s cubic-bezier(.5,1.5,.5,1),box-shadow .15s}
.lift:hover{transform:translate(-3px,-3px) rotate(0.5deg);box-shadow:6px 6px 0 #0a0a0a}

/* Outline text */
.ot{-webkit-text-stroke:2px #0a0a0a;color:transparent}

/* Glitch */
.glitch{position:relative;display:inline-block}

/* Sticky chip */
.sticker{position:absolute;border:2px solid #0a0a0a;padding:6px 12px;font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;background:#fdfd00;z-index:5;pointer-events:none}
