@import"https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&display=swap";@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2) format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #ebe1d2;--paper: #f7f0e6;--paper-2: #f1e7d8;--ink: #17120e;--muted: #665c53;--line: rgba(23, 18, 14, .16);--line-strong: rgba(23, 18, 14, .3);--accent: #a74c22;--accent-strong: #7f3514;--olive: #2f5140;--void: #18120f;--void-2: #241b16;--void-text: #f6efe4;--void-line: rgba(246, 239, 228, .14);--max-width: 1360px;--mono: "IBM Plex Mono", monospace;--sans: "Space Grotesk", sans-serif;--display: "Archivo", var(--sans)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);font-family:var(--sans);background:linear-gradient(rgba(23,18,14,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(23,18,14,.05) 1px,transparent 1px),radial-gradient(circle at 16% 12%,rgba(167,76,34,.16),transparent 26%),radial-gradient(circle at 84% 18%,rgba(47,81,64,.14),transparent 22%),linear-gradient(180deg,#f2e9dc,#e6dac8);background-size:120px 120px,120px 120px,auto,auto,auto}a{color:inherit;text-decoration:none}button{font:inherit}#root{min-height:100vh}.page-shell{width:min(calc(100% - 28px),var(--max-width));margin:0 auto;padding:18px 0 32px}.page-content{display:grid;gap:28px}.header-bar,.hero-sheet,.projects-section,.resume-section,.footer{border:1px solid var(--line);background:linear-gradient(180deg,#ffffff61,#ffffff1f)}.signals-section{border:1px solid var(--void-line);background:var(--void);color:var(--void-text)}.header-bar,.projects-section,.resume-section,.signals-shell,.footer{padding:24px}.header-bar{display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;gap:16px}.header-brand-block,.header-actions,.top-links,.resume-contact-grid{display:flex;align-items:center;gap:14px}.header-actions,.top-links,.resume-contact-grid{flex-wrap:wrap}.brand,.utility-note,.header-readout,.top-links a,.kicker,.signal-label,.status-badge,.project-order,.project-links a,.project-row-links a,.resume-sheet-tag,.resume-fact-grid span,.resume-contact-grid a,.dossier-tags span,.stack-cloud span,.hero-call-sign{font-family:var(--mono);font-size:.78rem;letter-spacing:.03em}.brand{font-weight:700}.utility-note,.header-readout,.top-links a,.resume-contact-grid a,.resume-fact-grid span,.project-row-meta span,.lead-casefile-meta span{color:var(--muted)}.header-readout{margin:0;line-height:1.5}.header-actions{justify-content:flex-end}.locale-switch{display:inline-flex;border:1px solid var(--line);background:#ffffff75}.locale-button{min-width:42px;min-height:34px;border:0;background:transparent;color:var(--muted);cursor:pointer}.locale-button.is-active{background:var(--ink);color:var(--void-text)}.hero-sheet{display:grid;grid-template-columns:minmax(0,1.26fr) minmax(320px,.74fr)}.hero-sheet-main,.hero-sheet-side,.hero-sheet-foot{padding:26px}.hero-sheet-main{border-right:1px solid var(--line);display:grid;align-content:start}.hero-sheet-side{display:grid;gap:18px;background:linear-gradient(180deg,#a74c220d,#ffffff14)}.hero-sheet-foot{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}.hero-foot-block+.hero-foot-block{border-left:1px solid var(--line);padding-left:26px}.kicker,.signal-label{margin:0 0 14px;color:var(--accent-strong)}.hero-masthead{display:grid;gap:10px}.hero-call-sign{color:var(--accent-strong)}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:700}h1{max-width:11ch;font-size:clamp(3.4rem,7vw,6.8rem);line-height:.9;letter-spacing:-.08em}h2{max-width:18ch;font-size:clamp(2rem,3.3vw,3.3rem);line-height:.96;letter-spacing:-.06em}h3{font-family:var(--display);font-size:1.08rem;line-height:1.05}.hero-summary,.lead-project-blurb,.project-row-summary,.readme-note,.resume-about-note,.resume-note-list li,.resume-highlight-list li,.selected-work-list li span,.selected-work-list li p,.theme-ledger li,.focus-ledger li,.selection-ledger li,.hero-casefile p,.footer{font-size:.98rem;line-height:1.62}.hero-summary,.lead-project-blurb,.project-row-summary,.readme-note,.resume-about-note,.resume-note-list li,.resume-highlight-list li,.selected-work-list li span,.selected-work-list li p,.theme-ledger li,.focus-ledger li,.selection-ledger li,.hero-casefile p,.footer span{color:var(--muted)}.hero-summary{max-width:58ch;margin-top:22px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid var(--line-strong);transition:background-color .18s ease,color .18s ease,border-color .18s ease}.button-primary{background:var(--ink);color:var(--void-text)}.button-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.button-secondary:hover,.top-links a:hover,.project-links a:hover,.project-row-links a:hover,.resume-contact-grid a:hover{color:var(--accent-strong)}.hero-readout{display:grid;border:1px solid var(--line)}.hero-readout-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:14px 16px}.hero-readout-row+.hero-readout-row{border-top:1px solid var(--line)}.hero-readout-row strong,.metric-box strong,.lead-project-stats strong{display:block;font-family:var(--display);font-size:1.75rem;line-height:.95;letter-spacing:-.06em}.hero-casefile{display:grid;gap:12px;padding:18px;border:1px solid var(--line);background:#fffcf775}.hero-casefile h2{max-width:none;font-size:clamp(2rem,3vw,2.8rem)}.hero-casefile-role,.lead-project-role{color:var(--accent-strong)}.focus-ledger,.selection-ledger{margin:0;display:grid;gap:10px}.focus-ledger,.selection-ledger{padding-left:18px}.dossier-tags{display:flex;flex-wrap:wrap;gap:8px}.dossier-tags span,.stack-cloud span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--line);background:#ffffff61}.status-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--line);background:#ffffff70}.section-heading{display:grid;gap:10px;margin-bottom:22px}.footer{display:grid;gap:18px}.footer-main,.footer-block,.footer-meta{display:grid}.footer-main{grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(220px,.85fr));gap:24px}.footer-block{align-content:start;gap:10px}.footer-block--nav,.footer-block--contact{padding-left:18px;border-left:1px solid var(--line)}.footer-brand,.footer-block a{width:fit-content}.footer-brand{font-family:var(--display);font-size:clamp(1.45rem,2vw,1.9rem);font-weight:700;line-height:1;letter-spacing:-.04em}.footer-role{color:var(--accent-strong);font-family:var(--mono);font-size:.76rem;letter-spacing:.04em}.footer-note,.footer-meta span{color:var(--muted)}.footer-note{max-width:34ch}.footer-block a{min-height:28px;color:var(--ink);font-family:var(--mono);font-size:.78rem;letter-spacing:.03em}.footer-block a:hover,.footer-brand:hover{color:var(--accent-strong)}.footer-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:18px;border-top:1px solid var(--line)}.footer-meta span:last-child{text-align:right}@media(max-width:1120px){.header-bar,.hero-sheet{grid-template-columns:1fr}.hero-sheet-main{border-right:0;border-bottom:1px solid var(--line)}.hero-sheet-foot{grid-template-columns:1fr}.hero-foot-block+.hero-foot-block{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:18px}.footer-main{grid-template-columns:1fr}.footer-block--nav,.footer-block--contact{padding-left:0;padding-top:18px;border-left:0;border-top:1px solid var(--line)}}@media(max-width:760px){.page-shell{width:min(calc(100% - 18px),var(--max-width));padding-top:12px}.header-bar,.projects-section,.resume-section,.signals-shell,.footer,.hero-sheet-main,.hero-sheet-side,.hero-sheet-foot{padding:18px}.header-actions,.top-links,.hero-actions,.resume-contact-grid{justify-content:flex-start}h1{font-size:clamp(2.7rem,15vw,4.8rem)}h2{font-size:clamp(1.7rem,8.5vw,2.6rem)}.footer{gap:16px}.footer-main{gap:18px}.footer-meta{grid-template-columns:1fr}.footer-meta span:last-child{text-align:left}}.loading-state{display:grid;place-items:center;min-height:60vh;padding:32px;border:1px solid var(--line);background:#ffffff3d}.loading-state.is-busy{min-height:calc(100vh - 80px);padding:24px;background:linear-gradient(rgba(23,18,14,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(23,18,14,.05) 1px,transparent 1px),linear-gradient(180deg,#ffffff4d,#ffffff24);background-size:48px 48px,48px 48px,auto}.loading-host.is-overlay{position:fixed;inset:0;z-index:40;pointer-events:none;background:#f7f0e6d6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.loading-host.is-overlay .loading-state.is-busy{min-height:100vh;border:0;background:transparent}.loading-shell{width:min(100%,980px);display:grid;gap:16px}.loading-board{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:16px}.loading-visual,.loading-ledger{border:1px solid var(--line);background:#ffffff6b}.loading-visual{position:relative;min-height:360px;overflow:hidden}.loading-canvas{display:block;width:100%;height:100%;filter:saturate(.88) contrast(1.02)}.loading-scan{position:absolute;inset:0 auto 0 -16%;width:20%;background:linear-gradient(90deg,transparent,rgba(247,240,230,.08),rgba(167,76,34,.2),rgba(247,240,230,.08),transparent);filter:blur(10px);transform:skew(-12deg);will-change:transform,opacity}.loading-node-field{position:absolute;inset:0}.loading-node{position:absolute;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 6px #17120e0a;will-change:transform}.loading-node-accent{top:34%;left:22%;background:var(--accent-strong)}.loading-node-olive{top:60%;left:58%;background:var(--olive)}.loading-node-neutral{top:42%;left:74%;background:#17120e6b}.loading-visual:before,.loading-visual:after{position:absolute;content:"";background:#17120e1a}.loading-visual:before{left:50%;top:14%;bottom:14%;width:1px}.loading-visual:after{top:50%;left:14%;right:14%;height:1px}.loading-visual-meta,.loading-ledger-row span,.loading-copy span{font-family:var(--mono);font-size:.74rem;letter-spacing:.03em}.loading-visual-meta{position:absolute;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;padding-top:12px;border-top:1px solid rgba(23,18,14,.12)}.loading-visual-meta strong{font-family:var(--display);font-size:1rem;line-height:1;letter-spacing:-.03em;text-align:right}.loading-ledger{display:grid}.loading-ledger-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px 14px;align-content:center;min-height:90px;padding:14px 16px;will-change:transform,opacity}.loading-ledger-row+.loading-ledger-row{border-top:1px solid var(--line)}.loading-ledger-row span{color:var(--muted)}.loading-ledger-row strong{font-family:var(--display);font-size:1rem;line-height:1.05;letter-spacing:-.03em}.loading-ledger-row p{grid-column:2;margin:0;color:var(--muted);line-height:1.55}.loading-copy{display:grid;gap:6px;justify-items:start;text-align:left}.loading-copy p{margin:0;font-family:var(--display);font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1;letter-spacing:-.04em}.loading-copy span{max-width:62ch;color:var(--muted);line-height:1.5}@media(max-width:860px){.loading-board{grid-template-columns:1fr}.loading-visual{min-height:300px}}@media(max-width:760px){.loading-state.is-busy{min-height:calc(100vh - 52px);padding:18px}.loading-visual{min-height:260px}.loading-ledger-row{min-height:78px;padding:12px 14px}}.error-banner,.error-stage-note span,.error-ledger-card span,.error-rail span{font-family:var(--mono);font-size:.72rem;letter-spacing:.03em}.error-shell{min-height:calc(100vh - 80px);display:grid;align-content:center;gap:18px;padding:clamp(18px,2vw,28px);border:1px solid var(--line);background:linear-gradient(rgba(23,18,14,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(23,18,14,.05) 1px,transparent 1px),linear-gradient(180deg,#ffffff5c,#ffffff24);background-size:44px 44px,44px 44px,auto}.error-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);gap:18px}.error-copy,.error-stage,.error-ledger-card,.error-rails{border:1px solid var(--line);background:#ffffff5c}.error-copy{display:grid;align-content:start;gap:18px;padding:clamp(18px,2vw,28px)}.error-banner{color:var(--accent-strong)}.error-copy h1{max-width:11ch}.error-copy p{margin:0;max-width:56ch;color:var(--muted);line-height:1.65}.error-action-row{display:flex;flex-wrap:wrap;gap:12px}.error-stage{position:relative;min-height:360px;overflow:hidden}.error-stage-grid,.error-stage-reticle,.error-stage-trace{position:absolute}.error-stage-grid{inset:0;background:linear-gradient(rgba(23,18,14,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(23,18,14,.06) 1px,transparent 1px);background-size:28px 28px}.error-stage-reticle{inset:50% auto auto 50%;width:220px;height:220px;border:1px solid rgba(23,18,14,.14);border-radius:50%;transform:translate(-50%,-50%)}.error-stage-reticle:before,.error-stage-reticle:after,.error-stage-trace:before{position:absolute;content:""}.error-stage-reticle:before{inset:24px;border:1px solid rgba(127,53,20,.22);border-radius:50%}.error-stage-reticle:after{left:50%;top:16px;bottom:16px;width:1px;background:#17120e1f}.error-stage-trace{left:6%;right:6%;top:56%;height:1px;background:linear-gradient(90deg,transparent,rgba(127,53,20,.72),transparent);transform:rotate(-10deg)}.error-stage-trace:before{top:-4px;left:68%;width:10px;height:10px;border-radius:50%;background:var(--olive);box-shadow:0 0 0 8px #2f514014}.error-stage-note{position:absolute;left:22px;bottom:22px;z-index:1;max-width:min(320px,calc(100% - 44px));display:grid;gap:10px;padding:14px 16px;border:1px solid rgba(23,18,14,.14);background:#ffffff9e}.error-stage-note strong,.error-ledger-card strong,.error-rail strong{font-family:var(--display);letter-spacing:-.03em}.error-stage-note strong{font-size:1.12rem;line-height:1}.error-stage-note p{margin:0;color:var(--muted);font-family:var(--mono);font-size:.74rem;line-height:1.55;overflow-wrap:anywhere}.error-ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.error-ledger-card{display:grid;align-content:space-between;gap:12px;min-height:108px;padding:14px 16px}.error-ledger-card strong{font-size:1rem;line-height:1.22}.error-rails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.error-rail{display:grid;gap:8px;padding:14px 16px}.error-rail+.error-rail{border-left:1px solid var(--line)}.error-rail strong{font-size:1rem;line-height:1.1}@media(max-width:980px){.error-grid{grid-template-columns:1fr}.error-ledger,.error-rails{grid-template-columns:repeat(2,minmax(0,1fr))}.error-rail:nth-child(3),.error-rail:nth-child(4){border-top:1px solid var(--line)}.error-rail:nth-child(3){border-left:0}}@media(max-width:760px){.error-shell{min-height:calc(100vh - 52px);padding:18px}.error-stage{min-height:320px}.error-ledger,.error-rails{grid-template-columns:1fr}.error-rail+.error-rail{border-left:0;border-top:1px solid var(--line)}}.animated-icon-badge{display:inline-flex;align-items:center;gap:10px}.animated-icon-badge>div{display:inline-flex;align-items:center;justify-content:center}.hero-lab{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff75,#ffffff2e),linear-gradient(135deg,rgba(167,76,34,.04),transparent 45%)}.hero-lab-copy,.hero-lab-visual{position:relative;padding:26px}.hero-lab-copy{z-index:1;display:grid;align-content:center;gap:18px;border-right:1px solid var(--line)}.hero-lab-headline{display:grid;gap:10px}.hero-lab-summary{max-width:48ch;color:var(--muted);font-size:1rem;line-height:1.66}.hero-chip-row{display:flex;flex-wrap:wrap;gap:10px}.hero-chip{min-height:36px;padding:0 12px;border:1px solid var(--line);background:#fff6;font-family:var(--mono);font-size:.76rem;letter-spacing:.03em}.hero-lab-visual{display:grid;gap:16px;align-content:start;background:linear-gradient(180deg,#ffffff0f,#a74c220a)}.hero-orbit{position:absolute;inset:auto auto 18px 18px;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle,rgba(167,76,34,.14),rgba(167,76,34,.02) 58%,transparent 72%);filter:blur(3px);pointer-events:none;will-change:transform}.hero-chart-panel,.hero-stat-card{position:relative;border:1px solid var(--line);background:#fffcf78a}.hero-chart-panel{display:grid;gap:16px;padding:18px}.hero-panel-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.hero-panel-head h2{max-width:none;font-size:clamp(1.7rem,2.8vw,2.4rem)}.hero-panel-head p{max-width:18ch;color:var(--muted);line-height:1.45}.hero-chart-shell{display:grid;gap:12px}.hero-chart-stage{height:228px}.hero-chart-loading{height:228px;border:1px dashed var(--line);background:linear-gradient(90deg,#17120e0a,#17120e14,#17120e0a);background-size:200% 100%;animation:hero-chart-sheen 1.2s ease-in-out infinite}.hero-chart-tooltip{display:grid;gap:10px;min-width:220px;max-width:260px;padding:10px 12px;border:1px solid var(--line);background:#f7f0e6f5;font-family:var(--mono);font-size:.74rem}.hero-chart-tooltip-head{display:flex;align-items:flex-start}.hero-chart-tooltip-head strong{min-width:0;font-size:.78rem;line-height:1.4}.hero-chart-tooltip-block{display:grid;gap:6px;padding-top:8px;border-top:1px solid rgba(23,18,14,.08)}.hero-chart-tooltip-kicker,.hero-chart-note,.hero-chart-legend-item em{color:var(--muted)}.hero-chart-tooltip-kicker{font-size:.69rem}.hero-chart-tooltip-block>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.hero-chart-tooltip-note{margin:0;color:var(--muted);line-height:1.5}.hero-chart-legend{display:flex;flex-wrap:wrap;gap:8px 12px}.hero-chart-legend-item{display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:0 10px;border:1px solid rgba(23,18,14,.08);background:#ffffff6b;font-family:var(--mono);font-size:.72rem}.hero-chart-legend-item em{font-style:normal}.hero-chart-legend-swatch{flex:0 0 auto;width:14px;height:14px}.hero-chart-legend-swatch.is-score{border-top:2px solid #17120e}.hero-chart-legend-swatch.is-stars{border-top:2px solid #2f5140}.hero-chart-legend-swatch.is-freshness{background:linear-gradient(180deg,#a74c2257,#a74c220f);border:1px solid rgba(167,76,34,.3)}.hero-chart-note{margin:0;max-width:50ch;font-size:.72rem;line-height:1.55}.hero-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hero-stat-card{display:grid;gap:12px;padding:16px}.hero-stat-card strong{font-family:var(--display);font-size:clamp(1.5rem,2vw,2rem);line-height:.96;letter-spacing:-.05em}.hero-stat-card p{color:var(--muted);line-height:1.45}.hero-stat-icon{justify-content:flex-start;color:var(--accent-strong);font-family:var(--mono);font-size:.74rem;letter-spacing:.03em}.hero-chart-panel .recharts-cartesian-axis-tick-value{fill:var(--muted);font-family:var(--mono);font-size:11px}.hero-chart-panel .recharts-cartesian-axis-line,.hero-chart-panel .recharts-cartesian-axis-tick-line{stroke:transparent}@keyframes hero-chart-sheen{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.hero-chart-loading{animation:none}}@media(max-width:1120px){.hero-lab,.hero-stats-grid{grid-template-columns:1fr}.hero-lab-copy{border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:760px){.hero-lab-copy,.hero-lab-visual{padding:18px}.hero-panel-head{flex-direction:column;align-items:flex-start}.hero-chart-shell{gap:10px}.hero-chart-stage{height:204px}.hero-chart-tooltip{min-width:190px;max-width:220px}}.projects-surface{display:grid;gap:16px}.projects-bento-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.projects-masonry{column-count:3;column-gap:16px}.project-bento-card{display:grid;gap:14px;break-inside:avoid;padding:18px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff57,#ffffff24),#fffcf78a}.project-bento-card--lead{grid-column:span 7;min-height:380px}.project-bento-card--tall{grid-column:span 5;min-height:380px}.project-bento-card--wide{grid-column:span 12;min-height:234px}.project-bento-card--masonry{min-height:264px;margin-bottom:16px}.project-bento-head,.project-card-footer,.project-card-meta,.resume-fact-grid{display:flex;align-items:start;justify-content:space-between;gap:12px}.project-bento-head{flex-wrap:wrap}.project-lane-chip{color:var(--accent-strong);font-family:var(--mono);font-size:.72rem;letter-spacing:.03em}.project-bento-copy{display:grid;gap:8px}.project-bento-copy h3{font-size:clamp(1.6rem,3vw,3rem);line-height:.95;letter-spacing:-.055em}.project-bento-copy p{max-width:52ch;color:var(--muted);line-height:1.58}.project-bento-card--masonry .project-bento-copy p,.project-bento-card--tall .project-bento-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.project-bento-signals{display:grid;gap:10px}.project-signal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center}.project-signal-row span{color:var(--muted);font-family:var(--mono);font-size:.74rem;letter-spacing:.03em}.project-signal-row strong{font-family:var(--display);font-size:1rem}.project-signal-bar,.timeline-bar,.bar-track{grid-column:1 / -1;height:10px;overflow:hidden;background:#17120e14}.project-signal-bar-fill,.timeline-bar-fill,.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#cb784e)}.project-signal-bar-fill.is-olive{background:linear-gradient(90deg,var(--olive),#6d9980)}.project-signal-bar-fill.is-muted{background:linear-gradient(90deg,#17120e6b,#17120e1f)}.project-order{color:var(--accent-strong)}.project-card-footer{flex-wrap:wrap;margin-top:auto}.project-card-meta,.project-links{flex-wrap:wrap}.project-card-meta span{color:var(--muted);font-family:var(--mono);font-size:.72rem;letter-spacing:.03em}.project-links{display:flex;gap:14px}.signals-shell{display:grid;gap:20px}.signals-section .kicker,.signals-section .signal-label,.signals-section .metric-box span,.signals-section .readme-note,.signals-section .selected-work-list li span,.signals-section .selected-work-list li p,.signals-section .theme-ledger li{color:#f6efe4bd}.signals-section h2,.signals-section h3,.signals-section strong,.signals-section a{color:var(--void-text)}.signals-metric-strip,.signals-columns,.readme-metrics-grid,.resume-columns{display:grid;gap:18px}.signals-metric-strip,.readme-metrics-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.signals-metric-strip .metric-box,.signals-note-block,.timeline-panel,.language-strip{padding:18px;border:1px solid var(--void-line);background:var(--void-2)}.signals-columns{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)}.signals-column{display:grid;gap:18px}.timeline-panel,.language-strip,.signals-note-block{display:grid;gap:16px}.timeline-chart,.language-strip ul,.selected-work-list,.resume-note-list,.resume-highlight-list,.lane-ledger,.theme-ledger{display:grid;gap:12px}.timeline-row{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr);align-items:center;gap:14px}.timeline-row div:first-child,.selected-work-list li{display:grid;gap:4px}.timeline-bar-fill{background:linear-gradient(90deg,var(--olive),#6d9980)}.language-strip ul,.selected-work-list,.resume-note-list,.resume-highlight-list,.lane-ledger,.theme-ledger{list-style:none;margin:0;padding:0}.language-strip li{display:grid;grid-template-columns:90px minmax(0,1fr) 28px;align-items:center;gap:12px}.lane-ledger li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--void-line)}.selected-work-list a{font-weight:500}.resume-attachment{display:grid;grid-template-columns:300px minmax(0,1fr);border:1px solid var(--line);background:#fffcf78f}.resume-sidebar,.resume-body{padding:22px}.resume-sidebar{border-right:1px solid var(--line);background:#ffffff29}.resume-body{display:grid;gap:22px}.resume-sidebar-groups,.resume-summary-block{display:grid;gap:16px}.resume-side-section{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.resume-side-list,.resume-experience-item ul{margin:0;padding:0;list-style:none}.resume-side-list{display:grid;gap:12px}.resume-side-list li{display:grid;gap:4px}.resume-side-list span,.resume-experience-head span,.resume-experience-head time{color:var(--muted);font-family:var(--mono);font-size:.72rem;letter-spacing:.03em}.resume-side-list a{width:fit-content}.resume-experience-section,.resume-experience-list{display:grid;gap:14px}.resume-experience-item{display:grid;gap:12px;padding:20px 20px 20px 24px;border:1px solid var(--line);background:#ffffff38;border-left:3px solid rgba(187,91,54,.42)}.resume-experience-head{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start}.resume-experience-title{display:grid;gap:4px}.resume-experience-head strong{display:block;font-size:1.06rem;line-height:1.2}.resume-experience-head time{display:inline-flex;align-items:center;min-height:28px;width:fit-content;padding:0 10px;border:1px solid var(--line);background:#ffffff8f;color:var(--accent-strong)}.resume-experience-focus{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}.resume-experience-item ul{padding-left:18px;list-style:disc;display:grid;gap:8px}.resume-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-column{display:grid;align-content:start;gap:14px}.resume-sheet-tag{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--line);background:#ffffff8f;color:var(--accent-strong)}.resume-fact-grid-vertical,.resume-contact-grid-vertical{flex-direction:column;align-items:flex-start}.resume-fact-grid strong{display:block;margin-top:4px;font-size:1rem}.resume-contact-grid{justify-content:flex-start}.resume-highlight-list li{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--line)}.resume-highlight-list strong{display:block;color:var(--ink)}.stack-cloud{display:flex;flex-wrap:wrap;gap:8px}.compact-list li{padding-bottom:8px;border-bottom:1px solid var(--line)}@media(max-width:1120px){.projects-bento-grid,.signals-columns,.resume-attachment,.resume-columns{grid-template-columns:1fr}.project-bento-card--lead,.project-bento-card--tall,.project-bento-card--wide{grid-column:1 / -1;min-height:auto}.project-bento-card--masonry{min-height:auto}.projects-masonry{column-count:2}.resume-sidebar{border-right:0;border-bottom:1px solid var(--line)}.resume-experience-head{grid-template-columns:1fr}}@media(max-width:760px){.projects-masonry{column-count:1}.project-bento-card{gap:12px;padding:16px}.project-bento-copy h3{font-size:clamp(2rem,10vw,2.9rem);line-height:.98}.project-bento-copy p{max-width:none;font-size:.98rem;line-height:1.52}.project-bento-card--masonry .project-bento-copy p,.project-bento-card--tall .project-bento-copy p{-webkit-line-clamp:unset}.project-bento-signals{gap:12px}.project-signal-row{gap:8px 10px}.project-signal-row span,.project-card-meta span,.project-links a,.project-order,.project-lane-chip,.status-badge,.dossier-tags span{font-size:.7rem}.project-signal-bar,.timeline-bar,.bar-track{height:8px}.dossier-tags{gap:6px}.project-bento-head,.project-card-footer,.project-card-meta,.resume-fact-grid{flex-direction:column;align-items:flex-start}.signals-metric-strip,.readme-metrics-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-row,.language-strip li{grid-template-columns:1fr}}
