:root{--bg-void:#030303;--glass-dirty:#141414a6;--border-faint:#ffffff1a;--border-red:#f009;--text-main:#cecece;--text-muted:#555;--accent-red:#ff1a1a;--accent-red-bright:#ff5a5a;--scanline-color:#00000080;--glow-red:#ff1a1a73;--phosphor:#ff3c3c8c;--font-mono:"Courier New", Courier, monospace;--easing:cubic-bezier(.19, 1, .22, 1)}*{box-sizing:border-box}@media (pointer:fine){*{cursor:none}}html,body,#root{width:100%;min-height:100%;margin:0}html,body{overflow:hidden}body{background-color:var(--bg-void);color:var(--text-main);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}.custom-cursor{border:1px solid var(--accent-red);pointer-events:none;z-index:10000;mix-blend-mode:screen;width:12px;height:12px;filter:drop-shadow(0 0 4px var(--glow-red));transition:width .12s var(--easing), height .12s var(--easing), border-color .12s ease, border-radius .2s ease;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor:before,.custom-cursor:after{content:"";background:var(--accent-red);transition:opacity .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.custom-cursor:before{width:1px;height:100%}.custom-cursor:after{width:100%;height:1px}.custom-cursor.pressed{border-color:#fff;width:8px;height:8px}.custom-cursor.pressed:before,.custom-cursor.pressed:after{background:#fff}.custom-cursor.hover{background:var(--accent-red);border-radius:50%;width:6px;height:6px}.custom-cursor.hover:before,.custom-cursor.hover:after{opacity:0}.cursor-ring{pointer-events:none;z-index:9999;mix-blend-mode:screen;width:28px;height:28px;transition:left .16s var(--easing), top .16s var(--easing), width .2s var(--easing), height .2s var(--easing), opacity .2s ease, border-color .2s ease;border:1px solid #ff1a1a59;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-ring.pressed{border-color:#fff9;width:18px;height:18px}.cursor-ring.hover{border-color:#ff1a1a8c;width:46px;height:46px;box-shadow:0 0 14px #ff1a1a40,inset 0 0 12px #ff1a1a1f}@media (pointer:coarse),(pointer:none){.custom-cursor,.cursor-ring{display:none}}.noise-layer,.scanlines,.vignette,.fold-line,.ambient-grid{pointer-events:none;position:fixed}.noise-layer{z-index:9999;opacity:.08;will-change:transform;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:200%;height:200%;animation:.6s steps(4,end) infinite grain-boil;inset:-50%}.scanlines{z-index:9998;background:linear-gradient(#12101000 50%,#00000047 50%) 0 0/100% 3px,linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f) 0 0/3px 100%;animation:.18s step-end infinite flicker;inset:0;overflow:hidden}.scanlines:after{content:"";will-change:transform;background:linear-gradient(#fff0 0%,#ffffff04 40%,#ff5a5a0d 50%,#78c8ff08 56%,#fff0 100%);height:28%;animation:7s linear infinite scan-roll;position:absolute;top:0;left:0;right:0}.vignette{z-index:9997;background:radial-gradient(circle,#0000 58%,#000000d1 100%),radial-gradient(120% 120% at 50% 0,#ffffff06,#fff0 45%);inset:0;box-shadow:inset 0 0 120px 30px #0000008c,inset 0 0 8px 2px #ff1a1a0f}.vignette:after{content:"";mix-blend-mode:screen;background:radial-gradient(140% 100% at 50% -20%,#ffffff0d,#fff0 38%);position:absolute;inset:0}.fold-line{z-index:1;background:linear-gradient(#fff0 0%,#ffffff0f 50%,#fff0 100%);width:1px;top:0;bottom:0;left:50%}.ambient-grid{z-index:0;opacity:.4;background-image:linear-gradient(#ff1a1a0d 1px,#0000 1px),linear-gradient(90deg,#ff1a1a0d 1px,#0000 1px);background-size:44px 44px;animation:24s linear infinite grid-drift;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 72%);mask-image:radial-gradient(circle,#000 0%,#0000 72%)}.app-shell{background:radial-gradient(140% 120% at 50% 40%, #0a0808 0%, var(--bg-void) 60%);width:100vw;height:100dvh;position:relative;overflow:hidden}.boot-screen{z-index:5000;color:var(--accent-red);text-shadow:0 0 6px var(--glow-red);background:radial-gradient(120% 120% at 50% 60%,#050000 0%,#000 70%);flex-direction:column;justify-content:flex-end;padding:4rem;font-size:14px;transition:opacity .5s;display:flex;position:fixed;inset:0}.boot-screen.fading{opacity:0}.boot-log{max-width:780px}.boot-line{opacity:0;margin-bottom:4px;animation:.18s forwards boot-line-reveal}.boot-caret{background:var(--accent-red);width:.6em;height:1.1em;box-shadow:0 0 10px var(--glow-red);margin-top:2px;animation:1s step-end infinite caret-blink;display:inline-block}.stage-shell{z-index:10;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.desktop-stage{opacity:0;transform-origin:50%;width:1440px;height:900px;transition:opacity .6s;position:relative}.desktop-stage.visible{opacity:1}.desktop-stage.visible .desktop{animation:crt-power-on 1s var(--easing) both}.desktop{transform-origin:50%;grid-template-rows:1fr 40px;grid-template-columns:250px 1fr;gap:20px;width:100%;height:100%;padding:2rem;display:grid;position:relative}.sidebar{border-right:1px solid var(--border-faint);flex-direction:column;grid-row:1/2;gap:1rem;padding-right:20px;display:flex}.sys-header{border-bottom:1px solid var(--border-faint);color:var(--text-muted);letter-spacing:.2em;margin-bottom:1rem;padding-bottom:.5rem;font-size:12px}.sidebar-footer-header{margin-top:auto}.file-node{width:100%;color:var(--text-main);text-align:left;transition:color .2s ease, text-shadow .2s ease, letter-spacing .2s ease, padding-left .25s var(--easing);background:0 0;border:0;align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex;position:relative}.file-node:before{content:"[ ]";color:var(--text-muted);font-size:10px;transition:color .2s}.file-node:hover{color:var(--accent-red);letter-spacing:.04em;text-shadow:1.5px 0 1px #ff0000b3, -1.5px 0 1px #00c8ff73, 0 0 10px var(--glow-red);padding-left:8px;animation:.35s steps(2,end) text-glitch}.file-node:hover:before{content:"[x]";color:var(--accent-red)}.file-node:focus-visible{outline:1px solid var(--accent-red);outline-offset:2px}.system-status{color:var(--text-muted);font-size:10px;line-height:1.6}.workspace{width:100%;height:100%;position:relative}.window{background:linear-gradient(135deg, #ffffff09, #fff0 40%), var(--glass-dirty);border:1px solid var(--border-faint);-webkit-backdrop-filter:blur(12px)grayscale();transition:transform .3s var(--easing), opacity .3s ease, border-color .3s ease, box-shadow .4s ease;animation:window-open .4s var(--easing) both;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 24px 60px #000000d9,inset 0 1px #ffffff0d}.window:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#fff0 0%,#ffffff38 50%,#fff0 100%);height:1px;position:absolute;top:0;left:0;right:0}.window.is-hidden{display:none}.window.active{z-index:100;border-color:var(--border-red);animation:3.4s ease-in-out infinite active-breathe;box-shadow:0 24px 60px #000000d9,0 0 26px #ff000029,inset 0 1px #ffffff0f}.window-header{border-bottom:1px solid var(--border-faint);cursor:grab;touch-action:none;background:#0006;justify-content:space-between;align-items:center;height:30px;padding:0 10px;display:flex;position:relative}.window-header:active{cursor:grabbing}.window.active .window-header{border-bottom-color:var(--border-red);background:linear-gradient(#3c000059,#14000033)}.win-title{letter-spacing:.15em;text-transform:uppercase;font-size:11px;transition:text-shadow .3s}.window.active .win-title{color:#e8e8e8;text-shadow:0 0 8px #ffffff2e}.win-controls{gap:5px;display:flex}.win-btn{border:1px solid var(--text-muted);background:0 0;width:10px;height:10px;padding:0;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .15s}.win-btn:hover{border-color:var(--accent-red);box-shadow:0 0 8px var(--glow-red);transform:scale(1.15)}.window.active .win-btn.close{background:var(--accent-red);border-color:var(--accent-red);box-shadow:0 0 8px var(--glow-red)}.window.active .win-btn.close:hover{background:var(--accent-red-bright);box-shadow:0 0 12px #ff5a5ab3}.window.collapsed .window-content{display:none}.window.collapsed .win-btn:not(.close){background:var(--text-muted);border-color:var(--text-muted)}.window-content{scrollbar-width:thin;scrollbar-color:var(--accent-red) #000;flex:1;padding:20px;font-size:13px;line-height:1.6;overflow-y:auto}.window-content::-webkit-scrollbar{width:4px}.window-content::-webkit-scrollbar-track{background:#000}.window-content::-webkit-scrollbar-thumb{background:var(--accent-red);box-shadow:0 0 6px var(--glow-red)}h1,h2,h3,p{margin:0}h1,h2,h3{text-transform:uppercase;letter-spacing:.1em;font-weight:400}h1{color:var(--text-main);text-shadow:0 0 5px #ffffff38,0 0 18px #ffffff14;margin-bottom:10px;font-size:24px;animation:6s step-end infinite title-flicker}p+p{margin-top:12px}.about-role{color:var(--accent-red);letter-spacing:.2em;text-shadow:0 0 8px var(--glow-red);margin-bottom:20px}.highlight-red{color:var(--accent-red);text-shadow:0 0 8px #f006}.status-online{color:#0f0;text-shadow:0 0 8px #0f06}.data-grid{border-top:1px solid var(--border-faint);grid-template-columns:100px 1fr;gap:10px;margin-top:20px;padding-top:20px;display:grid}.label{color:var(--text-muted);font-size:11px}.project-item{border:1px solid var(--border-faint);transition:border-color .25s ease, background-color .25s ease, transform .25s var(--easing), box-shadow .25s ease;background:#0000004d;margin-bottom:15px;padding:15px;position:relative;overflow:hidden}.project-item:before{content:"";background:var(--accent-red);transform-origin:top;width:2px;transition:transform .3s var(--easing);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.project-item:hover{border-color:var(--accent-red);background:#14000052;transform:translate(4px);box-shadow:-2px 0 14px #ff00001f,inset 0 0 24px #ff00000a}.project-item:hover:before{transform:scaleY(1)}.project-headline{justify-content:space-between;align-items:center;display:flex}.tech-stack{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tag{color:var(--text-muted);border:1px solid var(--text-muted);padding:2px 6px;font-size:10px;transition:color .2s,border-color .2s,box-shadow .2s}.project-item:hover .tag{border-color:#ff1a1a66}.tag:hover{color:var(--accent-red);border-color:var(--accent-red);box-shadow:0 0 8px var(--glow-red)}.history-entry{margin-bottom:20px}.history-company{color:var(--accent-red);text-shadow:0 0 8px #ff00004d}.window-content a{color:var(--text-main);border-bottom:1px dashed var(--text-muted);text-decoration:none;transition:color .2s,border-color .2s,text-shadow .2s}.window-content a:hover{color:var(--accent-red);border-bottom-color:var(--accent-red);text-shadow:0 0 8px var(--glow-red)}.contact-grid{gap:16px;margin-top:8px;display:grid}.contact-row{grid-template-columns:72px 1fr;gap:8px;display:grid}.contact-link{color:var(--text-main);border-bottom:1px solid #0000;text-decoration:none;transition:color .2s,border-color .2s,text-shadow .2s}.contact-link:hover{color:var(--accent-red);border-bottom-color:var(--border-red);text-shadow:0 0 8px #f006}.contact-link:focus-visible{outline:1px solid var(--accent-red);outline-offset:2px}.blur-hover{transition:color .3s,text-shadow .3s}.blur-hover:hover{color:#0000;text-shadow:0 0 6px var(--text-main)}.taskbar{border-top:1px solid var(--border-faint);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(#ffffff05,#000000d9);grid-area:2/1/3/3;justify-content:space-between;align-items:center;gap:20px;padding:0 20px;display:flex}.taskbar-left{align-items:center;gap:18px;min-width:0;display:flex}.start-btn{color:var(--accent-red);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;font-size:12px;animation:2s infinite pulse}.language-switch{flex-shrink:0;align-items:center;gap:10px;display:flex}.language-label{color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase;font-size:11px}.language-options{border:1px solid var(--border-faint);background:#ffffff05;align-items:center;gap:4px;padding:3px;display:flex}.language-btn{min-width:44px;color:var(--text-muted);letter-spacing:.2em;text-transform:uppercase;background:0 0;border:0;padding:4px 8px;font-size:11px;transition:color .2s,background-color .2s,text-shadow .2s}.language-btn:hover{color:var(--accent-red);text-shadow:0 0 8px #ff000059}.language-btn.is-active{color:var(--accent-red);text-shadow:0 0 10px #ff000073;background:#ff00001f;box-shadow:inset 0 0 10px #ff00001f}.language-btn:focus-visible{outline:1px solid var(--accent-red);outline-offset:1px}.clock{color:var(--text-muted);white-space:nowrap;letter-spacing:.08em;font-size:12px}@keyframes pulse{0%{opacity:.7}50%{opacity:1;text-shadow:0 0 10px var(--accent-red)}to{opacity:.7}}@keyframes flicker{0%{opacity:.97}5%{opacity:.95}10%{opacity:.9}15%{opacity:.95}20%{opacity:.99}50%{opacity:.95}80%{opacity:.9}to{opacity:.97}}@keyframes boot-line-reveal{to{opacity:1}}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes grain-boil{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-2%)}to{transform:translate(3%,1%)}}@keyframes scan-roll{0%{transform:translateY(-120%)}to{transform:translateY(420%)}}@keyframes grid-drift{0%{background-position:0 0,0 0}to{background-position:44px 44px,44px 44px}}@keyframes crt-power-on{0%{filter:brightness(10)saturate(0);opacity:0;transform:scaleY(.0015)scaleX(1.1)}12%{filter:brightness(10)saturate(0);opacity:1;transform:scaleY(.0015)scaleX(1.1)}38%{filter:brightness(6)saturate(.4);transform:scaleY(.012)scaleX(1.06)}62%{filter:brightness(2.4);transform:scaleY(1.04)scaleX(1.01)}82%{filter:brightness(1.2);transform:scaleY(.99)scaleX(1)}to{filter:brightness();opacity:1;transform:scaleY(1)scaleX(1)}}@keyframes window-open{0%{opacity:0;filter:brightness(2.4);transform:translateY(8px)scale(.985)}to{opacity:1;filter:brightness();transform:translateY(0)scale(1)}}@keyframes active-breathe{0%,to{box-shadow:0 24px 60px #000000d9,0 0 22px #ff00001f,inset 0 1px #ffffff0f}50%{box-shadow:0 24px 60px #000000d9,0 0 34px #ff00003d,inset 0 1px #ffffff14}}@keyframes text-glitch{0%{transform:translate(0)}25%{transform:translate(-1px)}50%{transform:translate(1px)}75%{transform:translate(-.5px)}to{transform:translate(0)}}@keyframes title-flicker{0%,92%,to{opacity:1}93%{opacity:.72}94%{opacity:1}96%{opacity:.84}97%{opacity:1}}@media (prefers-reduced-motion:reduce){.noise-layer,.scanlines,.scanlines:after,.ambient-grid,.start-btn,.boot-caret,.window,.window.active,h1,.desktop-stage.visible .desktop{animation:none!important}.cursor-ring,.custom-cursor,.mobile-shell{transition:none!important}}.mobile-shell{z-index:10;-webkit-overflow-scrolling:touch;opacity:0;flex-direction:column;transition:opacity 1.2s ease-in;display:flex;position:absolute;inset:0;overflow-y:auto}.mobile-shell.revealed{opacity:1}.mobile-topbar{z-index:5;border-bottom:1px solid var(--border-faint);-webkit-backdrop-filter:blur(6px);background:#000000d9;flex-direction:column;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.mobile-topbar-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-userpath{color:var(--text-muted);letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mobile-stack{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex}.mobile-panel{background:var(--glass-dirty);border:1px solid var(--border-faint);-webkit-backdrop-filter:blur(12px)grayscale();flex-direction:column;display:flex;overflow:hidden;box-shadow:0 12px 30px #000000b3}.mobile-panel-header{border-bottom:1px solid var(--border-red);background:#28000033;justify-content:space-between;align-items:center;height:30px;padding:0 10px;display:flex}.mobile-panel-dots{gap:5px;display:flex}.mobile-panel-dots .win-btn{display:inline-block}.mobile-panel-dots .win-btn.close{background:var(--accent-red);border-color:var(--accent-red)}.mobile-panel-body{padding:18px;font-size:13px;line-height:1.6}.mobile-panel .project-headline{flex-direction:column;align-items:flex-start;gap:4px}.mobile-statusbar{border-top:1px solid var(--border-faint);background:#0009;flex-direction:column;gap:10px;padding:16px;display:flex}
