:root{--bg-color: #05060a;--bg-secondary: #090b12;--bg-elevated: #0c0f18;--text-primary: #f5f7fb;--text-secondary: #9aa4b8;--text-muted: #667085;--accent-primary: #10b981;--accent-secondary: #22d3ee;--accent-tertiary: #818cf8;--gradient-main: linear-gradient(120deg, #10b981 0%, #22d3ee 50%, #818cf8 100%);--gradient-soft: linear-gradient(135deg, rgba(16, 185, 129, .16), rgba(129, 140, 248, .12));--card-bg: rgba(255, 255, 255, .035);--card-bg-hover: rgba(255, 255, 255, .06);--border-color: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--font-main: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-code: "Fira Code", "SF Mono", Consolas, monospace;--nav-height: 74px;--radius-lg: 24px;--radius-md: 16px;--radius-sm: 10px;--transition: all .35s cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--shadow-card: 0 24px 60px -20px rgba(0, 0, 0, .7);--shadow-glow: 0 0 60px -12px rgba(16, 185, 129, .35)}.detail-page{--project-accent: var(--accent-primary);--project-accent-soft: rgba(16, 185, 129, .16)}.detail-page .navbar .logo{color:var(--text-primary)}.project-detail-main{position:relative;z-index:1;padding-top:calc(var(--nav-height) + 20px)}.project-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:28px;color:var(--text-secondary);font-size:.95rem}.project-breadcrumb a{color:var(--text-secondary)}.project-breadcrumb a:hover{color:var(--project-accent)}.project-hero-shell{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:28px;background:radial-gradient(circle at top right,var(--project-accent-soft),transparent 35%),linear-gradient(135deg,#0d121ef5,#090b14eb);box-shadow:0 30px 80px #00000059}.project-hero-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(255,255,255,.04),transparent 55%);pointer-events:none}.project-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.95fr);gap:28px;padding:48px}.project-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--project-accent-soft);border:1px solid rgba(255,255,255,.1);color:var(--text-primary);font-size:.9rem;font-weight:600;letter-spacing:.03em}.project-badge i{color:var(--project-accent)}.project-hero-copy h1{margin:18px 0;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.08}.project-summary{max-width:760px;margin-bottom:24px;color:var(--text-secondary);font-size:1.05rem;line-height:1.9}.project-meta-inline{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}.project-meta-inline span{padding:9px 14px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);font-size:.9rem}.project-hero-actions{display:flex;flex-wrap:wrap;gap:14px}.project-hero-actions .btn{min-width:160px;justify-content:center}.project-overview-card{position:relative;display:flex;flex-direction:column;gap:18px;padding:28px;border-radius:24px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.project-overview-card h2{margin:0;font-size:1.35rem}.project-overview-card p{margin:0;color:var(--text-secondary);line-height:1.8}.project-stat-list{display:grid;gap:14px}.project-stat-item{display:grid;gap:6px}.project-stat-item strong{color:var(--text-primary);font-size:1rem}.project-stat-item span{color:var(--text-secondary);line-height:1.7}.project-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.detail-panel{padding:28px;border-radius:22px;background:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 18px 50px #0000003d}.detail-panel h2{margin-bottom:16px;font-size:1.35rem}.detail-panel p{color:var(--text-secondary);line-height:1.9}.detail-list{display:grid;gap:12px;padding-left:18px;color:var(--text-secondary);line-height:1.8}.detail-list li::marker{color:var(--project-accent)}.detail-cta-shell{padding:36px;border-radius:26px;background:linear-gradient(135deg,#ffffff08,#ffffff03),radial-gradient(circle at top left,var(--project-accent-soft),transparent 40%);border:1px solid rgba(255,255,255,.08);text-align:center}.detail-cta-shell h2{margin-bottom:14px;font-size:2rem}.detail-cta-shell p{max-width:720px;margin:0 auto 24px;color:var(--text-secondary);line-height:1.9}.detail-footer-note{margin-top:18px;color:var(--text-secondary);font-size:.92rem}@media (max-width: 980px){.project-hero-grid,.project-detail-grid{grid-template-columns:1fr}}@media (max-width: 768px){.project-detail-main{padding-top:calc(var(--nav-height) + 10px)}.project-hero-grid{padding:28px 22px}.detail-panel,.project-overview-card,.detail-cta-shell{padding:22px}.project-hero-copy h1{font-size:2.3rem}.project-hero-actions .btn{width:100%}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-main);line-height:1.65;overflow-x:hidden}::selection{background:#10b98147;color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent-primary),var(--accent-tertiary));border-radius:10px;border:2px solid var(--bg-color)}h1,h2,h3,h4,h5,h6{line-height:1.15;font-weight:800}a{text-decoration:none;color:inherit;transition:var(--transition)}ul{list-style:none}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 24px}.section{padding:130px 0;position:relative;z-index:1}.bg-darker{background:linear-gradient(180deg,#090b1200,#090b128c 12%,#090b128c 88%,#090b1200);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.section-title{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.02em;margin-bottom:64px;text-align:center;width:fit-content;margin-left:auto;margin-right:auto;position:relative;background:var(--gradient-main);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:gradient-pan 8s linear infinite}.section-title:after{content:"";position:absolute;bottom:-18px;left:50%;transform:translate(-50%);width:54px;height:3px;border-radius:3px;background:var(--gradient-main);background-size:200% auto;animation:gradient-pan 5s linear infinite}@keyframes gradient-pan{to{background-position:200% center}}.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 30px;border-radius:999px;font-weight:600;font-size:.98rem;cursor:pointer;overflow:hidden;isolation:isolate;transition:transform .35s var(--ease-out),box-shadow .35s ease,background .35s ease,color .35s ease}.btn:before{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.4),transparent);transform:skew(-18deg);transition:left .6s ease;z-index:-1}.btn:hover:before{left:140%}.btn-primary,.btn-filled{background:var(--gradient-main);background-size:150% auto;color:#04120c;box-shadow:0 10px 30px -8px #10b98180}.btn-primary:hover,.btn-filled:hover{transform:translateY(-3px);background-position:right center;box-shadow:0 18px 40px -10px #22d3ee8c}.btn-outline{border:1px solid var(--border-strong);color:var(--text-primary);background:#ffffff05;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-outline:hover{transform:translateY(-3px);border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 14px 32px -14px #10b98180}#page-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,#0b0f18,#05060a 68%);transition:opacity .7s ease,visibility .7s ease}.loader-aurora{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.loader-aurora span{position:absolute;border-radius:50%;filter:blur(72px);opacity:.55;will-change:transform}.loader-aurora span:nth-child(1){width:44vmax;height:44vmax;top:-12%;left:-10%;background:radial-gradient(circle,rgba(16,185,129,.55),transparent 62%);animation:loader-drift-1 9s ease-in-out infinite}.loader-aurora span:nth-child(2){width:40vmax;height:40vmax;bottom:-14%;right:-8%;background:radial-gradient(circle,rgba(129,140,248,.5),transparent 62%);animation:loader-drift-2 11s ease-in-out infinite}.loader-aurora span:nth-child(3){width:30vmax;height:30vmax;top:40%;left:46%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(34,211,238,.4),transparent 60%);animation:loader-drift-3 13s ease-in-out infinite}@keyframes loader-drift-1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(10vmax,6vmax) scale(1.16)}}@keyframes loader-drift-2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-9vmax,-6vmax) scale(1.12)}}@keyframes loader-drift-3{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-42%,-60%) scale(1.2)}}#page-loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-brand{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:26px;animation:loader-brand-in .8s var(--ease-out) both}.loader-svg{width:260px;height:auto;overflow:visible;filter:drop-shadow(0 6px 26px rgba(34,211,238,.25))}.loader-svg text{font-family:var(--font-code);font-size:46px;font-weight:700;letter-spacing:3px;fill:url(#loaderGrad);fill-opacity:0;stroke:url(#loaderGrad);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:640;stroke-dashoffset:640;animation:loader-draw 3.4s ease-in-out infinite}.loader-progress{display:flex;align-items:center;gap:14px;width:220px}.loader-track{position:relative;flex:1;height:2px;border-radius:2px;background:#ffffff1a;overflow:hidden}.loader-bar{position:absolute;left:0;top:0;height:100%;width:0;border-radius:2px;background:var(--gradient-main);box-shadow:0 0 12px #10b981b3;transition:width .15s linear}.loader-percent{font-family:var(--font-code);font-size:.78rem;font-weight:600;color:var(--text-secondary);min-width:38px;text-align:right}.loader-percent:after{content:"%";opacity:.6;margin-left:1px}#loader-text{font-family:var(--font-code);font-size:.68rem;font-weight:500;letter-spacing:6px;color:var(--text-muted);animation:loader-fade-text 1.8s ease-in-out infinite}@keyframes loader-brand-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loader-draw{0%{stroke-dashoffset:640;fill-opacity:0;opacity:1}42%{stroke-dashoffset:0;fill-opacity:0;opacity:1}58%{stroke-dashoffset:0;fill-opacity:1;opacity:1}82%{stroke-dashoffset:0;fill-opacity:1;opacity:1}to{stroke-dashoffset:0;fill-opacity:0;opacity:0}}@keyframes loader-fade-text{0%,to{opacity:.35}50%{opacity:.9}}#bg-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-2}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:1100;background:var(--gradient-main);background-size:200% auto;box-shadow:0 0 14px #10b98199;animation:gradient-pan 5s linear infinite;pointer-events:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 0%,#05060a00,#05060a59 60%,#05060ab8)}.navbar{height:var(--nav-height);display:flex;align-items:center;position:fixed;top:0;width:100%;z-index:1000;background:#05060a8c;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid transparent;transition:background .4s ease,border-color .4s ease,box-shadow .4s ease}.navbar.scrolled{background:#05060ad1;border-bottom-color:var(--border-color);box-shadow:0 8px 30px #0006}.navbar .container{display:flex;justify-content:space-between;align-items:center;width:100%}.nav-actions{display:flex;align-items:center;gap:16px}.logo{font-family:var(--font-code);font-size:1.4rem;font-weight:700;background:var(--gradient-main);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.nav-links{display:flex;align-items:center;gap:6px}.nav-links>li>a:not(.btn-primary){position:relative;display:block;padding:8px 14px;border-radius:999px;font-size:.92rem;color:var(--text-secondary)}.nav-links>li>a:not(.btn-primary):after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:var(--gradient-main);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}.nav-links>li>a:not(.btn-primary):hover{color:var(--text-primary);background:#ffffff0a}.nav-links>li>a.active:not(.btn-primary){color:var(--text-primary)}.nav-links>li>a.active:not(.btn-primary):after,.nav-links>li>a:not(.btn-primary):hover:after{transform:scaleX(1)}.nav-links .btn-primary{padding:10px 22px;border-radius:999px;background:var(--gradient-main);color:#04120c;font-weight:600;font-size:.92rem;box-shadow:0 8px 24px -8px #10b98180}.nav-links .btn-primary:hover{transform:translateY(-2px)}.language-switcher{display:flex;align-items:center;gap:4px;padding:5px;border-radius:999px;border:1px solid var(--border-color);background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lang-btn{min-width:42px;border:0;border-radius:999px;padding:7px 11px;background:transparent;color:var(--text-secondary);font-family:var(--font-code);font-size:.78rem;font-weight:700;cursor:pointer;transition:var(--transition)}.lang-btn:hover{color:var(--text-primary);background:#ffffff0f}.lang-btn.active{color:#04120c;background:var(--gradient-main);box-shadow:0 6px 18px -6px #10b98199}.menu-toggle{display:none;font-size:1.4rem;cursor:pointer;color:var(--text-primary)}.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding:calc(var(--nav-height) + 40px) 0 60px}.hero-content{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;width:100%}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;border:1px solid var(--border-color);background:#ffffff08;font-family:var(--font-code);font-size:.78rem;letter-spacing:.16em;color:var(--text-secondary);margin-bottom:26px;animation:hero-rise .9s var(--ease-out) both}.hero-eyebrow .status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 #10b98199;animation:pulse-dot 2.4s ease-out infinite}@keyframes pulse-dot{0%{box-shadow:0 0 #10b9818c}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}.hero h1{font-size:clamp(3rem,8vw,6rem);line-height:1.02;letter-spacing:-.03em;margin-bottom:22px;background:linear-gradient(115deg,#ffffff 0%,#d5fbef 30%,var(--accent-secondary) 60%,var(--accent-tertiary) 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:gradient-pan 9s linear infinite,hero-rise 1s var(--ease-out) .05s both;filter:drop-shadow(0 8px 40px rgba(34,211,238,.18))}.hero .subtitle{font-size:clamp(1.35rem,3vw,2rem);color:var(--text-primary);font-weight:300;margin-bottom:24px;animation:hero-rise 1s var(--ease-out) .15s both}.hero .highlight{font-weight:700;background:var(--gradient-main);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.hero-desc{font-size:1.12rem;color:var(--text-secondary);margin-bottom:36px;max-width:520px;animation:hero-rise 1s var(--ease-out) .25s both}.cta-group{display:flex;flex-wrap:wrap;gap:16px;animation:hero-rise 1s var(--ease-out) .35s both}@keyframes hero-rise{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}.hero-visual{position:relative;animation:hero-rise 1.1s var(--ease-out) .4s both}.hero-visual .glass-terminal{position:relative;z-index:2;border-radius:var(--radius-lg);background:linear-gradient(160deg,#ffffff14,#ffffff05);border:1px solid var(--border-strong);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden;animation:float-soft 7s ease-in-out infinite}.hero-visual .terminal-bar{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border-color);background:#0003}.hero-visual .terminal-bar span{width:12px;height:12px;border-radius:50%}.hero-visual .terminal-bar .r{background:#ff5f56}.hero-visual .terminal-bar .y{background:#ffbd2e}.hero-visual .terminal-bar .g{background:#27c93f}.hero-visual .terminal-bar .tname{width:auto;height:auto;margin-left:10px;font-family:var(--font-code);font-size:.8rem;color:var(--text-muted);border-radius:0;background:none}.hero-visual .terminal-body{padding:22px;font-family:var(--font-code);font-size:.9rem;line-height:1.9;color:#c9d3e6}.hero-visual .terminal-body .l{display:block;opacity:0;animation:line-in .5s var(--ease-out) forwards}.hero-visual .terminal-body .l:nth-child(1){animation-delay:.6s}.hero-visual .terminal-body .l:nth-child(2){animation-delay:.8s}.hero-visual .terminal-body .l:nth-child(3){animation-delay:1s}.hero-visual .terminal-body .l:nth-child(4){animation-delay:1.2s}.hero-visual .terminal-body .l:nth-child(5){animation-delay:1.4s}.hero-visual .terminal-body .l:nth-child(6){animation-delay:1.6s}@keyframes line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hero-visual:before{content:"";position:absolute;top:-12%;right:-8%;bottom:-12%;left:-8%;z-index:1;background:radial-gradient(circle at 60% 40%,rgba(16,185,129,.28),transparent 60%),radial-gradient(circle at 30% 70%,rgba(129,140,248,.24),transparent 60%);filter:blur(30px);opacity:.7}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.scroll-down{position:absolute;bottom:28px;left:50%;transform:translate(-50%);animation:bounce 2.2s infinite;color:var(--text-secondary);font-size:1.3rem}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) translate(-50%)}40%{transform:translateY(-10px) translate(-50%)}60%{transform:translateY(-5px) translate(-50%)}}.inspiration-section{position:relative;z-index:1;padding:0 0 90px}.inspiration-container{max-width:940px}.inspiration-kicker{margin-bottom:14px;color:var(--accent-secondary);font-family:var(--font-code);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;text-align:center}.inspiration-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 20px;width:100%;padding:30px 34px;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--gradient-soft),#ffffff05;color:var(--text-primary);text-align:left;cursor:pointer;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .4s var(--ease-out),border-color .4s ease,box-shadow .4s ease}.inspiration-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.14) 45%,transparent 70%);transform:translate(-120%);transition:transform .8s ease;pointer-events:none}.inspiration-card:hover{transform:translateY(-5px);border-color:#22d3ee66;box-shadow:0 30px 70px -24px #000c,0 0 40px -18px #22d3ee80}.inspiration-card:hover:before{transform:translate(120%)}.inspiration-mark{grid-row:1 / span 2;color:var(--accent-primary);font-family:var(--font-code);font-size:1.4rem;font-weight:700;line-height:1.4}.inspiration-text{min-height:1.7em;font-size:1.28rem;font-weight:600;line-height:1.7;transition:opacity .32s ease,transform .32s ease}.inspiration-meta{color:var(--text-secondary);font-family:var(--font-code);font-size:.82rem;transition:opacity .32s ease,transform .32s ease}.inspiration-card.is-switching .inspiration-text,.inspiration-card.is-switching .inspiration-meta{opacity:0;transform:translateY(6px)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.about-text p{margin-bottom:20px;color:var(--text-secondary);font-size:1.1rem}.about-text strong{color:var(--text-primary);font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}.stat-item{padding:22px 18px;border-radius:var(--radius-md);background:var(--card-bg);border:1px solid var(--border-color);text-align:center;transition:var(--transition)}.stat-item:hover{transform:translateY(-4px);border-color:var(--border-strong);background:var(--card-bg-hover)}.stat-num{display:block;font-size:2.6rem;font-weight:800;line-height:1;background:var(--gradient-main);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:gradient-pan 6s linear infinite}.stat-label{display:block;margin-top:10px;font-size:.88rem;color:var(--text-secondary)}.about-visual{position:relative}.code-card{position:relative;z-index:2;background:#0c0f18d9;border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-card);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .5s var(--ease-out),box-shadow .5s ease}.code-card:hover{transform:translateY(-6px);box-shadow:0 34px 80px -30px #000000e6,0 0 40px -18px #10b98166}.about-visual:before{content:"";position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:1;background:radial-gradient(circle at 70% 30%,rgba(34,211,238,.22),transparent 60%),radial-gradient(circle at 20% 80%,rgba(16,185,129,.2),transparent 60%);filter:blur(30px);opacity:.6}.card-header{display:flex;gap:8px;margin-bottom:16px}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27c93f}.code-card pre{margin:0;overflow-x:auto}.code-card code{font-family:var(--font-code);font-size:.88rem;color:#d4d4d4}.skills-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:28px}.skill-category{padding:34px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition)}.skill-category:hover{border-color:var(--border-strong);background:var(--card-bg-hover)}.skill-category h3{margin-bottom:32px;font-size:1.35rem;display:flex;align-items:center;gap:12px}.skill-category h3 i{color:var(--accent-primary);font-size:1.2rem}.skill-bar{margin-bottom:26px}.skill-bar:last-child{margin-bottom:0}.skill-bar .info{display:flex;justify-content:space-between;margin-bottom:10px;font-weight:500;font-size:.95rem}.skill-bar .info span:last-child{color:var(--accent-secondary);font-family:var(--font-code)}.progress-bar{height:8px;background:#ffffff12;border-radius:999px;overflow:hidden}.progress{height:100%;border-radius:999px;background:var(--gradient-main);width:0;transition:width 1.6s var(--ease-out);box-shadow:0 0 16px -2px #10b98199}.tags{display:flex;flex-wrap:wrap;gap:12px}.tag{background:#ffffff0a;padding:9px 16px;border-radius:999px;font-size:.88rem;color:var(--text-secondary);border:1px solid var(--border-color);transition:var(--transition)}.tag:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-3px);box-shadow:0 10px 22px -12px #10b981b3}.projects-lead{max-width:720px;margin:0 auto 64px;text-align:center;color:var(--text-secondary);line-height:1.85;font-size:1.05rem}.project-categories{display:grid;gap:72px}.project-category-header{display:flex;flex-direction:column;gap:10px;margin-bottom:34px;padding-bottom:22px;border-bottom:1px solid var(--border-color)}.project-category-title{display:flex;align-items:center;gap:14px;font-size:1.4rem;font-weight:700;letter-spacing:-.01em}.project-category-title i{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;font-size:1.05rem;color:var(--accent-primary);background:linear-gradient(140deg,#10b98129,#22d3ee14);border:1px solid rgba(255,255,255,.08)}.project-category-desc{color:var(--text-muted);line-height:1.7;font-size:.98rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;align-items:stretch;counter-reset:proj}.project-image{display:none!important}.project-card{position:relative;display:flex;flex-direction:column;padding:0;counter-increment:proj;background:radial-gradient(130% 120% at 0% 0%,rgba(16,185,129,.07),transparent 42%),linear-gradient(180deg,#ffffff0e,#ffffff03);border-radius:18px;overflow:hidden;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .45s var(--ease-out),box-shadow .45s ease,border-color .45s ease;width:100%;max-width:none!important}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-main);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease-out);z-index:4}.project-card:hover:before{transform:scaleX(1)}.project-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%),rgba(34,211,238,.1),transparent 60%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1}.project-card:hover:after{opacity:1}.project-card:hover{transform:translateY(-8px);border-color:#22d3ee52;box-shadow:0 34px 70px -34px #000000d9}.project-card-featured{grid-column:auto}.project-content{position:relative;z-index:2;padding:24px 24px 22px;display:flex;flex:1;flex-direction:column}.project-content:before{content:counter(proj,decimal-leading-zero);position:absolute;top:26px;right:24px;font-family:var(--font-code);font-size:.78rem;font-weight:600;letter-spacing:.05em;color:var(--text-muted);opacity:.55;transition:color .4s ease,opacity .4s ease}.project-card:hover .project-content:before{color:var(--accent-secondary);opacity:.9}.project-content h3{display:flex;align-items:center;gap:13px;margin-bottom:14px;padding-right:34px;font-size:1.02rem;font-weight:700;line-height:1.35;color:var(--text-primary)}.project-content h3 i{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;font-size:1.1rem;color:var(--accent-primary);background:linear-gradient(140deg,#10b98133,#22d3ee1a);border:1px solid rgba(255,255,255,.1);margin:0!important;transition:transform .45s var(--ease-out),background .45s ease,color .45s ease,box-shadow .45s ease}.project-card:hover .project-content h3 i{color:#04120c;background:var(--gradient-main);transform:rotate(-4deg) scale(1.08);box-shadow:0 8px 22px -8px #10b981b3}.project-content p{color:var(--text-secondary);font-size:.875rem;line-height:1.7;margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tech-stack{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin-bottom:20px;font-family:var(--font-code);font-size:.72rem;line-height:1.6;color:var(--text-muted)}.tech-stack span{padding:0;background:none;border:none;border-radius:0;color:var(--text-muted);transition:color .3s ease}.tech-stack span:not(:last-child):after{content:"·";margin:0 7px;color:#ffffff38}.project-card:hover .tech-stack span{color:var(--text-secondary)}.project-links{margin-top:auto;display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.project-links .btn{padding:0;background:none!important;border:none!important;border-radius:0;box-shadow:none!important;color:var(--accent-primary);font-size:.92rem;font-weight:600;gap:8px;overflow:visible}.project-links .btn:before{display:none!important}.project-links .btn i{transition:transform .3s ease}.project-links .btn:hover{transform:none;color:var(--accent-secondary)}.project-links .btn:hover i{transform:translate(5px)}.project-links a:not(.btn){color:var(--text-muted);font-size:.88rem;display:inline-flex;align-items:center;gap:6px}.project-links a:not(.btn):hover{color:var(--accent-primary)}.project-visual-title{line-height:1.2}.project-card{transform-style:preserve-3d}.project-card.is-tilting{transition:box-shadow .3s ease,border-color .3s ease;z-index:5;border-color:#22d3ee66;box-shadow:0 40px 80px -30px #000000e6,0 0 50px -24px #10b98173}.project-content{transform-style:preserve-3d}.project-content h3{transform:translateZ(38px)}.project-content:before{transform:translateZ(30px)}.project-content>p{transform:translateZ(20px)}.project-content .tech-stack{transform:translateZ(14px)}.project-content .project-links{transform:translateZ(30px)}.project-card.is-tilting:after{opacity:1}.code-window{background:#0c0f18e6;border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--border-strong);max-width:900px;margin:0 auto;overflow:hidden;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .5s var(--ease-out),box-shadow .5s ease}.code-window:hover{transform:translateY(-6px);box-shadow:0 40px 90px -34px #000000e6,0 0 46px -20px #818cf866}.window-bar{background:#00000040;padding:12px 16px;display:flex;align-items:center;border-bottom:1px solid var(--border-color)}.window-bar .buttons{display:flex;gap:8px}.window-bar .buttons div{width:12px;height:12px;border-radius:50%}.window-bar .buttons .close{background:#ff5f56}.window-bar .buttons .minimize{background:#ffbd2e}.window-bar .buttons .maximize{background:#27c93f}.window-bar .title{margin-left:18px;color:var(--text-muted);font-size:.85rem;font-family:var(--font-code)}.window-content{padding:24px;overflow-x:auto}.window-content pre code{font-family:var(--font-code);font-size:.9rem;line-height:1.8}.keyword{color:#7dd3fc}.function{color:#fcd34d}.string{color:#86efac}.comment{color:#64748b}.class-name,.builtin{color:#5eead4}.boolean{color:#7dd3fc}.contact-container{text-align:center;max-width:720px}.contact-desc{color:var(--text-secondary);margin-bottom:44px;font-size:1.1rem}.contact-content{position:relative;overflow:hidden;padding:64px 44px 52px;border-radius:28px;background:radial-gradient(120% 100% at 50% 0%,rgba(16,185,129,.1),transparent 55%),linear-gradient(180deg,#ffffff0d,#ffffff03);border:1px solid transparent;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 40px 90px -40px #000000d9}.contact-content:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#10b98199,#22d3ee40 45%,#818cf88c);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.contact-content:after{content:"";position:absolute;top:-55%;left:50%;width:620px;height:620px;transform:translate(-50%);background:radial-gradient(circle,rgba(34,211,238,.14),transparent 62%);pointer-events:none}.contact-form{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:40px}.contact-form>i{position:relative;display:inline-flex;align-items:center;justify-content:center;width:104px;height:104px;border-radius:50%;color:var(--accent-primary)!important;background:radial-gradient(circle at 50% 38%,#10b98147,#22d3ee0f 70%);border:1px solid rgba(16,185,129,.35);box-shadow:0 0 55px -8px #10b9818c,inset 0 0 30px -12px #22d3ee80;margin-bottom:22px!important;animation:float-soft 6s ease-in-out infinite}.contact-form>i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid rgba(16,185,129,.4);animation:pulse-ring 2.8s ease-out infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(1.7);opacity:0}}.contact-form p{font-size:1.02rem;max-width:460px}.social-links{position:relative;z-index:1;display:flex;justify-content:center;gap:16px}.social-icon{width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;font-size:1.25rem;color:var(--text-secondary);border:1px solid var(--border-color);background:#ffffff08;transition:var(--transition)}.social-icon:hover{color:#04120c;background:var(--gradient-main);transform:translateY(-5px);border-color:transparent;box-shadow:0 16px 34px -12px #10b981b3}.links-lead{max-width:760px;margin:0 auto 46px;text-align:center;color:var(--text-secondary);line-height:1.8}.links-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-bottom:34px}.link-card{display:flex;flex-direction:column;align-items:center;gap:16px;padding:30px 22px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;transition:var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:300px;max-width:100%}.link-card:hover{transform:translateY(-8px);border-color:#22d3ee66;box-shadow:0 24px 50px -26px #000000d9,0 0 36px -18px #22d3ee80}.link-avatar{width:66px;height:66px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#ffffff0f;border:2px solid rgba(255,255,255,.12)}.link-avatar img{width:100%;height:100%;object-fit:cover}.link-info{display:flex;flex-direction:column;gap:6px}.link-name{margin:0;font-size:1.05rem;color:var(--text-primary);transition:var(--transition)}.link-name .typing-text{font-family:var(--font-code);font-weight:800;color:var(--accent-secondary);letter-spacing:.02em}.link-name .typing-cursor{display:inline-block;width:2px;height:1em;background-color:var(--accent-secondary);margin-left:1px;vertical-align:text-bottom;animation:typing-blink 1s step-end infinite}@keyframes typing-blink{0%,to{opacity:1}50%{opacity:0}}.link-card:hover .link-name{color:var(--accent-primary)}.link-desc{margin:0;font-size:.88rem;color:var(--text-secondary);line-height:1.6}.link-domain{font-family:var(--font-code);font-size:.78rem;color:var(--text-muted)}.links-exchange-hint{text-align:center;font-size:.85rem;color:var(--text-muted);line-height:1.6}footer{padding:56px 0 44px;text-align:center;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem;position:relative;z-index:1;background:#05060a80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-bottom:16px}.footer-links a{color:var(--text-secondary);transition:var(--transition)}.footer-links a:hover{color:var(--accent-primary)}.tech-credit i{color:#ff5f7a}.disclaimer{margin-top:14px;font-size:.83rem;color:var(--text-muted);line-height:1.6;max-width:780px;margin-left:auto;margin-right:auto}.reveal{opacity:0;transform:translateY(46px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);will-change:opacity,transform}.reveal.in-view{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(36px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.reveal-stagger.in-view>*{opacity:1;transform:translateY(0)}.reveal-stagger.in-view>*:nth-child(1){transition-delay:.05s}.reveal-stagger.in-view>*:nth-child(2){transition-delay:.12s}.reveal-stagger.in-view>*:nth-child(3){transition-delay:.19s}.reveal-stagger.in-view>*:nth-child(4){transition-delay:.26s}.reveal-stagger.in-view>*:nth-child(5){transition-delay:.33s}.reveal-stagger.in-view>*:nth-child(6){transition-delay:.4s}.reveal-stagger.in-view>*:nth-child(7){transition-delay:.47s}@media (max-width: 980px){.hero-content{grid-template-columns:1fr;gap:48px;text-align:center}.hero-eyebrow,.cta-group{justify-content:center}.hero-desc{margin-left:auto;margin-right:auto}.hero-visual{max-width:460px;margin:0 auto}.about-grid,.skills-wrapper{grid-template-columns:1fr;gap:40px}}@media (max-width: 768px){.section{padding:90px 0}.section-title{margin-bottom:48px}.stats{gap:12px}.stat-num{font-size:2rem}.project-grid{grid-template-columns:1fr}.project-card-featured{grid-column:auto}.nav-links{display:none;position:absolute;top:var(--nav-height);left:0;width:100%;background:#05060af5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;align-items:stretch;gap:4px;padding:16px 20px 22px;border-bottom:1px solid var(--border-color)}.nav-links.active{display:flex}.nav-links>li>a:not(.btn-primary){padding:12px 14px}.nav-links .btn-primary{text-align:center;margin-top:6px}.nav-actions{gap:10px}.language-switcher{gap:3px;padding:4px}.lang-btn{min-width:36px;padding:6px 8px;font-size:.7rem}.menu-toggle{display:block}.inspiration-card{grid-template-columns:1fr;padding:24px}.inspiration-mark{grid-row:auto}.inspiration-text{font-size:1.08rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal,.reveal-stagger>*{opacity:1!important;transform:none!important}.hero-visual .terminal-body .l{opacity:1!important}}.hero-visual .terminal-body .l:last-child:after{content:"▋";margin-left:4px;color:var(--accent-primary);animation:typing-blink 1.1s step-end infinite}
