*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#050505;--surface:#0a0a0a;--surface-2:#111;--surface-3:#181818;--border:#1a1a1a;--border-light:#2a2a2a;--text:#e0e0e0;--text-muted:#666;--text-dim:#333;--accent:#fff;--radius:8px;--font-display:"Space Grotesk", "Inter", sans-serif}html{scroll-behavior:smooth}body{--font-mono:"JetBrains Mono", "Fira Code", monospace;background:var(--bg);color:var(--text);font-size:.9rem;line-height:1.7;font-family:var(--font-mono);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 50% -10%,#ffffff0d 0%,#0000 40%);background-attachment:fixed;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--text);color:var(--bg)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-light)}#scroll-progress{background:var(--text);z-index:9999;pointer-events:none;opacity:.8;width:0%;height:1px;transition:width .1s linear;position:fixed;top:0;left:0}#cursor-glow{pointer-events:none;z-index:9998;width:600px;height:600px;left:calc(var(--cx,-9999px) - 300px);top:calc(var(--cy,-9999px) - 300px);mix-blend-mode:screen;background:radial-gradient(circle,#ffffff04 0%,#0000 60%);transition:left 80ms ease-out,top 80ms ease-out;position:fixed}.bg-grid{z-index:0;pointer-events:none;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.12;background-size:40px 40px;transition:transform .1s linear;position:fixed;inset:0}.bg-grid:after{content:"";background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.3;background-size:40px 40px;animation:30s linear infinite gridDrift;position:absolute;inset:0}@keyframes gridDrift{0%{transform:translate(0)}to{transform:translate(40px,40px)}}.glow-target{position:relative;overflow:hidden}.glow-target:before{content:"";pointer-events:none;z-index:0;opacity:.08;filter:blur(4px);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:absolute;inset:0}.glow-target:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(160px 160px at var(--gx,50%) var(--gy,50%), #ffffff04 0%, transparent 100%);position:absolute;inset:-1px}.particles{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.star-particle{-webkit-user-select:none;user-select:none;pointer-events:none;color:#fff;opacity:var(--base-opacity,.3);animation:starDrift var(--float-duration,20s) var(--float-delay,0s) ease-in-out infinite;will-change:transform;line-height:1;position:absolute}@keyframes starDrift{0%{transform:translate(0)}25%{transform:translate(var(--drift-x), calc(var(--drift-y) * .5))}50%{transform:translate(calc(var(--drift-x) * -.6), var(--drift-y))}75%{transform:translate(calc(var(--drift-x) * .4), calc(var(--drift-y) * -.3))}to{transform:translate(0)}}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(30px)}.reveal-visible{opacity:1;transform:translateY(0)}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes borderGlow{0%,to{border-color:var(--border-light);box-shadow:0 0 #0000}50%{border-color:var(--text);box-shadow:0 0 15px #ffffff08}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn{border-radius:var(--radius);font-size:.8rem;font-weight:500;font-family:var(--font-mono);cursor:pointer;border:1px solid var(--border-light);color:var(--text);background:0 0;align-items:center;gap:8px;padding:10px 24px;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{border-color:var(--text);color:var(--text)}.btn-primary:hover{background:var(--text);color:var(--bg);transform:translateY(-2px)}.btn-secondary{border-color:var(--border);color:var(--text-muted)}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text);transform:translateY(-2px)}.section-title{font-family:var(--font-mono);color:var(--text);align-items:center;gap:8px;margin-bottom:28px;font-size:.85rem;font-weight:600;display:flex;position:relative}.section-title:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle,#ffffff08 0%,#0000 70%);width:100px;height:100px;position:absolute;top:50%;left:-20px;transform:translateY(-50%)}.section-title:before{content:"$";color:var(--text-muted)}.projects .section-title,.contact .section-title{justify-content:center;font-size:1.1rem;animation:5s infinite titleGlitch}@keyframes titleGlitch{0%,90%,to{opacity:1;filter:none;transform:none}92%{opacity:.8;color:#ff5f56;filter:blur(1px);transform:skew(10deg)}94%{opacity:.8;color:#27c93f;filter:blur(1px);transform:skew(-10deg)}96%{opacity:.9;transform:skew(5deg)}}.section-title:after{content:"";background:var(--border);flex:1;height:1px;margin-left:10px}.header{z-index:100;width:100%;padding:10px 24px;position:fixed;top:0}.header-inner{border-radius:var(--radius);-webkit-backdrop-filter:blur(24px);background:#ffffff05;border:1px solid #ffffff14;justify-content:space-between;align-items:center;max-width:1024px;margin:0 auto;padding:8px 16px;display:flex;box-shadow:0 4px 24px #0000004d}.logo{cursor:pointer;align-items:center;gap:6px;display:flex}.logo-name{font-family:var(--font-mono);color:var(--text);letter-spacing:.5px;font-size:.9rem;font-weight:700}.logo-dot{background:var(--text-muted);border-radius:50%;width:5px;height:5px;animation:1.2s step-end infinite blink}nav{gap:2px;display:flex}nav button{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:5px 12px;transition:color .2s}nav button:hover{color:var(--text)}.hero{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:100px 24px 60px;display:flex;position:relative}.hero-content{text-align:center;width:100%;max-width:780px}.hero-logo-wrapper{justify-content:center;margin-bottom:24px;display:flex;position:relative}.hero-skills{pointer-events:none;z-index:0;position:absolute;inset:0}.hero-skills-lines{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-skill-tag{font-family:var(--font-mono);color:var(--text);letter-spacing:.3px;opacity:.4;white-space:nowrap;z-index:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;font-size:.6rem;transition:opacity .3s,color .3s;position:absolute;transform:translate(-50%,-50%)}.hero-skill-tag:hover{opacity:1;color:#fff;text-shadow:0 0 8px #fff6,0 0 20px #ffffff26}.logo-3d-container-outer{flex-direction:column;align-items:center;display:flex;position:relative}.logo-3d-scene{cursor:grab;z-index:2;border-radius:8px;position:relative;overflow:hidden}.logo-3d-scene canvas{display:block}.logo-3d-scene:active{cursor:grabbing}.logo-3d-loader{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@keyframes spin{to{transform:rotate(360deg)}}.logo-3d-hint{color:var(--text-dim);text-align:center;letter-spacing:1px;margin-top:12px;font-size:.65rem;animation:2.5s step-end infinite blink}.marquee-wrapper{-webkit-backdrop-filter:blur(12px);z-index:1;background:#ffffff04;border-top:1px solid #ffffff0f;border-bottom:1px solid #ffffff0f;width:100%;margin-top:-40px;padding:12px 0;position:relative;overflow:hidden}.marquee-track{gap:0;width:fit-content;animation:30s linear infinite marqueeScroll;display:flex}.marquee-content{flex-shrink:0;align-items:center;gap:0;display:flex}.marquee-item{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;text-transform:uppercase;letter-spacing:1px;align-items:center;gap:8px;padding:0 24px;font-size:.78rem;transition:color .2s;display:flex}.marquee-item:hover{color:var(--text)}.marquee-dot{color:var(--text-muted);font-size:.4rem}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.logo-3d-loader{z-index:10;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner{border:2px solid #ffffff0d;border-top-color:var(--text-dim,#666);border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}.hero-tagline{letter-spacing:2px;text-transform:uppercase;justify-content:center;align-items:center;gap:16px;margin-bottom:24px;font-size:.75rem;display:flex}.hero-tagline span{background:var(--accent);color:var(--bg);border-radius:3px;padding:3px 12px;font-size:.7rem;font-weight:700}.hero-tagline:before,.hero-tagline:after{content:"";background:var(--border-light);width:32px;height:1px}.hero-greeting{color:var(--text-dim);min-height:1.4em;font-size:.85rem;font-family:var(--font-mono);margin-bottom:6px}.typewriter-term{color:var(--text);font-weight:700}.hero-name{font-size:3.5rem;font-weight:800;font-family:var(--font-display);letter-spacing:-2px;background:linear-gradient(135deg, var(--text) 0%, var(--text-muted) 50%, var(--text) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;line-height:1.08}.hero-desc{color:var(--text-muted);max-width:520px;margin:0 auto 6px;font-size:.85rem;line-height:1.8}.hero-actions{justify-content:center;gap:12px;margin-top:32px;display:flex}.typewriter-cursor{background:var(--text-muted);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:.8s step-end infinite blink;display:inline-block}.about-experience{grid-template-columns:3fr 1fr;align-items:start;gap:80px;max-width:1300px;margin:280px auto 0;padding:0 24px;display:grid}.python-text-section{max-width:640px;margin:60px auto -400px;padding:0 24px}.python-canvas-wrap{aspect-ratio:1;width:100%;max-width:320px;margin:0 auto;position:relative}.python-canvas-wrap canvas{display:block;width:100%!important;height:100%!important}.python-3d-loader{height:100%;font-family:var(--font-mono);color:var(--text-dim);justify-content:center;align-items:center;font-size:.75rem;display:flex}.python-text-window{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius);background:#ffffff05;border:1px solid #ffffff14;overflow:hidden;box-shadow:0 8px 32px #0000004d}.python-text-header{-webkit-backdrop-filter:blur(12px);background:#ffffff04;border-bottom:1px solid #ffffff0f;align-items:center;gap:6px;padding:8px 12px;display:flex}.python-text-dot{border-radius:50%;width:10px;height:10px}.python-text-dot.dot-red{background:#ff5f56}.python-text-dot.dot-yellow{background:#ffbd2e}.python-text-dot.dot-green{background:#27c93f}.python-text-title{color:var(--text-muted);letter-spacing:.5px;font-size:.68rem;font-family:var(--font-mono);margin-left:auto}.python-text-canvas-wrap{aspect-ratio:5;width:100%;position:relative}.python-text-canvas-wrap canvas{display:block;width:100%!important;height:100%!important}.about{z-index:1;position:relative}.about-window{-webkit-backdrop-filter:blur(28px);border-radius:var(--radius);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#0a0a0a73;border:1px solid #ffffff14;width:100%;transition:box-shadow .4s,border-color .4s;position:relative;overflow:hidden;box-shadow:0 10px 40px #0009,inset 0 1px 1px #ffffff0d}.about-window:before{content:"";pointer-events:none;z-index:10;background:linear-gradient(90deg,#0000,#ffffff1a,#0000);height:1px;position:absolute;top:0;left:0;right:0}.about-window:active{cursor:grabbing}.about-window:hover{border-color:var(--border-light)}.about-window-header{-webkit-backdrop-filter:blur(12px);background:#ffffff04;border-bottom:1px solid #ffffff0f;align-items:center;gap:8px;padding:10px 14px;display:flex}.about-window-dot{border:none;border-radius:50%;width:11px;height:11px}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27c93f}.dot-red,.dot-yellow,.dot-green{opacity:.7;transition:opacity .2s}.about-window-header:hover .dot-red,.about-window-header:hover .dot-yellow,.about-window-header:hover .dot-green{opacity:1}.about-window-title{color:var(--text-muted);letter-spacing:.5px;margin-left:auto;font-size:.72rem}.about-window-body{min-height:280px;padding:32px 28px}.about-prompt{align-items:center;gap:8px;margin-bottom:10px;display:flex}.about-prompt-user{color:var(--text-muted);font-size:.82rem}.about-prompt-path{color:var(--text);font-size:.82rem}.about-prompt-symbol{color:var(--text-dim);font-size:.82rem}.about-content{grid-template-columns:3fr 2fr;gap:32px;display:grid}.about-text p{color:var(--text-muted);margin-bottom:14px;font-size:.85rem;line-height:1.8}.about-text .highlight{color:var(--text)}.about-info{flex-direction:column;gap:6px;display:flex}.info-item{-webkit-backdrop-filter:blur(8px);background:#ffffff04;border:1px solid #ffffff0a;border-radius:3px;justify-content:space-between;padding:8px 12px;font-size:.8rem;transition:all .2s;display:flex}.info-item:hover{background:#ffffff08;padding-left:16px}.info-label{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem}.skills{z-index:1;padding:40px 24px;position:relative}.freelance-banner{text-align:center;border-radius:var(--radius);background:#ffffff04;border:1px solid #ffffff0f;max-width:900px;margin:0 auto 20px;padding:32px 24px;position:relative;overflow:hidden}.freelance-banner:before{content:"";pointer-events:none;background:radial-gradient(at 50% 0,#ffffff0a 0%,#0000 70%);position:absolute;inset:0}.freelance-banner-badge{font-family:var(--font-mono);letter-spacing:2.5px;color:#27c93f;text-shadow:0 0 10px #27c93f66;background:#27c93f0f;border:1px solid #27c93f4d;border-radius:20px;align-items:center;gap:8px;margin-bottom:16px;padding:4px 16px;font-size:.6rem;font-weight:700;animation:2.5s ease-in-out infinite badgePulse;display:inline-flex}.live-dot{opacity:.3;background:#27c93f;border-radius:50%;width:6px;height:6px;transition:opacity .2s;display:inline-block}.live-dot.active{opacity:1;box-shadow:0 0 8px #27c93f}@keyframes badgePulse{0%,to{box-shadow:0 0 8px #27c93f26}50%{box-shadow:0 0 18px #27c93f4d}}.freelance-banner-title{color:var(--text);letter-spacing:-.3px;margin-bottom:10px;font-size:1.2rem;font-weight:700}.freelance-banner-subtitle{font-family:var(--font-mono);color:var(--text-muted);font-size:.78rem;line-height:1.6}.freelance-highlight{color:#fff;text-shadow:0 0 12px #ffffff26;font-weight:600}.service-item{border-bottom:1px dashed #ffffff0a;flex-direction:column;gap:2px;padding:8px 0;display:flex}.service-item:last-child{border-bottom:none}.service-name{color:var(--text);font-size:.75rem;font-weight:600}.service-desc{color:var(--text-dim);font-size:.65rem;line-height:1.4}.status-dashboard-window{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius);font-family:var(--font-mono);background:#0a0a0af2;border:1px solid #ffffff14;overflow:hidden;box-shadow:0 12px 40px #00000080}.status-dashboard-window:hover{border-color:#ffffff26}.status-dashboard-header{background:#ffffff05;border-bottom:1px solid #ffffff0f;align-items:center;gap:8px;padding:12px 18px;display:flex}.status-dashboard-dot{border-radius:50%;width:11px;height:11px}.status-dashboard-dot.dot-red{background:#ff5f56}.status-dashboard-dot.dot-yellow{background:#ffbd2e}.status-dashboard-dot.dot-green{background:#27c93f}.status-dashboard-title{color:var(--text-muted);letter-spacing:.5px;margin-left:auto;font-size:.72rem}.dashboard-split{grid-template-columns:1fr 1fr;align-items:start;gap:20px;max-width:1100px;margin:0 auto;display:grid}@media (width<=768px){.dashboard-split{grid-template-columns:1fr}}.status-dashboard-body-single{flex-direction:column;gap:16px;padding:20px;display:flex}.stats-column{flex-direction:column;gap:16px;display:flex}.stats-card-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.stats-card-item{text-align:center;background:#ffffff04;border:1px solid #ffffff0d;border-radius:6px;padding:14px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stats-card-item:before{content:"";background:linear-gradient(45deg,#0000,#ffffff08,#0000);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.stats-card-item:hover{background:#ffffff08;border-color:#27c93f4d;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.stats-card-item:hover:before{transform:translate(100%)}.stats-card-number{color:#fff;text-shadow:0 0 8px #fff3;margin-bottom:4px;font-size:1.4rem;font-weight:700}.stats-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.65rem}.specs-panel{background:#ffffff03;border:1px solid #ffffff0a;border-radius:6px;padding:16px}.specs-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:6px;margin-bottom:12px;font-size:.75rem;display:flex}.specs-title:before{content:"■";color:#27c93f;font-size:.5rem}.spec-line{border-bottom:1px dashed #ffffff0a;justify-content:space-between;padding:6px 0;font-size:.72rem;display:flex}.spec-line:last-child{border-bottom:none}.spec-key{color:var(--text-muted)}.spec-val{color:var(--text);font-weight:600}.spec-val.active-status{color:#27c93f;text-shadow:0 0 6px #27c93f66}.terminal-window-standalone{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius);font-family:var(--font-mono);background:#050505f2;border:1px solid #ffffff14;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000080}.terminal-window-standalone:hover{border-color:#ffffff26}.terminal-console-header{color:var(--text-dim);border-bottom:1px solid #ffffff0f;justify-content:space-between;padding:8px 16px;font-size:.65rem;display:flex}.terminal-console-body{color:var(--text-muted);flex-direction:column;flex:1;gap:6px;min-height:380px;max-height:500px;padding:14px 16px;font-size:.68rem;line-height:1.45;display:flex;overflow-y:auto}.terminal-log-line{word-break:break-all;white-space:pre-wrap}.terminal-log-line.cyan{color:#a8a8a8}.terminal-console-body::-webkit-scrollbar{width:4px}.terminal-console-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.skills-workspace{width:100%;max-width:1100px;height:680px;margin:40px auto 0;position:relative}.workspace-window{-webkit-user-select:none;user-select:none;transition:box-shadow .3s,border-color .3s,transform 80ms cubic-bezier(.2,0,.2,1);top:0;left:0;position:absolute!important}.workspace-window:active{z-index:100!important}.status-dashboard-window.workspace-window{z-index:25;width:720px}.terminal-window-standalone.workspace-window{z-index:20;width:440px}.arch-window.workspace-window{z-index:15;width:560px}.status-dashboard-body-horizontal{flex-direction:column;gap:14px;padding:16px;display:flex}.stats-card-grid-horizontal{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.dashboard-horizontal-panels{grid-template-columns:1fr 1fr;gap:12px;display:grid}.terminal-compact{min-height:0}.terminal-compact .terminal-console-body{min-height:180px;max-height:250px;padding:10px 14px}.arch-window{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius);background:#0a0a0af2;border:1px solid #ffffff14;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000080}.arch-body{background:#0003;justify-content:center;align-items:center;min-height:340px;padding:24px;display:flex;position:relative}@keyframes arch-pulse{0%{opacity:.6;transform:scale(1)}50%{opacity:0;transform:scale(1.4)}to{opacity:0;transform:scale(1)}}.arch-pulse{transform-origin:50%;animation:2s ease-out infinite arch-pulse}.arch-svg{z-index:5;width:100%;height:auto;max-height:340px;display:block;position:relative}@media (width<=900px){.skills-workspace{flex-direction:column;gap:24px;height:auto;padding:0 16px;display:flex}.workspace-window{width:100%!important;position:relative!important;top:auto!important;left:auto!important;transform:none!important}.status-dashboard-window.workspace-window,.terminal-window-standalone.workspace-window,.arch-window.workspace-window{width:100%}.stats-card-grid-horizontal{grid-template-columns:repeat(2,1fr)}.dashboard-horizontal-panels{grid-template-columns:1fr}}.projects{z-index:1;padding:80px 24px;position:relative}.projects .section-title{text-align:center;margin-bottom:32px}.projects-static-grid{grid-template-columns:repeat(3,1fr);gap:30px;max-width:1000px;margin:0 auto;padding:40px 0;display:grid}.project-card-wrapper{perspective:1000px;z-index:1;width:100%;max-width:380px;position:relative}.project-card-wrapper:hover{z-index:9999}.project-card-secret{z-index:0;opacity:0;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:absolute;inset:0}.secret-image-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.secret-img,.secret-emoji{width:80px;height:auto;transition:all .6s cubic-bezier(.16,1,.3,1);position:absolute}.secret-emoji{justify-content:center;align-items:center;font-size:3rem;display:flex}.secret-img.is-screenshot{border:1px solid #ffffff26;border-radius:6px;width:150px;height:auto;box-shadow:0 10px 30px #0009}.project-card-wrapper .img-left.is-screenshot{opacity:0;z-index:2;transition:transform .7s cubic-bezier(.19,1,.22,1),opacity .5s;transform:translateY(120px)scale(.6)rotate(0)}.project-card-wrapper .img-right.is-screenshot{opacity:0;z-index:1;transition:transform .7s cubic-bezier(.19,1,.22,1),opacity .5s;transform:translateY(120px)scale(.6)rotate(0)}.project-card-wrapper .img-center{opacity:0;z-index:3;max-width:100px;transition:transform .7s cubic-bezier(.19,1,.22,1),opacity .5s;transform:translateY(120px)scale(.5)}.img-left{z-index:2;opacity:0;transform:translateY(100px)scale(.8)}.img-right{z-index:1;opacity:0;transform:translateY(100px)scale(.8)}.project-card-wrapper:hover .project-card-secret{opacity:1}.project-card-wrapper:hover .img-left.is-screenshot{opacity:.9;filter:brightness(.95)drop-shadow(-10px 15px 20px #000000b3);transform:translate(-105px,-135px)scale(.85)rotateY(15deg)rotate(-8deg)}.project-card-wrapper:hover .img-right.is-screenshot{opacity:.9;filter:brightness(.95)drop-shadow(10px 15px 20px #000000b3);transform:translate(105px,-135px)scale(.85)rotateY(-15deg)rotate(8deg)}.project-card-wrapper:hover .img-center{opacity:1;filter:drop-shadow(0 0 20px #fff6);transform:translateY(-115px)scale(1.15)}.clap-animation-container{opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:15px;width:100%;height:100%;transition:all .6s cubic-bezier(.16,1,.3,1);display:flex;position:relative;transform:translateY(-80px)}.project-card-wrapper:hover .clap-animation-container{opacity:1;transform:translateY(-120px)}.clap-interactive-zone{justify-content:center;align-items:center;gap:30px;display:flex;position:relative}.clap-hand{color:var(--text);transition:transform .3s}.clap-hand-left{animation:1.6s infinite leftClap}.clap-hand-right{animation:1.6s infinite rightClap}@keyframes leftClap{0%,to{transform:translate(-15px)rotate(-15deg)}40%{transform:translate(-15px)rotate(-15deg)}50%{transform:translate(0)rotate(0)}60%{transform:translate(-15px)rotate(-15deg)}}@keyframes rightClap{0%,to{transform:translate(15px)rotate(15deg)scaleX(-1)}40%{transform:translate(15px)rotate(15deg)scaleX(-1)}50%{transform:translate(0)rotate(0)scaleX(-1)}60%{transform:translate(15px)rotate(15deg)scaleX(-1)}}.clap-waves{opacity:0;pointer-events:none;border:2px solid #00d4ff66;border-radius:50%;width:80px;height:80px;animation:1.6s infinite wavePulse;position:absolute;transform:scale(.5)}@keyframes wavePulse{0%,45%{opacity:0;transform:scale(.4)}50%{opacity:.8;transform:scale(.6)}to{opacity:0;border-color:#00d4ff00;transform:scale(1.6)}}.clap-bulb-wrap{justify-content:center;align-items:center;margin-top:5px;display:flex;position:relative}.clap-bulb{color:#333;filter:drop-shadow(0 0 #0000);transition:all .3s;animation:1.6s infinite bulbToggle}@keyframes bulbToggle{0%,48%{color:#444;filter:drop-shadow(0 0 #0000)}50%,to{color:gold;filter:drop-shadow(0 0 15px #ffd700cc)drop-shadow(0 0 30px #ffd70066)}}.clap-mic-indicator{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:2px;align-items:center;gap:6px;font-size:.55rem;animation:.8s infinite alternate micBlink;display:flex}@keyframes micBlink{0%{opacity:.4}to{opacity:.8}}.project-card-wrapper:hover .project-card.vertical{opacity:1;transform:translateY(160px)scaleY(.95);box-shadow:0 -10px 30px #00000080}.project-card.vertical{z-index:10;transform-origin:bottom;background:#0a0a0a;border-top:2px solid #ffffff1a;width:100%;min-height:400px;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s;position:relative}@media (width<=900px){.projects-static-grid{grid-template-columns:1fr;gap:40px}}.project-card{-webkit-backdrop-filter:blur(14px);background:#ffffff03;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;padding:24px;transition:all .5s cubic-bezier(.23,1,.32,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0003}.project-card:after{content:"";opacity:.08;pointer-events:none;z-index:0;background-image:radial-gradient(#ffffff1a 1px,#0000 1px);background-size:16px 16px;transition:opacity .4s;position:absolute;inset:0}.project-card:before{content:"";background:var(--accent);z-index:1;width:0;height:2px;transition:width .4s;position:absolute;top:0;left:0}.project-card:hover:before{width:100%}.project-card:hover:after{opacity:.12}.project-card:hover{background:#ffffff05;border-color:#ffffff26;transform:translateY(-6px);box-shadow:0 20px 40px #0006}.project-card-header{z-index:1;justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.project-id{font-family:var(--font-mono);color:var(--text-dim);opacity:.6;letter-spacing:1px;font-size:.65rem}.project-icon{color:var(--accent);font-size:1.1rem;transition:transform .4s}.project-card:hover .project-icon{transform:scale(1.15)rotate(5deg)}.project-title{color:var(--text);z-index:1;letter-spacing:.5px;margin-bottom:8px;font-size:.95rem;font-weight:700}.project-desc{color:var(--text-muted);z-index:1;flex:1;margin-bottom:16px;font-size:.8rem;line-height:1.6}.project-tags{z-index:1;flex-wrap:wrap;gap:6px;display:flex}.tag{-webkit-backdrop-filter:blur(8px);font-family:var(--font-mono);color:var(--text-dim);background:#ffffff05;border:1px solid #ffffff0f;border-radius:3px;padding:2px 8px;font-size:.68rem;transition:color .2s}.tag:hover{color:var(--text);border-color:#ffffff26}.intermezzo{background:radial-gradient(circle,#ffffff05 0%,#0000 80%);flex-direction:column;align-items:center;gap:80px;padding:120px 24px;display:flex;position:relative}.intermezzo:before{content:"";background:linear-gradient(#0000,#ffffff1a);width:1px;height:60px;position:absolute;top:0;left:50%;transform:translate(-50%)}.philosophical-quote{text-align:center;max-width:800px;font-family:var(--font-mono);padding:0 40px;position:relative}.quote-text{color:var(--text);letter-spacing:-.5px;text-shadow:0 0 30px #ffffff26;margin-bottom:24px;font-size:1.4rem;font-weight:300;line-height:1.5}.quote-author{color:var(--text-muted);letter-spacing:4px;text-transform:uppercase;opacity:.8;justify-content:center;align-items:center;gap:12px;font-size:.75rem;display:flex}.quote-author:before,.quote-author:after{content:"";background:#ffffff1a;width:20px;height:1px}.space-invaders-wrap{background:0 0;width:100vw;height:450px;margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.game-canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.contact-uplink{background:radial-gradient(circle,#ffffff05 0%,#0000 70%);flex-direction:column;justify-content:center;align-items:center;min-height:80vh;padding:100px 24px;display:flex;position:relative;overflow:hidden}.uplink-container{z-index:2;grid-template-columns:1fr 1.5fr;gap:60px;width:100%;max-width:800px;display:grid;position:relative}@media (width<=768px){.uplink-container{grid-template-columns:1fr;gap:40px}}.uplink-info{flex-direction:column;justify-content:flex-start;display:flex}.uplink-title{font-family:var(--font-display);color:var(--text);letter-spacing:-2px;margin-bottom:24px;font-size:3rem;font-weight:800;line-height:1}.uplink-title span{color:var(--text-dim);display:block}.uplink-status-box{border-left:2px solid #ffffff1a;margin-top:auto;padding-left:20px}.status-label{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;font-size:.65rem;display:block}.status-bar-bg{background:#ffffff0d;border-radius:2px;width:100%;height:4px;overflow:hidden}.status-bar-fill{background:var(--text);width:0%;height:100%;transition:width .5s cubic-bezier(.16,1,.3,1);box-shadow:0 0 15px #ffffff4d}.uplink-form{flex-direction:column;gap:40px;display:flex}.uplink-field{flex-direction:column;display:flex;position:relative}.uplink-field label{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px;font-size:.7rem;transition:color .3s}.uplink-input{color:var(--text);font-size:1.1rem;font-family:var(--font-display);background:0 0;border:none;border-bottom:1px solid #ffffff1a;outline:none;padding:12px 0;transition:all .3s}.uplink-input:focus{border-bottom-color:var(--text)}.uplink-field:focus-within label{color:var(--text)}.uplink-field:after{content:"";background:var(--text);width:0;height:1px;transition:width .6s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0}.uplink-field:focus-within:after{width:100%}.hold-to-send-wrap{align-items:center;gap:20px;margin-top:20px;display:flex}.hold-btn{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:all .3s;display:flex;position:relative;overflow:hidden}.hold-btn:active{transform:scale(.95)}.hold-btn-fill{background:var(--text);opacity:.1;border-radius:50%;transition:transform .1s linear;position:absolute;inset:0;transform:scale(0)}.hold-btn svg{width:24px;height:24px;color:var(--text);z-index:2;transition:all .3s}.hold-btn.complete{background:var(--text);border-color:var(--text)}.hold-btn.complete svg{color:var(--bg);transform:translateY(-2px)scale(1.1)}.hold-hint{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:.7rem}.hold-hint span{opacity:.5;margin-top:4px;font-size:.6rem;display:block}.success-overlay{background:var(--bg);z-index:10;flex-direction:column;justify-content:center;align-items:center;animation:.8s cubic-bezier(.16,1,.3,1) forwards overlayReveal;display:flex;position:absolute;inset:0}@keyframes overlayReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.success-message-huge{font-family:var(--font-display);color:var(--text);text-align:center;letter-spacing:-3px;font-size:4rem;font-weight:800}.uplink-methods{flex-wrap:wrap;gap:16px;margin-top:32px;display:flex}.method-btn{color:var(--text-dim);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:10px;padding:12px 20px;font-size:.75rem;text-decoration:none;transition:all .3s cubic-bezier(.23,1,.32,1);display:flex}.method-btn svg{opacity:.6;width:16px;height:16px}.method-btn:hover{color:var(--text);background:#ffffff0f;border-color:#fff3;transform:translateY(-2px)}.method-btn:hover svg{opacity:1}@media (width<=480px){.uplink-methods{flex-direction:column}}.footer{font-family:var(--font-mono);color:var(--text-dim);-webkit-backdrop-filter:blur(12px);z-index:1;background:#ffffff03;border-top:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:20px 24px;font-size:.72rem;display:flex;position:relative}.footer-status{align-items:center;gap:6px;display:flex}.footer-left{flex-direction:column;gap:4px;display:flex}.footer-system-info{color:var(--text-dim);opacity:.6;align-items:center;gap:10px;font-size:.6rem;display:flex}.info-sep{opacity:.3}.footer-dot{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:2s step-end infinite blink}.footer-links{gap:16px;display:flex}.footer-links a{color:var(--text-dim);transition:color .2s;position:relative}.footer-links a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .2s;position:absolute;bottom:-2px;left:0}.footer-links a:hover{color:var(--text)}.footer-links a:hover:after{width:100%}@media (width<=768px){.header-inner{flex-direction:column;gap:6px}.hero-name{font-size:2rem}.hero-desc{padding:0 12px;font-size:.8rem}.hero-greeting{font-size:.75rem}.hero-tagline{font-size:.65rem}.logo-3d-scene,.logo-3d-scene canvas{width:200px!important;height:200px!important}.about-experience{grid-template-columns:1fr;gap:20px;margin:80px auto 0;padding:0 16px}.about-container,.python-container{transform:scale(1)translate(0)!important}.python-text-section{margin:40px auto;transform:scale(1)translate(0)!important}.python-canvas-wrap{max-width:180px}.about-content{grid-template-columns:1fr;gap:20px}.about-window-body{padding:20px}.footer{text-align:center;flex-direction:column;gap:12px;padding:20px 16px}.footer-system-info,nav{flex-wrap:wrap;justify-content:center}nav button{padding:4px 8px;font-size:.7rem}.section-title{font-size:.8rem}.projects-static-grid{padding:20px 0}.hero-actions{flex-direction:column;align-items:center}.uplink-title{font-size:2rem}.scroll-indicator{bottom:16px}.boot-content{padding:0 16px}.boot-line{font-size:.7rem}}@media (width<=480px){.hero-name{letter-spacing:-1px;font-size:1.6rem}.hero-logo-wrapper{margin-bottom:16px}.hero{padding:80px 16px 40px}.uplink-container{gap:24px}.method-btn{justify-content:center;width:100%}}.skill-floating-window{-webkit-backdrop-filter:blur(15px);border-radius:var(--radius);z-index:100;pointer-events:auto;width:250px;font-family:var(--font-mono);-webkit-user-select:none;user-select:none;cursor:default;transform-origin:50%;background:#0a0a0af2;border:1px solid #ffffff1f;animation:.22s cubic-bezier(.34,1.56,.64,1) forwards skillWindowReveal;position:absolute;overflow:hidden;box-shadow:0 10px 30px #0009}@keyframes skillWindowReveal{0%{opacity:0;transform:translate(-50%,-50%)scale(.8)rotate(-1.5deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}.skill-floating-window:hover{border-color:#ffffff38}.skill-floating-header{cursor:grab;background:#ffffff08;border-bottom:1px solid #ffffff14;align-items:center;gap:8px;padding:8px 12px;display:flex}.skill-floating-header:active{cursor:grabbing}.skill-floating-dot{border-radius:50%;width:10px;height:10px}.skill-floating-dot.dot-red{cursor:pointer;background:#ff5f56}.skill-floating-dot.dot-yellow{background:#ffbd2e}.skill-floating-dot.dot-green{background:#27c93f}.skill-floating-title{color:var(--text-muted);letter-spacing:.5px;margin-left:auto;font-size:.65rem}.skill-floating-body{background:#0003;padding:16px}.skill-floating-body h3{color:var(--text);align-items:center;gap:6px;margin-bottom:8px;font-size:.95rem;font-weight:700;display:flex}.skill-floating-body h3:before{content:">";color:var(--text-muted)}.skill-floating-body p{color:var(--text-muted);margin-bottom:12px;font-size:.75rem;line-height:1.5}.skill-floating-meta{color:var(--text-dim);border-top:1px dashed #ffffff1a;justify-content:space-between;margin-top:10px;padding-top:10px;font-size:.65rem;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.holo-overlay{pointer-events:none;z-index:10;position:absolute;inset:0;overflow:hidden}.holo-scanlines{background:repeating-linear-gradient(#0000 0 2px,#0000002e 2px 4px);animation:8s linear infinite scanlineScroll;position:absolute;inset:0}@keyframes scanlineScroll{0%{background-position:0 0}to{background-position:0 100px}}.holo-corner{border-style:solid;border-color:#ffffff4d;width:14px;height:14px;position:absolute}.holo-tl{border-width:1px 0 0 1px;top:6px;left:6px}.holo-tr{border-width:1px 1px 0 0;top:6px;right:6px}.holo-bl{border-width:0 0 1px 1px;bottom:6px;left:6px}.holo-br{border-width:0 1px 1px 0;bottom:6px;right:6px}.holo-data-line{font-family:var(--font-mono);color:#ffffff80;letter-spacing:.5px;text-shadow:0 0 6px #fff3;white-space:nowrap;text-overflow:ellipsis;font-size:.6rem;position:absolute;bottom:12px;left:12px;right:12px;overflow:hidden}.holo-prompt{color:#ffffff40;margin-right:4px}.holo-cursor{color:#fffc;animation:.8s step-end infinite blink;display:inline-block}.holo-badge{font-family:var(--font-mono);letter-spacing:2px;color:#ffffff4d;text-shadow:0 0 8px #fff3;font-size:.55rem;animation:2s ease-in-out infinite holoBadgePulse;position:absolute;top:10px;right:10px}@keyframes holoBadgePulse{0%,to{opacity:.4}50%{opacity:.9}}.holo-glitch .holo-scanlines{background:repeating-linear-gradient(#ffffff08 0 2px,#0000004d 2px 4px);animation:none}.holo-glitch:after{content:"";mix-blend-mode:screen;background:#ffffff08;position:absolute;inset:0;transform:translate(2px)}.holo-glitch .holo-data-line{color:#ffffffe6;transform:translate(-3px)}.python-container,.about-container{width:100%}.glitch-wrap{position:relative}.uplink-title.glitch-active{animation:.3s forwards glitchExplode;position:relative}@keyframes glitchExplode{0%{filter:none;transform:translate(0)scale(1)}10%{filter:blur(2px);color:#ff5f56;text-shadow:4px 0 #27c93f,-4px 0 #ffbd2e;transform:translate(-8px,2px)scale(1.01)skew(8deg)}25%{filter:blur(1px);color:#27c93f;text-shadow:-5px 0 #ff5f56,5px 0 #00d4ff;transform:translate(6px,-3px)scale(1.02)skew(-6deg)}40%{filter:blur(2px);color:#ffbd2e;text-shadow:3px 0 #ff5f56,-3px 0 #27c93f;transform:translate(-4px,1px)scale(.99)skew(3deg)}55%{filter:blur(.5px);color:#00d4ff;text-shadow:-4px 0 #ffbd2e,4px 0 #ff5f56;transform:translate(7px,-2px)scale(1.01)skew(-5deg)}70%{filter:blur(.5px);color:var(--text);text-shadow:2px 0 #ff5f56,-2px 0 #27c93f;transform:translate(-3px,1px)scale(1)skew(2deg)}85%{filter:none;transform:translate(1px,-1px)skew(-1deg)}to{filter:none;text-shadow:none;transform:translate(0)scale(1)}}.glitch-lines{pointer-events:none;z-index:10;position:absolute;inset:0}.glitch-line{background:#fff9;height:2px;animation:80ms infinite glitchLineScan;position:absolute;left:0;right:0;box-shadow:0 0 10px #ffffff4d}@keyframes glitchLineScan{0%{opacity:0;transform:translate(-100%)}50%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes screenShake{0%{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,2px)}to{transform:translate(0)}}.glitch-screen-shake{z-index:9999;pointer-events:none;position:fixed;inset:0}.conn-nodes{align-items:center;gap:0;margin:32px 0;padding:0;display:flex}.conn-node-group{flex:1;align-items:center;display:flex}.conn-node{border:1px solid var(--border-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .4s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.conn-node.active{border-color:var(--text);box-shadow:0 0 12px #ffffff14}.conn-label{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:1px;font-size:.5rem;transition:color .3s}.conn-node.active .conn-label{color:var(--text)}.conn-pulse{border:1px solid var(--text);opacity:0;border-radius:50%;animation:2s ease-out infinite connPulse;position:absolute;inset:-4px}.conn-node.active .conn-pulse{opacity:1}@keyframes connPulse{0%{opacity:.3;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.conn-connector{background:var(--border);flex:1;height:1px;margin:0 4px;transition:background .5s;position:relative}.conn-connector.active{background:var(--text);box-shadow:0 0 6px #ffffff26}.signal-wrap{align-items:flex-end;gap:2px;margin-left:auto;display:inline-flex}.signal-bar{border-radius:1px;width:2px;transition:all .3s}.signal-bar:nth-child(odd){animation:1.2s ease-in-out infinite signalPulse}.signal-bar:nth-child(2n){animation:1.2s ease-in-out infinite reverse signalPulse}@keyframes signalPulse{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.6)}}.uplink-title.glitch{animation:.4s forwards titleGlitchNow}@keyframes titleGlitchNow{0%{filter:none;transform:translate(0)}15%{filter:blur(1px);color:#ff5f56;transform:translate(-3px,1px)skew(5deg)}30%{filter:blur(1px);color:#27c93f;transform:translate(3px,-1px)skew(-3deg)}45%{filter:blur(.5px);color:#ffbd2e;transform:translate(-1px,2px)skew(2deg)}60%{filter:blur(.5px);color:var(--text);transform:translate(2px,-1px)skew(-4deg)}80%{filter:none;transform:translate(-1px)skew(1deg)}to{filter:none;transform:translate(0)}}.field-char-count{font-family:var(--font-mono);color:var(--text-dim);opacity:0;font-size:.55rem;transition:opacity .3s;position:absolute;bottom:8px;right:0}.uplink-field.filled .field-char-count{opacity:.5}.uplink-desc{color:var(--text-muted);max-width:300px;margin-bottom:0;font-size:.85rem;line-height:1.6}.sending-data{flex-direction:column;gap:2px;margin-top:4px;display:flex}.sending-hex{font-family:var(--font-mono);color:var(--text-muted);font-size:.5rem;animation:.8s ease-out hexFade}@keyframes hexFade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.hold-info{flex-direction:column;gap:4px;display:flex}.hold-btn.sending{animation:.3s ease-in-out infinite alternate btnSending}@keyframes btnSending{0%{transform:scale(1)}to{transform:scale(.92)}}.hold-btn.sending svg{animation:.4s ease-in-out infinite alternate sendPulse}@keyframes sendPulse{0%{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(1.2)}}.success-lines{font-family:var(--font-mono);color:var(--text-dim);flex-direction:column;gap:4px;margin-top:16px;font-size:.65rem;display:flex}.success-log{opacity:0;animation:.3s forwards logReveal}.success-log:first-child{animation-delay:.3s}.success-log:nth-child(2){animation-delay:.5s}.success-log:nth-child(3){animation-delay:.7s}.success-log:nth-child(4){animation-delay:.9s}@keyframes logReveal{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.success-subtext{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:2px;margin-top:12px;font-size:.65rem}.success-glitch{position:relative}.success-glitch:before,.success-glitch:after{content:attr(data-text);opacity:0;width:100%;height:100%;position:absolute;top:0;left:0}.success-glitch:hover:before{opacity:.3;color:#ff5f56;clip-path:inset(20% 0 40%);animation:.3s glitchLines;transform:translate(-2px,1px)}.success-glitch:hover:after{opacity:.3;color:#27c93f;clip-path:inset(60% 0 10%);animation:.3s reverse glitchLines;transform:translate(2px,-1px)}@keyframes glitchLines{0%{transform:translate(0)}25%{transform:translate(3px,-1px)}50%{transform:translate(-2px,2px)}75%{transform:translate(1px,-2px)}to{transform:translate(0)}}.uplink-status-box .status-label{align-items:center;gap:8px;display:flex}.detail-page{z-index:1;min-height:100vh;padding:100px 24px 60px;position:relative}.detail-bg-pulse{z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 30%,#ffffff08 0%,#0000 60%);position:fixed;inset:0}.detail-container{max-width:900px;margin:0 auto}.detail-back{font-family:var(--font-mono);color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;margin-bottom:40px;font-size:.75rem;text-decoration:none;transition:color .2s;display:inline-flex}.detail-back:hover{color:var(--text)}.detail-header{align-items:center;gap:24px;margin-bottom:48px;display:flex;position:relative}.detail-icon-wrap{flex-shrink:0;position:relative}.detail-icon{background:#ffffff05;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:3rem;display:flex}.detail-icon-ring{border:1px solid #ffffff0f;border-radius:50%;animation:3s ease-in-out infinite ringPulse;position:absolute;inset:-6px}@keyframes ringPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}.detail-id{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:1px;margin-bottom:4px;font-size:.65rem}.detail-title{font-family:var(--font-display);color:var(--text);letter-spacing:-1px;font-size:2.2rem;font-weight:800;line-height:1.1}.detail-status{font-family:var(--font-mono);letter-spacing:2px;border:1px solid;border-radius:20px;align-items:center;gap:8px;margin-left:auto;padding:6px 16px;font-size:.65rem;font-weight:600;display:inline-flex}.detail-status-dot{border-radius:50%;width:6px;height:6px;animation:1.2s step-end infinite blink}.detail-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:32px;display:grid}@media (width<=768px){.detail-grid{grid-template-columns:1fr}}.detail-window{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius);background:#0a0a0a99;border:1px solid #ffffff14;margin-bottom:24px;overflow:hidden}.detail-window-header{background:#ffffff05;border-bottom:1px solid #ffffff0f;align-items:center;gap:6px;padding:10px 14px;display:flex}.detail-window-dot{opacity:.7;border-radius:50%;width:10px;height:10px}.detail-window-title{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.5px;margin-left:auto;font-size:.68rem}.detail-window-body{padding:24px}.detail-section-label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:1px;margin-bottom:12px;font-size:.7rem}.detail-text{color:var(--text-muted);margin-bottom:20px;font-size:.9rem;line-height:1.8}.detail-divider{background:#ffffff0f;height:1px;margin:24px 0}.detail-features{flex-direction:column;gap:12px;list-style:none;display:flex}.detail-feature-item{color:var(--text);align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.5;display:flex}.detail-feature-bullet{color:var(--text-dim);flex-shrink:0;font-size:.8rem}.detail-metric{align-items:center;gap:12px;margin-bottom:16px;display:flex}.detail-metric:last-child{margin-bottom:0}.detail-metric-label{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:1px;flex-shrink:0;width:60px;font-size:.6rem}.detail-metric-bar-wrap{background:#ffffff0d;border-radius:2px;flex:1;height:4px;overflow:hidden}.detail-metric-bar{background:var(--accent);border-radius:2px;height:100%;transition:width 1s cubic-bezier(.16,1,.3,1);box-shadow:0 0 8px #fff3}.detail-metric-value{font-family:var(--font-mono);color:var(--text-muted);text-align:right;width:50px;font-size:.65rem}.detail-tags{flex-wrap:wrap;gap:8px;display:flex}.detail-tag{font-family:var(--font-mono);color:var(--text);letter-spacing:.5px;background:#ffffff08;border:1px solid #ffffff14;border-radius:4px;padding:4px 12px;font-size:.72rem}.detail-actions{margin-top:8px}.detail-footer-log{font-family:var(--font-mono);color:var(--text-dim);opacity:.5;border-top:1px solid #ffffff0a;align-items:center;gap:8px;margin-top:60px;padding-top:20px;font-size:.6rem;display:flex}.detail-log-dot{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:2s step-end infinite blink}.detail-log-sep{opacity:.3}.detail-not-found{z-index:1;justify-content:center;align-items:center;min-height:80vh;padding:100px 24px;display:flex;position:relative}.not-found-content{text-align:center;max-width:500px}.not-found-code{font-family:var(--font-mono);color:#ffffff0d;letter-spacing:-4px;margin-bottom:16px;font-size:5rem;font-weight:800}.not-found-title{font-family:var(--font-display);color:var(--text);margin-bottom:12px;font-size:1.6rem;font-weight:800}.not-found-desc{color:var(--text-muted);font-size:.85rem;line-height:1.6}@media (width<=768px){.conn-nodes{margin:20px 0}.conn-node{width:28px;height:28px}.conn-label{font-size:.4rem}}#boot-screen{z-index:99999;background:var(--bg);font-family:var(--font-mono);justify-content:center;align-items:center;transition:opacity .6s,transform .6s;display:flex;position:fixed;inset:0}#boot-screen.boot-fade{opacity:0;pointer-events:none;transform:scale(1.02)}.boot-content{width:90%;max-width:520px}.boot-line{color:var(--text-muted);opacity:0;white-space:nowrap;font-size:.8rem;line-height:1.8;animation:.4s forwards bootReveal;overflow:hidden}.boot-line:first-child{animation-delay:.2s}.boot-line:nth-child(2){animation-delay:.7s}.boot-line:nth-child(3){animation-delay:1.2s}.boot-line:nth-child(4){animation-delay:1.7s}.boot-line:nth-child(5){animation-delay:2.2s}.boot-done{color:#27c93f;animation-delay:2.6s!important}@keyframes bootReveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}#noise-overlay{z-index:9997;pointer-events:none;opacity:.025;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}.drag-hint{font-family:var(--font-mono);color:var(--text-dim);opacity:0;white-space:nowrap;letter-spacing:.5px;pointer-events:none;z-index:5;font-size:.55rem;transition:opacity .3s;position:absolute;top:-22px;left:50%;transform:translate(-50%)}.workspace-window:hover .drag-hint{opacity:.6}.workspace-window:active .drag-hint{opacity:.9}.scroll-indicator{opacity:.3;pointer-events:none;flex-direction:column;align-items:center;gap:4px;animation:2s ease-in-out infinite scrollBounce;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.scroll-indicator-text{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;font-size:.6rem}.scroll-indicator-chevron{color:var(--text-dim);font-size:1.2rem;line-height:1}@keyframes scrollBounce{0%,to{opacity:.3;transform:translate(-50%)translateY(0)}50%{opacity:.6;transform:translate(-50%)translateY(6px)}}.project-metrics-mini{z-index:1;gap:12px;margin-bottom:12px;display:flex}.mini-metric{font-family:var(--font-mono);color:var(--text-dim);gap:4px;font-size:.6rem;display:flex}.mini-metric span{color:var(--text-muted);letter-spacing:1px}.section-divider{opacity:.3;align-items:center;gap:12px;max-width:300px;margin:0 auto 24px;display:flex}.section-divider-line{background:var(--border-light);flex:1;height:1px}.section-divider-dot{background:var(--text-muted);border-radius:50%;width:3px;height:3px}.reveal{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal-visible{transition-delay:.1s}.reveal-stagger>:first-child{transition-delay:50ms}.reveal-stagger>:nth-child(2){transition-delay:.1s}.reveal-stagger>:nth-child(3){transition-delay:.15s}.reveal-stagger>:nth-child(4){transition-delay:.2s}.reveal-stagger>:nth-child(5){transition-delay:.25s}.glow-target:hover:after{opacity:.6;transition:opacity .3s}@media (hover:none){.drag-hint,.workspace-window .drag-hint{opacity:.4}.scroll-indicator{opacity:.5}}.projects-split-layout{flex-direction:column;gap:60px;max-width:1200px;margin:60px auto 0;padding:0 20px;display:flex}@media (width>=1024px){.projects-split-layout{flex-direction:row;align-items:stretch}}.projects-personal-section,.projects-client-section{flex-direction:column;flex:1;display:flex}.projects-category-title{color:var(--primary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;text-align:center;margin-bottom:20px;font-size:1.1rem;font-weight:500}@media (width>=1024px){.projects-category-title{text-align:left}}.client-projects-placeholder{background:var(--bg-dark);text-align:center;border:1px dashed #ffffff26;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:480px;margin-top:80px;padding:40px;transition:all .3s;display:flex;position:relative;overflow:hidden}.placeholder-icon-wrap{color:var(--text-dim);opacity:.5;margin-bottom:20px}.placeholder-text{color:var(--text-dim);max-width:300px;margin-bottom:30px;font-size:.95rem;line-height:1.6}.placeholder-status{font-family:var(--font-mono);color:var(--text-main);background:#ffffff0d;border-radius:20px;align-items:center;gap:10px;padding:8px 16px;font-size:.85rem;display:flex}.status-dot{background:#ffbd2e;border-radius:50%;width:8px;height:8px}.blink{animation:2s infinite blink}.projects-carousel-container{justify-content:center;align-items:center;width:100%;max-width:440px;min-height:540px;margin:0 auto 20px;display:flex;position:relative}.projects-carousel-viewport{justify-content:center;align-items:center;width:100%;height:480px;display:flex;position:relative}.project-slide-wrapper{justify-content:center;align-items:center;width:100%;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .6s;display:flex;position:absolute}.project-slide-wrapper.prev{opacity:0;pointer-events:none;z-index:1;transform:translate(-150px)scale(.8)rotate(-4deg)}.project-slide-wrapper.next{opacity:0;pointer-events:none;z-index:1;transform:translate(150px)scale(.8)rotate(4deg)}.project-slide-wrapper.active{opacity:1;pointer-events:auto;z-index:5;transform:translate(0)scale(1)rotate(0)}.carousel-nav-btn{border:1px solid var(--border-light);width:48px;height:48px;color:var(--text-dim);cursor:pointer;z-index:20;background:#ffffff05;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-nav-btn:hover{background:var(--text);color:var(--bg);border-color:var(--text)}.prev-btn{left:-75px}.next-btn{right:-75px}@media (width<=640px){.projects-carousel-container{max-width:340px}.prev-btn{left:-45px}.next-btn{right:-45px}.carousel-nav-btn{width:38px;height:38px}}.carousel-indicators{flex-direction:column;align-items:center;gap:12px;margin-top:24px;display:flex}.carousel-indicator-sys{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:2px;font-size:.65rem}.carousel-dots{gap:8px;display:flex}.carousel-dot{background:var(--border-light);cursor:pointer;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:all .3s}.carousel-dot.active{background:var(--text);transform:scale(1.3);box-shadow:0 0 8px #fff6}.detail-screenshots-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px;display:grid}@media (width<=600px){.detail-screenshots-grid{grid-template-columns:1fr}}.detail-screenshot-wrapper{background:#ffffff03;border:1px solid #ffffff14;border-radius:6px;transition:all .3s;overflow:hidden;box-shadow:0 4px 20px #0006}.detail-screenshot-wrapper:hover{border-color:#fff3;transform:translateY(-2px);box-shadow:0 8px 30px #0009}.detail-screenshot-img{width:100%;height:auto;transition:transform .5s;display:block}.detail-screenshot-wrapper:hover .detail-screenshot-img{transform:scale(1.03)}.terminal-console-notice{font-family:var(--font-mono);color:#ffbd2e;text-shadow:0 0 8px #ffbd2e26;background:#ffbd2e0a;border:1px solid #ffbd2e2e;border-radius:4px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:8px 12px;font-size:.65rem;line-height:1.4;display:flex}.notice-icon{font-weight:700}.about-timeline{border-left:1px solid #ffffff1a;flex-direction:column;gap:1.5rem;margin-top:1rem;padding-left:1rem;display:flex}.about-timeline-item{position:relative}.about-timeline-item:before{content:"";background:var(--text-dim);border-radius:50%;width:7px;height:7px;transition:background .3s;position:absolute;top:.25rem;left:-1rem;transform:translate(-50%)}.about-timeline-item:hover:before{background:var(--accent);box-shadow:0 0 10px var(--accent)}.about-timeline-year{font-family:var(--font-mono);color:var(--accent);margin-bottom:.25rem;font-size:.8rem}.about-timeline-desc{color:var(--text-muted);font-size:.85rem;line-height:1.6}.header nav button.active{color:var(--accent);text-shadow:0 0 8px #fff6}.header nav button.active:after{content:"";background:var(--accent);width:4px;height:4px;box-shadow:0 0 6px var(--accent);border-radius:50%;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.terminal-loader-wrap{width:100%;height:100%;min-height:200px;font-family:var(--font-mono);color:var(--text-muted);justify-content:center;align-items:center;font-size:.8rem;display:flex}.terminal-loader-cursor{background:var(--accent);width:8px;height:14px;margin-left:6px;animation:1s step-end infinite blink;display:inline-block}.testimonials{z-index:10;max-width:1000px;margin:0 auto;padding:80px 24px;position:relative}.testimonials-window{transform:none!important}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:1rem;display:grid}.testimonial-card{background:#ffffff05;border:1px solid #ffffff0d;border-radius:6px;flex-direction:column;gap:12px;padding:20px;display:flex}.testimonial-rating{color:#ffbd2e;letter-spacing:2px;font-size:1.1rem}.testimonial-text{color:var(--text);flex-grow:1;font-size:.9rem;line-height:1.6}.testimonial-author{font-family:var(--font-mono);border-top:1px solid #ffffff0d;flex-direction:column;gap:4px;margin-top:8px;padding-top:12px;font-size:.75rem;display:flex}.testimonial-client{color:var(--accent)}.testimonial-role{color:var(--text-dim)}
