@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--bg: #fbf5ee;--text: #221a16;--muted: #7a6b62;--dim: #a09389;--line: rgba(62, 45, 36, .12);--panel: #ffffff;--panel-2: #f3ebe2;--accent: #b97962;--accent-soft: rgba(185, 121, 98, .13);--cream: #fff9f1;--blush: #f8ded6;--radius: 9px}:root[data-theme=night]{color-scheme:dark;--bg: #171412;--text: #fff9f1;--muted: #c2b2a8;--dim: #92847c;--line: rgba(255, 249, 241, .12);--panel: #211d1a;--panel-2: #2b2521;--accent: #d38a70;--accent-soft: rgba(211, 138, 112, .16);--cream: #fff9f1;--blush: #32241f}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;background:radial-gradient(circle at 70% 0%,rgba(248,222,214,.72),transparent 25rem),radial-gradient(circle at 14% 16%,rgba(255,249,241,.95),transparent 19rem),radial-gradient(circle at 82% 84%,rgba(226,198,176,.38),transparent 22rem),var(--bg);color:var(--text);font-family:Geist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background-color .18s ease,color .18s ease;overflow-x:hidden}:root[data-theme=night] body{background:radial-gradient(circle at 70% 0%,rgba(185,121,98,.16),transparent 25rem),radial-gradient(circle at 14% 16%,rgba(255,249,241,.05),transparent 19rem),radial-gradient(circle at 82% 84%,rgba(226,198,176,.08),transparent 22rem),var(--bg)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}#root{min-height:100vh}.page{width:min(1060px,calc(100vw - 36px));margin:0 auto;padding:clamp(76px,9vw,104px) 0 96px}.top-actions{position:fixed;top:22px;right:max(18px,calc((100vw - 1060px)/2));z-index:30;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 36px)}.top-actions a,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 72%,transparent);backdrop-filter:blur(14px);color:var(--muted);box-shadow:0 10px 28px #3e2d2412}.top-actions a{padding:0 15px;font-size:.82rem;font-weight:700;text-transform:lowercase;white-space:nowrap}.top-actions a:hover,.top-actions a.is-active,.theme-toggle:hover{color:var(--accent)}.theme-toggle{width:36px;padding:0;cursor:pointer}.about-page{max-width:640px;padding-top:clamp(32px,6vw,76px)}.eyebrow{margin-bottom:14px;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.about-page h1{margin-bottom:12px}.about-page>p{max-width:560px;color:var(--muted);font-size:clamp(1rem,2vw,1.18rem);line-height:1.6;overflow-wrap:break-word}.about-panel{margin-top:32px;padding:22px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--panel) 68%,transparent);box-shadow:0 18px 54px #3e2d2414}.about-panel p{margin:0;color:var(--muted);line-height:1.55}.identity{display:flex;align-items:center;gap:14px;margin-bottom:46px;min-width:0}.portrait,.tiny-avatar,.mini-icon,.project-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.portrait{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,rgba(185,121,98,.2),transparent 52%),var(--blush);color:var(--accent);font-size:.82rem;font-weight:800;letter-spacing:-.04em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:1px;font-size:clamp(1.55rem,4vw,2.45rem);font-weight:500;line-height:1.02;letter-spacing:-.045em;overflow-wrap:break-word}.identity p{margin:0;color:var(--muted);font-size:.92rem;overflow-wrap:break-word}.section{margin-top:38px}.section h2{margin-bottom:18px;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.current-row{display:flex;gap:12px;min-width:0}.mini-icon{width:35px;height:35px;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.current-row h3{margin-bottom:3px;font-size:1rem;line-height:1.25;letter-spacing:-.025em;overflow-wrap:break-word}.current-row p{margin-bottom:0;color:var(--muted);font-size:.9rem;line-height:1.45}.current-section.is-expanded{min-height:520px}.previous-toggle{display:inline-flex;align-items:center;margin:16px 0 0 47px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:.86rem;font-weight:400}.previous-toggle:after{content:none}.previous-toggle:hover{color:var(--accent)}.tiny-avatar{width:24px;height:24px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.72rem;font-weight:800}.project-stage{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(300px,.78fr);gap:clamp(18px,4vw,54px);align-items:start;min-width:0}.previous-stage{grid-template-columns:minmax(280px,.72fr) minmax(300px,.78fr);gap:clamp(18px,4vw,54px);align-items:start;min-height:420px;margin-top:18px}.previous-menu{display:grid;gap:24px;align-content:start;width:min(240px,100%);min-width:0}.previous-menu h3{margin:0;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.previous-list{display:grid;gap:18px}.previous-hide{margin:12px 0 0;justify-self:start;font-size:.84rem}.project-list{display:grid;gap:10px;align-content:flex-start;transform:translate(-10px);transition:transform .24s ease,max-width .24s ease}.project-stage:hover .project-list,.project-stage:focus-within .project-list{transform:translate(-24px);max-width:560px}.project-bubble{display:inline-flex;gap:10px;align-items:center;width:min(100%,330px);max-width:min(100%,330px);min-height:54px;padding:9px 13px 9px 10px;border:1px solid var(--line);border-radius:999px;background:#ffffff8a;color:var(--text);text-align:left;box-shadow:0 10px 30px #3e2d240d;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease;min-width:0;cursor:pointer}.project-bubble.is-private{cursor:default}:root[data-theme=night] .project-bubble{background:#211d1aa3;box-shadow:0 10px 30px #00000029}.previous-bubble{width:100%;max-width:240px;min-height:42px;padding:4px 8px 4px 4px;gap:9px}.previous-bubble .project-mark{width:34px;height:34px;border-radius:7px}.previous-bubble .project-title-line{display:block;font-size:.78rem;line-height:1.25}.experience-role-line{display:block;overflow-wrap:anywhere}.previous-bubble .project-description{display:none}.previous-bubble .experience-at{margin:0 3px}.project-bubble:hover,.project-bubble:focus-visible,.project-bubble[data-active=true]{border-color:transparent;background:var(--accent);color:var(--cream);box-shadow:0 18px 42px #b9796242;transform:translateY(-2px)}.project-mark{width:35px;height:35px;border-radius:999px;background:var(--panel-2);color:var(--accent);font-size:.76rem;font-weight:800;letter-spacing:-.03em;text-transform:uppercase}.project-bubble:hover .project-mark,.project-bubble:focus-visible .project-mark,.project-bubble[data-active=true] .project-mark{background:#fff9f13d;color:var(--cream)}.project-copy{display:grid;gap:2px;min-width:0;overflow:hidden}.project-title-line{display:flex;align-items:center;gap:6px;font-size:.95rem;font-weight:700;line-height:1.2;letter-spacing:-.025em;min-width:0}.project-title-line>span:first-child,.inline-org-link{min-width:0;overflow-wrap:anywhere}.project-title-line small{color:currentColor;font-size:.68rem;font-weight:500;opacity:.68}.experience-at{color:currentColor;font-weight:500;opacity:.58}.inline-org-link{color:var(--dim);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.project-bubble:hover .inline-org-link,.project-bubble:focus-visible .inline-org-link,.project-bubble[data-active=true] .inline-org-link,.inline-org-link:hover,.inline-org-link:focus-visible{color:currentColor}.bubble-repo-link{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;color:var(--dim);transition:background .16s ease,color .16s ease,transform .16s ease}.project-bubble:hover .bubble-repo-link,.project-bubble:focus-visible .bubble-repo-link,.project-bubble[data-active=true] .bubble-repo-link{color:var(--cream)}.bubble-repo-link:hover,.bubble-repo-link:focus-visible{background:#fff9f133;color:var(--cream);transform:translateY(-1px)}.project-description{display:block;overflow:hidden;color:var(--muted);font-size:.78rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.project-tagline{display:flex;flex-wrap:wrap;gap:6px;overflow:hidden;color:var(--dim);font-size:.76rem;line-height:1.25;min-width:0}.project-tagline span{min-width:0;overflow-wrap:anywhere}.project-bubble:hover .project-tagline,.project-bubble:focus-visible .project-tagline,.project-bubble[data-active=true] .project-tagline{color:#fff9f1c7}.project-bubble:hover .project-description,.project-bubble:focus-visible .project-description,.project-bubble[data-active=true] .project-description{color:#fff9f1c7}.project-preview{position:sticky;top:48px;min-height:306px;padding:clamp(18px,3vw,28px);border:1px solid transparent;border-radius:26px;background:transparent;box-shadow:none;opacity:0;transform:translate(0);transition:background .18s ease,border-color .18s ease,opacity .22s ease,transform .24s ease,box-shadow .22s ease;min-width:0}.project-preview.is-visible{border-color:#3e2d241a;background:linear-gradient(140deg,rgba(248,222,214,.62),transparent 46%),linear-gradient(180deg,#ffffffb8,#fff9f194),var(--cream);opacity:1;box-shadow:0 28px 70px #3e2d241c}:root[data-theme=night] .project-preview.is-visible{background:linear-gradient(140deg,rgba(185,121,98,.2),transparent 46%),linear-gradient(180deg,#211d1ad1,#2b2521a3),var(--panel);box-shadow:0 28px 70px #00000047}.project-stage:hover .project-preview.is-visible,.project-stage:focus-within .project-preview.is-visible{transform:translate(8px);box-shadow:0 34px 90px #3e2d2426}.preview-topline{display:flex;justify-content:space-between;gap:16px;margin-bottom:26px;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-preview h3{max-width:360px;margin-bottom:10px;font-size:clamp(1.35rem,3vw,2rem);font-weight:500;line-height:1.04;letter-spacing:-.045em;overflow-wrap:break-word}.project-preview p{max-width:410px;margin-bottom:18px;color:var(--muted);font-size:.95rem;line-height:1.55;overflow-wrap:break-word}.preview-flow{display:grid;gap:8px;margin:18px 0 14px}.preview-flow span{position:relative;display:flex;align-items:center;gap:10px;color:var(--text);font-size:.88rem;min-width:0;overflow-wrap:break-word}.preview-flow span:before{width:7px;height:7px;border-radius:999px;background:var(--accent);content:""}.preview-link{display:inline-flex;gap:6px;align-items:center;margin-top:16px;color:var(--accent);font-size:.9rem;font-weight:700;overflow-wrap:anywhere}.preview-link:hover{color:var(--text)}.experience-links{display:flex;gap:10px;margin-top:18px}.experience-links a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:var(--accent-soft);color:var(--accent);transition:background .16s ease,color .16s ease,transform .16s ease}.experience-links a:hover,.experience-links a:focus-visible{background:var(--accent);color:var(--cream);transform:translateY(-1px)}.project-title-line a,.project-private{display:inline-flex;align-items:center;color:var(--dim)}.project-title-line a:hover{color:var(--accent)}.project-private{font-size:.75rem}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag-list span{color:var(--dim);font-size:.76rem}.tag-list span:before{content:"#";color:currentColor}.footer{position:fixed;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;margin-top:0;padding:16px 18px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);color:var(--muted);font-size:.9rem}.footer nav{display:flex;align-items:center;gap:16px;max-width:100%;flex-wrap:wrap;justify-content:center}.footer a,.footer button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0}.footer a:hover,.footer button:hover{color:var(--accent)}@media(max-width:640px){.page{width:min(100% - 28px,760px);padding-top:72px}.top-actions{top:18px;right:14px}.identity{margin-bottom:36px}.footer{align-items:flex-start}.project-stage{grid-template-columns:1fr;gap:18px}.previous-toggle{margin-left:47px}.previous-stage{grid-template-columns:1fr;min-height:0;gap:18px}.current-section.is-expanded{min-height:0}.previous-menu{width:100%}.previous-list{gap:10px}.previous-bubble{max-width:none}.project-list,.project-stage:hover .project-list,.project-stage:focus-within .project-list{transform:none;max-width:none}.project-bubble{width:100%;max-width:none}.project-preview{position:static;min-height:220px;border-radius:22px}.project-stage:hover .project-preview.is-visible,.project-stage:focus-within .project-preview.is-visible{transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}
