@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--space-1:8px;--space-2:12px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--dur:160ms;--ease:cubic-bezier(.2,.7,.2,1)}.App[data-theme=light]{--bg:#f8fafc;--panel:#fff;--panel-hover:#f3f4f6;--line:#d1d5db;--line-2:#9ca3af;--text:#0f172a;--text-2:#334155;--muted:#64748b;--accent:#0ea5e9}.App[data-theme=dark]{--bg:#0b0f14;--panel:#0e1319;--panel-hover:#0f161c;--line:#2a2f3a;--line-2:#374151;--text:#e5e7eb;--text-2:#cbd5e1;--muted:#9ca3af;--accent:#10b981}*{box-sizing:border-box}.App{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;min-height:100vh}.exp-card,.menu a,.menu a:before,.project-card,.theme-toggle,a{transition-duration:.16s;transition-duration:var(--dur);transition-timing-function:cubic-bezier(.2,.7,.2,1);transition-timing-function:var(--ease)}.layout{grid-gap:24px;grid-gap:var(--space-4);display:grid;gap:24px;gap:var(--space-4);grid-template-columns:1fr;margin:0 auto;max-width:1040px;padding:48px 16px;padding:var(--space-6) var(--space-3)}@media (min-width:900px){.layout{gap:32px;gap:var(--space-5);grid-template-columns:1fr 2fr}}.sidebar{align-self:start}@media (min-width:900px){.sidebar{position:-webkit-sticky;position:sticky;top:48px;top:var(--space-6)}}.title{font-family:Space Grotesk,Inter,system-ui,sans-serif;font-size:clamp(24px,6vw,44px);font-weight:700;letter-spacing:-.01em;line-height:1.02;margin:0 0 12px;margin:0 0 var(--space-2) 0;max-width:100%;overflow:hidden;white-space:nowrap}@media (max-width:380px){.title{font-size:20px}}.subtitle{color:var(--muted);font-weight:600;margin:0 0 16px;margin:0 0 var(--space-3) 0}.subtitle .sep{opacity:.6}.bio{color:var(--text-2);line-height:1.65;margin-top:16px;margin-top:var(--space-3)}.sidebar-actions{margin-top:24px;margin-top:var(--space-4)}.theme-toggle{background:#0000;border:1px solid var(--line);border-radius:9999px;color:var(--text);cursor:pointer;font-size:14px;padding:6px 12px;transform:translateZ(0)}.theme-toggle:hover{border-color:var(--line-2);transform:translateY(-1px) scale(1.02)}.theme-toggle:active{transform:translateY(0) scale(.99)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu{align-items:flex-start;display:flex;flex-direction:column;gap:12px;gap:var(--space-2);margin-top:24px;margin-top:var(--space-4)}.menu a{color:var(--text);display:block;font-size:15px;font-weight:600;padding:8px 10px 8px 28px;position:relative;text-decoration:none;transform:translateX(0) scale(1);transition-property:padding-left,transform,color}.menu a:before{background:var(--line);content:"";height:2px;left:0;position:absolute;top:50%;transform:translateY(-50%);transition-property:width,background-color;width:18px}.menu a:hover{color:color-mix(in oklab,var(--text) 90%,var(--accent) 10%);padding-left:36px;transform:translateX(2px) scale(1.01)}.menu a:hover:before{background:var(--line-2);width:28px}.menu a.is-active{color:color-mix(in oklab,var(--text) 80%,var(--accent) 20%);padding-left:44px;transform:translateX(3px) scale(1.02)}.menu a.is-active:before{background:var(--accent);width:36px}.menu a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.content{min-height:40vh}.anchor-spacer{scroll-margin-top:96px;scroll-margin-top:calc(var(--space-6) + 48px)}.panel{border-left:1px solid #0000;padding-left:16px;padding-left:var(--space-3);transition:border-color .16s cubic-bezier(.2,.7,.2,1);transition:border-color var(--dur) var(--ease)}.active-panel{border-left-color:var(--accent)}.exp-list{grid-gap:16px;grid-gap:var(--space-3);display:grid;gap:16px;gap:var(--space-3)}.exp-card{background:var(--panel);border:1px solid color-mix(in oklab,var(--text) 8%,#0000);border-radius:12px;box-shadow:0 0 0 0 #0000;padding:16px 18px;padding:var(--space-3) calc(var(--space-3) + 2px);transition:border-color .16s cubic-bezier(.2,.7,.2,1),background-color .16s cubic-bezier(.2,.7,.2,1),transform .16s cubic-bezier(.2,.7,.2,1),box-shadow .16s cubic-bezier(.2,.7,.2,1);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.exp-card:hover{background-color:var(--panel-hover);border-color:var(--accent);box-shadow:0 6px 16px #00000040;transform:translateY(-2px)}.exp-card:active{box-shadow:0 2px 8px #00000059;transform:translateY(0)}.exp-card:focus-within{outline:2px solid var(--accent);outline-offset:3px}.exp-title{font-family:Space Grotesk,Inter,system-ui,sans-serif;font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0 0 12px;margin:0 0 var(--space-2) 0}.exp-subtitle{color:var(--text-2);font-size:14px;line-height:1.7;margin:0}.project-card{align-items:stretch;background:var(--panel);border:1px solid color-mix(in oklab,var(--text) 8%,#0000);border-radius:12px;box-shadow:0 0 0 0 #0000;color:inherit;cursor:pointer;display:flex;gap:16px;gap:var(--space-3);padding:16px;padding:var(--space-3);text-decoration:none;transition:border-color .16s cubic-bezier(.2,.7,.2,1),background-color .16s cubic-bezier(.2,.7,.2,1),transform .16s cubic-bezier(.2,.7,.2,1),box-shadow .16s cubic-bezier(.2,.7,.2,1);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.project-card+.project-card{margin-top:16px;margin-top:var(--space-3)}.project-card:hover{background-color:var(--panel-hover);border-color:var(--accent);box-shadow:0 6px 16px #00000040;transform:translateY(-2px)}.project-card:active{box-shadow:0 2px 8px #00000059;transform:translateY(0)}.project-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.project-thumb{align-self:stretch;background:color-mix(in oklab,var(--panel) 70%,#000 30%);border:1px solid color-mix(in oklab,var(--text) 10%,#0000);border-radius:8px;display:flex;flex:0 0 132px;overflow:hidden}.project-thumb img{height:100%;object-fit:cover;width:100%}.project-meta{flex:1 1 auto}.project-title{font-family:Space Grotesk,Inter,system-ui,sans-serif;font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0 0 16px;margin:0 0 var(--space-3) 0}.project-desc{color:var(--text-2);font-size:14px;line-height:1.7;margin:0}@media (max-width:480px){.project-thumb{flex-basis:100px}}.App ::selection{background:var(--accent);color:color-mix(in oklab,var(--bg) 60%,#fff 40%)}@media (prefers-reduced-motion:reduce){.exp-card,.menu a,.menu a:before,.project-card,.theme-toggle,a{transition:none!important}}@media (min-width:900px){.sidebar{display:flex;flex-direction:column}.sidebar-footer{margin-top:auto;padding-top:24px;padding-top:var(--space-4)}}.sidebar-footer{margin-top:24px;margin-top:var(--space-4)}.social{align-items:center;display:flex;gap:12px;gap:var(--space-2)}.social-link{background:#0000;border:1px solid var(--line);border-radius:10px;color:var(--muted);display:grid;height:36px;place-items:center;text-decoration:none;transform:translateZ(0);transition:border-color .16s cubic-bezier(.2,.7,.2,1),color .16s cubic-bezier(.2,.7,.2,1),transform .16s cubic-bezier(.2,.7,.2,1);transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);width:36px}.social-link:hover{border-color:var(--accent);color:var(--text);transform:translateY(-1px)}.social-link:active{transform:translateY(0)}.social-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.social-link svg{display:block;height:18px;width:18px}
/*# sourceMappingURL=main.39b96dc6.css.map*/