@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap";
@font-face{font-family:SF Pro Display;font-weight:800;font-style:italic;font-display:swap;src:local(SF Pro Display Heavy Italic),local(SFProDisplay-HeavyItalic),local(-apple-system)}@font-face{font-family:SF Pro Display;font-weight:800;font-style:normal;font-display:swap;src:local(SF Pro Display Heavy),local(SFProDisplay-Heavy),local(-apple-system)}:root{--font-sans:"SF Pro Display", "SF Pro Text", -apple-system, BlinkMacSystemFont, "SF Pro", sans-serif;--font-heading:"SF Pro Display", "SF Pro Text", -apple-system, BlinkMacSystemFont, "SF Pro", sans-serif;--font-serif:"SF Pro Text", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.24s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.35s cubic-bezier(.16, 1, .3, 1);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px}[data-theme=dark],:root{--bg:#09090b;--bg-subtle:#0c0c0e;--surface-1:#121216e0;--surface-2:#18181bf2;--surface-3:#202026f2;--surface-hover:#1c1c23f2;--border:#ffffff1a;--border-subtle:#ffffff0d;--border-strong:#ffffff2e;--text:#f8fafc;--text-2:#94a3b8;--text-3:#64748b;--accent:#38bdf8;--accent-glow:#38bdf84d;--accent-dim:#38bdf81f;--accent-border:#38bdf847;--status-active-text:#4ade80;--status-active-bg:#4ade801f;--status-active-border:#4ade8040;--status-prog-text:#38bdf8;--status-prog-bg:#38bdf81f;--status-prog-border:#38bdf840;--status-wip-text:#facc15;--status-wip-bg:#facc151f;--status-wip-border:#facc1540;--status-arch-text:#94a3b8;--status-arch-bg:#94a3b814;--status-arch-border:#94a3b833;--shadow-sm:0 2px 8px #00000080;--shadow-md:0 8px 24px #0009;--shadow-lg:0 16px 40px #000c;--shadow-glow:0 0 25px #38bdf826;--glass-bg:#09090bd1;--glass-border:#ffffff1a}[data-theme=light]{--bg:#fafafa;--bg-subtle:#f1f1f3;--surface-1:#ffffffe6;--surface-2:#f4f4f7f2;--surface-3:#e6e6ecf2;--surface-hover:#fff;--border:#00000014;--border-subtle:#0000000a;--border-strong:#00000029;--text:#0f172a;--text-2:#475569;--text-3:#94a3b8;--accent:#3b82f6;--accent-glow:#3b82f640;--accent-dim:#3b82f614;--accent-border:#3b82f640;--status-active-text:#166534;--status-active-bg:#1665341a;--status-active-border:#16653440;--status-prog-text:#0369a1;--status-prog-bg:#0369a11a;--status-prog-border:#0369a140;--status-wip-text:#854d0e;--status-wip-bg:#854d0e1a;--status-wip-border:#854d0e40;--status-arch-text:#64748b;--status-arch-bg:#64748b14;--status-arch-border:#64748b33;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 8px 24px #00000014;--shadow-lg:0 16px 40px #0000001f;--shadow-glow:0 0 25px #3b82f61f;--glass-bg:#fafafad9;--glass-border:#00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html.lenis,html.lenis-smooth,html.lenis body,html.lenis-smooth body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:100%;text-size-adjust:100%;zoom:1.15;width:100%;font-size:17.25px;overflow-x:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);width:100%;max-width:100%;min-height:100dvh;transition:background var(--transition-base), color var(--transition-base);line-height:1.65;overflow-x:hidden}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}button{cursor:pointer;font-family:var(--font-sans);font-size:inherit;color:inherit;background:0 0;border:none}img{max-width:100%;display:block}::selection{background:var(--accent-dim);color:var(--text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.container{box-sizing:border-box;width:100%;max-width:1080px;margin:0 auto;padding:0 24px}@keyframes floatBlob{0%,to{transform:translate(0)scale(1)}50%{transform:translate(25px,-20px)scale(1.1)}}.gradient-blob{background:radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);filter:blur(50px);opacity:.35;pointer-events:none;z-index:0;width:500px;height:350px;animation:12s ease-in-out infinite floatBlob;position:absolute}@keyframes marquee{0%{transform:translate(0%)}to{transform:translate(-50%)}}.marquee-container{white-space:nowrap;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background:var(--surface-1);width:100%;padding:10px 0;position:relative;overflow:hidden}.marquee-content{gap:32px;animation:25s linear infinite marquee;display:inline-flex}.marquee-item{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:12px;font-size:.78rem;display:flex}.spotlight-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-base);position:relative;overflow:hidden}.spotlight-card:before{content:"";background:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%), #6c8ef51f, transparent 40%);opacity:0;pointer-events:none;z-index:1;transition:opacity .3s;position:absolute;inset:0}.spotlight-card:hover:before{opacity:1}.spotlight-card:hover{box-shadow:var(--shadow-md), var(--shadow-glow);border-color:var(--accent-border);transform:translateY(-4px)}.project-grid-container{min-height:360px;transition:min-height var(--transition-base);position:relative}@keyframes soundwaveBar{0%,to{height:4px}50%{height:16px}}.soundwave-bar{background:var(--accent);border-radius:2px;width:3px;animation:1.2s ease-in-out infinite soundwaveBar}.soundwave-bar:nth-child(2){animation-delay:.2s}.soundwave-bar:nth-child(3){animation-delay:.4s}.soundwave-bar:nth-child(4){animation-delay:.6s}.navbar-glass{z-index:200;background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);width:100%;transition:all .4s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0;right:0}.navbar-glass.scrolled{border-radius:var(--radius-full);border:1px solid var(--border-strong);width:calc(100% - 32px);max-width:860px;box-shadow:var(--shadow-md), var(--shadow-glow);background:#0e0e12e0;margin:0 auto;top:14px}.scroll-blur-reveal{filter:blur(8px);opacity:.25;will-change:filter, opacity, transform;transition:filter .75s cubic-bezier(.16,1,.3,1),opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.scroll-blur-reveal.in-view{filter:blur();opacity:1;transform:translateY(0)}.status-pill{font-family:var(--font-mono);border-radius:var(--radius-full);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:3px 9px;font-size:.72rem;font-weight:500;display:inline-flex}.status-dot{border-radius:50%;width:6px;height:6px;position:relative}.status-dot-pulse:after{content:"";opacity:.4;background:currentColor;border-radius:50%;animation:2s cubic-bezier(.4,0,.6,1) infinite pulseDot;position:absolute;inset:-2px}@keyframes pulseDot{0%,to{opacity:.4;transform:scale(1)}50%{opacity:0;transform:scale(2.2)}}.status-active{color:var(--status-active-text);background:var(--status-active-bg);border-color:var(--status-active-border)}.status-active .status-dot{background:var(--status-active-text)}.status-prog{color:var(--status-prog-text);background:var(--status-prog-bg);border-color:var(--status-prog-border)}.status-prog .status-dot{background:var(--status-prog-text)}.status-wip{color:var(--status-wip-text);background:var(--status-wip-bg);border-color:var(--status-wip-border)}.status-wip .status-dot{background:var(--status-wip-text)}.status-archived{color:var(--status-arch-text);background:var(--status-arch-bg);border-color:var(--status-arch-border)}.status-archived .status-dot{background:var(--status-arch-text)}.btn{border-radius:var(--radius-md);font-size:.85rem;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);border:1px solid #0000;align-items:center;gap:8px;padding:9px 18px;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 10px var(--accent-glow)}.btn-primary:hover{filter:brightness(1.1);box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:var(--surface-3);border-color:var(--border-strong)}.stat-pill-capsule{font-size:.86rem;font-family:var(--font-sans);box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border);height:40px;color:var(--text);box-shadow:var(--shadow-sm);transition:all var(--transition-base);white-space:nowrap;justify-content:center;align-items:center;gap:8px;font-weight:500;line-height:1;display:inline-flex;border-radius:9999px!important;padding:9px 22px!important}.stat-pill-capsule:hover{background:var(--surface-3);border-color:var(--border-strong)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover{color:var(--text);background:var(--surface-2)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(580px,100vw - 24px);max-width:100%;max-height:min(88dvh,700px);box-shadow:var(--shadow-lg);box-sizing:border-box;overflow-y:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s both fadeIn}@keyframes spotifyFadeIn{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-layout{background:var(--bg);flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative}@media (min-width:769px){.admin-layout{flex-direction:row}}.admin-main{background:var(--bg);box-sizing:border-box;flex:1;width:calc(100% - 64px);min-height:100vh;margin-left:64px;transition:margin-left .3s cubic-bezier(.16,1,.3,1),width .3s cubic-bezier(.16,1,.3,1)}.admin-nav-link{font-family:var(--font-mono);color:var(--text-3);transition:color var(--transition-fast), background var(--transition-fast);border-radius:var(--radius-sm);align-items:center;gap:8px;margin:0 4px;padding:8px 12px;font-size:.78rem;text-decoration:none;display:flex}.admin-nav-link:hover{color:var(--text-2);background:var(--surface-2);text-decoration:none}.admin-nav-link.active{color:var(--text);background:var(--surface-2);border:1px solid var(--border)}.surface{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.input{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font-mono);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:8px 12px;font-size:.82rem}.input:focus{border-color:var(--border-strong);box-shadow:0 0 0 2px var(--accent-dim)}.table{border-collapse:collapse;width:100%;font-size:.8rem}.table th{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.05em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:.68rem;font-weight:500}.table td{border-bottom:1px solid var(--border-subtle);color:var(--text-2);vertical-align:middle;padding:10px 12px}.table tr:hover td{background:var(--surface-2)}@media (max-width:768px){html{font-size:14px}.container{padding:0 16px}.admin-main{box-sizing:border-box!important;width:100%!important;margin-left:0!important;padding:16px 12px!important}.admin-table-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto!important}.admin-form-grid{grid-template-columns:1fr!important}}.md-flex{display:none!important}@media (min-width:768px){.md-flex{display:flex!important}}.md-hidden{display:flex!important}@media (min-width:768px){.md-hidden{display:none!important}}.hidden,.md-block{display:none!important}@media (min-width:768px){.md-block{display:block!important}}.md-inline{display:none!important}@media (min-width:768px){.md-inline{display:inline!important}}.brand-text{display:inline}@media (max-width:400px){.brand-text{display:none}}.nav-text-btn{white-space:nowrap}@media (max-width:480px){.nav-text-btn{padding:5px 9px!important;font-size:.78rem!important}}.nav-search-box,.nav-search-icon{display:none!important}@media (max-width:640px){.hero-stats-row{flex-direction:column!important;align-items:center!important;gap:10px!important}.footer-grid,.project-grid-inner{grid-template-columns:1fr!important}}
