:root{--bg: #0f0f0f;--bg-elevated: #151515;--bg-soft: #1a1a1a;--text-primary: #f5f5f5;--text-secondary: #a4a7ae;--border: #2a2a2a;--accent: #8ea1ff;--accent-soft: rgba(142, 161, 255, .12);--shadow: 0 14px 40px rgba(0, 0, 0, .34)}html[data-theme=light]{--bg: #ffffff;--bg-elevated: #fafafa;--bg-soft: #f4f4f5;--text-primary: #111111;--text-secondary: #5f6470;--border: #e8e8ea;--accent: #4a67ff;--accent-soft: rgba(74, 103, 255, .09);--shadow: 0 12px 30px rgba(17, 17, 17, .09)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Inter,SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(1200px 800px at 100% -10%,var(--accent-soft),transparent 45%),radial-gradient(800px 600px at -20% 100%,rgba(120,124,138,.12),transparent 42%),var(--bg);color:var(--text-primary);line-height:1.5;transition:background-color .2s ease,color .2s ease}body.is-locale-switching{cursor:progress}a{color:inherit}.hub{width:min(100%,600px);margin:0 auto;padding:1.25rem 1rem 2.5rem}.controls{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:2rem}.control-button{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;padding:.5rem .8rem;font-size:.78rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:color .16s ease,border-color .16s ease,transform .16s ease}.control-button:hover{color:var(--text-primary);border-color:var(--accent);transform:translateY(-1px)}.hero{margin-bottom:2.1rem}.hero-name{margin:0;font-size:.95rem;color:var(--text-secondary)}.hero-subtitle{margin:.2rem 0 0;font-size:clamp(1.45rem,3vw + .8rem,2rem);font-weight:650;letter-spacing:-.02em}.hero-tagline{margin:.65rem 0 0;color:var(--text-secondary);max-width:54ch}.section-block{margin-top:2rem}.section-title{margin:0 0 .8rem;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.link-grid,.project-grid{display:grid;gap:.72rem}.link-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-radius:14px;background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);border:1px solid var(--border);text-decoration:none;transition:transform .17s ease,border-color .17s ease,background-color .17s ease,box-shadow .17s ease}.link-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 46%,var(--border));background:color-mix(in srgb,var(--bg-soft) 87%,transparent);box-shadow:var(--shadow)}.link-card.is-disabled{cursor:default}.link-card-main{min-width:0}.link-card-title{margin:0;font-size:1rem;font-weight:620;letter-spacing:-.01em}.link-card-description{margin:.2rem 0 0;color:var(--text-secondary);font-size:.9rem}.link-card-tag{flex-shrink:0;border-radius:999px;padding:.25rem .6rem;font-size:.72rem;font-weight:600;color:var(--accent);background:var(--accent-soft)}.link-card-main{display:flex;align-items:center;gap:12px}.link-icon svg{width:24px;height:24px;opacity:.8}.about-copy{margin:0;color:var(--text-secondary)}.project-card{display:block;border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem;text-decoration:none;background:color-mix(in srgb,var(--bg-elevated) 96%,transparent);transition:border-color .16s ease,transform .16s ease}.project-card:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));transform:translateY(-1px)}.project-name{margin:0;font-size:.95rem;font-weight:590}.project-description{margin:.25rem 0 0;color:var(--text-secondary);font-size:.87rem}.footer{display:flex;justify-content:space-between;margin-top:2.2rem;padding-top:1rem;border-top:1px solid var(--border)}.footer p{margin:0;font-size:.82rem;color:var(--text-secondary)}.footer-email{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--text-secondary);font-size:.82rem;transition:color .16s ease,transform .16s ease}.footer-email:hover{color:var(--text-primary);transform:translateY(-1px)}.footer-email-icon svg{display:block;width:16px;height:16px;opacity:.8}.locale-block{will-change:transform,opacity,filter;backface-visibility:hidden;transform:translateZ(0)}@media(min-width:640px){.hub{padding:2.2rem 1.25rem 3rem}.section-block{margin-top:2.2rem}}
