.theme-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;transition:color .2s,border-color .2s}.theme-toggle:hover{color:var(--fg);border-color:var(--muted)}.theme-toggle svg{transform:none;transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(15deg)}.header{background:var(--bg-header);height:65px;width:100%;border-bottom:1px solid var(--border)}.header-content{max-width:1440px;margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;justify-content:flex-end}@media(min-width:1024px){.header-content{padding:0 40px}}.footer p{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--muted);text-align:center}.avatar{width:45px;height:45px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--border);border-image:none}.link-item{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--muted);position:relative}.link-item:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--accent);transition:width .2s ease}.link-item:hover{opacity:1;color:var(--accent)}.link-item:hover:after{width:100%}.title-location{display:flex;align-items:center;gap:4px;font-size:18px;font-weight:400}.links{display:flex;flex-wrap:wrap;align-items:center;gap:32px}.project{display:flex;flex-direction:column;gap:16px;padding:20px;margin:-20px;border-radius:8px}.project-title{font-size:16px;font-weight:600;color:var(--fg)}.project-desc{font-size:16px;color:var(--muted)}.build{display:flex;flex-direction:column;gap:12px;padding:20px;margin:-20px;border-radius:8px;border:1px solid transparent;transition:border-color .2s,background-color .2s}.build--interactive{cursor:pointer}.build:hover{border-color:var(--border);background:var(--bg-elevated)}.build-header{display:flex;align-items:center;gap:12px}.build-title{font-size:16px;font-weight:600;color:var(--fg)}.build-status{font-family:var(--font-mono);font-size:11px;font-weight:400;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.build-status[data-status=active]{color:var(--accent);background:var(--accent-muted)}.build-status[data-status=shipped]{color:var(--muted);background:var(--bg-elevated);border:1px solid var(--border)}.build-status[data-status=experiment]{color:var(--muted-light);background:transparent;border:1px dashed var(--border)}.build-desc{font-size:15px;color:var(--muted);line-height:1.5}.build-links{display:flex;flex-wrap:wrap;gap:12px}.build-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:13px;font-weight:400;color:var(--muted);width:fit-content}.build-link:hover{color:var(--accent)}.build-link svg{transform:none}.exp-item{display:flex;flex-direction:column;gap:8px}.exp-title{font-size:16px;font-weight:600;color:var(--fg)}.edu-item{display:flex;flex-direction:column;gap:8px}.edu-degree{font-size:14px;font-weight:600;color:var(--fg)}.edu-meta{display:flex;gap:8px;font-family:var(--font-ui);font-size:12px;font-weight:400;color:var(--muted)}.page{max-width:800px;margin:0 auto;padding:55px 24px 80px}.intro{display:flex;flex-direction:column;gap:32px}.top{display:flex;flex-direction:column;gap:16px}.heading{display:flex;align-items:center}.avatar-name{display:flex;align-items:center;gap:16px}.avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--border);border-image:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--border)}.avatar-placeholder{width:52px;height:52px;border-radius:50%;background:var(--muted-light);flex-shrink:0}.name{font-weight:600;font-size:30px;letter-spacing:-.02em;color:var(--fg)}.title-location{display:flex;align-items:center;gap:4px;font-size:18px;font-weight:400;color:var(--muted)}.title-location .sep,.title-location .loc{color:var(--muted-light)}.bio{font-size:16px;color:var(--muted);line-height:1.6}.links{display:flex;flex-wrap:wrap;align-items:center;gap:32px;padding-top:24px;border-top:1px solid var(--border)}.link-item{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--muted)}.link-item svg{width:16px;height:16px;flex-shrink:0}.link-item:first-of-type svg{transform:scaleX(-1) scaleX(-1)}.link-item:hover{color:var(--accent);opacity:.9}.block{display:flex;flex-direction:column;gap:64px}.block.projects{gap:64px}.block.builds{gap:56px}.projects .section-title{margin-bottom:0}.project-tabpanel{display:flex;flex-direction:column;gap:64px}.project{display:flex;flex-direction:column;gap:16px}.project-title{font-size:18px;font-weight:600;color:var(--fg)}.project-desc{font-family:var(--font-display);font-size:16px;color:var(--muted)}.project-role{font-size:14px;font-weight:600;color:var(--muted)}.btn-case{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:flex-start;padding:.5rem 1rem;background:var(--accent);border:1px solid var(--accent);border-radius:6px;box-shadow:var(--btn-shadow);font-family:var(--font-ui);font-size:14px;font-weight:600;color:#fff;text-decoration:none;cursor:pointer;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}.btn-case:hover,.btn-case:visited{color:#fff}.btn-case:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4361ee40}.btn-case:active{transform:translateY(0);box-shadow:var(--btn-shadow)}.btn-case:disabled{cursor:default;opacity:.7;pointer-events:none}.btn-case svg{width:16px;height:16px}.btn-case .lock{opacity:1;stroke:currentColor}.exp-item,.edu-item{display:flex;flex-direction:column;gap:8px}.exp-title,.edu-degree{font-size:16px;font-weight:600;color:var(--fg)}.edu-degree{font-size:16px}.exp-meta{display:flex;gap:8px;font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--muted)}.edu-meta{display:flex;gap:8px;font-family:var(--font-ui);font-size:14px;font-weight:400;color:var(--muted)}.exp-desc{font-size:16px;font-weight:400;color:var(--muted-light)}.annotation{margin:24px 0;padding:16px 20px;background:var(--bg-elevated);border-left:3px solid var(--border);border-radius:0 8px 8px 0}.annotation[data-type=decision]{border-left-color:var(--accent);background:var(--accent-muted)}.annotation[data-type=tradeoff]{border-left-color:#f59e0b;background:#f59e0b1a}.annotation[data-type=constraint]{border-left-color:var(--muted)}.annotation[data-type=learning]{border-left-color:#10b981;background:#10b9811a}.annotation-label{display:block;font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.annotation[data-type=decision] .annotation-label{color:var(--accent)}.annotation[data-type=tradeoff] .annotation-label{color:#f59e0b}.annotation[data-type=constraint] .annotation-label{color:var(--muted)}.annotation[data-type=learning] .annotation-label{color:#10b981}.annotation-content{font-size:14px;color:var(--muted);line-height:1.6;margin:0}.case-study-container{max-width:1440px;margin:0 auto;padding:40px 24px 80px;display:grid;grid-template-columns:1fr;gap:60px}@media(min-width:1024px){.case-study-container{grid-template-columns:1fr 280px;gap:80px;padding:60px 40px 80px}}.case-study-content{min-width:0;max-width:min(800px,70ch);margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--muted);margin-bottom:64px;text-decoration:none;transition:color .2s}.back-link:hover{color:var(--accent)}.back-link svg{width:16px;height:16px;flex-shrink:0;transform:rotate(180deg);transition:transform .2s ease}.back-link:hover svg{transform:translate(4px) rotate(180deg)}.content-label{font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.case-study-title{font-size:36px;font-weight:600;color:var(--fg);margin-bottom:16px;line-height:1.2}@media(min-width:768px){.case-study-title{font-size:48px}}.case-study-tldr{padding:16px 20px;margin-bottom:24px;background:var(--accent-muted);border-left:3px solid var(--accent);border-radius:0 8px 8px 0}.case-study-tldr-label{display:block;font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.case-study-tldr-body{font-size:15px;color:var(--muted);line-height:1.6}.case-study-tldr-body p{margin:0}.case-study-intro{font-size:18px;color:var(--muted);margin-bottom:48px;line-height:1.7}.case-study-section{margin-bottom:64px;scroll-margin-top:100px}.section-heading{font-size:24px;font-weight:600;color:var(--fg);margin-bottom:16px}.section-meta{display:flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:14px;color:var(--muted);margin-bottom:16px}.section-meta svg{width:16px;height:16px}.section-content{font-size:16px;color:var(--muted);line-height:1.7;margin-bottom:24px}.section-content p{margin-bottom:16px}.video-placeholder{width:100%;aspect-ratio:16 / 9;background:var(--bg);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;margin:32px 0;color:var(--muted-light);font-size:14px}.image-placeholder{width:100%;aspect-ratio:16 / 9;background:var(--bg);border:1px solid var(--border);border-radius:8px;margin:32px 0;display:flex;align-items:center;justify-content:center;color:var(--muted-light);font-size:14px}.case-study-media{width:100%;margin:32px 0}.case-study-image{width:100%;height:auto;border-radius:8px;border:1px solid var(--border);display:block;object-fit:contain;background:var(--bg)}.anchor-nav{display:none}@media(min-width:1024px){.anchor-nav{display:block;position:sticky;top:100px;align-self:start;max-height:calc(100vh - 120px);overflow-y:auto}}.anchor-nav-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--fg)}.anchor-nav-header svg{width:16px;height:16px}.anchor-nav-list{list-style:none;display:flex;flex-direction:column;gap:4px}.anchor-nav-item{position:relative}.anchor-nav-link{display:block;font-family:var(--font-ui);font-size:14px;color:var(--muted);transition:color .2s,border-color .2s;border-left:3px solid transparent;padding:8px 12px}.anchor-nav-link:hover{color:var(--fg)}.anchor-nav-item.active .anchor-nav-link{color:var(--fg);border-left-color:var(--accent);font-weight:500}:root{--font-display: "Space Grotesk", system-ui, sans-serif;--font-mono: "Space Mono", monospace;--font-ui: var(--font-mono);--bg: #fafafa;--bg-elevated: #ffffff;--bg-header: #fafafa;--fg: #0f0f0f;--muted: #404040;--muted-light: #737373;--border: #e5e5e5;--btn-bg: #ffffff;--btn-shadow: 0 1px 2px rgba(0, 0, 0, .05);--accent: #4361ee;--accent-hover: #3651d4;--accent-muted: rgba(67, 97, 238, .1);--error: #dc2626}[data-theme=dark]{--bg: #0a0a0a;--bg-elevated: #141414;--bg-header: #0a0a0a;--fg: #ededed;--muted: #b0b0b0;--muted-light: #737373;--border: #262626;--btn-bg: #1a1a1a;--btn-shadow: 0 1px 2px rgba(0, 0, 0, .3);--accent: #6380f5;--accent-hover: #7b93f7;--accent-muted: rgba(99, 128, 245, .15);--error: #f87171}::selection{background:var(--accent);color:#fff}[data-theme=dark] ::selection{background:var(--accent);color:#0a0a0a}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-display);background:var(--bg);color:var(--fg);line-height:1.6;-webkit-font-smoothing:antialiased;text-wrap:pretty}a{color:inherit;text-decoration:none;transition:opacity .2s}a:hover{opacity:.85}.link-item svg{transform:scaleX(-1)}.header{background:var(--bg-header);height:65px;width:100%}.page{max-width:min(800px,70ch);margin:0 auto;padding:55px 24px 80px}@media(min-width:768px){.page{padding-left:0;padding-right:0}}.section-title{font-weight:500;font-size:24px;color:var(--muted)}h1,h2,h3,h4,h5,h6,.section-title,.case-study-title,.section-heading,.project-title,.name{text-wrap:balance}.block{display:flex;flex-direction:column;gap:32px}.footer{background:var(--bg-header);height:65px;width:100%;display:flex;align-items:center;justify-content:center}.footer p{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--muted)}.footer a{text-decoration:underline}
