:root{--sidebar-width: 72px;--sidebar-offset: 16px;--content-padding-x: clamp(16px, 3vw, 40px);--content-padding-y: 32px;--text-left-padding: 10px;--bg-color: #ebeff1;--text-color: #0B1220;--muted-text: #1F2937;--border-color: #1F2937;--card-bg: #ffffff;--shadow: rgba(0, 0, 0, .06);--sidebar-bg: #9BCBE5;--sidebar-text: #0B1220;--sidebar-border: #1F2937;--nav-active-bg: #0B1220;--nav-active-text: #9BCBE5;--nav-active-shadow: none;--project-gradient: linear-gradient( 135deg, rgba(155, 203, 229, .45), rgba(127, 184, 214, .35) );--accent: #4A9DC4;--glow: rgba(74, 157, 196, .5);--accent-line-opacity: .4}[data-theme=dark]{--bg-color: #0d1117;--text-color: #ebeff1;--muted-text: #7FB8D6;--border-color: #5BC8F5;--card-bg: #0F172A;--shadow: rgba(0, 0, 0, .5);--sidebar-bg: rgba(11, 18, 32, .75);--sidebar-text: #9BCBE5;--sidebar-border: rgba(91, 200, 245, .25);--nav-active-bg: #5BC8F5;--nav-active-text: #0B1220;--nav-active-shadow: 0 0 0 6px rgba(91, 200, 245, .3);--project-hover-gradient: linear-gradient( 90deg, rgba(91, 200, 245, .18), rgba(155, 203, 229, .06) );--accent: #5BC8F5;--glow: rgba(91, 200, 245, .65);--accent-line-opacity: 1}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-color);background-image:radial-gradient(rgba(11,18,32,.14) 1px,transparent 1px);background-size:20px 20px;color:var(--text-color);font-family:Courier Prime,monospace;line-height:1.7;transition:background-size .6s ease,background-position .6s ease}body,body[data-theme=light]{background-image:linear-gradient(rgba(0,0,0,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.07) 1px,transparent 1px);background-size:40px 40px;background-position:0 0;background-color:var(--bg-color)}body[data-theme=dark]{background-image:linear-gradient(rgba(91,200,245,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(91,200,245,.045) 1px,transparent 1px);background-size:40px 40px;background-position:0 0}.app-layout{display:flex}.floating-sidebar{position:fixed;left:var(--sidebar-offset);top:16px;bottom:16px;width:var(--sidebar-width)}.home-page{position:relative}.scroll-cue{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;letter-spacing:1px;color:var(--muted-text);opacity:.8;pointer-events:none}.main-content{flex:1;margin-left:calc(var(--sidebar-width) + var(--sidebar-offset) * 2);padding:var(--content-padding-y) var(--content-padding-x)}.section{padding-top:64px;padding-bottom:96px}@media(max-width:768px){.section{padding-top:48px;padding-bottom:72px}}h1,h2,h3,h4,h5,h6,p{padding-left:var(--text-left-padding)}h1,h2,h3,h4,h5,h6{font-weight:700;text-align:left}h1{font-size:3.2em;line-height:1.1}p{font-weight:400;margin-bottom:16px;max-width:65ch}.about-editorial p,.experience-content p{text-align:justify;text-justify:inter-word}a{color:var(--text-color);font-weight:500;text-decoration:underline;text-underline-offset:4px;padding-left:var(--text-left-padding)}a:hover{opacity:.75}button{border-radius:8px;border:1px solid var(--border-color);padding:.6em 1.2em;background:transparent;color:var(--text-color);font-size:1em;font-family:inherit;font-weight:500;cursor:pointer;transition:opacity .2s ease,border-color .2s ease}button:hover{opacity:.8}.project-card{position:relative;background:var(--card-bg);overflow:hidden}.project-card:before{content:"";position:absolute;inset:0;background:var(--project-gradient);opacity:0;transition:opacity .25s ease;pointer-events:none;border-radius:inherit}.project-card:hover:before{opacity:1}section,.project-card,.experience-content,.contact-wrapper,.home-page,.about-page{text-align:left}.mobile-hs-logo{display:none}@media(max-width:768px){.mobile-hs-logo{display:flex;align-items:center;justify-content:center;position:fixed;top:16px;left:16px;z-index:9999;width:38px;height:38px;font-weight:700;font-size:14px;letter-spacing:.5px;color:var(--text-color);border:1px solid var(--border-color);border-radius:50%;background:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@media(max-width:768px){.sidebar,.floating-sidebar{display:none}.main-content{margin-left:0;padding-left:1px;padding-right:1px}}@media(max-width:768px){.section{padding-top:32px;padding-bottom:48px}}@media(max-width:768px){p,.about-editorial p,.skills-copy,.experience-content p{text-align:left;text-justify:unset;max-width:100%}h1,h2,h3{text-align:left}}@media(hover:none){.project-card:before,.skills-card:before,.tech-bubbles:before{display:none}.icon-btn:after,.icon-btn:before{display:none}}.aurora-bg{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;opacity:0;transition:opacity 1s ease}[data-theme=dark] .aurora-bg,[data-theme=light] .aurora-bg{opacity:1}[data-theme=light] .aurora-orb-1{background:radial-gradient(circle,rgba(100,180,255,.18),transparent 70%)}[data-theme=light] .aurora-orb-2{background:radial-gradient(circle,rgba(160,210,255,.14),transparent 70%)}[data-theme=light] .aurora-orb-3{background:radial-gradient(circle,rgba(100,160,240,.12),transparent 70%)}.aurora-orb{position:absolute;border-radius:50%;filter:blur(90px)}.aurora-orb-1{width:700px;height:700px;background:radial-gradient(circle,rgba(127,184,214,.18),transparent 70%);top:-250px;right:-150px;animation:auroraFloat 22s ease-in-out infinite}.aurora-orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(155,203,229,.12),transparent 70%);bottom:15%;left:-120px;animation:auroraFloat 28s ease-in-out infinite reverse;animation-delay:-8s}.aurora-orb-3{width:350px;height:350px;background:radial-gradient(circle,rgba(74,157,196,.15),transparent 70%);top:45%;right:25%;animation:auroraFloat 18s ease-in-out infinite;animation-delay:-14s}@keyframes auroraFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-60px) scale(1.06)}66%{transform:translate(-30px,40px) scale(.94)}}.reveal{opacity:0;transform:translateY(44px) scale(.97);transition:opacity 1.1s cubic-bezier(.22,1,.36,1) var(--delay, 0ms),transform 1.1s cubic-bezier(.22,1,.36,1) var(--delay, 0ms);will-change:opacity,transform}.reveal.revealed{opacity:1;transform:translateY(0) scale(1)}[data-theme=dark] .about-line,[data-theme=dark] .skills-line,[data-theme=dark] .experience-line,[data-theme=dark] .project-line,[data-theme=dark] .contact-line{background-color:var(--accent);opacity:1;box-shadow:0 0 16px var(--glow),0 0 6px var(--glow)}.about-line,.skills-line,.experience-line,.project-line,.contact-line{transform:scaleY(0);transform-origin:top;transition:transform .5s cubic-bezier(.4,0,.2,1) .25s}.reveal.revealed .about-line,.reveal.revealed .skills-line,.reveal.revealed .experience-line,.reveal.revealed .project-line,.reveal.revealed .contact-line{transform:scaleY(1)}[data-theme=dark] .project-card{background:#0f172ad9;border-color:#7fb8d626;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme=dark] .project-card:hover{border-color:#7fb8d666;box-shadow:0 20px 60px #0000008c,0 0 40px #7fb8d61a}[data-theme=dark] .skills-card,[data-theme=dark] .tech-bubbles{background:#0f172ad9;border-color:#7fb8d626;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme=dark] .terminal-h1{text-shadow:0 0 60px rgba(127,184,214,.3),0 0 20px rgba(127,184,214,.15)}[data-theme=dark] .experience-tabs button.active{color:var(--accent);border-color:var(--accent)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7fb8d64d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#5bc8f599}*{scrollbar-width:thin;scrollbar-color:rgba(127,184,214,.3) transparent}.scroll-progress-bar{position:fixed;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#5bc8f5,#9bcbe5d9 60%,#5bc8f580);transform-origin:left center;transform:scaleX(0);z-index:10000;pointer-events:none;box-shadow:0 0 10px #5bc8f599,0 0 4px #5bc8f566}.top-accent-bar{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(91,200,245,0) 10%,#5BC8F5 40%,rgba(155,203,229,.7) 70%,transparent 100%);z-index:9999;pointer-events:none;opacity:0;transition:opacity .5s ease}[data-theme=dark] .top-accent-bar{opacity:1}[data-theme=light] .top-accent-bar{background:linear-gradient(90deg,transparent 0%,rgba(74,157,196,0) 10%,#4a9dc4 40%,rgba(74,157,196,.6) 70%,transparent 100%);opacity:1}.section-watermark{position:absolute;top:0;right:-10px;font-size:clamp(80px,20vw,160px);font-weight:900;line-height:.9;color:var(--accent);opacity:.03;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Courier Prime,monospace;letter-spacing:-6px;z-index:0}[data-theme=light] .section-watermark{color:#0000000e;opacity:1}[data-theme=dark] .section-watermark{opacity:.05}.about-page,.experience-wrapper,.skills-wrapper,.project-wrapper,.contact-wrapper{position:relative;overflow:hidden}.about-title:before{content:"01.  "}.experience-title:before{content:"02.  "}.skills-title:before{content:"03.  "}.project-title:before{content:"04.  "}.contact-title:before{content:"05.  "}.about-title:before,.experience-title:before,.skills-title:before,.project-title:before,.contact-title:before{color:var(--accent);font-size:.58em;font-weight:400;letter-spacing:2px;opacity:0;display:inline-block;transform:translate(-14px);transition:transform .55s cubic-bezier(.4,0,.2,1) .2s,opacity .55s ease .2s;vertical-align:middle;position:relative;top:-2px}.about-page.revealed .about-title:before,.experience-wrapper.revealed .experience-title:before,.skills-wrapper.revealed .skills-title:before,.project-wrapper.revealed .project-title:before,.contact-wrapper.revealed .contact-title:before{opacity:.85;transform:translate(0)}.aurora-orb-1{background:radial-gradient(circle,rgba(91,200,245,.16),transparent 70%)}.aurora-orb-2{background:radial-gradient(circle,rgba(127,184,214,.1),transparent 70%)}.aurora-orb-3{background:radial-gradient(circle,rgba(91,200,245,.13),transparent 70%)}[data-theme=dark] .nav-icons a.active .icon{box-shadow:0 0 0 2px #5bc8f580,0 0 20px #5bc8f559,0 0 40px #5bc8f526}@media(max-width:768px){.projects-grid,.experience-body,.skills-layout,.about-layout{grid-template-columns:1fr!important;display:block}}@media(max-width:768px){.about-photo-card{margin-top:2px;display:flex;justify-content:center}}[data-theme=light] .nav-icons a.active .icon{box-shadow:0 0 0 2px #4a9dc480}@media(max-width:768px){*{-webkit-tap-highlight-color:transparent}html,body{overflow-x:hidden}}@media(max-width:768px){.section{padding:60px 20px}h1,h2,h3{font-size:clamp(28px,6vw,40px)}}@media(max-width:480px){.section{padding:40px 16px}}@media(max-width:768px){.section-watermark{right:0}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.floating-sidebar{position:fixed;left:16px;top:16px;bottom:16px;width:72px;border-radius:16px;display:flex;flex-direction:column;align-items:center;padding:24px 0;z-index:1000;background:var(--sidebar-bg);color:var(--sidebar-text);border:1px solid var(--sidebar-border);box-shadow:0 8px 24px var(--shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:box-shadow .3s ease,border-color .3s ease}[data-theme=dark] .floating-sidebar{box-shadow:0 8px 32px #00000080,0 0 0 1px #7fb8d61f,0 0 60px #7fb8d60d}.nav-icons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}.nav-icons a{position:relative;text-decoration:none;display:flex;align-items:center;justify-content:center}.icon{width:36px;height:36px;border-radius:50%;border:1px solid var(--sidebar-border);background:transparent;color:var(--sidebar-text);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:background .2s ease,border-color .2s ease,transform .15s ease,box-shadow .15s ease}.nav-icons a:hover .icon{background:#ffffff26;animation:iconPop .4s cubic-bezier(.36,.07,.19,.97) forwards}@keyframes iconPop{0%{transform:scale(1) rotate(0)}35%{transform:scale(1.22) rotate(-6deg)}65%{transform:scale(.96) rotate(3deg)}to{transform:scale(1.06) rotate(0)}}.nav-icons a.active .icon{background:var(--nav-active-bg);color:var(--nav-active-text);border-color:var(--nav-active-bg);box-shadow:var(--nav-active-shadow)}[data-theme=dark] .nav-icons a.active .icon{box-shadow:0 0 0 2px #7fb8d680,0 0 20px #7fb8d659,0 0 40px #7fb8d626}.label{position:absolute;left:56px;background:#111;color:#fff;padding:4px 8px;border-radius:6px;font-size:16px;white-space:nowrap;opacity:0;transform:translate(-4px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.nav-icons a:hover .label{opacity:1;transform:translate(0)}.theme-toggle{margin-top:auto;margin-bottom:12px;background:none;border:none;font-size:16px;cursor:pointer;color:var(--sidebar-text)}.hs-icon{font-size:12px;font-weight:700;letter-spacing:.5px;font-family:Courier Prime,monospace;text-transform:uppercase;display:flex;align-items:center;justify-content:center}@media(max-width:768px){.floating-sidebar{display:none!important}}.nav-icons a{min-width:44px;min-height:44px}.home-page{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:center}.terminal-window{position:relative;border-radius:14px;overflow:hidden;max-width:900px;width:100%;z-index:1;border:1px solid rgba(11,18,32,.12);background:#ffffffeb;box-shadow:0 4px 6px #0000000a,0 12px 40px #00000014}[data-theme=dark] .terminal-window{background:#080d18e0;border:1px solid rgba(127,184,214,.25);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 0 1px #7fb8d61f,0 24px 80px #000000a6,0 0 100px #7fb8d614,inset 0 1px #ffffff0a}.terminal-titlebar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#0000000a;border-bottom:1px solid rgba(0,0,0,.07);-webkit-user-select:none;user-select:none}[data-theme=dark] .terminal-titlebar{background:#0000004d;border-bottom:1px solid rgba(127,184,214,.1)}.terminal-dots{display:flex;gap:6px}.dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.dot-red{background:#ff5f57;box-shadow:0 0 4px #ff5f5799}.dot-yellow{background:#ffbd2e;box-shadow:0 0 4px #ffbd2e99}.dot-green{background:#28ca41;box-shadow:0 0 4px #28ca4199}.terminal-titlebar-text{font-size:12px;letter-spacing:.5px;color:#0b122073;font-family:Courier Prime,monospace;flex:1;text-align:center;margin-right:54px}[data-theme=dark] .terminal-titlebar-text{color:#9bcbe580}.terminal-window .terminal-block{padding:24px 28px 28px;font-size:15px;line-height:1.7;white-space:pre-wrap}.terminal-scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.025) 2px,rgba(0,0,0,.025) 4px);pointer-events:none;opacity:0;animation:scanlineScroll 10s linear infinite}[data-theme=dark] .terminal-scanlines{opacity:1}@keyframes scanlineScroll{0%{background-position:0 0}to{background-position:0 200px}}.home-page .terminal-line{margin:0;color:var(--text-color)}.home-page .terminal-cursor{animation:cursorGlow 1.1s ease-in-out infinite}.terminal-line+.terminal-line{margin-top:4px}@keyframes cursorGlow{0%,to{opacity:1;text-shadow:none}50%{opacity:0;text-shadow:0 0 8px var(--accent),0 0 20px var(--glow)}}.home-scroll-cue{position:absolute;bottom:32px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;letter-spacing:1px;opacity:.6}.scroll-line{width:1px;height:24px;background-color:var(--text-color);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%{opacity:.3;height:16px}50%{opacity:1;height:24px}to{opacity:.3;height:16px}}@media(max-width:768px){.terminal-window{border-radius:10px;width:100%;max-width:100%}.terminal-window .terminal-block{padding:16px 18px 20px;font-size:13px}.terminal-h1{font-size:clamp(22px,5vw,42px)}.home-page{overflow-x:hidden}}@media(max-width:480px){[data-theme] .particle-canvas{opacity:0}}.terminal-h1{font-size:clamp(40px,6vw,72px);font-weight:700;margin:16px 0 10px;line-height:1.05;color:var(--text-color);letter-spacing:-.5px}.terminal-h2{font-size:17px;font-weight:400;margin-top:14px;max-width:680px;color:var(--muted-text);line-height:1.65}.terminal-prompt{color:var(--muted-text)}.terminal-command{color:#7fb8d6;font-weight:500}.particle-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .6s ease;z-index:0}[data-theme=dark] .particle-canvas{opacity:1}[data-theme=light] .particle-canvas{opacity:.7}@keyframes glitchSettle{0%{text-shadow:-4px 0 #ff0080,4px 0 #00f0ff;clip-path:inset(10% 0 85% 0);transform:skew(-6deg)}10%{text-shadow:3px 0 #ff0080,-3px 0 #00f0ff;clip-path:inset(60% 0 10% 0);transform:skew(4deg)}20%{text-shadow:-2px 0 #ff0080,2px 0 #00f0ff;clip-path:inset(30% 0 55% 0);transform:skew(-2deg)}30%{text-shadow:4px 0 #ff0080,-2px 0 #00f0ff;clip-path:inset(80% 0 5% 0);transform:skew(3deg)}40%{text-shadow:-1px 0 #ff0080,3px 0 #00f0ff;clip-path:inset(0% 0 90% 0);transform:skew(-1deg)}50%{text-shadow:none;clip-path:none;transform:none}to{text-shadow:none;clip-path:none;transform:none}}[data-theme=light] .glitch-name:before,[data-theme=light] .glitch-name:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}[data-theme=light] .glitch-name:before{color:#1a6b9a;animation:glitchSettle .7s steps(1) .3s forwards;opacity:0;animation-fill-mode:both;mix-blend-mode:multiply;clip-path:inset(0 0 60% 0)}[data-theme=light] .glitch-name:after{color:#0d8a8a;animation:glitchSettle .7s steps(1) .45s forwards;opacity:0;animation-fill-mode:both;mix-blend-mode:multiply;clip-path:inset(60% 0 0 0)}.glitch-name{position:relative}[data-theme=dark] .glitch-name:before,[data-theme=dark] .glitch-name:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;overflow:hidden;pointer-events:none}[data-theme=dark] .glitch-name:before{color:#ff0080;animation:glitchSettle .7s steps(1) .3s forwards;opacity:0;animation-fill-mode:both;mix-blend-mode:screen;clip-path:inset(0 0 60% 0)}[data-theme=dark] .glitch-name:after{color:#00f0ff;animation:glitchSettle .7s steps(1) .45s forwards;opacity:0;animation-fill-mode:both;mix-blend-mode:screen;clip-path:inset(60% 0 0 0)}.th-cursor{display:inline-block;color:var(--accent);animation:thBlink .65s step-end infinite;margin-left:1px;font-weight:400;opacity:1}@keyframes thBlink{50%{opacity:0}}.about-page{padding-top:48px;margin-bottom:240px}.about-title{font-size:40px;font-weight:700;margin-bottom:0}.about-heading{display:flex;align-items:center;gap:12px;margin-bottom:28px}.about-line{width:4px;height:35px;background-color:var(--accent);opacity:1;flex-shrink:0}.about-split{display:grid;grid-template-columns:40% 60%;gap:20px;align-items:stretch}.about-card{border-radius:20px;border:1px solid var(--border-color);background:var(--card-bg);transition:border-color .25s ease,box-shadow .25s ease;opacity:0;transform:translateY(20px)}.about-page.revealed .about-card{animation:aboutCardIn .6s cubic-bezier(.22,1,.36,1) calc(var(--card-i, 0) * .12s) forwards}@keyframes aboutCardIn{to{opacity:1;transform:translateY(0)}}[data-theme=dark] .about-card{background:#080d18c7;border-color:#5bc8f51f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 32px #0006,0 0 0 1px #5bc8f50d}[data-theme=dark] .about-card:hover{border-color:#5bc8f542;box-shadow:0 12px 44px #00000080,0 0 0 1px #5bc8f51a,0 0 40px #5bc8f50d}[data-theme=light] .about-card{box-shadow:0 4px 20px #00000012}[data-theme=light] .about-card:hover{border-color:#4a9dc461;box-shadow:0 8px 30px #0000001a}.photo-tilt-wrap{position:relative;min-height:660px;cursor:pointer;will-change:transform}.photo-frame{position:absolute;inset:0;border-radius:20px;overflow:hidden}.photo-img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;filter:saturate(.92) contrast(1);transition:filter .5s ease}.photo-tilt-wrap:hover .photo-img{filter:grayscale(1) contrast(1.08) brightness(.88)}.photo-duotone{position:absolute;inset:0;background:linear-gradient(145deg,#5bc8f599,#08143780);mix-blend-mode:color;opacity:0;transition:opacity .5s ease;pointer-events:none}.photo-tilt-wrap:hover .photo-duotone{opacity:1}.photo-specular{position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;z-index:2}.photo-scan{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,rgba(91,200,245,.09) 50%,transparent 100%);background-size:100% 90px;opacity:0;pointer-events:none;transform:translateY(-90px)}.photo-tilt-wrap:hover .photo-scan{opacity:1;animation:photoScan 2s linear infinite}@keyframes photoScan{0%{transform:translateY(-90px)}to{transform:translateY(110%)}}.ar-corner{position:absolute;width:22px;height:22px;opacity:0;transition:opacity .3s ease .05s;pointer-events:none}.photo-tilt-wrap:hover .ar-corner{opacity:1}.ar-tl{top:16px;left:16px;border-top:2px solid rgba(91,200,245,.85);border-left:2px solid rgba(91,200,245,.85);border-radius:3px 0 0}.ar-br{bottom:16px;right:16px;border-bottom:2px solid rgba(91,200,245,.85);border-right:2px solid rgba(91,200,245,.85);border-radius:0 0 3px}.ar-labels{position:absolute;bottom:96px;left:16px;display:flex;flex-direction:column;gap:7px;pointer-events:none}.ar-label{display:flex;align-items:center;gap:7px;padding:5px 12px 5px 8px;border-radius:8px;background:#050c1eb8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(91,200,245,.3);width:fit-content;transform:translate(-12px);opacity:0;transition:opacity .28s ease calc(var(--li, 0) * 75ms + .08s),transform .28s ease calc(var(--li, 0) * 75ms + .08s)}.photo-tilt-wrap:hover .ar-label{opacity:1;transform:translate(0)}.ar-dot{width:5px;height:5px;border-radius:50%;background:#5bc8f5;box-shadow:0 0 6px #5bc8f5e6;flex-shrink:0}.ar-key{font-size:10px;font-family:Courier Prime,monospace;font-weight:700;color:#5bc8f5;letter-spacing:.6px;text-transform:uppercase}.ar-sep{color:#5bc8f573;font-size:11px}.ar-val{font-size:12px;color:#dcebf5eb;font-weight:500;letter-spacing:.2px}.stat-pills-shelf{position:absolute;bottom:0;left:0;right:0;display:flex;gap:0;padding:14px 16px 16px;background:#050a19ad;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(91,200,245,.18);border-radius:0 0 20px 20px;transform:translateZ(8px)}[data-theme=light] .stat-pills-shelf{background:#e6eef6d1;border-top-color:#4a9dc433}.stat-pill{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;border-radius:10px;position:relative;opacity:0;transform:translateY(8px)}.stat-pill-num--text{font-size:20px;font-weight:700;letter-spacing:0;white-space:nowrap}.stat-pill+.stat-pill:before{content:"";position:absolute;left:0;top:10%;bottom:10%;width:1px;background:#5bc8f526}[data-theme=light] .stat-pill+.stat-pill:before{background:#4a9dc426}.about-page.revealed .stat-pill{animation:pillIn .45s ease calc(var(--pi, 0) * .1s + .35s) forwards}@keyframes pillIn{to{opacity:1;transform:translateY(0)}}.stat-pill-num{font-size:26px;font-weight:700;font-family:Courier Prime,monospace;line-height:1;color:#5bc8f5;text-shadow:0 0 16px rgba(91,200,245,.5);letter-spacing:-.5px}[data-theme=light] .stat-pill-num{color:#2a85b8;text-shadow:none}.stat-pill-num--text{font-size:15px;font-weight:800;letter-spacing:0;white-space:nowrap}.stat-pill-label{font-size:10px;color:#9bcbe5b3;letter-spacing:.4px;text-transform:uppercase;font-family:Courier Prime,monospace;white-space:nowrap}[data-theme=light] .stat-pill-label{color:var(--muted-text)}.about-bio-card{padding:36px 38px 32px;display:flex;flex-direction:column;overflow:hidden}.bio-file-tag{display:block;font-size:11px;font-family:Courier Prime,monospace;font-style:italic;color:var(--muted-text);opacity:.6;letter-spacing:.4px;margin-bottom:28px}.bio-para{position:relative;padding-left:16px;margin:0 0 20px;font-size:14.5px;line-height:1.78;color:var(--text-color);opacity:.9;border-left:2px solid rgba(91,200,245,.28);transition:border-color .2s ease}.about-bio-card:hover .bio-para{border-left-color:#5bc8f585}[data-theme=light] .bio-para{border-left-color:#4a9dc447}[data-theme=light] .about-bio-card:hover .bio-para{border-left-color:#4a9dc480}.bio-para:last-of-type{margin-bottom:0}.bio-terminal{padding-top:24px;margin-top:24px;border-top:1px solid var(--border-color);font-family:Courier Prime,monospace;font-size:13px;display:flex;align-items:center}[data-theme=dark] .bio-terminal{border-top-color:#5bc8f51a}[data-theme=light] .bio-terminal{border-top-color:#4a9dc44d;background:#f0f8ff99;padding:16px;border-radius:8px;border:1px solid rgba(74,157,196,.2);margin-top:20px}[data-theme=light] .ar-label{background:#f0f8ffeb;border-color:#4a9dc466}[data-theme=light] .ar-key{color:#2a7a9e}[data-theme=light] .ar-val{color:#1a3a5c}[data-theme=light] .ar-dot{background:#4a9dc4;box-shadow:0 0 4px #4a9dc499}[data-theme=light] .ar-sep{color:#4a9dc499}[data-theme=light] .photo-tilt-wrap{border:1px solid rgba(74,157,196,.25);border-radius:20px}[data-theme=light] .photo-frame{border:1px solid rgba(74,157,196,.15)}.bt-dollar{color:var(--muted-text);margin-right:6px}.bt-cmd{color:var(--text-color);font-weight:600}.bt-colon{color:var(--muted-text);margin-right:6px}.bt-val{color:#28ca41;font-weight:600}[data-theme=dark] .bt-val{text-shadow:0 0 12px rgba(40,202,65,.5)}.bt-cursor{color:#28ca41;margin-left:2px;animation:btBlink 1s step-end infinite}@keyframes btBlink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.about-page.revealed .about-card,.about-page.revealed .stat-pill{animation:none;opacity:1;transform:none}.photo-tilt-wrap:hover .photo-scan,.bt-cursor{animation:none}.photo-tilt-wrap{transition:none!important;transform:none!important}}@media(max-width:900px){.about-split{grid-template-columns:1fr;gap:16px}.photo-tilt-wrap{min-height:420px;transform:none!important;transition:none!important;transform-style:flat}.photo-frame{min-height:420px}.ar-labels{bottom:90px}}@media(max-width:640px){.photo-tilt-wrap,.photo-frame{min-height:340px}.about-bio-card{padding:24px 20px 22px}.bio-para{font-size:14px}.about-title{font-size:32px}.stat-pill-num{font-size:22px}.ar-labels{bottom:82px}.ar-labels,.ar-label{display:none}.stat-pill-label{font-size:11px;padding:4px 10px}}.experience-wrapper{max-width:1300px;padding-top:48px;margin-bottom:240px}.experience-title{font-size:40px;font-weight:700;margin-bottom:40px}.experience-heading{display:flex;align-items:center;gap:12px}.experience-line{width:4px;height:32px;background-color:var(--border-color);opacity:.4}.exp-split{display:grid;grid-template-columns:35% 65%;gap:0;align-items:start}.exp-tl{position:relative;display:flex;flex-direction:column;padding:8px 0 8px 28px}.tl-track{position:absolute;left:14px;top:20px;bottom:20px;width:2px;background:var(--border-color);opacity:.18;overflow:hidden;border-radius:2px}[data-theme=light] .tl-track{background:#4a9dc466;opacity:1}.tl-track-fill{width:100%;background:linear-gradient(to bottom,#5bc8f5,#5bc8f540);transition:height 1.8s cubic-bezier(.4,0,.2,1);height:0%;border-radius:2px}.tl-node{position:relative;display:flex;align-items:flex-start;gap:16px;padding:14px 16px 14px 0;background:none;border:none;cursor:pointer;text-align:left;width:100%;border-radius:10px;transition:background .18s ease}.tl-node:hover{background:#5bc8f50a}[data-theme=light] .tl-node:hover{background:#4a9dc40d}.tl-node-dot{position:absolute;left:-19px;top:20px;width:11px;height:11px;border-radius:50%;border:2px solid var(--border-color);background:var(--bg-color);flex-shrink:0;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,width .2s ease,height .2s ease,left .2s ease,top .2s ease;z-index:2}.tl-node--active .tl-node-dot{width:14px;height:14px;left:-20px;top:18.5px;border-color:#5bc8f5;background:#5bc8f52e;box-shadow:0 0 0 4px #5bc8f51f,0 0 14px #5bc8f58c;animation:dotPulse 2s ease-in-out infinite}@keyframes dotPulse{0%,to{box-shadow:0 0 0 4px #5bc8f51f,0 0 14px #5bc8f58c}50%{box-shadow:0 0 0 8px #5bc8f50f,0 0 24px #5bc8f5bf}}[data-theme=light] .tl-node--active .tl-node-dot{border-color:#4a9dc4;background:#4a9dc41f;box-shadow:0 0 0 4px #4a9dc41a,0 0 12px #4a9dc466;animation:dotPulseLight 2s ease-in-out infinite}@keyframes dotPulseLight{0%,to{box-shadow:0 0 0 4px #4a9dc41a,0 0 12px #4a9dc466}50%{box-shadow:0 0 0 8px #4a9dc40d,0 0 20px #4a9dc499}}.tl-node-info{display:flex;flex-direction:column;gap:3px}.tl-company{display:block;font-size:15px;font-weight:700;color:var(--text-color);line-height:1.3;transition:color .2s ease}.tl-node--active .tl-company{color:var(--text-color)}.tl-role{display:block;font-size:12px;color:var(--accent);font-weight:500;line-height:1.3}[data-theme=dark] .tl-role{color:#5bc8f5}.tl-date{display:block;font-size:11px;font-family:Courier Prime,monospace;color:var(--muted-text);letter-spacing:.3px;margin-top:2px}.tl-node:not(.tl-node--active) .tl-company{opacity:.55}.tl-node:not(.tl-node--active) .tl-role{opacity:.45}.tl-node:not(.tl-node--active) .tl-date{opacity:.4}.tl-node:hover .tl-company,.tl-node:hover .tl-role,.tl-node:hover .tl-date{opacity:1}.exp-panel{position:relative;overflow:hidden;padding:32px 36px 36px;border-radius:18px;border:1px solid var(--border-color);background:var(--card-bg);box-shadow:0 8px 32px var(--shadow);animation:panelEnter .35s cubic-bezier(.4,0,.2,1) both}@keyframes panelEnter{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}[data-theme=dark] .exp-panel{background:#080d18d1;border-color:#5bc8f524;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 48px #00000080,0 0 0 1px #5bc8f50f,0 0 60px #5bc8f50a}[data-theme=light] .exp-panel{background:#ffffffd9;border-color:#4a9dc44d;box-shadow:0 8px 32px #00000014}.exp-panel-scan{position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(to bottom,transparent 0%,rgba(91,200,245,.06) 50%,transparent 100%);background-size:100% 60px;transform:translateY(-100%);animation:panelScan .7s ease .1s both}@keyframes panelScan{0%{transform:translateY(-100%);opacity:1}to{transform:translateY(200%);opacity:0}}[data-theme=light] .exp-panel-scan{background:linear-gradient(to bottom,transparent 0%,rgba(74,157,196,.05) 50%,transparent 100%);background-size:100% 60px}.ep-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:4px}.ep-company{font-size:22px;font-weight:700;color:var(--text-color);margin:0;line-height:1.2}.ep-role{font-size:14px;color:var(--accent);font-weight:500;margin:4px 0 0}[data-theme=dark] .ep-role{color:#5bc8f5}.ep-date{font-size:12px;font-family:Courier Prime,monospace;color:var(--muted-text);white-space:nowrap;padding-top:4px;flex-shrink:0}.ep-location{font-size:12px;color:var(--muted-text);margin:0 0 24px;opacity:.7}.ep-bullets{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:10px}.ep-bullets li{position:relative;padding-left:18px;font-size:14px;line-height:1.6;color:var(--text-color);opacity:0;animation:bulletIn .3s ease calc(var(--bi, 0) * 55ms + .2s) forwards}.ep-bullets li:before{content:"▸";position:absolute;left:0;color:var(--accent);font-size:11px;top:3px}[data-theme=dark] .ep-bullets li:before{color:#5bc8f5}@keyframes bulletIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.ep-tech{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px;border-top:1px solid var(--border-color);margin-top:4px}[data-theme=dark] .ep-tech{border-top-color:#5bc8f51a}.ep-tech span{padding:5px 12px;font-size:12px;border-radius:999px;border:1px solid var(--border-color);color:var(--muted-text);background:transparent;white-space:nowrap;opacity:0;animation:bubbleIn .25s ease calc(var(--ti, 0) * 40ms + .45s) forwards;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease}.ep-tech span:hover{color:var(--accent);border-color:var(--accent)}[data-theme=dark] .ep-tech span{border-color:#5bc8f533;color:#9bcbe5bf}[data-theme=dark] .ep-tech span:hover{border-color:#5bc8f58c;color:#9bcbe5;box-shadow:0 0 10px #5bc8f533}@keyframes bubbleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@media(max-width:900px){.exp-split{grid-template-columns:30% 70%;gap:0}.exp-tl{padding-left:20px}.tl-node-dot{left:-11px}.tl-node--active .tl-node-dot{left:-12px}}.exp-accordion{display:none}@media(max-width:768px){.exp-split{display:none}.exp-accordion{display:flex;flex-direction:column;gap:10px;margin-top:32px}.acc-item{border:1px solid var(--border-color);border-radius:14px;overflow:hidden;transition:border-color .2s ease}.acc-item--open{border-color:#5bc8f573}[data-theme=light] .acc-item--open{border-color:#4a9dc473}[data-theme=dark] .acc-item{background:#080d18d1}[data-theme=light] .acc-item{background:#ffffffd9}.acc-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:none;border:none;cursor:pointer;text-align:left}.acc-header-info{display:flex;flex-direction:column;gap:3px}.acc-company{font-size:15px;font-weight:700;color:var(--text-color);line-height:1.3}.acc-role{font-size:12px;color:#5bc8f5;font-weight:500}[data-theme=light] .acc-role{color:#4a9dc4}.acc-date{font-size:11px;font-family:Courier Prime,monospace;color:var(--muted-text);margin-top:1px}.acc-chevron{font-size:11px;color:var(--accent);flex-shrink:0;transition:transform .2s ease}.acc-body{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1);padding:0 18px}.acc-item--open .acc-body{max-height:600px;padding-bottom:20px}.experience-title{font-size:32px}}@media(prefers-reduced-motion:reduce){.exp-panel,.ep-bullets li,.ep-tech span,.exp-panel-scan{animation:none;opacity:1;transform:none}.tl-node--active .tl-node-dot{animation:none}.tl-track-fill{transition:none}}.experience-hint{display:none}.skills-wrapper{padding-top:48px;margin-bottom:240px}.skills-heading{display:flex;align-items:center;gap:12px}.skills-title{font-size:40px;font-weight:700;margin-bottom:32px}.skills-line{width:4px;height:32px;background-color:var(--border-color);opacity:.4}.ce-window{border-radius:10px;overflow:hidden;border:1px solid rgba(91,200,245,.18);background:#050a14f5;box-shadow:0 20px 60px #00000080,0 0 0 1px #5bc8f50d;will-change:transform;opacity:0;transform:perspective(1400px) rotateX(16deg) translateY(48px) scale(.97);transition:opacity .75s ease .2s,transform .9s cubic-bezier(.23,1,.32,1) .2s}.skills-wrapper.revealed .ce-window{opacity:1;transform:perspective(1400px) rotateX(0) translateY(0) scale(1)}.ce-window:hover{border-color:#5bc8f552;box-shadow:0 28px 80px #0000008c,0 0 40px #5bc8f50f,0 0 0 1px #5bc8f51a}[data-theme=light] .ce-window{background:#fafcfffa;border-color:#4a9dc438;box-shadow:0 12px 40px #00000014,0 0 0 1px #4a9dc412}.ce-titlebar{display:flex;align-items:center;gap:0;padding:0 14px;height:38px;background:#ffffff05;border-bottom:1px solid rgba(91,200,245,.1);-webkit-user-select:none;user-select:none}[data-theme=light] .ce-titlebar{background:#00000006;border-bottom-color:#4a9dc424}.ce-dots{display:flex;gap:6px;margin-right:16px;flex-shrink:0}.ce-dot{width:11px;height:11px;border-radius:50%}.ce-dot--r{background:#ff5f57}.ce-dot--y{background:#febc2e}.ce-dot--g{background:#28c840}.ce-tabs{display:flex;height:100%}.ce-tab{display:flex;align-items:center;gap:7px;padding:0 16px;font-family:Courier Prime,monospace;font-size:12px;color:#9bcbe5bf;border-right:1px solid rgba(91,200,245,.1);border-bottom:2px solid #5bc8f5;background:#5bc8f50a}[data-theme=light] .ce-tab{color:#2a7a9e;border-right-color:#4a9dc424;border-bottom-color:#4a9dc4;background:#4a9dc40d}.ce-tab-badge{font-size:9px;font-weight:800;padding:1px 4px;border-radius:3px;background:#f0db4f;color:#111;letter-spacing:.3px}.ce-editor{display:flex;min-height:320px}.ce-filetree{width:200px;flex-shrink:0;border-right:1px solid rgba(91,200,245,.08);padding:12px 0;background:#0003;overflow:hidden}[data-theme=light] .ce-filetree{background:#00000005;border-right-color:#4a9dc41a}.ce-ft-root{display:flex;align-items:center;gap:6px;padding:5px 16px;font-family:Courier Prime,monospace;font-size:12px;color:#9bcbe573;-webkit-user-select:none;user-select:none}[data-theme=light] .ce-ft-root{color:#4a9dc480}.ce-ft-chevron{font-size:10px;color:#5bc8f566}.ce-ft-folder{font-weight:600}.ce-ft-item{display:flex;align-items:center;gap:7px;width:100%;padding:5px 16px 5px 26px;background:none;border:none;border-left:2px solid transparent;cursor:pointer;font-family:Courier Prime,monospace;font-size:12px;color:#9bcbe58c;text-align:left;transition:color .15s ease,background .15s ease,border-color .15s ease;opacity:0}.skills-wrapper.revealed .ce-ft-item{animation:ceItemIn .3s ease both;animation-delay:calc(var(--fi, 0) * 60ms + .4s)}@keyframes ceItemIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.ce-ft-item:hover{background:#5bc8f50d;color:#9bcbe5cc}[data-theme=light] .ce-ft-item:hover{background:#4a9dc40f}.ce-ft-item--active{border-left-color:#5bc8f5;background:#5bc8f514;color:#9bcbe5}[data-theme=light] .ce-ft-item--active{border-left-color:#4a9dc4;background:#4a9dc41a;color:#2a7a9e}.ce-ft-badge{font-size:8px;font-weight:800;padding:1px 3px;border-radius:2px;background:#f0db4f;color:#111;flex-shrink:0;letter-spacing:.2px}.ce-ft-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ce-code{flex:1;padding:14px 0 18px;overflow-x:auto;-webkit-overflow-scrolling:touch;animation:cePanelFlip .35s cubic-bezier(.23,1,.32,1) both}@keyframes cePanelFlip{0%{opacity:0;transform:perspective(800px) rotateY(-14deg) translate(12px)}to{opacity:1;transform:perspective(800px) rotateY(0) translate(0)}}.ce-line{display:flex;align-items:baseline;font-family:Courier Prime,monospace;font-size:14px;line-height:1.8;white-space:pre;padding-right:24px;opacity:0;animation:ceLineIn .2s ease both;animation-delay:calc(var(--li, 0) * 35ms + 60ms)}@keyframes ceLineIn{0%{opacity:0}to{opacity:1}}.ce-line:hover{background:#5bc8f508}[data-theme=light] .ce-line:hover{background:#4a9dc40a}.ce-ln{flex-shrink:0;width:44px;padding-right:16px;text-align:right;font-size:12px;color:#5bc8f52e;-webkit-user-select:none;user-select:none;line-height:inherit}[data-theme=light] .ce-ln{color:#4a9dc440}.ce-cnt{flex:1}.tk-kw{color:#c792ea}.tk-fn{color:#82aaff}.tk-op{color:#89ddff}.tk-key{color:#9bcbe5}.tk-str{color:#c3e88d}.tk-brace{color:#f07178}.tk-ws{display:inline}[data-theme=light] .tk-kw{color:#7c3aed}[data-theme=light] .tk-fn{color:#1d4ed8}[data-theme=light] .tk-op{color:#0284c7}[data-theme=light] .tk-key{color:#065f46}[data-theme=light] .tk-str{color:#15803d}[data-theme=light] .tk-brace{color:#b91c1c}@media(max-width:700px){.ce-filetree{width:160px}.ce-ft-name{font-size:11px}.ce-line{font-size:13px}}.ce-tab-select{display:none}@media(max-width:520px){.ce-filetree,.ce-tab-filename{display:none}.ce-tab-select{display:block;background:transparent;border:none;outline:none;font-family:Courier Prime,monospace;font-size:12px;color:#9bcbe5bf;cursor:pointer}[data-theme=light] .ce-tab-select{color:#2a7a9e}}@media(prefers-reduced-motion:reduce){.skills-wrapper.revealed .ce-window{transition:none;opacity:1;transform:none}.skills-wrapper.revealed .ce-ft-item,.ce-line,.ce-code{animation:none;opacity:1;transform:none}}.project-wrapper{padding-top:48px;margin-bottom:200px;position:relative}.git-log-egg{position:absolute;top:48px;right:0;width:260px;border-radius:10px;overflow:hidden;border:1px solid rgba(91,200,245,.15);background:#050a14e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-decoration:none;opacity:.45;transition:opacity .2s ease,border-color .2s ease,box-shadow .2s ease;z-index:2}.git-log-egg:hover{opacity:1;border-color:#5bc8f573;box-shadow:0 0 28px #5bc8f51f}[data-theme=light] .git-log-egg{background:#f0f8fff2;border-color:#4a9dc433}[data-theme=light] .git-log-egg:hover{border-color:#4a9dc480;box-shadow:0 0 20px #4a9dc41a}.git-log-header{display:flex;align-items:center;gap:5px;padding:7px 10px;background:#ffffff08;border-bottom:1px solid rgba(91,200,245,.08)}[data-theme=light] .git-log-header{background:#00000008;border-bottom-color:#4a9dc41a}.git-log-dot{width:8px;height:8px;border-radius:50%;background:#5bc8f54d}[data-theme=light] .git-log-dot{background:#4a9dc459}.git-log-title{font-family:Courier Prime,monospace;font-size:10px;color:#9bcbe580;margin-left:4px}[data-theme=light] .git-log-title{color:#4a9dc499}.git-log-viewport{height:132px;overflow:hidden;padding:6px 0}.git-log-track{will-change:transform}.git-log-row{display:flex;gap:8px;padding:2px 10px;height:22px;align-items:center}.git-hash{font-family:Courier Prime,monospace;font-size:11px;color:#5bc8f5;flex-shrink:0}[data-theme=light] .git-hash{color:#4a9dc4}.git-msg{font-family:Courier Prime,monospace;font-size:11px;color:#9bcbe5b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=light] .git-msg{color:#2a7a9ecc}.git-log-cta{font-family:Courier Prime,monospace;font-size:10px;color:#5bc8f566;text-align:right;padding:5px 10px;border-top:1px solid rgba(91,200,245,.08);margin:0;transition:color .2s ease}.git-log-egg:hover .git-log-cta{color:#5bc8f5e6}[data-theme=light] .git-log-cta{color:#4a9dc480;border-top-color:#4a9dc41a}[data-theme=light] .git-log-egg:hover .git-log-cta{color:#4a9dc4}@media(max-width:768px){.git-log-egg{display:none}}.project-heading{display:flex;align-items:center;gap:16px}.project-line{width:4px;height:32px;background-color:var(--border-color);opacity:.4}.project-title{font-size:40px;font-weight:700}.project-subtitle{margin-top:12px;max-width:100ch;color:var(--muted-text)}.project-flip-hint{font-style:italic;opacity:.65;font-size:.9em}.projects-grid{margin-top:48px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.card-tilt-wrapper{transform-style:preserve-3d;transition:transform .15s ease-out;will-change:transform;border-radius:20px}.project-card{position:relative;border-radius:20px;cursor:pointer;perspective:1000px;transform-style:preserve-3d}.card-inner{position:relative;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.4,0,.2,1);border-radius:20px;height:280px}.project-card.is-flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;inset:0;border-radius:20px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-front{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 8px 28px var(--shadow);padding:20px;display:flex;flex-direction:column;gap:12px}[data-theme=dark] .card-front{background:#0f172ae0;border-color:#5bc8f526;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.card-front:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(91,200,245,.15),transparent 40%);opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:0}.card-tilt-wrapper:hover .card-front:before{opacity:1}.card-front>*{position:relative;z-index:1}[data-theme=dark] .card-tilt-wrapper:hover .card-front{border-color:#5bc8f559;box-shadow:0 20px 60px #0000008c,0 0 40px #5bc8f514}.card-back{transform:rotateY(180deg);position:absolute;inset:0;background:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 8px 28px var(--shadow);display:flex;flex-direction:column;justify-content:space-between;padding:20px}[data-theme=dark] .card-back{background:#050a14f7;border-color:#5bc8f566;box-shadow:0 0 0 1px #5bc8f51f,0 30px 80px #000c}.card-back:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(91,200,245,.07) 0%,transparent 55%);pointer-events:none;z-index:0}.card-back>*{position:relative;z-index:1}.card-back-num{position:absolute;bottom:-15px;right:12px;font-size:120px;font-weight:900;line-height:1;color:var(--accent);opacity:.05;-webkit-user-select:none;user-select:none;pointer-events:none;font-family:Courier Prime,monospace;letter-spacing:-3px;z-index:0}[data-theme=dark] .card-back-num{opacity:.08}.card-back-content{display:flex;flex-direction:column;gap:16px;flex:1}.card-back-title{font-size:16px;font-weight:700;line-height:1.3;margin:0;color:var(--text-color)}[data-theme=dark] .card-back-title{color:#e8f4fd}.card-back-desc{font-size:13.5px;line-height:1.7;color:var(--muted-text);margin:0;padding:0;max-width:100%;text-align:justify}[data-theme=dark] .card-back-desc{color:#9bcbe5d9}.card-back-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.card-back-tags span{font-size:11px;padding:4px 11px;border-radius:999px;border:1px solid var(--border-color);color:var(--text-color);white-space:nowrap}[data-theme=dark] .card-back-tags span{border-color:#5bc8f540;color:#5bc8f5cc}.card-back-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:auto}.back-link{display:inline-flex;align-items:center;gap:7px;border-radius:8px;border:1px solid var(--border-color);color:var(--text-color);text-decoration:none;font-size:13px;font-family:Courier Prime,monospace;transition:all .2s ease;padding:10px 20px}.back-link:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px);opacity:1}[data-theme=dark] .back-link:hover{box-shadow:0 0 20px #5bc8f533}.back-link-primary{background:#5bc8f51a;border-color:#5bc8f580;color:var(--accent);font-weight:600}.back-link-primary:hover{background:#5bc8f52e;color:var(--accent)}[data-theme=dark] .back-link-primary:hover{box-shadow:0 0 28px #5bc8f54d}.flip-hint{font-size:11px;color:var(--muted-text);opacity:.4;letter-spacing:.8px;text-align:right;margin:0;padding:0;font-style:italic;transition:opacity .2s ease}.card-tilt-wrapper:hover .flip-hint{opacity:.8}.flip-hint-back{font-size:11px;color:var(--muted-text);opacity:.45;letter-spacing:.8px;font-style:italic;margin:0;padding:0;text-align:right}.card-num{position:absolute;top:-16px;right:10px;font-size:110px;font-weight:900;line-height:1;color:var(--accent);opacity:.04;-webkit-user-select:none;user-select:none;pointer-events:none;font-family:Courier Prime,monospace;letter-spacing:-3px;z-index:0}[data-theme=dark] .card-num{opacity:.07}.project-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;z-index:2;position:relative}.project-header h3{margin:0;font-size:15px;line-height:1.35}.project-points{margin-left:-20px;font-size:13.5px;margin-bottom:0;padding-right:16px;text-align:justify}.project-points li{margin-left:20px;margin-top:4px;font-size:13.5px;padding-right:8px;line-height:1.55;text-align:justify}.project-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}.project-meta span{font-size:11px;padding:5px 12px;border-radius:999px;border:1px solid var(--border-color);color:var(--text-color);white-space:nowrap;transition:border-color .2s ease,color .2s ease}[data-theme=dark] .project-meta span{border-color:#5bc8f533;color:#9bcbe5b3}.project-links{display:flex;gap:8px;flex-shrink:0}.project-links a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--border-color);color:var(--text-color);opacity:.7;text-decoration:none;padding-left:0;transition:opacity .2s ease,transform .2s ease,border-color .2s ease,box-shadow .2s ease}.project-links a:hover{opacity:1;transform:translateY(-2px)}[data-theme=dark] .project-links a{border-color:#5bc8f54d}[data-theme=dark] .project-links a:hover{border-color:#5bc8f5b3;box-shadow:0 0 14px #5bc8f54d}@media(max-width:768px){.projects-grid{grid-template-columns:1fr;gap:16px}.projects-grid .card-tilt-wrapper:nth-child(5){grid-column:1!important;max-width:100%!important;width:100%!important;margin:0!important}.card-tilt-wrapper{transform:none!important;transition:none}.card-inner{height:auto}.card-front,.card-back{position:relative;inset:unset;height:auto;backface-visibility:visible;-webkit-backface-visibility:visible}.card-back{transform:none;display:none}.project-card.is-flipped .card-inner{transform:none}.project-card.is-flipped .card-front{display:none}.project-card.is-flipped .card-back{display:flex}.flip-hint,.flip-hint-back,.project-flip-hint{display:none}.card-front,.card-back{padding:16px}.project-header h3{font-size:14px}.project-points,.project-points li{font-size:13px;text-align:left;word-spacing:normal;padding-right:8px}.project-meta span{font-size:10px;padding:4px 10px}.back-link{min-height:44px;padding:10px 16px}}.projects-grid .card-tilt-wrapper:nth-child(5){grid-column:1 / -1;max-width:50%;margin:0 auto;width:100%}@media(hover:none){.card-front:before{display:none}}.project-card.is-flipped .card-back-title{animation:backItemIn .45s cubic-bezier(.4,0,.2,1) .5s both}.project-card.is-flipped .card-back-desc{animation:backItemIn .45s cubic-bezier(.4,0,.2,1) .62s both}.project-card.is-flipped .card-back-tags{animation:backItemIn .4s cubic-bezier(.4,0,.2,1) .73s both}.project-card.is-flipped .card-back-links{animation:backItemIn .4s cubic-bezier(.4,0,.2,1) .84s both}.project-card.is-flipped .flip-hint-back{animation:backItemIn .35s ease .95s both}@keyframes backItemIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card-back:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(91,200,245,.35) 35%,rgba(91,200,245,.55) 50%,rgba(91,200,245,.35) 65%,transparent 100%);top:0%;pointer-events:none;z-index:4;opacity:0;animation:none}.project-card.is-flipped .card-back:after{animation:scanLine 4s linear infinite;animation-delay:.85s}@keyframes scanLine{0%{top:0%;opacity:0}4%{opacity:1}96%{opacity:1}to{top:100%;opacity:0}}@keyframes backGlowPulse{0%,to{box-shadow:0 0 0 1px #5bc8f51f,0 30px 80px #000c}50%{box-shadow:0 0 0 1px #5bc8f566,0 0 35px #5bc8f526,0 30px 80px #000c}}[data-theme=dark] .project-card.is-flipped .card-back{animation:backGlowPulse 2.8s ease-in-out infinite;animation-delay:.9s}@keyframes arrowPulse{0%,to{opacity:.4;transform:rotate(0) scale(1)}50%{opacity:.9;transform:rotate(-12deg) scale(1.15)}}.flip-hint-front .flip-arrow,.card-tilt-wrapper .flip-hint .arrow{display:inline-block;animation:arrowPulse 2.2s ease-in-out infinite}.contact-wrapper{padding-top:48px;margin-bottom:200px}.contact-heading{display:flex;align-items:center;gap:16px}.contact-line{width:4px;height:32px;background-color:var(--border-color);opacity:.4}.contact-title{font-size:40px;font-weight:700}.contact-terminal{margin-top:40px;font-family:Courier Prime,monospace;font-size:15px;padding:28px 36px;border-radius:14px;border:1px solid var(--border-color);background:var(--card-bg);box-shadow:0 8px 28px var(--shadow)}[data-theme=dark] .contact-terminal{background:#080d18e0;border-color:#5bc8f52e;box-shadow:0 12px 40px #00000080,0 0 0 1px #5bc8f50f,0 0 60px #5bc8f50a}[data-theme=light] .contact-terminal{background:#f0f8fff2;border-color:#4a9dc44d;box-shadow:0 8px 28px #00000014}[data-theme=light] .ssh-dollar,[data-theme=light] .ssh-user,[data-theme=light] .ssh-cursor{color:#2a7a9e}[data-theme=light] .ssh-user-plain{color:var(--text-color)}.contact-ssh-prompt{display:flex;align-items:center;gap:8px}.ssh-dollar{color:var(--accent);font-weight:700;-webkit-user-select:none;user-select:none}.ssh-user{color:var(--accent);font-weight:600}.ssh-user-plain{color:var(--text-color)}.ssh-cursor{color:var(--accent);animation:blink 1s step-end infinite;font-size:14px}@keyframes blink{50%{opacity:0}}.contact-connected{margin-top:10px;font-size:13px;color:var(--muted-text);display:flex;align-items:center;gap:8px}.connected-check{color:#28ca41;font-size:15px;font-weight:700;flex-shrink:0}.contact-menu{margin-top:20px;display:grid;grid-template-columns:repeat(2,1fr);gap:6px 16px}.contact-menu-hint{grid-column:1 / -1;font-size:11px;color:var(--muted-text);font-style:italic;margin-bottom:4px;opacity:.7}.contact-menu-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;text-decoration:none;color:var(--text-color);border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease}.contact-menu-item:hover,.contact-menu-item.cm-hover{background:#5bc8f50f;border-color:#5bc8f533;color:#5bc8f5}[data-theme=light] .contact-menu-item:hover,[data-theme=light] .contact-menu-item.cm-hover{background:#4a9dc412;border-color:#4a9dc44d;color:#4a9dc4}.cm-key{color:var(--accent);font-weight:700;min-width:28px;font-size:13px}.cm-arrow{color:var(--muted-text);font-size:12px;opacity:.6}.cm-label{font-size:14px;font-weight:500}.ct-fade{animation:ctFade .4s ease both}@keyframes ctFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ct-slide-in{animation:ctSlide .3s ease calc(var(--mi, 0) * 30ms) both}@keyframes ctSlide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@media(max-width:768px){.contact-terminal{padding:20px 18px;font-size:14px;max-width:100%;width:100%}.contact-menu{grid-template-columns:1fr}.cm-label{font-size:13px}.contact-menu-item{min-height:44px;padding:10px 12px}}.site-footer{margin-top:64px;padding:32px 0 24px;border-top:1px solid var(--border-color);color:var(--muted-text);font-size:12px}.footer-inner{display:flex;align-items:center;justify-content:space-between;margin-left:calc(var(--sidebar-left-offset) + var(--sidebar-width) + var(--sidebar-gap));padding-left:10px;padding-right:32px}.footer-content{letter-spacing:.3px}.footer-uptime{display:flex;align-items:center;gap:6px;font-family:Courier Prime,monospace;font-size:11px;letter-spacing:.5px;color:var(--muted-text);opacity:.65}.uptime-dot{width:6px;height:6px;border-radius:50%;background:#28ca41;box-shadow:0 0 6px #28ca41cc;animation:uptimePulse 2s ease-in-out infinite;flex-shrink:0}@keyframes uptimePulse{0%,to{opacity:1}50%{opacity:.4}}.matrix-overlay{position:fixed;inset:0;z-index:99999;cursor:pointer;background:#0d1117}.matrix-canvas{position:absolute;inset:0;width:100%;height:100%}.matrix-msg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none;animation:matrixMsgIn .6s ease .4s both}@keyframes matrixMsgIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.matrix-code{font-family:Courier Prime,monospace;font-size:clamp(22px,4vw,36px);color:#5bc8f5;text-shadow:0 0 20px rgba(91,200,245,.8),0 0 40px rgba(91,200,245,.4);letter-spacing:4px}.matrix-msg p{font-family:Courier Prime,monospace;font-size:clamp(13px,2vw,18px);color:#5bc8f5;text-shadow:0 0 12px rgba(91,200,245,.6);margin:0;letter-spacing:2px}.matrix-hint{font-family:Courier Prime,monospace;font-size:11px;color:#5bc8f566;letter-spacing:2px;text-transform:uppercase;margin-top:8px}@media(max-width:768px){.footer-inner{margin-left:0;padding-left:16px;padding-right:16px}}@media(min-width:768px){.mobile-command-nav{display:none}}.mobile-command-nav{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:1000}.command-toggle{background:#0b1220;color:#9bcbe5;border:1px solid rgba(155,203,229,.35);border-radius:10px;padding:8px 14px;font-size:16px;cursor:pointer;box-shadow:0 8px 20px #00000059}.command-menu{margin-top:10px;background:#0b1220;border:1px solid rgba(155,203,229,.25);border-radius:12px;padding:10px;min-width:180px;animation:slideDown .15s ease-out}.command-item{display:block;width:100%;background:transparent;color:#9bcbe5;border:none;text-align:left;font-family:monospace;font-size:14px;padding:8px 6px;cursor:pointer}.command-item:hover{color:#fff}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mobile-theme-toggle{position:fixed;top:16px;right:16px;z-index:9999;background:none;border:none;padding:0;margin:0;cursor:pointer;color:#9bcbe5}[data-theme=light] .mobile-theme-toggle{color:#0b1220}@media(min-width:900px){.mobile-theme-toggle{display:none}}@media(hover:hover){*,*:before,*:after{cursor:none!important}}.c-dot{position:fixed;top:0;left:0;width:7px;height:7px;margin-top:-3.5px;margin-left:-3.5px;border-radius:50%;background:#5bc8f5;box-shadow:0 0 8px #5bc8f5e6;pointer-events:none;z-index:99999;will-change:transform;transition:width .15s ease,height .15s ease,margin .15s ease,background .15s ease,box-shadow .15s ease}.c-ring{position:fixed;top:0;left:0;width:38px;height:38px;margin-top:-19px;margin-left:-19px;border-radius:50%;border:1.5px solid rgba(91,200,245,.5);pointer-events:none;z-index:99998;will-change:transform;transition:width .28s cubic-bezier(.4,0,.2,1),height .28s cubic-bezier(.4,0,.2,1),margin .28s cubic-bezier(.4,0,.2,1),border-color .28s ease,background .28s ease}.c-ring.ring-hover{width:60px;height:60px;margin-top:-30px;margin-left:-30px;border-color:#5bc8f5e6;background:#5bc8f512}.c-dot.dot-click{width:10px;height:10px;margin-top:-5px;margin-left:-5px;background:#fff;box-shadow:0 0 16px #5bc8f5}.c-ring.ring-click{width:22px;height:22px;margin-top:-11px;margin-left:-11px;border-color:#5bc8f5;background:#5bc8f52e}[data-theme=light] .c-dot{background:#0b1220;box-shadow:0 0 8px #0b122080}[data-theme=light] .c-ring{border-color:#0b122059}[data-theme=light] .c-ring.ring-hover{border-color:#0b1220b3;background:#0b12200d}[data-theme=light] .c-dot.dot-click{background:#0b1220;box-shadow:0 0 16px #0b1220cc}[data-theme=light] .c-ring.ring-click{border-color:#0b1220e6;background:#0b12201a}@media(hover:none){.c-dot,.c-ring{display:none}}
