:root{--color-void: #020617;--color-bg: #0a0a0f;--color-bg-card: #0d0d14;--color-bg-card-hover: #12121a;--color-surface: #16161f;--color-primary: #fac023;--color-primary-dim: rgba(250, 192, 35, .15);--color-text: #e8e8ec;--color-text-dim: #8888a0;--color-text-muted: #555566;--color-accent-green: #21c55d;--color-accent-blue: #3b82f6;--color-accent-purple: #a855f7;--color-accent-orange: #f97316;--color-accent-cyan: #00d4ff;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-none: 0;--radius-sharp: 2px;--border-width: 1px;--border-color: rgba(255, 255, 255, .08);--border-color-hover: rgba(250, 192, 35, .5);--transition-fast: .15s ease;--transition-normal: .3s cubic-bezier(.16, 1, .3, 1);--transition-slow: .4s ease;--z-base: 0;--z-card: 10;--z-header: 100;--z-modal: 1000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--color-void);color:var(--color-text);line-height:1.6;min-height:100vh;overflow-x:hidden}body:not(.loaded){overflow:hidden}body:not(.loaded) .project-card{opacity:0;transform:translateY(40px)}body.loaded .project-card{transition:opacity .6s ease,transform .6s ease}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-5)}.header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);padding:var(--space-4) var(--space-5);background:#020617d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:var(--border-width) solid var(--border-color)}.header-inner{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.logo{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--color-primary);letter-spacing:.05em}.logo-sub{color:var(--color-text-dim);font-weight:400;margin-left:var(--space-2)}.nav-link{font-family:var(--font-mono);font-size:12px;color:var(--color-text-dim);padding:var(--space-2) var(--space-3);border:var(--border-width) solid transparent;transition:all var(--transition-fast)}.nav-link:hover{color:var(--color-primary);border-color:var(--border-color-hover)}.hero{min-height:50vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:calc(var(--space-8) + 60px) var(--space-5) var(--space-7)}.hero-title{font-family:var(--font-mono);font-size:clamp(28px,5vw,48px);font-weight:700;color:var(--color-text);margin-bottom:var(--space-4)}.hero-title span{color:var(--color-primary)}.hero-subtitle{font-size:16px;color:var(--color-text-dim);max-width:500px;margin-bottom:var(--space-6)}.hero-stats{display:flex;gap:var(--space-6);font-family:var(--font-mono);font-size:12px}.stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.stat-value{font-size:24px;font-weight:700;color:var(--color-primary)}.stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.projects-section{padding:var(--space-7) 0 var(--space-8)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding:0 var(--space-5);max-width:1200px;margin-left:auto;margin-right:auto}.section-title{font-family:var(--font-mono);font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.15em}#projects-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-4);padding:0 var(--space-5);max-width:1200px;margin:0 auto}.project-card{position:relative;background:var(--color-bg-card);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-sharp);overflow:hidden;display:flex;flex-direction:column;min-height:340px;cursor:pointer;transition:all var(--transition-normal)}.project-card:hover{border-color:var(--border-color-hover);transform:translateY(-2px);box-shadow:0 10px 40px -10px #00000080}.card-visual{height:140px;position:relative;background:var(--color-void);border-bottom:var(--border-width) solid var(--border-color);overflow:hidden}.card-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient);opacity:.15;transition:opacity .4s ease}.project-card:hover .card-visual:before{opacity:.3}.visual-noise{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.08'/%3E%3C/svg%3E");mix-blend-mode:overlay;pointer-events:none}.card-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-primary);transform:scale(1);transition:all .4s cubic-bezier(.16,1,.3,1)}.card-icon svg{width:40px;height:40px;opacity:.8}.project-card:hover .card-icon{transform:scale(1.15);color:#fff}.project-card:hover .card-icon svg{opacity:1}.card-content{padding:var(--space-5);flex:1;display:flex;flex-direction:column}.card-content header{margin-bottom:var(--space-3)}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.card-category{font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.card-status{font-family:var(--font-mono);font-size:9px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-none);letter-spacing:.05em}.status-live{background:#21c55d26;color:var(--color-accent-green);border:1px solid rgba(33,197,93,.3)}.status-dev{background:#a855f726;color:var(--color-accent-purple);border:1px solid rgba(168,85,247,.3)}.card-title{font-size:18px;font-weight:600;color:var(--color-text);margin:0;letter-spacing:-.02em}.card-description{font-size:13px;color:var(--color-text-dim);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.05)}.card-tech{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tech-tag{font-family:var(--font-mono);font-size:10px;padding:var(--space-1) var(--space-2);background:#ffffff0d;color:#ffffffb3;border-radius:var(--radius-none);letter-spacing:.02em}.card-link{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:12px;color:var(--color-primary);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-primary);border-radius:var(--radius-none);transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.card-link:hover{background:var(--color-primary);color:var(--color-bg)}.card-link svg{transition:transform var(--transition-fast)}.card-link:hover svg{transform:translate(2px,-2px)}.footer{padding:var(--space-7) var(--space-5);border-top:var(--border-width) solid var(--border-color);text-align:center}.footer-text{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted)}.footer-link{color:var(--color-primary);transition:opacity var(--transition-fast)}.footer-link:hover{opacity:.8}@media (max-width: 768px){:root{--space-5: 16px;--space-6: 24px;--space-7: 40px;--space-8: 56px}.hero{min-height:40vh;padding-top:calc(var(--space-7) + 60px)}.hero-stats{flex-wrap:wrap;justify-content:center;gap:var(--space-4)}#projects-container{grid-template-columns:1fr}.card-visual{height:120px}.project-card:hover{transform:none}}@media (max-width: 480px){.header-inner{flex-direction:column;gap:var(--space-3)}.logo-sub{display:none}.hero-title{font-size:24px}.card-footer{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.card-link{width:100%;justify-content:center}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::selection{background:var(--color-primary);color:var(--color-bg)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-surface);border-radius:var(--radius-none)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.version-badge{position:fixed;bottom:20px;right:20px;z-index:var(--z-header);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.05em;padding:6px 10px;background:var(--color-bg-card);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-none);cursor:pointer;transition:all var(--transition-fast)}.version-badge:hover{background:var(--color-primary);color:var(--color-bg);transform:translateY(-2px);box-shadow:0 4px 12px #fac0234d}.version-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--transition-normal)}.version-modal.active{opacity:1;visibility:visible}.version-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.version-modal-content{position:relative;width:90%;max-width:480px;max-height:80vh;overflow-y:auto;background:var(--color-bg-card);border:1px solid var(--border-color);border-radius:var(--radius-none);transform:translateY(20px) scale(.95);transition:transform var(--transition-normal)}.version-modal.active .version-modal-content{transform:translateY(0) scale(1)}.version-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color)}.version-modal-header h3{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--color-text)}.version-modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;color:var(--color-text-dim);background:transparent;border:1px solid transparent;border-radius:var(--radius-none);cursor:pointer;transition:all var(--transition-fast)}.version-modal-close:hover{color:var(--color-primary);border-color:var(--color-primary)}.version-modal-body{padding:var(--space-5)}.version-current{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3)}.version-number{font-family:var(--font-mono);font-size:28px;font-weight:700;color:var(--color-primary)}.version-name{font-family:var(--font-mono);font-size:12px;color:var(--color-text-dim)}.version-description{font-size:13px;color:var(--color-text-dim);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-color)}.changelog h4{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--space-4)}.changelog-entry{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid rgba(255,255,255,.05)}.changelog-entry:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.changelog-version{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--color-primary);margin-right:var(--space-3)}.changelog-date{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted)}.changelog-entry ul{margin-top:var(--space-2);padding-left:var(--space-4)}.changelog-entry li{font-size:12px;color:var(--color-text-dim);margin-bottom:var(--space-1)}.changelog-entry li::marker{color:var(--color-text-muted)}.scroll-progress{position:fixed;top:0;left:0;width:0%;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent-cyan));z-index:calc(var(--z-header) + 1);transition:width 50ms linear;box-shadow:0 0 10px var(--color-primary)}.project-card:nth-child(1){transition-delay:0ms}.project-card:nth-child(2){transition-delay:50ms}.project-card:nth-child(3){transition-delay:.1s}.project-card:nth-child(4){transition-delay:.15s}.project-card:nth-child(5){transition-delay:.2s}.project-card:nth-child(6){transition-delay:.25s}.project-card:nth-child(7){transition-delay:.3s}.project-card:nth-child(8){transition-delay:.35s}.project-card:nth-child(9){transition-delay:.4s}@media (max-width: 768px){.scroll-progress{height:3px}}
