*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#080810;--bg-secondary:#1a1a2e;--bg-card:#1e1e2e;--text-primary:#f0f0f5;--text-secondary:#a0a0b8;--text-muted:#666680;--accent:#4a8eff;--accent-hover:#6aa3ff;--border-color:#ffffff1f;--border-hover:#ffffff4d;--pill-bg:transparent;--pill-border:#ffffff26;--pill-hover-bg:#ffffff0f;--pill-hover-border:#ffffff59;--toggle-bg:#333;--toggle-knob:#f0f0f0;--shadow-glow:#4a8eff33;--transition-speed:.4s;--font-primary:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",system-ui,"Helvetica Neue",Helvetica,Arial,sans-serif;--font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,"Helvetica Neue",Helvetica,Arial,sans-serif;--glass-bg:#ffffff08;--glass-bg-hover:#ffffff12;--glass-border:#ffffff1a;--glass-border-hover:#ffffff38;--glass-blur:28px;--glass-highlight:linear-gradient(135deg,#ffffff26 0%,#ffffff0d 25%,#78a0ff08 50%,transparent 100%);--glass-shadow:0 8px 32px #00000073,0 2px 8px #0000004d,inset 0 1px 0 #ffffff14,inset 0 -1px 0 #ffffff05;--glass-shadow-hover:0 16px 48px #0000008c,0 4px 12px #4a8eff14,inset 0 1px 0 #ffffff24,inset 0 -1px 0 #ffffff0a;--glass-refraction:linear-gradient(105deg,transparent 20%,#78b4ff0a 35%,#c896ff08 50%,#64dcc808 65%,transparent 80%)}[data-theme=light]{--bg-primary:#eaecf4;--bg-secondary:#f0f0f5;--bg-card:#fff;--text-primary:#111118;--text-secondary:#555560;--text-muted:#999;--border-color:#0000001a;--border-hover:#00000040;--pill-bg:transparent;--pill-border:#00000026;--pill-hover-bg:#0000000a;--pill-hover-border:#00000059;--toggle-bg:#ddd;--toggle-knob:#111;--shadow-glow:#4a8eff1f;--glass-bg:#ffffff80;--glass-bg-hover:#ffffffa6;--glass-border:#ffffff8c;--glass-border-hover:#ffffffbf;--glass-highlight:linear-gradient(135deg,#ffffffb3 0%,#fff3 30%,#b4c8ff1a 60%,transparent 100%);--glass-shadow:0 8px 32px #0000000f,0 2px 6px #0000000a,inset 0 1px 0 #ffffffe6,inset 0 -1px 0 #ffffff4d;--glass-shadow-hover:0 16px 48px #0000001a,0 4px 12px #4a8eff0f,inset 0 2px 0 #fff,inset 0 -1px 0 #ffffff80;--glass-refraction:linear-gradient(105deg,transparent 20%,#78b4ff0f 35%,#c896ff0a 50%,#64dcc80a 65%,transparent 80%)}html{scroll-behavior:smooth}body{font-family:var(--font-primary);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background-color var(--transition-speed)ease,color var(--transition-speed)ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 15% 85%,#4a8eff14 0%,#0000 50%),radial-gradient(at 85% 15%,#7864ff0f 0%,#0000 45%),radial-gradient(#64c8dc0a 0%,#0000 55%),radial-gradient(at 70% 70%,#c864ff08 0%,#0000 40%);background-attachment:fixed;overflow-x:hidden}a{color:inherit;text-decoration:none}.site-wrapper{flex-direction:column;max-width:1440px;min-height:100vh;margin:0 auto;padding:0 clamp(24px,4vw,60px);display:flex}.header{z-index:10;justify-content:space-between;align-items:center;padding:32px 0;display:flex;position:relative}.logo{color:var(--accent);cursor:pointer;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur))saturate(1.4);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:14px;align-items:center;gap:2px;padding:8px 14px;font-size:1.5rem;font-weight:700;transition:transform .4s cubic-bezier(.34,1.56,.64,1),filter .3s,box-shadow .4s,border-color .3s,background .3s;display:flex;position:relative;overflow:hidden}.logo:before{content:"";background:var(--glass-highlight);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.logo:after{content:"";background:var(--glass-refraction);border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;position:absolute;inset:0}.logo:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover);transform:scale(1.06)}.logo:hover:after{opacity:1}.logo-bracket{font-family:var(--font-display);z-index:1;font-weight:700;position:relative}.theme-toggle{background:var(--glass-bg);width:56px;height:30px;-webkit-backdrop-filter:blur(var(--glass-blur))saturate(1.4);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);cursor:pointer;transition:all var(--transition-speed)ease;border-radius:15px;align-items:center;padding:3px;display:flex;position:relative;overflow:hidden}.theme-toggle:before{content:"";background:var(--glass-highlight);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.theme-toggle:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover)}.toggle-knob{background:var(--toggle-knob);width:24px;height:24px;transition:transform .35s cubic-bezier(.68,-.15,.27,1.15),background var(--transition-speed)ease,box-shadow .3s ease;z-index:1;border-radius:50%;position:relative;box-shadow:0 2px 8px #0003}.toggle-knob:after{content:"";background:linear-gradient(135deg,#ffffff80 0%,#0000 100%);border-radius:50%;width:8px;height:8px;position:absolute;top:3px;left:3px}[data-theme=light] .toggle-knob{transform:translate(25px)}.hero{flex:1;grid-template-columns:1fr 1fr;align-items:end;gap:60px;padding-bottom:40px;display:grid}.hero-content{align-self:end;padding-bottom:20px}.hero-heading{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:28px;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:500;line-height:1.25}.hero-heading .highlight{color:var(--accent);position:relative}.hero-description{color:var(--text-secondary);max-width:480px;margin-bottom:24px;font-size:clamp(.88rem,1.2vw,.95rem);line-height:1.7}.hero-currently{color:var(--text-secondary);margin-bottom:32px;font-size:.9rem}.hero-currently a{color:var(--text-primary);font-weight:500;text-decoration:none;transition:color .3s;position:relative}.hero-currently a:after{content:"";background:var(--accent);transform-origin:100%;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.hero-currently a:hover{color:var(--accent)}.hero-currently a:hover:after{transform-origin:0;transform:scaleX(1)}.social-links{align-items:center;gap:16px;display:flex}.social-link{width:40px;height:40px;color:var(--text-muted);background:var(--glass-bg);-webkit-backdrop-filter:blur(calc(var(--glass-blur)/2))saturate(1.3);border:1px solid var(--glass-border);border-radius:12px;justify-content:center;align-items:center;transition:all .35s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative;overflow:hidden}.social-link:before{content:"";background:var(--glass-highlight);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.social-link:hover{color:var(--text-primary);background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover),0 0 14px var(--shadow-glow);transform:translateY(-4px)scale(1.05)}.social-link svg{z-index:1;width:18px;height:18px;position:relative}.projects-section{flex-direction:column;justify-content:center;align-items:flex-end;gap:14px;padding-bottom:20px;display:flex}.project-pill{border:1px solid var(--glass-border);background:var(--glass-bg);min-width:200px;-webkit-backdrop-filter:blur(var(--glass-blur))saturate(1.5);box-shadow:var(--glass-shadow);font-family:var(--font-display);color:var(--text-primary);cursor:pointer;border-radius:50px;justify-content:center;align-items:center;padding:14px 40px;font-size:1.05rem;font-weight:500;text-decoration:none;transition:all .4s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative;overflow:hidden}.project-pill:before{content:"";background:var(--glass-highlight);border-radius:inherit;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.project-pill:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff0f,#ffffff1f,#ffffff0f,#0000);width:60%;height:100%;transition:left .7s cubic-bezier(.25,.46,.45,.94);position:absolute;top:0;left:-120%}.project-pill:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover),0 0 24px var(--shadow-glow);transform:translate(-6px)scale(1.03)}.project-pill:hover:after{left:120%}.project-pill:active{box-shadow:var(--glass-shadow);transform:translate(-4px)scale(.98)}.footer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur))saturate(1.4);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all var(--transition-speed)ease;border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 24px;display:flex;position:relative;overflow:hidden}.footer:before{content:"";background:var(--glass-highlight);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.footer-left{color:var(--text-muted);z-index:1;align-items:center;gap:6px;font-size:.85rem;display:flex;position:relative}.footer-heart{color:var(--text-muted);cursor:pointer;transition:color .3s,transform .3s;display:inline-flex}.footer-heart:hover{color:var(--accent);transform:scale(1.2)}.footer-heart svg{width:14px;height:14px}.footer-right{color:var(--text-muted);z-index:1;align-items:center;gap:4px;font-size:.85rem;display:flex;position:relative}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-up{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.animate-fade-right{opacity:0;animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeInRight}.animate-fade-in{opacity:0;animation:.6s forwards fadeIn}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.delay-6{animation-delay:.6s}.delay-7{animation-delay:.7s}.delay-8{animation-delay:.8s}.cursor-glow{pointer-events:none;z-index:0;opacity:0;filter:blur(4px);background:radial-gradient(circle,#4a8eff1f 0%,#64a0ff0f 30%,#0000 70%);border-radius:50%;width:400px;height:400px;transition:opacity .4s;position:fixed;transform:translate(-50%,-50%)}.cursor-glow.active{opacity:1}.projects-page{flex:1;padding-bottom:40px}.back-link{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:32px;font-size:.9rem;transition:color .3s,transform .3s;display:inline-flex}.back-link:hover{color:var(--accent);transform:translate(-4px)}.projects-page-title{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:12px;font-size:clamp(2rem,4vw,3rem);font-weight:600}.projects-page-subtitle{color:var(--text-secondary);max-width:500px;margin-bottom:36px;font-size:1rem;line-height:1.6}.project-tabs{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur))saturate(1.5);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:50px;flex-wrap:wrap;gap:10px;margin-bottom:36px;padding:6px;display:flex;position:relative;overflow:hidden}.project-tabs:before{content:"";background:var(--glass-highlight);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.project-tab{color:var(--text-secondary);font-family:var(--font-display);cursor:pointer;z-index:1;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:50px;padding:10px 24px;font-size:.92rem;font-weight:500;transition:all .35s cubic-bezier(.25,.46,.45,.94);position:relative}.project-tab:hover{color:var(--text-primary);background:var(--glass-bg-hover)}.project-tab.active{color:var(--text-primary);background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:0 2px 16px var(--shadow-glow),inset 0 1px 0 #ffffff14}.project-detail{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur))saturate(1.5);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:24px;grid-template-columns:1fr 1fr;gap:36px;padding:24px;transition:box-shadow .4s,border-color .4s;animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeInUp;display:grid;position:relative;overflow:hidden}.project-detail:hover{box-shadow:var(--glass-shadow-hover);border-color:var(--glass-border-hover)}.project-detail:before{content:"";background:var(--glass-highlight);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.project-detail:after{content:"";background:var(--glass-refraction);border-radius:inherit;pointer-events:none;opacity:.6;position:absolute;inset:0}.project-detail-image{aspect-ratio:16/10;z-index:1;border-radius:16px;position:relative;overflow:hidden}.project-detail-gradient{border-radius:16px;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.project-detail-gradient-text{font-family:var(--font-display);color:#ffffffd9;text-shadow:0 2px 12px #0003;letter-spacing:-.02em;font-size:2.5rem;font-weight:700}.project-detail-info{z-index:1;flex-direction:column;justify-content:center;gap:16px;display:flex;position:relative}.project-detail-header{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.project-detail-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.8rem;font-weight:600}.project-status-badge{letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(calc(var(--glass-blur)/2));white-space:nowrap;border-radius:50px;align-items:center;gap:6px;padding:4px 12px;font-size:.72rem;font-weight:600;display:inline-flex}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-live{color:#34d399;border-color:#34d3994d}.status-live .status-dot{background:#34d399;animation:2s ease-in-out infinite statusPulse;box-shadow:0 0 6px #34d39999}.status-under-development{color:#fbbf24;border-color:#fbbf244d}.status-under-development .status-dot{background:#fbbf24;animation:2s ease-in-out infinite statusPulse;box-shadow:0 0 6px #fbbf2499}.status-beta{color:#60a5fa;border-color:#60a5fa4d}.status-beta .status-dot{background:#60a5fa;animation:2s ease-in-out infinite statusPulse;box-shadow:0 0 6px #60a5fa99}.status-under-maintenance{color:#94a3b8;border-color:#94a3b84d}.status-under-maintenance .status-dot{background:#94a3b8;animation:2s ease-in-out infinite statusPulse;box-shadow:0 0 6px #94a3b899}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.4}}.project-detail-tagline{color:var(--accent);margin-top:-8px;font-size:.95rem;font-weight:500}.project-detail-description{color:var(--text-secondary);font-size:.92rem;line-height:1.7}.project-detail-role{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.role-badge,.collaborator-badge{color:var(--text-secondary);background:var(--glass-bg);-webkit-backdrop-filter:blur(calc(var(--glass-blur)/2))saturate(1.3);border:1px solid var(--glass-border);border-radius:50px;align-items:center;gap:7px;padding:6px 14px;font-size:.82rem;font-weight:500;transition:all .3s;display:inline-flex}.role-badge svg,.collaborator-badge svg{opacity:.7;flex-shrink:0}.collaborator-link{color:var(--accent);font-weight:600;text-decoration:none;transition:opacity .3s}.collaborator-link:hover{opacity:.8;text-decoration:underline}.project-detail-tech{flex-wrap:wrap;gap:8px;display:flex}.tech-badge{color:var(--text-secondary);background:var(--glass-bg);-webkit-backdrop-filter:blur(calc(var(--glass-blur)/2))saturate(1.3);border:1px solid var(--glass-border);border-radius:50px;padding:6px 14px;font-size:.78rem;font-weight:500;transition:all .3s;position:relative;overflow:hidden}.tech-badge:before{content:"";background:var(--glass-highlight);border-radius:inherit;pointer-events:none;opacity:.5;position:absolute;inset:0}.tech-badge:hover{color:var(--text-primary);border-color:var(--glass-border-hover);background:var(--glass-bg-hover);box-shadow:0 2px 10px var(--shadow-glow);transform:translateY(-1px)}.project-detail-links{gap:12px;margin-top:8px;display:flex}.project-link-btn{font-family:var(--font-display);cursor:pointer;border-radius:50px;align-items:center;gap:8px;padding:10px 24px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .35s cubic-bezier(.25,.46,.45,.94);display:inline-flex;position:relative;overflow:hidden}.project-link-btn:before{content:"";background:var(--glass-highlight);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.project-link-btn:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff14,#ffffff26,#ffffff14,#0000);width:60%;height:100%;transition:left .6s cubic-bezier(.25,.46,.45,.94);position:absolute;top:0;left:-120%}.project-link-btn:hover:after{left:120%}.project-link-btn.primary{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur))saturate(1.4);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-primary)}.project-link-btn.primary:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover),0 0 20px var(--shadow-glow);transform:translateY(-3px)}@media (max-width:900px){.hero{grid-template-columns:1fr;align-items:start;gap:50px;padding-top:20px}.hero-content{order:1}.projects-section{order:2;align-items:stretch}.project-pill{min-width:unset}.project-pill:hover{transform:translate(0)scale(1.02)}.project-detail{grid-template-columns:1fr}.project-detail-image{aspect-ratio:16/9}.project-tabs{flex-wrap:wrap}.project-tab{padding:9px 20px;font-size:.88rem}.project-detail-gradient-text{font-size:2rem}.project-detail-links{flex-wrap:wrap}}@media (max-width:768px){.projects-page{padding-bottom:24px}.projects-page-title{font-size:clamp(1.8rem,5vw,2.4rem)}.projects-page-subtitle{margin-bottom:28px;font-size:.92rem}.project-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:16px;gap:6px;padding:5px;overflow-x:auto}.project-tabs::-webkit-scrollbar{display:none}.project-tab{padding:8px 16px;font-size:.84rem}.project-detail{border-radius:20px;gap:24px;padding:18px}.project-detail-name{font-size:1.5rem}.project-detail-description{font-size:.88rem}.tech-badge{padding:5px 12px;font-size:.74rem}.project-link-btn{padding:9px 20px;font-size:.85rem}}@media (max-width:480px){.header{padding:24px 0}.hero-heading{font-size:1.6rem}.project-pill{padding:12px 28px;font-size:.95rem}.footer{text-align:center;flex-direction:column;gap:12px}.back-link{margin-bottom:20px;font-size:.85rem}.projects-page-title{margin-bottom:8px;font-size:1.7rem}.projects-page-subtitle{margin-bottom:20px;font-size:.85rem}.project-tabs{border-radius:14px;gap:4px;padding:4px}.project-tab{padding:7px 14px;font-size:.8rem}.project-detail{border-radius:16px;gap:18px;padding:14px}.project-detail-image{aspect-ratio:16/10;border-radius:12px}.project-detail-gradient{border-radius:12px}.project-detail-gradient-text{font-size:1.5rem}.project-detail-header{gap:10px}.project-detail-name{font-size:1.3rem}.project-status-badge{padding:3px 10px;font-size:.65rem}.project-detail-tagline{font-size:.85rem}.project-detail-description{font-size:.84rem;line-height:1.6}.project-detail-info{gap:12px}.project-detail-tech{gap:6px}.tech-badge{padding:4px 10px;font-size:.7rem}.project-detail-links{flex-direction:column}.project-link-btn{justify-content:center;padding:10px 20px;font-size:.85rem}}
