@keyframes pulse-box{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.loading-screen{z-index:1000;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:fixed;inset:0}.loading-screen__box{border:1px solid var(--accent);width:24px;height:24px;box-shadow:0 0 12px var(--accent-muted);border-radius:2px;animation:1.2s ease-in-out infinite pulse-box}.loading-screen__text{font-family:var(--font-mono,"SF Mono", "Fira Code", monospace);color:var(--text-dim,#ffffff4d);letter-spacing:.1em;text-transform:lowercase;margin:0;font-size:.7rem}.loading-screen__dots:after{content:"";animation:1.6s steps(4,end) infinite dots}@media (prefers-reduced-motion:reduce){.loading-screen__box{opacity:.6;animation:none}}html{scroll-behavior:smooth}body{overflow-x:hidden}@media (pointer:fine){body.custom-cursor-active,body.custom-cursor-active a,body.custom-cursor-active button,body.custom-cursor-active [role=button],body.custom-cursor-active input,body.custom-cursor-active textarea,body.custom-cursor-active select,body.custom-cursor-active label{cursor:none}}#bg{width:100vw;height:100vh;top:0;left:0;position:fixed!important}.page-transition{background:var(--bg);z-index:var(--z-overlay);pointer-events:none;opacity:0;transition:opacity .4s var(--ease-out);position:fixed;inset:0}.page-transition.is-active{opacity:1}.section-inner{max-width:1200px;padding:var(--space-3xl) var(--space-xl);margin:0 auto}.section-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;margin:0 0 var(--space-2xl);font-size:clamp(1.8rem,4vw,3rem);font-weight:500;line-height:1.2}.section-accent{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.section-title-sub{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.05em;margin-top:var(--space-sm);font-size:clamp(.6rem,1vw,.75rem);font-weight:400;display:block}@media (width<=700px){.section-inner{padding:var(--space-2xl) var(--space-lg)}}*,:before,:after{box-sizing:border-box}:root{--bg:#0a0a0a;--bg-elevated:#111;--bg-surface:#1a1a1a;--bg-hover:#ffffff0a;--text:#f0eeeb;--text-secondary:#f0eeeb8c;--text-dim:#f0eeeb40;--text-ghost:#f0eeeb1a;--accent:#e8e4df;--accent-muted:#e8e4df26;--accent-glow:#e8e4df14;--accent-secondary:#7dd3fc;--accent-secondary-glow:#7dd3fc1a;--accent-tertiary:#c4b5fd;--accent-warm:#fbbf24;--accent-cool:#67e8f9;--accent-success:#34d399;--accent-danger:#f87171;--accent-teal:#5ec8d8;--accent-mint:#a7f3cd;--gradient-primary:linear-gradient(135deg, #7dd3fc, #c4b5fd);--gradient-warm:linear-gradient(135deg, #fbbf24, #f97316);--gradient-cool:linear-gradient(135deg, #67e8f9, #7dd3fc);--gradient-text:linear-gradient(135deg, #e8e4df, #7dd3fc);--border:#ffffff14;--border-hover:#ffffff26;--glass:#ffffff0a;--glass-hover:#ffffff12;--glass-strong:#ffffff0f;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 40px #7dd3fc0f;--terminal-bg:#121212e0;--terminal-border:#e8e4df0d;--terminal-bar:#e8e4df06;--terminal-bar-border:#e8e4df0a;--terminal-title:#e8e4df4d;--terminal-text:#e8e4df59;--terminal-prompt-arrow:#a7f3cd;--terminal-prompt-path:#7dd3fc;--terminal-prompt-branch:#c4b5fd99;--terminal-cmd:#7dd3fc;--terminal-output:#e8e4df66;--terminal-output-dim:#e8e4df4d;--terminal-output-faint:#e8e4df59;--terminal-success:#a7f3d099;--terminal-success-bright:#a7f3d0b3;--terminal-success-muted:#a7f3d080;--dot-r:#ff5f57;--dot-y:#febc2e;--dot-g:#28c840;--card-bg:#1a1a1ad9;--card-border:#ffffff0f;--scrollbar-thumb:#e8e4df26;--scrollbar-thumb-hover:#e8e4df40;--font-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.5s;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-cursor:9998;--z-max:9999}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--text);font-family:var(--font-sans), sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb);margin:0;padding:0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::selection{background:var(--accent-secondary);color:var(--bg)}body:after{content:"";z-index:var(--z-max);pointer-events:none;opacity:.4;background-image:radial-gradient(circle,#0000000a 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0}body.light{--bg:#f5f3f0;--bg-elevated:#eae7e3;--bg-surface:#fff;--bg-hover:#0000000a;--text:#0e0e0e;--text-secondary:#1a1a1aa1;--text-dim:#1a1a1a59;--text-ghost:#1a1a1a2b;--accent:#2d2a26;--accent-muted:#2d2a2614;--accent-glow:#2d2a260a;--accent-secondary:#0284c7;--accent-secondary-glow:#0284c714;--accent-tertiary:#7c3aed;--accent-warm:#d97706;--accent-cool:#0891b2;--accent-success:#059669;--accent-danger:#dc2626;--gradient-primary:linear-gradient(135deg, #0284c7, #7c3aed);--gradient-warm:linear-gradient(135deg, #d97706, #ea580c);--gradient-cool:linear-gradient(135deg, #0891b2, #0284c7);--gradient-text:linear-gradient(135deg, #2d2a26, #0284c7);--border:#00000014;--border-hover:#00000026;--glass:#00000005;--glass-hover:#0000000a;--glass-strong:#00000008;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #0000001f;--shadow-glow:0 0 40px #0284c70f;--terminal-bg:#f5f3f0eb;--terminal-border:#00000014;--terminal-bar:#00000008;--terminal-bar-border:#0000000f;--terminal-title:#1a1a1a66;--terminal-text:#1a1a1a80;--terminal-prompt-arrow:#059669;--terminal-prompt-path:#0284c7;--terminal-prompt-branch:#7c3aed99;--terminal-cmd:#0284c7;--terminal-output:#1a1a1a80;--terminal-success:#059669b3;--dot-r:#ff5f57;--dot-y:#febc2e;--dot-g:#28c840;--terminal-output-dim:#1a1a1a59;--terminal-output-faint:#1a1a1a66;--terminal-success-bright:#059669cc;--terminal-success-muted:#05966999;--scrollbar-thumb:#fff;--scrollbar-thumb-hover:#00000040;--card-bg:#ffffffe6;--card-border:#0000000f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.section{min-height:100vh;z-index:var(--z-base);position:sticky;top:0}.reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:translateY(20px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.glass-card{background:var(--glass-strong);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);transition:background var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out)}.glass-card:hover{background:var(--glass-hover);border-color:var(--border-hover)}.glass-card--interactive{cursor:pointer}.glass-card--interactive:hover{transform:translateY(-2px);box-shadow:0 0 30px #7dd3fc0f}.glass-card--interactive:active{transform:translateY(0)}.accent-glow{position:relative}.accent-glow:before{content:"";border-radius:inherit;opacity:0;transition:opacity var(--duration-normal) var(--ease-out);z-index:-1;pointer-events:none;background:linear-gradient(135deg,#7dd3fc1f,#c4b5fd14,#0000);position:absolute;inset:-1px}.accent-glow:hover:before{opacity:1}.gradient-text{background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gradient-border{background:var(--bg-surface);border-radius:var(--radius-lg);position:relative}.gradient-border:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#7dd3fc40,#c4b5fd1a,#e8e4df26);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.archive-fab{z-index:149;background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-dim);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);padding:.6rem;line-height:0;position:fixed;bottom:4rem;right:1.5rem}.archive-fab:hover{color:var(--accent-secondary);background:var(--glass-hover);border-color:#7dd3fc26}.section--about{background:linear-gradient(#0000 0%,#7dd3fc04 50%,#0000 100%)}.section--skills{background:linear-gradient(#0000 0%,#c4b5fd04 50%,#0000 100%)}.section--projects{background:linear-gradient(#0000 0%,#7dd3fc03 50%,#0000 100%)}.section--experience{background:linear-gradient(#0000 0%,#fbbf2403 50%,#0000 100%)}.tap-ripple{pointer-events:none;animation:rippleExpand .6s var(--ease-out) forwards;background:#7dd3fc33;border-radius:50%;position:absolute;transform:scale(0)}@keyframes rippleExpand{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}.swipe-momentum{transition:transform .4s var(--ease-out)}.swipe-momentum--left{opacity:.8;transform:translate(-30px)}.swipe-momentum--right{opacity:.8;transform:translate(30px)}.swipe-momentum--up{opacity:.8;transform:translateY(-30px)}.swipe-momentum--down{opacity:.8;transform:translateY(30px)}.long-press-glow{position:relative}.long-press-glow:after{content:"";border-radius:inherit;opacity:0;transition:opacity .3s var(--ease-out);pointer-events:none;background:radial-gradient(circle,#7dd3fc26,#0000 70%);position:absolute;inset:0}.long-press-glow.is-pressing:after{opacity:1;animation:.5s ease-in-out longPressPulse}@keyframes longPressPulse{0%{transform:scale(.95)}50%{transform:scale(1.02)}to{transform:scale(1)}}@media (pointer:coarse){.touch-feedback{-webkit-tap-highlight-color:transparent}.touch-feedback:active{transition:transform .1s;transform:scale(.98)}}.swipe-indicator{opacity:.3;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;animation:2s ease-in-out infinite swipeHint;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}@keyframes swipeHint{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(8px)}}.swipe-indicator-icon{color:var(--text-dim);font-size:1.5rem}.swipe-indicator-text{font-family:var(--font-mono);color:var(--text-ghost);letter-spacing:.1em;text-transform:uppercase;font-size:.55rem}@media (width<=700px){.archive-fab{bottom:3.5rem;right:1rem}body:after{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.tap-ripple{opacity:0;animation:none}.swipe-momentum{transition:none}.swipe-indicator{animation:none}}
