@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;0,900;1,400;1,700&family=JetBrains+Mono:wght@400;500&display=swap";@tailwind base;@tailwind components;@tailwind utilities;:root{--color-orange: #f97316;--color-orange-glow: rgba(249, 115, 22, .4);--color-black: #050505;--color-card: #0a0a0a}body{background-color:var(--color-black);color:#e5e5e5;font-family:Space Grotesk,sans-serif;overflow-x:hidden;cursor:crosshair}::selection{background-color:var(--color-orange);color:#fff}.font-display{font-family:Playfair Display,serif}.font-mono-tech{font-family:JetBrains Mono,monospace;letter-spacing:-.02em}.text-stroke-orange{-webkit-text-stroke:1px var(--color-orange);color:transparent}.text-stroke-white{-webkit-text-stroke:1px rgba(255,255,255,.8);color:transparent}.tech-grid{background-size:50px 50px;background-image:linear-gradient(to right,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.03) 1px,transparent 1px);-webkit-mask-image:radial-gradient(circle at center,black 40%,transparent 100%);mask-image:radial-gradient(circle at center,black 40%,transparent 100%)}.tech-card{background:#0a0a0a99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 1px #00000080,0 20px 50px -20px #00000080}.tech-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-orange-glow),transparent);opacity:.5}.glow-text-orange{text-shadow:0 0 15px var(--color-orange-glow)}.glitch-wrapper{position:relative;display:inline-block}.glitch-layer{position:absolute;top:0;left:0;width:100%;height:100%}.glitch-layer:before,.glitch-layer:after{content:attr(data-text);position:absolute;top:0;left:0;opacity:.8}.glitch-layer:before{color:var(--color-orange);z-index:-1;clip-path:polygon(0 0,100% 0,100% 45%,0 45%);transform:translate(-2px,-2px);animation:glitch-anim-1 3s infinite linear alternate-reverse}.glitch-layer:after{color:#fff;z-index:-2;clip-path:polygon(0 55%,100% 55%,100% 100%,0 100%);transform:translate(2px,2px);animation:glitch-anim-2 2.5s infinite linear alternate-reverse}@keyframes glitch-anim-1{0%{transform:translate(-2px,-2px)}20%{transform:translate(2px,2px)}40%{transform:translate(-2px,2px)}60%{transform:translate(2px,-2px)}80%{transform:translate(-2px,-2px)}to{transform:translate(2px,2px)}}@keyframes glitch-anim-2{0%{transform:translate(2px,2px)}20%{transform:translate(-2px,-2px)}40%{transform:translate(2px,-2px)}60%{transform:translate(-2px,2px)}80%{transform:translate(2px,2px)}to{transform:translate(-2px,-2px)}}.scanline{position:fixed;top:0;left:0;width:100%;height:5px;background:var(--color-orange-glow);opacity:.2;animation:scanline 8s linear infinite;pointer-events:none;z-index:9999}@keyframes scanline{0%{transform:translateY(-100vh)}to{transform:translateY(100vh)}}@keyframes spin-once{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.animate-spin-once{animation:spin-once 2s ease-in-out forwards}.animate-pulse-slow{animation:pulse 4s cubic-bezier(.4,0,.6,1) infinite}.preserve-3d{transform-style:preserve-3d}.backface-hidden{backface-visibility:hidden}.rotate-y-180{transform:rotateY(180deg)}.perspective-1000{perspective:1000px}@keyframes peek{0%,to{transform:rotateY(0)}50%{transform:rotateY(15deg)}}.animate-peek{animation:peek 3s ease-in-out infinite}
