:root{--bg:#f6f1f3;--bg-rgb:246,241,243;--bg-alt:#eef2f7;--bg-alt-rgb:238,242,247;--surface:#ffffff;--surface-rgb:255,255,255;--text:#2b1d20;--text-rgb:43,29,32;--muted:#6f5a60;--accent-rgb:142,42,42;--accent:rgb(var(--accent-rgb));--accent-dark:#6f1f1f;--accent-strong:#a13737;--accent-deep:#571616;--accent-strong-hover:#ab4040;--accent-deep-hover:#4a1313;--glass-accent-rgb:126,33,40;--on-accent:#ffffff;--border:rgba(var(--text-rgb),0.12);--shadow:0 14px 30px rgba(var(--text-rgb),0.08);--shadow-strong:0 16px 32px rgba(var(--text-rgb),0.12);--radius:14px;--h1-size:clamp(2.4rem,4vw,3.6rem);--h2-size:clamp(1.45rem,2vw,1.9rem);--h3-size:1.05rem;--subhead-size:clamp(1.1rem,1.6vw,1.4rem);--subhead-minor-size:0.9rem;--brand-first-size:clamp(1.1rem,1.6vw,1.3rem);--brand-last-size:clamp(1.7rem,2.6vw,2.3rem);--nav-size:clamp(0.98rem,1.6vw,1.12rem);--content-width:1080px;--footer-bg:var(--surface);--footer-height:42px;--footer-height-sm:42px;--header-pad:var(--space-4xl);--header-pad-sm:var(--space-3xl);--header-min-height:96px;--header-min-height-sm:88px;--header-offset:calc(var(--header-min-height) + var(--space-md));--text-max:72ch;--text-block-max:75ch;--space-3xs:4px;--space-2xs:6px;--space-xs:10px;--space-sm:12px;--space-md:16px;--space-lg:20px;--space-xl:24px;--space-2xl:28px;--space-3xl:32px;--space-4xl:40px;--space-5xl:48px;--space-6xl:56px;--space-7xl:64px;--section-pad:var(--space-7xl);--section-pad-sm:var(--space-6xl);--accent-soft:rgba(var(--accent-rgb),0.08);--accent-soft-strong:rgba(var(--accent-rgb),0.12);--accent-soft-border:rgba(var(--accent-rgb),0.35);--accent-shadow:rgba(var(--accent-rgb),0.25);--accent-shadow-strong:rgba(var(--accent-rgb),0.3);--glow-strong:rgba(var(--glass-accent-rgb),0.12);--glow-soft:rgba(var(--glass-accent-rgb),0.06);--header-bg:rgba(var(--bg-rgb),0.11);--overlay:rgba(var(--text-rgb),0.45);--stack-offset-1:14px;--stack-offset-2:28px;--stack-scale-1:0.98;--stack-scale-2:0.96;--changelog-item-height:80px;--page-mouse-x:50%;--page-mouse-y:45%;--page-grid-x:0px;--page-grid-y:0px;--page-sheen-angle:18deg;--hero-static-bg:radial-gradient(420px 320px at 18% 18%,rgba(var(--glass-accent-rgb),0.26),transparent 64%),radial-gradient(620px 460px at 76% 12%,rgba(var(--surface-rgb),0.4),transparent 70%),linear-gradient(135deg,rgba(var(--glass-accent-rgb),0.32) 0%,rgba(var(--bg-rgb),0.62) 55%,rgba(var(--surface-rgb),0.86) 100%);--font-sans:var(--font-plex-sans);--font-mono:var(--font-plex-mono);--font-display:var(--font-space-grotesk)}:root[data-theme=navy]{--text:#1a2233;--text-rgb:26,34,51;--muted:#536c85;--accent-rgb:38,91,138;--accent-dark:#1d466c;--accent-strong:#3b78a7;--accent-deep:#16324b;--accent-strong-hover:#4283b3;--accent-deep-hover:#12273a;--glass-accent-rgb:38,91,138}:root[data-theme=pine]{--text:#1f2a21;--text-rgb:31,42,33;--muted:#5d6b5f;--accent-rgb:90,107,63;--accent-dark:#43512f;--accent-strong:#6a7d4a;--accent-deep:#364023;--accent-strong-hover:#738a51;--accent-deep-hover:#2e351d;--glass-accent-rgb:90,107,63}:root[data-theme=sand]{--text:#2c241c;--text-rgb:44,36,28;--muted:#6f6255;--accent-rgb:176,123,75;--accent-dark:#8f6036;--accent-strong:#c18652;--accent-deep:#754a29;--accent-strong-hover:#cb8f5c;--accent-deep-hover:#623e22;--glass-accent-rgb:176,123,75}:root[data-theme=graphite]{--text:#1f2328;--text-rgb:31,35,40;--muted:#666d77;--accent-rgb:84,90,98;--accent-dark:#3a3f45;--accent-strong:#6a707a;--accent-deep:#2a2f35;--accent-strong-hover:#727985;--accent-deep-hover:#20252b;--glass-accent-rgb:84,90,98}:root[data-theme=purple]{--text:#241c2d;--text-rgb:36,28,45;--muted:#6a5d75;--accent-rgb:107,58,126;--accent-dark:#4d2a5c;--accent-strong:#7a4a8f;--accent-deep:#3d2247;--accent-strong-hover:#84519a;--accent-deep-hover:#321b3b;--glass-accent-rgb:107,58,126}*{box-sizing:border-box}body{margin:0;color:var(--text);background:linear-gradient(120deg,var(--bg) 0,var(--bg-alt) 60%,var(--bg) 100%);font-family:var(--font-sans),"Segoe UI",sans-serif;line-height:1.6;letter-spacing:.01em;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}main{flex:1 0 auto}.page-home:not([data-no-footer-float]){padding-bottom:calc(var(--footer-height) + var(--space-md))}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 10%,var(--glow-strong),transparent 45%),radial-gradient(circle at 80% 0,var(--glow-soft),transparent 40%);opacity:.55;pointer-events:none;z-index:-1}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-dark);text-decoration:underline;text-underline-offset:4px}.container{width:min(1080px,100%);margin:0 auto;padding:0 var(--space-xl)}.site-header .container{width:100%;max-width:100%;padding:0}.site-header{border-bottom:1px solid var(--border);background:var(--header-bg);position:fixed;top:0;left:0;right:0;z-index:10;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:0 18px 40px rgba(var(--text-rgb),.06),inset 0 1px 0 rgba(var(--surface-rgb),.35)}.header-inner{display:flex;align-items:center;position:relative;padding:var(--header-pad) 0;min-height:var(--header-min-height)}.header-actions{position:absolute;right:var(--space-lg);top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:var(--space-md)}.site-brand{font-family:var(--font-display),var(--font-sans),sans-serif;font-size:var(--brand-first-size);font-weight:600;letter-spacing:normal;text-transform:uppercase;color:var(--text);text-decoration:none;text-align:right;display:inline-flex;flex-direction:column;align-items:flex-end}.site-brand:hover{color:var(--accent-dark);text-decoration:none}.brand-first{font-size:var(--brand-first-size);font-weight:600;letter-spacing:normal;line-height:1.05}.brand-last{font-size:var(--brand-last-size);font-weight:700;letter-spacing:normal;line-height:.95}.header-cta{white-space:nowrap;border-radius:6px;background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 55%,var(--accent-deep) 100%);border-color:transparent;box-shadow:0 10px 20px rgba(var(--accent-rgb),.22),0 0 0 2px rgba(var(--accent-rgb),.18)}.header-cta:hover{background:linear-gradient(135deg,var(--accent-strong-hover) 0,var(--accent-dark) 60%,var(--accent-deep-hover) 100%)}.site-nav{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:var(--space-md);row-gap:var(--space-2xs);font-family:var(--font-mono),monospace;font-size:var(--nav-size);letter-spacing:.06em;text-transform:uppercase;line-height:1;width:100%;max-width:var(--content-width);margin:0 auto;padding:var(--space-2xs) var(--space-xl)}.site-nav a{padding:var(--space-2xs) var(--space-xs);display:inline-flex;align-items:center}.site-nav a[aria-current=page]{color:var(--accent-dark);font-weight:600;text-decoration:underline;text-underline-offset:6px}.status-badge{font-family:var(--font-mono),monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:var(--space-3xs) var(--space-xs);border-radius:999px;background:var(--accent-soft-strong);border:1px solid var(--accent-soft-border);color:var(--accent-dark);justify-self:end}main{display:block}.section{padding:var(--section-pad) 0;border-top:1px solid var(--border);--reveal-delay:0s}main>.section:first-of-type{border-top:none}.hero{padding-top:calc(var(--space-6xl) + var(--header-offset));position:relative;overflow:hidden;perspective:900px}.page-home .hero{min-height:calc(100vh - var(--header-offset) - 150px);display:flex;align-items:center}.page-home .hero.section{padding-top:calc(var(--space-4xl) + var(--header-offset));padding-bottom:0}.page-home .hero .container{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-sm);min-height:100%}.hero-link{font-family:var(--font-mono),monospace;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding:var(--space-sm) var(--space-xs)}.hero-link:hover{color:var(--accent-dark)}.hero .container{position:relative;z-index:2}.page-home .hero h1{font-size:clamp(2.4rem,3.6vw,3.2rem);letter-spacing:0;max-width:none}.hero-orb{position:absolute;inset:-24%;border-radius:40%;background:radial-gradient(420px 320px at var(--mouse-x,50%) var(--mouse-y,45%),rgba(var(--surface-rgb),.46),rgba(var(--surface-rgb),.12) 36%,transparent 54%),radial-gradient(940px 720px at var(--mouse-x,50%) var(--mouse-y,45%),rgba(var(--glass-accent-rgb),.38),rgba(var(--glass-accent-rgb),.14) 52%,transparent 76%),radial-gradient(1200px 900px at calc(var(--mouse-x, 50%) + 10%) calc(var(--mouse-y, 45%) - 12%),rgba(var(--surface-rgb),.4),transparent 66%),linear-gradient(120deg,rgba(var(--glass-accent-rgb),.22) 0,rgba(var(--bg-rgb),.14) 45%,rgba(var(--text-rgb),.2) 100%);opacity:1;filter:blur(5px) saturate(160%) contrast(105%);box-shadow:0 0 140px rgba(var(--glass-accent-rgb),.22);mix-blend-mode:screen;pointer-events:none;will-change:background;z-index:1}.hero-orb:after,.hero-orb:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.hero-orb:before{inset:-18%;background:linear-gradient(120deg,transparent 16%,rgba(var(--surface-rgb),.68) 42%,rgba(var(--glass-accent-rgb),.24) 58%,transparent 82%),radial-gradient(520px 360px at var(--mouse-x,50%) var(--mouse-y,45%),rgba(var(--surface-rgb),.24),transparent 70%);opacity:.85;mix-blend-mode:screen;filter:blur(6px);transform:translate3d(var(--sheen-shift-x,0),var(--sheen-shift-y,0),0) rotate(var(--sheen-angle,20deg))}.hero-orb:after{inset:-8%;background:repeating-linear-gradient(0deg,rgba(var(--surface-rgb),.2) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,rgba(var(--surface-rgb),.18) 0 1px,transparent 1px 38px);background-position:var(--grid-x,0) var(--grid-y,0),var(--grid-x,0) var(--grid-y,0);mix-blend-mode:screen;opacity:.42;filter:blur(.15px);transform:translate3d(var(--grid-x,0),var(--grid-y,0),0);mask-image:radial-gradient(55% 55% at var(--mouse-x,50%) var(--mouse-y,45%),rgba(0,0,0,.75) 0,transparent 68%);-webkit-mask-image:radial-gradient(55% 55% at var(--mouse-x,50%) var(--mouse-y,45%),rgba(0,0,0,.75) 0,transparent 68%)}.page-hero{padding:calc(var(--space-4xl) + var(--header-offset)) 0 var(--space-4xl);background:radial-gradient(420px 320px at var(--page-mouse-x) var(--page-mouse-y),rgba(var(--glass-accent-rgb),.36),transparent 62%),linear-gradient(135deg,rgba(var(--glass-accent-rgb),.42) 0,rgba(var(--bg-rgb),.52) 50%,rgba(var(--surface-rgb),.7) 100%);border-bottom:1px solid var(--border);position:relative;overflow:hidden;isolation:isolate}.page-hero:after,.page-hero:before{content:"";position:absolute;pointer-events:none;z-index:0}.page-hero:before{inset:-30% -10%;background:radial-gradient(560px 400px at var(--page-mouse-x) var(--page-mouse-y),rgba(var(--surface-rgb),.5),transparent 64%),radial-gradient(880px 560px at calc(var(--page-mouse-x) + 6%) calc(var(--page-mouse-y) - 8%),rgba(var(--glass-accent-rgb),.54),transparent 72%),linear-gradient(120deg,rgba(var(--glass-accent-rgb),.5) 0,rgba(var(--bg-rgb),.34) 45%,rgba(var(--text-rgb),.38) 100%);opacity:1;mix-blend-mode:screen;filter:blur(7px);transform:rotate(var(--page-sheen-angle,18deg))}.page-hero:after{inset:-10%;background:repeating-linear-gradient(0deg,rgba(var(--surface-rgb),.29) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,rgba(var(--surface-rgb),.26) 0 1px,transparent 1px 42px);background-position:var(--page-grid-x,0) var(--page-grid-y,0),var(--page-grid-x,0) var(--page-grid-y,0);opacity:.5;mix-blend-mode:soft-light;filter:blur(.25px);mask-image:radial-gradient(60% 60% at var(--page-mouse-x) var(--page-mouse-y),rgba(0,0,0,.75) 0,transparent 72%);-webkit-mask-image:radial-gradient(60% 60% at var(--page-mouse-x) var(--page-mouse-y),rgba(0,0,0,.75) 0,transparent 72%)}.page-hero .container{position:relative;z-index:1}.page-about{--text-max:100%;--text-block-max:100%}h1,h2,h3{font-family:var(--font-display),var(--font-sans),sans-serif;letter-spacing:.01em;margin-top:0}h1{font-size:var(--h1-size);line-height:1.1;margin-bottom:var(--space-md)}h2{font-size:var(--h2-size);margin-bottom:var(--space-sm)}h3{font-size:var(--h3-size);margin-bottom:var(--space-xs)}p{margin-top:0;margin-bottom:var(--space-md);max-width:var(--text-max)}.lead{font-size:1.05rem;color:var(--text)}.hero-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-sm);margin:var(--space-md) 0 var(--space-xs)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);border-radius:999px;font-family:var(--font-mono),monospace;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,color .2s ease,background .2s ease}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 12px 24px var(--accent-shadow)}.btn.primary:hover{background:var(--accent-dark)}.btn.ghost{color:var(--accent);border-color:var(--accent);background:transparent}.btn.ghost:hover{background:var(--accent-soft)}.microline{font-size:.85rem}.microline,.tool-tags{margin-top:var(--space-sm);color:var(--muted)}.tool-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.tool-tags__label{font-family:var(--font-mono),monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.tool-tags__chips{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.tool-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(var(--surface-rgb),.85);font-size:.72rem;letter-spacing:.04em;color:var(--text);box-shadow:0 8px 14px rgba(var(--text-rgb),.06)}.tool-tag--language{background:rgba(38,122,107,.16);border-color:rgba(38,122,107,.35);color:#1f5c52}.tool-tag--framework{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.35);color:var(--accent-deep)}.tool-tag--tool{background:rgba(var(--text-rgb),.06);border-color:rgba(var(--text-rgb),.16);color:var(--text)}.tool-tag--technique{background:rgba(45,92,167,.14);border-color:rgba(45,92,167,.32);color:#1f365f}.tool-tag--data{background:rgba(176,123,75,.16);border-color:rgba(176,123,75,.32);color:#5a3a1f}.section-intro{color:var(--muted);margin-bottom:var(--space-lg)}.text-block,.text-block p{max-width:var(--text-block-max)}.operate-stack{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);margin-top:var(--space-md)}.operate-card{background:rgba(var(--surface-rgb),.8);border:1px solid rgba(var(--accent-rgb),.16);border-radius:14px;padding:var(--space-md) var(--space-lg);box-shadow:0 12px 28px rgba(var(--text-rgb),.08),0 0 0 4px rgba(var(--accent-rgb),.06);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}.operate-card p{margin:0}.tldr-block{background:var(--accent-soft);border:1px solid rgba(var(--accent-rgb),.2);border-left:3px solid var(--accent);border-radius:12px;position:relative;z-index:0;padding:var(--space-lg) var(--space-xl);margin:var(--space-xl) 0 var(--space-lg);scroll-margin-top:calc(var(--header-min-height) + var(--space-3xl));overflow:visible;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}.tldr-block:before{content:"";position:absolute;inset:-8px -12px -12px;border-radius:16px;background:radial-gradient(280px 220px at 16% 12%,rgba(var(--accent-rgb),.12),transparent 60%),radial-gradient(320px 240px at 82% 6%,rgba(var(--accent-rgb),.08),transparent 62%);opacity:0;transform:scale(.98);filter:blur(8px);pointer-events:none;transition:opacity .5s ease,transform .5s ease,filter .5s ease}.tldr-block:target{background:linear-gradient(135deg,rgba(var(--accent-rgb),.06),rgba(var(--accent-rgb),.025)),var(--accent-soft);border-color:rgba(var(--accent-rgb),.32);border-left-width:3px;box-shadow:0 6px 18px rgba(var(--text-rgb),.08),0 0 0 4px rgba(var(--accent-rgb),.08)}.tldr-block.tldr-pulse{background:linear-gradient(135deg,rgba(var(--accent-rgb),.08),rgba(var(--accent-rgb),.03)),var(--accent-soft);border-color:rgba(var(--accent-rgb),.35);border-left-width:3px;box-shadow:0 10px 24px rgba(var(--text-rgb),.1),0 0 0 6px rgba(var(--accent-rgb),.1);transform:translateY(-.5px)}.tldr-block.tldr-pulse:before{opacity:1;transform:scale(1.005);filter:blur(5px);animation:tldrBeam .1s ease-out}.tldr-block.tldr-pulse:after{content:"";position:absolute;inset:-10px;border-radius:16px;border:1px solid rgba(var(--accent-rgb),.28);box-shadow:0 0 0 0 rgba(var(--accent-rgb),.24);opacity:0;pointer-events:none;animation:tldrPulse .1s ease-out}.tldr-block.tldr-pulse .tldr-label{color:var(--accent);text-shadow:0 6px 18px rgba(var(--accent-rgb),.28)}.tldr-label{font-family:var(--font-mono),monospace;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--accent-dark);margin-bottom:var(--space-xs)}.tldr{font-size:1rem;color:var(--text);margin-bottom:0}.tldr-block.tldr-pulse .tldr{color:var(--accent-deep)}@keyframes tldrBeam{0%{opacity:.24;transform:scale(.985);filter:blur(8px)}55%{opacity:.6;transform:scale(1);filter:blur(5px)}to{opacity:.36;transform:scale(1.01);filter:blur(8px)}}@keyframes tldrPulse{0%{opacity:.35;transform:scale(.994);box-shadow:0 0 0 0 rgba(var(--accent-rgb),.1)}55%{opacity:.18;transform:scale(1.004);box-shadow:0 0 0 6px rgba(var(--accent-rgb),.06)}to{opacity:0;transform:scale(1.014);box-shadow:0 0 0 10px rgba(var(--accent-rgb),0)}}@media (prefers-reduced-motion:reduce){.tldr-block.tldr-pulse:after{animation:none;opacity:1;box-shadow:0 0 0 14px rgba(var(--accent-rgb),.14)}.tldr-block.tldr-pulse:before{animation:none}}.subhead{font-size:var(--subhead-size);font-weight:500;letter-spacing:.01em;margin-top:var(--space-xl);margin-bottom:var(--space-xs);color:var(--text)}.role .subhead{font-size:var(--subhead-minor-size);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:var(--space-lg);margin-bottom:var(--space-2xs);padding-left:var(--space-sm);border-left:2px solid var(--accent)}.now-line{font-size:.9rem;color:var(--muted);max-width:70ch}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.page-projects #how-i-build{scroll-margin-top:calc(var(--header-offset) + var(--space-lg))}.page-about .principles-section{display:none}.principles-scroller{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:var(--space-md);gap:var(--space-md)}.principles-viewport{display:grid;align-items:start;padding:var(--space-2xs) var(--space-2xs) calc(var(--space-2xs) + var(--stack-offset-2)) 0}.principles-item{grid-area:1/1;position:relative;opacity:0;transform:translateY(var(--stack-offset-2)) scale(var(--stack-scale-2));transition:transform .25s ease,opacity .25s ease;pointer-events:none}.principles-item[data-state=active]{opacity:1;transform:translateY(0) scale(1);z-index:3;pointer-events:auto}.principles-item[data-state=next]{opacity:.7;transform:translateY(var(--stack-offset-1)) scale(var(--stack-scale-1));z-index:2}.principles-item[data-state=next-2]{opacity:.45;transform:translateY(var(--stack-offset-2)) scale(var(--stack-scale-2));z-index:1}.principles-item[data-state=hidden]{opacity:0;z-index:0}.scroll-arrow{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;width:var(--space-4xl);height:var(--space-4xl);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono),monospace;font-size:.9rem;cursor:pointer;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.scroll-arrow:hover{transform:translateY(-1px);box-shadow:var(--shadow-strong)}.scroll-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg);box-shadow:var(--shadow)}.card p{max-width:none}.metric{display:inline-block;font-weight:600;font-size:1.08rem;color:var(--text)}.stack{display:grid;grid-gap:var(--space-lg);gap:var(--space-lg)}.role-block{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm)}.role-title{font-size:var(--h2-size);margin:0;letter-spacing:.02em}.metrics-list{margin:0 0 var(--space-md);padding:0;list-style:none}.metrics-list li{position:relative;padding-left:var(--space-lg);line-height:1.6;margin-bottom:var(--space-2xs)}.metrics-list li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.travel-map{--map-origin-rgb:118,48,88;--map-home-rgb:38,122,107;--map-lived-rgb:200,113,49;--map-studied-rgb:45,92,167;--map-visited-rgb:94,98,110;--travel-map-row-height:66px;--travel-map-row-gap:var(--space-xs);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-gap:var(--space-xl);gap:var(--space-xl);align-items:start;position:relative;z-index:0}.travel-map__map{height:clamp(320px,56vh,520px);border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow-strong);overflow:hidden;background:radial-gradient(340px 240px at 15% 20%,rgba(var(--glass-accent-rgb),.16),transparent 60%),linear-gradient(135deg,rgba(var(--surface-rgb),.96),rgba(var(--bg-rgb),.88))}.travel-map__panel{display:grid;grid-gap:var(--space-md);gap:var(--space-md);width:100%}.travel-map__intro{margin:0;color:var(--muted)}.travel-map__filters{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs)}.travel-map__list-toggle{display:none;align-items:center;gap:var(--space-xs);font-family:var(--font-mono),monospace;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:rgba(var(--surface-rgb),.9);border:1px solid var(--border);border-radius:10px;padding:var(--space-2xs) var(--space-sm);cursor:pointer;box-shadow:0 10px 20px rgba(var(--text-rgb),.08)}.travel-map__list-toggle .travel-map__chevron{position:static;width:10px;height:10px;transform:rotate(-90deg);opacity:.7}.travel-map__list-toggle[data-open=true] .travel-map__chevron{transform:rotate(0deg)}.travel-map__filter-row{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.travel-map__filter{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(var(--surface-rgb),.7);font-family:var(--font-mono),monospace;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.travel-map__filter:hover{background:rgba(var(--surface-rgb),.95);color:var(--text)}.travel-map__filter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.travel-map__filter[data-active=true]{border-color:var(--filter-color);box-shadow:0 0 0 2px var(--filter-ring);background:rgba(var(--surface-rgb),.98);color:var(--text)}.travel-map__filter--origin{--filter-color:rgb(var(--map-origin-rgb));--filter-ring:rgba(var(--map-origin-rgb),0.28)}.travel-map__filter--home{--filter-color:rgb(var(--map-home-rgb));--filter-ring:rgba(var(--map-home-rgb),0.26)}.travel-map__filter--lived{--filter-color:rgb(var(--map-lived-rgb));--filter-ring:rgba(var(--map-lived-rgb),0.26)}.travel-map__filter--studied{--filter-color:rgb(var(--map-studied-rgb));--filter-ring:rgba(var(--map-studied-rgb),0.26)}.travel-map__filter--visited{--filter-color:rgb(var(--map-visited-rgb));--filter-ring:rgba(var(--map-visited-rgb),0.24)}.travel-map__filter-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.travel-map__filter-action{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:999px;padding:4px 10px;font-family:var(--font-mono),monospace;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.travel-map__filter-action:hover{background:rgba(var(--surface-rgb),.95);border-color:rgba(var(--accent-rgb),.4);color:var(--text)}.travel-map__filter-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.travel-map__filter-action:disabled{cursor:not-allowed;opacity:.55}.travel-map__list[hidden]{display:none}.travel-map__list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-md);gap:var(--space-md);max-height:calc((var(--travel-map-row-height) * 5) + (var(--travel-map-row-gap) * 4));overflow-y:auto;padding-right:var(--space-2xs)}.travel-map__group{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs)}.travel-map__group+.travel-map__group{padding-top:var(--space-xs);border-top:1px solid var(--border)}.travel-map__group-toggle{display:flex;align-items:center;gap:var(--space-xs);width:100%;border:1px solid var(--border);border-radius:10px;padding:6px 10px;background:rgba(var(--surface-rgb),.75);color:var(--text);font-family:var(--font-mono),monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.travel-map__group-toggle:hover{background:rgba(var(--surface-rgb),.95);border-color:rgba(var(--accent-rgb),.4);transform:translateY(-1px)}.travel-map__group-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.travel-map__group-body{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs);padding-top:var(--space-2xs)}.travel-map__group-body[hidden],.travel-map__subgroup-body[hidden]{display:none}.travel-map__group-title{font-weight:600}.travel-map__subgroup{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs)}.travel-map__subgroup[data-level=state]{padding-left:var(--space-xs);border-left:1px solid var(--border)}.travel-map__subgroup-toggle{display:flex;align-items:center;gap:var(--space-xs);width:100%;border:1px solid transparent;border-radius:8px;padding:4px 8px;background:transparent;color:var(--muted);font-family:var(--font-mono),monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;text-align:left;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.travel-map__subgroup-toggle:hover{background:rgba(var(--surface-rgb),.85);border-color:rgba(var(--accent-rgb),.2);color:var(--text)}.travel-map__subgroup-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.travel-map__subgroup-body{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs)}.travel-map__subgroup-title{font-weight:600}.travel-map__count{margin-left:auto;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:rgba(var(--surface-rgb),.9);color:var(--text);font-size:.65rem;letter-spacing:normal;text-transform:none}.travel-map__chevron{width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg);transition:transform .2s ease;opacity:.6}.travel-map__group[data-open=true]>.travel-map__group-toggle .travel-map__chevron,.travel-map__subgroup[data-open=true]>.travel-map__subgroup-toggle .travel-map__chevron{transform:rotate(45deg)}.travel-map__stop-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;grid-gap:var(--space-xs) var(--space-sm);gap:var(--space-xs) var(--space-sm)}.travel-map__button{width:100%;text-align:left;border:1px solid var(--border);background:rgba(var(--surface-rgb),.9);border-radius:12px;padding:var(--space-xs) var(--space-sm);display:grid;grid-template-columns:auto 1fr;grid-gap:var(--space-xs);gap:var(--space-xs);align-items:center;font-family:var(--font-sans),"Segoe UI",sans-serif;color:var(--text);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.travel-map__button:hover{border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--surface-rgb),.98);transform:translateY(-1px)}.travel-map__button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.travel-map__button[data-active=true]{border-color:rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.08);box-shadow:0 10px 20px rgba(var(--accent-rgb),.18)}.travel-map__copy{display:grid;grid-gap:2px;gap:2px}.travel-map__name{font-weight:600}.travel-map__meta{font-family:var(--font-mono),monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.travel-map__dot,.travel-map__marker{--marker-color:rgb(var(--map-visited-rgb));--marker-ring:rgba(var(--map-visited-rgb),0.28)}.travel-map__marker{width:18px;height:18px;box-shadow:0 0 0 4px var(--marker-ring),0 8px 16px rgba(var(--text-rgb),.2)}.travel-map__dot,.travel-map__marker{border-radius:999px;border:2px solid var(--surface);background:var(--marker-color)}.travel-map__dot{width:10px;height:10px;box-shadow:0 0 0 2px var(--marker-ring);flex:0 0 auto}.travel-map__dot--origin,.travel-map__marker--origin{--marker-color:rgb(var(--map-origin-rgb));--marker-ring:rgba(var(--map-origin-rgb),0.35)}.travel-map__dot--home,.travel-map__marker--home{--marker-color:rgb(var(--map-home-rgb));--marker-ring:rgba(var(--map-home-rgb),0.3)}.travel-map__dot--lived,.travel-map__marker--lived{--marker-color:rgb(var(--map-lived-rgb));--marker-ring:rgba(var(--map-lived-rgb),0.28)}.travel-map__dot--studied,.travel-map__marker--studied{--marker-color:rgb(var(--map-studied-rgb));--marker-ring:rgba(var(--map-studied-rgb),0.25)}.travel-map__dot--visited,.travel-map__marker--visited{--marker-color:rgb(var(--map-visited-rgb));--marker-ring:rgba(var(--map-visited-rgb),0.24)}.travel-map__empty{margin:0;color:var(--muted)}.travel-map .leaflet-container{font-family:var(--font-sans),"Segoe UI",sans-serif;background:var(--bg-alt)}.travel-map .leaflet-control-zoom a{background:rgba(var(--surface-rgb),.95);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow)}.travel-map .leaflet-control-zoom a:hover{background:var(--accent-soft)}.travel-map .leaflet-control-zoom a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.travel-map .leaflet-control-attribution{background:rgba(var(--surface-rgb),.82);color:var(--muted);border-radius:8px;padding:2px 6px;margin:var(--space-xs);border:1px solid var(--border);font-family:var(--font-mono),monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.travel-map .leaflet-control-attribution a{color:var(--accent-dark)}.travel-map .leaflet-popup-content-wrapper{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.travel-map .leaflet-popup-content{margin:var(--space-sm) var(--space-md);font-family:var(--font-sans),"Segoe UI",sans-serif}.travel-map .leaflet-popup-tip{background:var(--surface);border:1px solid var(--border)}.role-divider{border:none;border-top:1px solid var(--border);margin:var(--space-lg) 0}.role-meta{font-family:var(--font-mono),monospace;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.role-note{font-size:.85rem;color:var(--muted)}.contact-links{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.callout{background:var(--accent-soft);border-left:3px solid var(--accent);padding:var(--space-md) var(--space-lg);border-radius:10px;margin-bottom:var(--space-lg);text-align:left;display:flex;align-items:center}.build-log{padding-top:var(--space-sm)}.build-log-section{padding-top:0;margin-top:0;border-top:none}.build-log summary{display:flex;align-items:baseline;gap:var(--space-sm);cursor:pointer;list-style:none;position:relative;padding-left:0}.build-log summary::-webkit-details-marker{display:none}.build-log__summary{display:flex;align-items:baseline;gap:var(--space-sm)}.build-log__summary h2{margin:0;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.build-log__hint{color:var(--muted);font-size:.9rem}.build-log__chevron{position:static;width:.9em;height:.9em;border-right:2px solid;border-bottom:2px solid;transform:rotate(-90deg);opacity:.7;transition:transform .2s ease,opacity .2s ease}.build-log[open] .build-log__chevron{transform:rotate(0deg);opacity:.9}.build-log[open] .changelog{margin-top:var(--space-sm)}.changelog{list-style:none;padding:0;margin:0;display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);max-height:min(50vh,calc((var(--changelog-item-height) * 3) + (var(--space-sm) * 2)));overflow-y:auto;padding-right:var(--space-2xs);-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;overscroll-behavior:contain}.changelog li{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:var(--space-sm) var(--space-md);min-height:var(--changelog-item-height);border-radius:10px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.microtext{font-family:var(--font-mono),monospace;font-size:.78rem;color:var(--muted);letter-spacing:.03em}.low-memory .section .container{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.low-memory .card{transition:none!important}.low-memory .card:hover{transform:none;box-shadow:var(--shadow)}.low-memory .hero .hero-orb{display:none!important}.low-memory .hero,.low-memory .page-hero{background:var(--hero-static-bg)!important}.low-memory .page-hero:after,.low-memory .page-hero:before{display:none!important}.low-memory *{animation:none!important;animation-duration:0s!important;animation-iteration-count:1!important;transition:none!important}.low-memory .tldr-block.tldr-pulse:after{animation:tldrPulse .1s ease!important}.low-memory .tldr-block.tldr-pulse{box-shadow:0 14px 32px rgba(var(--text-rgb),.12),0 0 0 8px rgba(var(--accent-rgb),.18)}body:not(.motion-ready) .hero .hero-orb{display:none}body:not(.motion-ready) .hero,body:not(.motion-ready) .page-hero{background:var(--hero-static-bg)!important}body:not(.motion-ready) .page-hero:after,body:not(.motion-ready) .page-hero:before{display:none}.low-memory-banner{position:fixed;bottom:var(--space-md);right:var(--space-md);width:min(360px,calc(100% - var(--space-2xl)));background:linear-gradient(135deg,rgba(var(--surface-rgb),.92),rgba(var(--bg-rgb),.85)),radial-gradient(320px 220px at 12% 20%,rgba(var(--glass-accent-rgb),.12),transparent 70%);border:1px solid rgba(var(--accent-rgb),.28);border-left:3px solid var(--accent);padding:var(--space-sm) var(--space-md);border-radius:12px;color:var(--text);box-shadow:0 18px 36px rgba(var(--text-rgb),.18),0 0 0 6px rgba(var(--accent-rgb),.08);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);z-index:70;display:flex;align-items:center;gap:var(--space-sm)}.low-memory-banner__close{margin-left:auto;background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:999px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.low-memory-banner__close:focus-visible,.low-memory-banner__close:hover{background:var(--accent-soft);color:var(--text);border-color:rgba(var(--accent-rgb),.4)}@media (max-width:720px){.low-memory-banner{display:none}}body.modal-open,body.nav-open{overflow:hidden}body.nav-open .site-footer,body.nav-open main{filter:blur(2px) saturate(.95)}.contact-modal{position:fixed;inset:0;display:grid;place-items:center;padding:var(--space-2xl);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:50}.contact-modal.is-open{opacity:1;pointer-events:auto}.contact-modal__overlay{position:absolute;inset:0;background:rgba(var(--text-rgb),.52);backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%)}.contact-modal__panel{position:relative;width:min(600px,100%);background:linear-gradient(135deg,rgba(var(--surface-rgb),.94),rgba(var(--bg-rgb),.78));border:1px solid rgba(var(--accent-rgb),.24);border-radius:calc(var(--radius) + 2px);padding:var(--space-2xl);box-shadow:0 24px 60px rgba(var(--text-rgb),.18),inset 0 1px 0 rgba(var(--surface-rgb),.75);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);overflow:hidden;z-index:1}.contact-modal__panel:before{content:"";position:absolute;inset:1px;border-radius:calc(var(--radius) + 1px);background:radial-gradient(200px 120px at 12% 0,rgba(var(--accent-rgb),.2),transparent 70%),radial-gradient(220px 160px at 85% 15%,rgba(var(--surface-rgb),.6),transparent 70%);pointer-events:none;z-index:0}.contact-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm);position:relative;z-index:1}.contact-modal__close{border:1px solid var(--border);background:rgba(var(--surface-rgb),.8);color:var(--text);border-radius:8px;width:var(--space-4xl);height:var(--space-4xl);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono),monospace;font-size:.9rem;cursor:pointer}.contact-modal__intro{color:var(--muted);margin-bottom:var(--space-lg);position:relative;z-index:1}.contact-modal__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--space-md);gap:var(--space-md);position:relative;z-index:1}.contact-modal__card{background:rgba(var(--surface-rgb),.82);border:1px solid var(--border);border-radius:12px;padding:var(--space-md);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--space-xs)}.contact-modal__label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.contact-modal__label,.contact-modal__value{font-family:var(--font-mono),monospace;margin:0}.contact-modal__value{font-weight:500;color:var(--text);word-break:break-word;background:rgba(var(--text-rgb),.04);border:1px solid rgba(var(--text-rgb),.1);border-radius:8px;padding:6px 10px;font-size:.85rem}.contact-modal__link{color:inherit;text-decoration:none}.contact-modal__link:hover{color:inherit}.contact-modal__cta{margin-top:var(--space-xs);border-radius:8px;letter-spacing:.06em}.contact-modal__card{align-items:flex-start}.contact-modal__cta{margin-top:auto;align-self:center;width:100%;max-width:220px}.theme-switcher{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs);font-family:var(--font-mono),monospace}.theme-switcher__toggle{border:1px solid rgba(var(--accent-rgb),.4);background:linear-gradient(135deg,rgba(var(--accent-rgb),.18),rgba(var(--surface-rgb),.92));color:var(--text);border-radius:12px;padding:var(--space-sm) var(--space-lg);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-xs);box-shadow:0 12px 20px rgba(var(--text-rgb),.12)}.theme-switcher__icon{width:18px;height:18px;border-radius:999px;background:conic-gradient(#8e2a2a,#2f4f77,#5a6b3f,#b07b4b,#545a62,#6b3a7e,#8e2a2a);border:1px solid rgba(var(--text-rgb),.18);box-shadow:0 0 0 2px rgba(var(--surface-rgb),.6)}.theme-switcher__panel{position:absolute;right:0;bottom:calc(100% + var(--space-xs));width:230px;background:rgba(var(--surface-rgb),.96);border:1px solid var(--border);border-radius:12px;padding:var(--space-sm);box-shadow:var(--shadow);display:grid;grid-gap:var(--space-2xs);gap:var(--space-2xs);opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.theme-switcher.is-open .theme-switcher__panel{opacity:1;transform:translateY(0);pointer-events:auto}.theme-switcher__option{border:1px solid transparent;background:transparent;color:var(--text);border-radius:10px;padding:var(--space-xs) var(--space-sm);display:flex;align-items:center;gap:var(--space-xs);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.theme-switcher__option[data-active=true]{background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.3);color:var(--accent-dark)}.theme-switcher__swatch{width:12px;height:12px;border-radius:999px;background:var(--swatch);box-shadow:0 0 0 1px rgba(var(--text-rgb),.15);flex:0 0 auto}.site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.site-footer{border-top:1px solid var(--border);background:var(--header-bg);min-height:var(--footer-height);display:flex;align-items:center;padding:var(--space-3xs) 0}.page-home:not([data-no-footer-float])~.site-footer{position:fixed;bottom:0;left:0;right:0;z-index:20;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:0 -18px 40px rgba(var(--text-rgb),.06),inset 0 1px 0 rgba(var(--surface-rgb),.35)}.mobile-menu-button{display:none;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:6px;border:1px solid rgba(var(--accent-rgb),.35);background:linear-gradient(135deg,rgba(var(--accent-rgb),.22),rgba(var(--surface-rgb),.92));color:var(--accent-deep);font-family:var(--font-mono),monospace;font-size:.75rem;font-weight:600;letter-spacing:.12em;line-height:1;text-transform:uppercase;cursor:pointer;position:absolute;left:var(--space-lg);top:50%;transform:translateY(-50%);z-index:11;box-shadow:0 10px 20px rgba(var(--accent-rgb),.18),0 0 0 2px rgba(var(--accent-rgb),.08)}.mobile-menu-button:before{content:"";display:inline-block;width:16px;height:12px;background:linear-gradient(currentColor 0 0) 0 0/100% 2px no-repeat,linear-gradient(currentColor 0 0) 0/100% 2px no-repeat,linear-gradient(currentColor 0 0) 0 100%/100% 2px no-repeat}.mobile-drawer{position:fixed;inset:0;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:40}.mobile-drawer.is-open{opacity:1;pointer-events:auto}.mobile-drawer__overlay{position:absolute;inset:0;background:var(--overlay)}.mobile-drawer__panel{position:absolute;top:0;left:0;height:100%;width:min(320px,88vw);background:var(--surface);border-right:1px solid var(--border);box-shadow:10px 0 30px rgba(var(--text-rgb),.12);padding:var(--space-2xl) var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);transform:translateX(-8%);transition:transform .2s ease}.mobile-drawer.is-open .mobile-drawer__panel{transform:translateX(0)}.mobile-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.mobile-drawer__title{font-family:var(--font-display),var(--font-sans),sans-serif;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase}.mobile-drawer__close{border:1px solid var(--border);background:var(--surface);padding:var(--space-xs) var(--space-sm);border-radius:6px;font-size:.75rem;letter-spacing:.12em;cursor:pointer}.mobile-drawer__close,.mobile-drawer__nav{font-family:var(--font-mono),monospace;text-transform:uppercase}.mobile-drawer__nav{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);letter-spacing:.08em}.mobile-drawer__nav a{padding:var(--space-sm) var(--space-md);border-radius:8px;background:rgba(var(--accent-rgb),.08);border:1px solid rgba(var(--accent-rgb),.15);color:var(--text)}.mobile-drawer__nav a[aria-current=page]{color:var(--accent-dark);border-color:rgba(var(--accent-rgb),.3)}.mobile-drawer__theme{margin-top:auto;align-self:flex-start}.mobile-drawer .theme-switcher{align-items:flex-start}.mobile-drawer .theme-switcher__panel{left:0;right:auto;top:auto;bottom:calc(100% + var(--space-xs));width:min(230px,88vw)}@media (prefers-reduced-motion:no-preference){body.motion-ready:not(.low-memory) .section .container{opacity:0;transform:translateY(10px);animation:fadeUp .6s ease forwards;animation-delay:var(--reveal-delay)}body.motion-ready:not(.low-memory) .section:nth-of-type(2){--reveal-delay:0.05s}body.motion-ready:not(.low-memory) .section:nth-of-type(3){--reveal-delay:0.1s}body.motion-ready:not(.low-memory) .section:nth-of-type(4){--reveal-delay:0.15s}body.motion-ready:not(.low-memory) .section:nth-of-type(5){--reveal-delay:0.2s}body.motion-ready:not(.low-memory) .card{transition:transform .2s ease,box-shadow .2s ease}body.motion-ready:not(.low-memory) .card:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}}@media (prefers-reduced-motion:reduce){.section .container{opacity:1;transform:none;animation:none}.hero-orb{transition:none}.hero-orb,.hero-orb:after,.hero-orb:before{transform:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:820px){.site-nav{display:none}.mobile-menu-button{display:inline-flex}}@media (max-width:960px){.travel-map{grid-template-columns:1fr}.travel-map__map{height:clamp(280px,50vh,420px)}.travel-map__list-toggle{display:inline-flex}.travel-map__list{max-height:calc((var(--travel-map-row-height) * 5) + (var(--travel-map-row-gap) * 4))}}@media (min-width:960px){.travel-map__stop-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){:root{--header-offset:calc(var(--header-min-height-sm) + var(--space-sm))}.header-inner{display:flex;align-items:center;justify-content:center;padding:var(--header-pad-sm) 0;min-height:var(--header-min-height-sm)}.header-actions{position:absolute;right:var(--space-lg);top:50%;transform:translateY(-50%);align-items:flex-end;gap:var(--space-xs);padding:0;text-align:right}.site-nav{gap:var(--space-sm);row-gap:var(--space-3xs);width:100%;max-width:100%;margin:0;padding:var(--space-2xs) var(--space-lg);justify-content:center}h1{font-size:clamp(2rem,7vw,2.8rem)}.page-home .hero h1{font-size:clamp(2rem,6vw,2.6rem)}.page-home .hero{min-height:calc(78vh - var(--header-offset));align-items:center}.section{padding:var(--section-pad-sm) 0}.hero{padding-top:calc(var(--space-4xl) + var(--header-offset))}.build-log-section{padding-top:var(--space-2xs)}.page-hero{padding:calc(var(--header-offset) + var(--space-3xl)) 0 var(--space-3xl)}.principles-scroller{grid-template-columns:1fr}.scroll-arrow{width:100%;height:auto;padding:var(--space-xs) 0}.contact-modal{padding:var(--space-lg)}.contact-modal__panel{padding:var(--space-xl)}.contact-modal__cards{grid-template-columns:1fr}.theme-switcher__panel{width:200px}.site-footer__inner{flex-direction:column;align-items:flex-start}.site-footer .theme-switcher{display:none}.site-footer{min-height:var(--footer-height-sm);padding:var(--space-3xs) 0;background:var(--footer-bg);border-top:1px solid var(--border)}.page-home:not([data-no-footer-float])~.site-footer,.site-footer{position:static;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.page-home:not([data-no-footer-float]),body,main{padding-bottom:0}.tldr-block{scroll-margin-top:calc(var(--header-min-height-sm) + var(--space-2xl))}}@media (max-width:600px){:root{--header-pad-sm:var(--space-2xl);--header-min-height-sm:72px;--section-pad-sm:var(--space-5xl);--nav-size:clamp(0.9rem,3.6vw,1rem);--brand-first-size:clamp(1rem,4vw,1.1rem);--brand-last-size:clamp(1.4rem,6vw,1.8rem);--changelog-item-height:120px;--header-offset:calc(var(--header-min-height-sm) + var(--space-sm))}.header-actions{right:var(--space-md)}.site-nav{flex-wrap:wrap;overflow-x:visible;gap:var(--space-xs);row-gap:var(--space-2xs);padding:var(--space-xs) var(--space-md);justify-content:center;display:none}.changelog li{-webkit-line-clamp:4}.site-nav a{padding:var(--space-xs) var(--space-sm);white-space:nowrap}.hero-orb{opacity:.7}.card{padding:var(--space-md)}.page-hero{padding:calc(var(--header-offset) + var(--space-2xl)) 0 var(--space-3xl)}}.transcript-preview{margin:var(--space-lg) 0 0;width:min(100%,460px)}.transcript-preview__link{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs);text-decoration:none;color:inherit;cursor:zoom-in;border:0;background:none;padding:0;text-align:left;font:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.transcript-preview__link:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:calc(var(--radius) + 8px)}.transcript-preview__frame{position:relative;padding:var(--space-sm);border-radius:calc(var(--radius) + 6px);background:linear-gradient(150deg,rgba(var(--surface-rgb),.95),rgba(var(--surface-rgb),.7));border:1px solid rgba(var(--text-rgb),.14);box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}.transcript-preview__frame:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(var(--accent-rgb),.18),transparent 55%);opacity:.35;pointer-events:none;z-index:0}.transcript-preview__sheet{position:relative;z-index:1;aspect-ratio:8.5/11;border-radius:calc(var(--radius) - 2px);overflow:hidden;background:linear-gradient(180deg,#ffffff,#f6f3f4);border:1px solid rgba(var(--text-rgb),.08)}.transcript-preview__sheet:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),transparent 35%);pointer-events:none}.transcript-preview__doc{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;pointer-events:none}.transcript-preview__cta{justify-self:start;display:inline-flex;align-items:center;gap:var(--space-2xs);padding:6px 12px;border-radius:999px;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-dark);background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.3);transition:transform .2s ease,background .2s ease,color .2s ease}.transcript-preview__link:focus-visible .transcript-preview__frame,.transcript-preview__link:hover .transcript-preview__frame{transform:translateY(-3px) rotate(-.3deg);box-shadow:var(--shadow-strong)}.transcript-preview__link:focus-visible .transcript-preview__cta,.transcript-preview__link:hover .transcript-preview__cta{background:rgba(var(--accent-rgb),.18);color:var(--accent-deep);transform:translateY(-1px)}.transcript-preview__caption{margin-top:var(--space-xs);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.transcript-modal{position:fixed;inset:0;display:grid;place-items:center;padding:var(--transcript-pad);--transcript-pad:clamp(16px,4vw,36px);--transcript-vw:100vw;--transcript-vh:100vh;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:80;overflow:hidden}.transcript-modal.is-open,.transcript-modal:target{opacity:1;pointer-events:auto}body:has(.transcript-modal:target){overflow:hidden}@supports (height:100dvh){.transcript-modal{--transcript-vw:100dvw;--transcript-vh:100dvh}}.transcript-modal__overlay{position:absolute;inset:0;background:rgba(var(--text-rgb),.52);backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%);display:block}.transcript-modal__panel{position:relative;width:min(calc(var(--transcript-vw) - (var(--transcript-pad) * 2)),calc((var(--transcript-vh) - (var(--transcript-pad) * 2)) * 8.5 / 11));height:min(calc(var(--transcript-vh) - (var(--transcript-pad) * 2)),calc((var(--transcript-vw) - (var(--transcript-pad) * 2)) * 11 / 8.5));background:transparent;z-index:1}.transcript-modal__doc{width:100%;height:100%;display:block;background:#ffffff;border-radius:0;box-shadow:none;object-fit:contain}.transcript-modal__close{position:fixed;top:var(--space-2xl);right:var(--space-2xl);width:36px;height:36px;display:grid;place-items:center;border-radius:999px;background:rgba(var(--surface-rgb),.88);border:1px solid rgba(var(--text-rgb),.22);color:var(--text);text-decoration:none;font-size:1.4rem;line-height:1;box-shadow:0 8px 20px rgba(var(--text-rgb),.18);transition:transform .2s ease,background .2s ease;z-index:2;cursor:pointer}.transcript-modal__close:hover{background:var(--surface);transform:scale(1.02)}.transcript-modal__close:focus,.transcript-modal__close:focus-visible,.transcript-modal__close:visited{text-decoration:none}.resume-modal__panel{display:grid;grid-template-rows:1fr auto;grid-gap:var(--space-sm);gap:var(--space-sm);padding:var(--space-sm);background:linear-gradient(140deg,rgba(var(--surface-rgb),.96),rgba(var(--surface-rgb),.82));border:1px solid rgba(var(--text-rgb),.16);border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow-strong)}.resume-modal__frame{position:relative;display:grid;align-items:center;justify-items:center;grid-template-rows:1fr auto;grid-gap:var(--space-xs);gap:var(--space-xs);background:#ffffff;border-radius:calc(var(--radius) + 2px);overflow:hidden;border:1px solid rgba(var(--text-rgb),.1);box-shadow:inset 0 1px 0 rgba(var(--surface-rgb),.65)}.resume-modal__frame .transcript-modal__doc{width:100%;height:auto;border:0;object-fit:contain}.resume-modal__actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:var(--space-xs);padding:0 var(--space-2xs)}.resume-modal__actions .btn{padding:10px var(--space-md);font-size:.75rem}.resume-modal__fallback{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs);justify-items:center;padding:var(--space-md);text-align:center;color:var(--muted)}.resume-modal.resume-modal--fallback .transcript-modal__doc,.resume-modal__fallback[hidden]{display:none}.resume-modal.resume-modal--fallback .resume-modal__fallback{display:grid}.resume-modal__fallback img,.resume-modal__fallback-image{max-width:100%;max-height:min(100%,1100px);box-shadow:var(--shadow)}.resume-modal__fallback img,.resume-modal__fallback-image,.resume-modal__image{width:100%;height:auto;object-fit:contain;border-radius:calc(var(--radius) + 2px);border:1px solid rgba(var(--text-rgb),.12)}.resume-modal__image{max-height:min(85vh,1100px);box-shadow:inset 0 1px 0 rgba(var(--surface-rgb),.6)}.resume-modal__hint{margin:0;padding:var(--space-2xs) var(--space-xs);font-size:.85rem;color:var(--muted);text-align:center}@media (max-width:700px){.transcript-preview{width:100%}.transcript-modal{padding:var(--transcript-pad);--transcript-pad:var(--space-lg)}.transcript-modal__panel{width:min(calc(var(--transcript-vw) - (var(--transcript-pad) * 2)),calc((var(--transcript-vh) - (var(--transcript-pad) * 2)) * 8.5 / 11));height:min(calc(var(--transcript-vh) - (var(--transcript-pad) * 2)),calc((var(--transcript-vw) - (var(--transcript-pad) * 2)) * 11 / 8.5))}.transcript-modal__close{top:var(--space-lg);right:var(--space-lg)}}