/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}:root{--bg:#040408;--surface:#0a0a12;--border:#ffffff12;--blue:#2563eb;--blue-dim:#2563eb1f;--blue-glow:#2563eb40;--text-1:#f1f5f9;--text-2:#64748b;--text-3:#334155;--font-display:"Clash Display", "Syne", sans-serif;--font-body:"Syne", sans-serif;--font-mono:"DM Mono", monospace;--ease-expo:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text-1);font-family:var(--font-body);-webkit-font-smoothing:antialiased;cursor:none;overflow-x:hidden}a{color:inherit;text-decoration:none}.noise-overlay{pointer-events:none;z-index:200;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px;position:fixed;inset:0}.cursor-dot,.cursor-ring{pointer-events:none;z-index:9999;transition:transform .15s var(--ease-expo), opacity .2s;border-radius:50%;position:fixed}.cursor-dot{background:var(--blue);width:6px;height:6px;box-shadow:0 0 12px var(--blue-glow)}.cursor-ring{width:32px;height:32px;transition:transform .35s var(--ease-expo), opacity .2s;border:1.5px solid #2563eb80}.nav-bar{z-index:100;-webkit-backdrop-filter:blur(var(--nav-blur,0px));backdrop-filter:blur(var(--nav-blur,0px));background:var(--nav-bg,transparent);border-bottom:1px solid #fff0;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s,border-color .4s;position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1280px;height:64px;margin:0 auto;padding:0 48px;display:flex}.nav-logo{align-items:baseline;gap:2px;display:flex}.logo-tb{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-1);font-size:18px;font-weight:700}.logo-year{font-family:var(--font-mono);color:var(--blue);opacity:.8;font-size:12px}.nav-links{gap:40px;display:flex}.nav-link{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-2);font-size:11px;transition:color .2s;position:relative}.nav-link:after{content:"";background:var(--blue);transform-origin:0;height:1px;transition:transform .3s var(--ease-expo);position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.nav-link:hover,.nav-link--active{color:var(--text-1)}.nav-link:hover:after,.nav-link--active:after{transform:scaleX(1)}.hero-section{flex-direction:column;justify-content:center;max-width:1280px;min-height:100svh;margin:0 auto;padding:120px 48px 80px;display:flex;position:relative;overflow:hidden}.hero-bg-lines{pointer-events:none;position:absolute;inset:0;overflow:hidden}.scan-line{opacity:0;background:linear-gradient(90deg,#0000,#2563eb26,#0000);height:1px;animation:8s linear infinite scanDown;position:absolute;left:0;right:0}@keyframes scanDown{0%{opacity:0;top:-2%}5%{opacity:1}95%{opacity:1}to{opacity:0;top:102%}}.hero-tag{background:var(--blue-dim);font-family:var(--font-mono);letter-spacing:.05em;color:#93c5fd;width:fit-content;animation:fadeSlideUp .8s var(--ease-expo) both;border:1px solid #2563eb40;border-radius:100px;align-items:center;gap:8px;margin-bottom:48px;padding:6px 14px;font-size:11px;display:inline-flex}.pulse-dot{width:8px;height:8px;position:relative}.pulse-inner{background:#3b82f6;border-radius:50%;position:absolute;inset:0}.pulse-outer{background:#3b82f6;border-radius:50%;animation:1.5s ease-in-out infinite ping;position:absolute;inset:0}@keyframes ping{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}.hero-title{flex-direction:column;margin-bottom:32px;display:flex}.hero-title-line{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text-1);animation:fadeSlideUp .8s var(--ease-expo) .1s both;font-size:clamp(52px,8vw,100px);font-weight:600;line-height:.95}.hero-title-accent{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text-1);animation:fadeSlideUp .8s var(--ease-expo) .15s both;font-size:clamp(52px,8vw,100px);font-weight:700;line-height:.95}.hero-title-small{color:var(--text-2);animation:fadeSlideUp .8s var(--ease-expo) .2s both;margin-top:8px;font-size:clamp(40px,5.5vw,72px);font-weight:400}.hero-title-cyber{font-family:var(--font-display);letter-spacing:-.04em;color:#0000;-webkit-text-stroke:2px var(--blue);width:fit-content;animation:fadeSlideUp .8s var(--ease-expo) .25s both;font-size:clamp(52px,8vw,100px);font-weight:700;line-height:.95;position:relative}.hero-title-cyber:after{content:attr(data-text);color:var(--blue);clip-path:inset(0 100% 0 0);animation:revealText 2s var(--ease-expo) 1s both;-webkit-text-stroke:0;position:absolute;inset:0}@keyframes revealText{to{clip-path:inset(0 0% 0 0)}}.hero-desc{color:var(--text-2);max-width:540px;animation:fadeSlideUp .8s var(--ease-expo) .35s both;margin-bottom:48px;font-size:17px;line-height:1.7}.hero-ctas{animation:fadeSlideUp .8s var(--ease-expo) .45s both;gap:16px;display:flex}.cta-primary{background:var(--blue);color:#fff;font-family:var(--font-body);letter-spacing:.02em;border-radius:8px;align-items:center;gap:10px;padding:14px 28px;font-size:14px;font-weight:700;transition:background .2s,box-shadow .2s,transform .2s;display:inline-flex}.cta-primary:hover{box-shadow:0 0 40px var(--blue-glow);background:#1d4ed8;transform:translateY(-1px)}.cta-secondary{border:1px solid var(--border);color:var(--text-2);border-radius:8px;align-items:center;padding:14px 28px;font-size:14px;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.cta-secondary:hover{color:var(--text-1);background:#ffffff08;border-color:#fff3}.hero-index{flex-direction:column;gap:12px;animation:1s 1s both fadeIn;display:flex;position:absolute;bottom:48px;right:48px}.index-dot{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.1em;font-size:10px;transition:color .2s}.index-dot--active{color:var(--blue)}.section{border-top:1px solid var(--border);max-width:1280px;margin:0 auto;padding:120px 48px}.section-tag{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin-bottom:24px;font-size:11px;display:block}.section-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-1);margin-bottom:80px;font-size:clamp(36px,5vw,64px);font-weight:700;line-height:1}.section-title em{color:var(--text-2);font-style:italic;font-weight:400}.projects-list{flex-direction:column;display:flex}.project-card{grid-template-columns:80px 1fr 1fr;align-items:start;gap:40px;padding:48px 0;transition:background .3s;display:grid;position:relative}.project-line{background:var(--border);transform-origin:0;height:1px;transition:background .3s;position:absolute;bottom:0;left:0;right:0}.project-card:hover .project-line{background:#2563eb4d}.project-number{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.1em;padding-top:6px;font-size:12px;transition:color .2s}.project-card:hover .project-number{color:var(--blue)}.project-tech-row{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tech-chip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;background:var(--blue-dim);color:#93c5fd;border:1px solid #2563eb33;border-radius:4px;padding:3px 10px;font-size:10px}.project-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-1);margin-bottom:16px;font-size:clamp(24px,3vw,40px);font-weight:700;line-height:1;transition:color .2s}.project-card:hover .project-title{color:var(--blue)}.project-desc{color:var(--text-2);font-size:15px;line-height:1.7}.project-reflection{border:1px solid var(--border);background:#ffffff04;border-radius:12px;padding:24px;transition:border-color .3s,background .3s}.project-card:hover .project-reflection{background:var(--blue-dim);border-color:#2563eb33}.reflection-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);margin-bottom:12px;font-size:10px;transition:color .2s;display:block}.project-card:hover .reflection-label{color:var(--blue)}.reflection-text{color:var(--text-2);font-size:14px;font-style:italic;line-height:1.7}.about-section{border-top:1px solid var(--border)}.about-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:80px;display:grid}.about-main{flex-direction:column;display:flex}.about-quote{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-1);border-left:2px solid var(--blue);margin-bottom:32px;padding-left:28px;font-size:clamp(22px,2.5vw,32px);font-style:italic;font-weight:500;line-height:1.3}.about-bio{color:var(--text-2);padding-left:30px;font-size:16px;line-height:1.8}.about-sidebar{flex-direction:column;gap:20px;display:flex}.achievement-card,.skill-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:32px;transition:border-color .3s,transform .3s}.achievement-card{background:linear-gradient(135deg,#2563eb14,#0000);border-color:#2563eb33}.achievement-card:hover,.skill-card:hover{border-color:#2563eb66;transform:translateY(-2px)}.achievement-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.15em;color:var(--blue);margin-bottom:16px;font-size:10px;display:block}.achievement-rank{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text-1);margin-bottom:8px;font-size:64px;font-weight:700;line-height:1}.achievement-rank sup{vertical-align:super;font-size:24px}.achievement-event{color:var(--text-1);margin-bottom:6px;font-size:15px;font-weight:700}.achievement-sub{font-family:var(--font-mono);color:var(--text-2);letter-spacing:.05em;font-size:11px}.skill-title{font-family:var(--font-display);color:var(--text-1);margin-bottom:8px;font-size:20px;font-weight:700}.footer{border-top:1px solid var(--border);padding:120px 48px}.footer-inner{max-width:1280px;margin:0 auto}.footer-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.15em;color:var(--text-3);margin-bottom:32px;font-size:11px}.footer-email{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text-1);width:fit-content;margin-bottom:80px;font-size:clamp(32px,6vw,84px);font-weight:700;line-height:1;transition:color .3s;display:block;position:relative}.footer-email:after{content:"";background:var(--blue);transform-origin:0;height:2px;transition:transform .4s var(--ease-expo);position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.footer-email:hover{color:var(--blue)}.footer-email:hover:after{transform:scaleX(1)}.footer-socials{gap:32px;margin-bottom:64px;display:flex}.social-link{font-family:var(--font-mono);letter-spacing:.03em;color:var(--text-2);align-items:center;gap:10px;font-size:13px;transition:color .2s,gap .2s;display:inline-flex;position:relative}.social-link:after{content:"";background:var(--blue);transform-origin:0;height:1px;transition:transform .3s var(--ease-expo);position:absolute;bottom:-3px;left:28px;right:0;transform:scaleX(0)}.social-link:hover{color:var(--text-1);gap:14px}.social-link:hover:after{transform:scaleX(1)}.social-link svg{color:var(--blue);flex-shrink:0}.footer-copy{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.1em;font-size:11px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.contact-form-wrapper{flex-direction:column;gap:20px;max-width:720px;margin-bottom:80px;display:flex}.contact-form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.15em;color:var(--text-2);font-size:10px}.form-input{border:1px solid var(--border);font-family:var(--font-body);color:var(--text-1);resize:none;background:#ffffff08;border-radius:10px;outline:none;width:100%;padding:14px 18px;font-size:14px;transition:border-color .2s,background .2s,box-shadow .2s}.form-input::placeholder{color:var(--text-3)}.form-input:focus{background:#2563eb0a;border-color:#2563eb80;box-shadow:0 0 0 3px #2563eb14}.form-textarea{min-height:140px;line-height:1.6}.form-footer-row{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.form-submit{background:var(--blue);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:10px;padding:14px 28px;font-size:14px;font-weight:700;transition:background .2s,box-shadow .2s,transform .2s,opacity .2s;display:inline-flex}.form-submit:hover:not(:disabled){box-shadow:0 0 40px var(--blue-glow);background:#1d4ed8;transform:translateY(-1px)}.form-submit:disabled,.form-submit--sending{opacity:.6;cursor:not-allowed}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-feedback{font-family:var(--font-mono);letter-spacing:.03em;font-size:12px}.form-feedback--success{color:#4ade80}.form-feedback--error{color:#f87171}@media (width<=900px){.nav-inner{padding:0 24px}.hero-section{padding:100px 24px 60px}.section,.footer{padding:80px 24px}.project-card{grid-template-rows:auto auto;grid-template-columns:48px 1fr}.project-reflection{grid-column:2}.about-grid{grid-template-columns:1fr;gap:48px}.contact-form-grid{grid-template-columns:1fr}.nav-links{gap:24px}.nav-link{font-size:10px}}@media (width<=580px){.nav-links{gap:16px}.project-card{grid-template-columns:1fr}.project-number{display:none}.hero-ctas{flex-direction:column}.cta-primary,.cta-secondary{text-align:center;justify-content:center}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
