:root{--primary: #fb923c;--primary-rgb: 251, 146, 60;--bg-deep: 10, 5, 0;--bg-card: 18, 8, 0;--bg-section: 10, 5, 0}[data-theme=midnight]{--primary: #a855f7;--primary-rgb: 168, 85, 247;--bg-deep: 10, 5, 20;--bg-card: 13, 8, 32;--bg-section: 10, 5, 20}[data-theme=hacker]{--primary: #22c55e;--primary-rgb: 34, 197, 94;--bg-deep: 0, 10, 5;--bg-card: 3, 20, 8;--bg-section: 0, 10, 5}[data-theme=cyber]{--primary: #06b6d4;--primary-rgb: 6, 182, 212;--bg-deep: 0, 10, 15;--bg-card: 3, 20, 32;--bg-section: 0, 10, 15}*{cursor:none}body{font-family:Inter,sans-serif;background-color:rgb(var(--bg-deep));color:#e0e0e0;overflow-x:hidden;transition:background-color .5s ease}.font-mono{font-family:Fira Code,monospace}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:rgb(var(--bg-deep))}::-webkit-scrollbar-thumb{background:rgba(var(--primary-rgb),.25);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--primary-rgb),.4)}.code-window{background:rgba(var(--bg-card),.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(var(--primary-rgb),.12);box-shadow:0 20px 60px #0009,inset 0 1px rgba(var(--primary-rgb),.05),0 0 0 1px rgba(var(--primary-rgb),.04);transition:border-color .5s ease}.bg-grid{background-image:linear-gradient(rgba(var(--primary-rgb),.025) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--primary-rgb),.025) 1px,transparent 1px);background-size:40px 40px}.bg-noise{background-image:url(https://grainy-gradients.vercel.app/noise.svg);opacity:.04;pointer-events:none}.scanlines{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:998;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.05) 2px,rgba(0,0,0,.05) 4px)}.crt-vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:997;background:radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,.72) 100%)}.glow-primary,.glow-orange{text-shadow:0 0 8px rgba(var(--primary-rgb),.9),0 0 20px rgba(var(--primary-rgb),.5),0 0 40px rgba(var(--primary-rgb),.25),0 0 80px rgba(var(--primary-rgb),.1)}.neon-border{box-shadow:0 0 0 1px rgba(var(--primary-rgb),.12),0 0 20px rgba(var(--primary-rgb),.06),0 20px 60px #0009}@keyframes flicker{0%,91%,93%,95%,97%,to{opacity:1}92%{opacity:.86}94%{opacity:.92}96%{opacity:.8}98%{opacity:.94}}.flicker{animation:flicker 9s infinite}.terminal-cursor{display:inline-block;width:2px;height:1.05em;background:var(--primary);vertical-align:middle;margin-left:3px;animation:cur-blink 1s step-end infinite;box-shadow:0 0 6px var(--primary),0 0 12px rgba(var(--primary-rgb),.4)}@keyframes cur-blink{0%,to{opacity:1}50%{opacity:0}}.block-cursor{display:inline-block;width:.55em;height:1em;background:var(--primary);vertical-align:middle;margin-left:3px;animation:cur-blink 1s step-end infinite;opacity:.8}@keyframes glitch-shift{0%{transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px,2px)}80%{transform:translate(1px,-2px)}to{transform:translate(0)}}@keyframes glitch-color{0%,to{text-shadow:0 0 8px rgba(var(--primary-rgb),.9),0 0 20px rgba(var(--primary-rgb),.5)}25%{text-shadow:-2px 0 rgba(255,0,100,.7),2px 0 rgba(var(--primary-rgb),.7),0 0 20px rgba(var(--primary-rgb),.5)}75%{text-shadow:2px 0 rgba(255,0,100,.5),-2px 0 rgba(var(--primary-rgb),.8),0 0 20px rgba(var(--primary-rgb),.5)}}.glitch-hover:hover{animation:glitch-shift .4s steps(4) infinite,glitch-color .4s steps(4) infinite}@keyframes vertical-line{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.v-line{position:absolute;width:1px;height:120px;background:linear-gradient(to bottom,transparent,rgba(var(--primary-rgb),.25),transparent);animation:vertical-line 12s linear infinite}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.skill-bar{background:linear-gradient(90deg,var(--primary) 0%,rgba(var(--primary-rgb),.6) 50%,var(--primary) 100%);background-size:200% auto;animation:shimmer 3s linear infinite;transition:background .5s ease}@keyframes boot-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.boot-line{animation:boot-in .4s ease both}.scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.blur-blob{position:absolute;border-radius:9999px;filter:blur(80px);pointer-events:none}.tooltip-container{position:relative}.tooltip-box{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:rgba(var(--bg-card),.98);border:1px solid rgba(var(--primary-rgb),.3);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:8px 12px;border-radius:8px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:50;box-shadow:0 8px 24px #00000080;color:#ccc}.tooltip-container:hover .tooltip-box{opacity:1}.scroll-top-btn{position:fixed;right:24px;bottom:32px;width:44px;height:44px;border-radius:10px;background:var(--primary);color:#000;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:990;box-shadow:0 0 20px rgba(var(--primary-rgb),.4);transition:all .3s ease;border:none;opacity:0;transform:translateY(12px)}.scroll-top-btn.visible{opacity:1;transform:translateY(0)}.scroll-top-btn:hover{background:rgba(var(--primary-rgb),.85);box-shadow:0 0 30px rgba(var(--primary-rgb),.6)}.theme-btn{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;transition:all .2s ease;color:#888}.theme-btn:hover{border-color:rgba(var(--primary-rgb),.4);color:var(--primary)}.theme-btn.active{background:rgba(var(--primary-rgb),.15);border-color:rgba(var(--primary-rgb),.5);color:var(--primary);box-shadow:0 0 12px rgba(var(--primary-rgb),.2)}.project-card{background:rgba(var(--bg-card),.92);border:1px solid rgba(var(--primary-rgb),.1);border-radius:16px;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.project-card:hover{border-color:rgba(var(--primary-rgb),.4);box-shadow:0 0 30px rgba(var(--primary-rgb),.08);transform:translateY(-4px)}
