*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #09090b;--surface: rgba(255, 255, 255, .03);--surface-hover: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .06);--border-hover: rgba(168, 130, 255, .2);--text-primary: #ededef;--text-secondary: #8b8b96;--text-tertiary: #55555e;--accent: #a78bfa;--accent-dim: rgba(167, 139, 250, .08);--accent-glow: rgba(167, 139, 250, .15);--radius: 14px;--transition: .25s cubic-bezier(.4, 0, .2, 1)}html{color-scheme:dark}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column;position:relative}#root:before{content:"";position:fixed;top:-20%;left:50%;transform:translate(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(167,139,250,.06) 0%,transparent 70%);pointer-events:none;z-index:0}#root:after{content:"";position:fixed;inset:0;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)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:.5}::selection{background:#a78bfa4d;color:#fff}.site{flex:1;display:flex;flex-direction:column;max-width:620px;width:100%;margin:0 auto;padding:0 24px;position:relative;z-index:1}.header{padding:100px 0 72px}.header h1{font-size:2.4rem;font-weight:600;letter-spacing:-.035em;color:var(--text-primary);line-height:1.15}.header-dot{color:var(--accent)}.header p{margin-top:10px;font-size:1rem;color:var(--text-secondary);font-weight:400;letter-spacing:-.01em}.section-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:16px}.projects-list{display:flex;flex-direction:column;gap:10px}.project-link{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text-primary);transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.project-link:hover{background:var(--surface-hover);border-color:var(--border-hover);box-shadow:0 0 0 1px var(--border-hover),0 8px 32px #0000004d;transform:translateY(-1px)}.project-info{display:flex;flex-direction:column;gap:3px;min-width:0}.project-name{font-size:.95rem;font-weight:500;color:var(--text-primary);letter-spacing:-.01em}.project-link:hover .project-name{color:#fff}.project-desc{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-arrow{color:var(--text-tertiary);font-size:1rem;transition:transform var(--transition),color var(--transition);flex-shrink:0;margin-left:20px}.project-link:hover .project-arrow{transform:translate(4px);color:var(--accent)}.empty-state{padding:56px 24px;text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.empty-icon{width:48px;height:48px;margin:0 auto 16px;border-radius:50%;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--accent)}.empty-title{font-size:.9rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.empty-subtitle{font-size:.8rem;color:var(--text-tertiary)}.footer{margin-top:auto;padding:64px 0 36px;text-align:center}.footer p{font-size:.7rem;color:var(--text-tertiary);letter-spacing:.04em}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeUp .6s cubic-bezier(.16,1,.3,1) forwards;opacity:0}.fade-in-delay-1{animation-delay:.12s}.fade-in-delay-2{animation-delay:.24s}.fade-in-delay-3{animation-delay:.36s}@media(max-width:480px){.header{padding:64px 0 52px}.header h1{font-size:1.8rem}.project-link{padding:16px 18px}}
