*,*: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, .055);--border: rgba(255, 255, 255, .07);--border-hover: rgba(167, 139, 250, .28);--text-primary: #ededef;--text-secondary: #9b9ba6;--text-tertiary: #6a6a74;--accent: #a78bfa;--accent-light: #c4b5fd;--accent-dim: rgba(167, 139, 250, .08);--radius: 14px;--transition: .25s cubic-bezier(.4, 0, .2, 1);color-scheme:dark}html{background:var(--bg)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:radial-gradient(900px 520px at 50% -10%,rgba(167,139,250,.1),transparent 70%),var(--bg);color:var(--text-primary);line-height:1.6;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative}#root:after{content:"";position:fixed;inset:0;background-size:180px 180px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:.45}::selection{background:#a78bfa4d;color:#fff}:focus-visible{outline:2px solid var(--accent-light);outline-offset:3px}.site{flex:1;display:flex;flex-direction:column;max-width:620px;width:100%;margin:0 auto;padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));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{list-style:none;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);-webkit-tap-highlight-color:transparent}.project-link:focus-visible{border-color:var(--border-hover)}@media(hover:hover){.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-link:hover .project-name{color:#fff}.project-link:hover .project-arrow{transform:translate(4px);color:var(--accent)}}.project-link:active{background:var(--surface-hover);transform:scale(.99)}.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-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}.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{animation-delay:calc(var(--delay, 0) * 70ms)}@media(prefers-reduced-motion:reduce){.fade-in{animation:none;opacity:1}.project-link,.project-arrow{transition:none}.project-link:hover,.project-link:active{transform:none}}@media(max-width:480px){.header{padding:64px 0 52px}.header h1{font-size:1.8rem}.project-link{padding:16px 18px}}
