.analytics-consent-banner{position:fixed;right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));z-index:80;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);width:min(680px,calc(100vw - var(--space-8)));padding:var(--space-4);color:var(--color-text-primary);background:color-mix(in srgb,var(--color-bg-raised) 94%,transparent);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.analytics-consent-copy{display:grid;gap:var(--space-2)}.analytics-consent-copy p,.analytics-consent-controls p{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.5}.analytics-consent-copy a{color:var(--color-accent-engineering);text-underline-offset:.18em}.analytics-consent-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.analytics-consent-btn{min-height:var(--touch-target-min);padding:0 var(--space-4);color:var(--color-text-primary);background:transparent;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);cursor:pointer}.analytics-consent-btn--primary{color:var(--color-bg-canvas);background:var(--color-text-primary);border-color:var(--color-text-primary)}.analytics-consent-btn:hover,.analytics-consent-btn:focus-visible{border-color:var(--color-accent-engineering)}.analytics-consent-controls{display:grid;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);background:var(--color-bg-surface)}.analytics-consent-controls.compact{margin-top:var(--space-3)}@media(max-width:700px){.analytics-consent-banner{left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));grid-template-columns:1fr;width:auto}.analytics-consent-actions{justify-content:stretch}.analytics-consent-btn{flex:1}}:root{--app-bottom-nav-height: 64px}.bottom-nav{display:none}@media(max-width:768px){.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:999;display:flex;align-items:stretch;justify-content:space-around;padding:var(--space-1) 0;padding-bottom:calc(var(--space-1) + env(safe-area-inset-bottom));background:var(--color-bg-canvas);border-top:1px solid var(--color-border-default)}.bottom-nav-btn{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) 0;min-height:var(--touch-target-min, 44px);color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast),opacity var(--transition-fast);-webkit-tap-highlight-color:transparent;text-decoration:none;font-family:inherit}.bottom-nav-btn:active{background:var(--color-bg-raised)}.bottom-nav-btn.active{color:var(--color-text-primary)}.bottom-nav-btn.active .bottom-nav-icon svg{stroke-width:2}.bottom-nav-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.bottom-nav-icon svg{width:100%;height:100%}.bottom-nav-label{font-size:.75rem;font-family:var(--font-body);font-weight:500;line-height:1.2;white-space:nowrap}}.nav-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:10001;pointer-events:none;background:var(--color-accent-engineering);transform:scaleX(0);transform-origin:left center}.nav-progress--active{animation:nav-progress-indeterminate 1.1s var(--easing-standard, ease-in-out) infinite}@keyframes nav-progress-indeterminate{0%{transform:scaleX(0);transform-origin:left center}45%{transform:scaleX(.55);transform-origin:left center}to{transform:scaleX(0);transform-origin:right center}}@media(prefers-reduced-motion:reduce){.nav-progress--active{animation:none;transform:scaleX(1);opacity:.75}}.skip-to-content{position:fixed;top:-100%;left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-4);background:var(--color-text-primary);color:var(--color-bg-canvas);border:1px solid var(--color-text-primary);border-radius:var(--radius-sm);font-size:.9rem;z-index:10000;transition:top var(--transition-fast);text-decoration:none;white-space:nowrap}.skip-to-content:focus{top:var(--space-2)}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--color-bg-canvas)}.nav{position:fixed;top:0;left:0;right:0;height:56px;z-index:1000;background:var(--color-bg-canvas);border-bottom:1px solid var(--color-border-default)}.nav-container{display:flex;align-items:center;justify-content:space-between;height:100%;width:min(100% - 2 * var(--gutter, clamp(16px, 4vw, 48px)),var(--page-max, 1280px));margin-inline:auto;padding-inline:0}.nav-logo{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;text-decoration:none}.nav-logo:hover{color:var(--color-text-primary)}.nav-logo-prompt{font-family:var(--font-mono);color:var(--color-accent-engineering-text);font-weight:400;margin-right:.25em}.nav-logo-image{display:block;height:34px;width:auto;max-width:240px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:var(--space-8);list-style:none;margin:0;padding:0}.nav-links>li{display:flex;align-items:center}.nav-link{position:relative;display:inline-flex;align-items:center;min-height:44px;color:var(--color-text-muted);font-family:var(--font-body);font-size:.9rem;font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--color-text-primary)}.nav-link:before{content:">";content:">" / "";position:absolute;right:calc(100% + var(--space-2));top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:.9rem;font-weight:500;line-height:1;color:var(--color-accent-engineering-text);opacity:0;pointer-events:none}.nav-link.active:before{opacity:1}.nav-menu{display:flex;align-items:center;gap:var(--space-12)}.lang-switcher{display:flex;align-items:center;margin-inline-end:-12px}.lang-btn{min-width:44px;min-height:44px;padding:0;font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--color-text-muted);background:transparent;border:0;transition:color var(--transition-fast);cursor:pointer}.lang-btn:hover,.lang-btn.active{color:var(--color-text-primary)}.lang-switcher-sep{margin-inline:calc(var(--space-2) * -1);font-size:.9rem;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.lang-cycle-btn{display:none}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}.main .container>*{animation:pageFadeIn .2s ease both}.main{flex:1;margin-top:var(--app-nav-height, 70px);padding-block:var(--space-8);min-height:calc(100vh - var(--app-nav-height, 70px));min-height:calc(100dvh - var(--app-nav-height, 70px))}.main.main--home{padding:0;min-height:calc(100vh - var(--app-nav-height, 56px));min-height:calc(100dvh - var(--app-nav-height, 56px))}.main--home>.container{width:100%;max-width:none;margin-inline:0;padding:0}.footer{padding-block:var(--space-8);border-top:1px solid var(--color-border-default);background:var(--color-bg-surface)}.footer .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4)}.footer-social{display:flex;gap:var(--space-2);margin:0;margin-inline-end:-9px}.footer-social-link{color:var(--color-text-muted);transition:color var(--transition-base),opacity var(--transition-base);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm)}.footer-social-link:hover{color:var(--color-text-primary)}.footer-text{font-family:var(--font-body);font-size:.75rem;color:var(--color-text-muted);margin:0;order:-1}.footer-text-unit{white-space:nowrap}.footer-privacy-link{color:inherit;text-decoration:none}.footer-privacy-link:hover,.footer-privacy-link:focus-visible{text-decoration:underline}@media(max-width:768px){.nav-menu{display:none}.nav-logo{display:inline-flex;align-items:center;min-height:44px}.main{padding-block:var(--space-6);padding-bottom:calc(var(--app-bottom-nav-height, 64px) + env(safe-area-inset-bottom) + var(--space-6))}.lang-cycle-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-1);min-width:44px;height:44px;margin-inline-end:calc(var(--space-2) * -1);padding-inline:var(--space-2);color:var(--color-text-muted);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}.lang-cycle-btn-current{color:var(--color-text-primary)}.footer-social{gap:0;margin-inline:-13px 0;order:-1}.footer-social-link{width:44px;height:44px}.footer-text-sep--privacy{display:none}.footer-privacy-link{display:flex;align-items:center;min-height:44px;width:fit-content}.footer .container{flex-direction:column;align-items:flex-start}.footer{padding-block:var(--space-6);padding-bottom:calc(var(--app-bottom-nav-height, 64px) + env(safe-area-inset-bottom) + var(--space-6))}.app--projects-index .footer{padding-bottom:calc(var(--app-bottom-nav-height, 64px) + env(safe-area-inset-bottom) + var(--app-mobile-toolbar-height, 72px) + var(--space-6))}}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;min-height:50dvh;text-align:center;padding:var(--space-8)}.error-boundary-title{font-size:1.5rem;color:var(--color-text-primary)}.error-boundary-description{color:var(--color-text-secondary);margin-top:var(--space-4)}.error-boundary-actions{display:flex;gap:var(--space-4);margin-top:var(--space-8)}.error-boundary-actions .btn-secondary{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-strong);text-decoration:none;min-height:var(--touch-target-min);display:inline-flex;align-items:center;padding:0 var(--space-6);border-radius:var(--radius-md)}.error-boundary-actions .btn-secondary:hover{color:var(--color-text-primary);background:var(--color-bg-raised);border-color:var(--color-text-primary)}body.neural-graph-active{overflow:hidden}@media(max-width:768px){body.neural-graph-active{overflow:hidden}}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-cyrillic-ext-600-normal-DXSZftVr.woff2) format("woff2"),url(/assets/ibm-plex-serif-cyrillic-ext-600-normal-CDMeBxaJ.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 Serif";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-cyrillic-600-normal-6oiym5iu.woff2) format("woff2"),url(/assets/ibm-plex-serif-cyrillic-600-normal-C8YEAlRA.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-vietnamese-600-normal-BBruYZNA.woff2) format("woff2"),url(/assets/ibm-plex-serif-vietnamese-600-normal-DZRaS25B.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 Serif";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-latin-ext-600-normal-CU6LeQOd.woff2) format("woff2"),url(/assets/ibm-plex-serif-latin-ext-600-normal-D1-_Ic5L.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 Serif";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-latin-600-normal-DAxitmSu.woff2) format("woff2"),url(/assets/ibm-plex-serif-latin-600-normal-D3rpGdkS.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 Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-serif-cyrillic-ext-700-normal-CFcTJr1V.woff2) format("woff2"),url(/assets/ibm-plex-serif-cyrillic-ext-700-normal-Dq7XTXEq.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 Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-serif-cyrillic-700-normal-BSMLrh7C.woff2) format("woff2"),url(/assets/ibm-plex-serif-cyrillic-700-normal-CHVzwaSb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-serif-vietnamese-700-normal-hPmb8oh_.woff2) format("woff2"),url(/assets/ibm-plex-serif-vietnamese-700-normal-B3aSYR1A.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 Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-serif-latin-ext-700-normal-BoBbeF2z.woff2) format("woff2"),url(/assets/ibm-plex-serif-latin-ext-700-normal-5BnP_gGI.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 Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-serif-latin-700-normal-bnJnpGuO.woff2) format("woff2"),url(/assets/ibm-plex-serif-latin-700-normal-BBiG0u0D.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 Serif";font-style:italic;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-cyrillic-ext-600-italic-CbP060Js.woff2) format("woff2"),url(/assets/ibm-plex-serif-cyrillic-ext-600-italic-D7qEpmay.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 Serif";font-style:italic;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-cyrillic-600-italic-B-MUfNoF.woff2) format("woff2"),url(/assets/ibm-plex-serif-cyrillic-600-italic-B5nQ1Dzp.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"IBM Plex Serif";font-style:italic;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-vietnamese-600-italic-BrdqYGAq.woff2) format("woff2"),url(/assets/ibm-plex-serif-vietnamese-600-italic-CMORQUaI.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 Serif";font-style:italic;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-latin-ext-600-italic-CwtNJA7M.woff2) format("woff2"),url(/assets/ibm-plex-serif-latin-ext-600-italic-DM7htMZM.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 Serif";font-style:italic;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-latin-600-italic--nwoHQXg.woff2) format("woff2"),url(/assets/ibm-plex-serif-latin-600-italic-BD9tANRL.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 Serif";font-style:italic;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-serif-cyrillic-ext-700-italic-Bc19HSAP.woff2) format("woff2"),url(/assets/ibm-plex-serif-cyrillic-ext-700-italic-DgecleUo.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 Serif";font-style:italic;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-serif-cyrillic-700-italic-BRtCjQkv.woff2) format("woff2"),url(/assets/ibm-plex-serif-cyrillic-700-italic-n7rvy6Ur.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"IBM Plex Serif";font-style:italic;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-serif-vietnamese-700-italic-CKlPs2pg.woff2) format("woff2"),url(/assets/ibm-plex-serif-vietnamese-700-italic-BfNGIsDC.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 Serif";font-style:italic;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-serif-latin-ext-700-italic-CQ77jtux.woff2) format("woff2"),url(/assets/ibm-plex-serif-latin-ext-700-italic-D1NXqml7.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 Serif";font-style:italic;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-serif-latin-700-italic-CHn67auB.woff2) format("woff2"),url(/assets/ibm-plex-serif-latin-700-italic-CRdJzUDe.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.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 Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-italic-BELOEI8R.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-italic-CfSXsIbO.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 Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-italic-D9J6q4_O.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-italic-Bf1n82Tb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-italic-BEZwmy7D.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-italic-CTYLy0lX.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-italic-BbRnwouv.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-italic-78jqtfZH.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 Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-italic-Du9zzoL2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-italic-V_9i1P_m.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 Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-italic-CZTNEAuW.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-italic-CsGl1sm0.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.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:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.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:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.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:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.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:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.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-bg-canvas: #FAFAF9;--color-bg-surface: #FFFFFF;--color-bg-raised: #F2F2F0;--color-text-primary: #0E1116;--color-text-secondary: #3D4754;--color-text-muted: #5C6672;--color-border-default: #E3E3E0;--color-border-strong: #A3A39E;--color-accent-engineering: #0A9CC4;--color-accent-art: #D63B38;--color-accent-research: #5A8A00;--color-accent-engineering-text: #08779A;--color-accent-art-text: #B32D2B;--color-accent-research-text: #4A7200;--color-node-collab: #9A7B1C;--color-node-collab-border: var(--color-border-strong);--bg-primary: var(--color-bg-canvas);--bg-secondary: var(--color-bg-canvas);--bg-tertiary: var(--color-bg-raised);--bg-card: var(--color-bg-surface);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-tertiary: var(--color-text-muted);--accent-primary: var(--color-accent-engineering);--accent-secondary: var(--color-text-secondary);--accent-tertiary: var(--color-text-primary);--border-subtle: var(--color-border-default);--border-medium: var(--color-border-strong);--border-accent: var(--color-border-strong);--color-theme: var(--color-text-muted);--color-medium: var(--color-accent-art);--color-person: var(--color-node-collab);--shadow-sm: none;--shadow-md: 0 2px 8px rgba(14, 17, 22, .08);--shadow-lg: 0 8px 24px rgba(14, 17, 22, .1);--shadow-glow: none;--shadow-focus: 0 0 0 2px var(--color-text-primary);--font-display: "IBM Plex Serif", Georgia, serif;--font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "IBM Plex Mono", "Fira Code", monospace;--font-size-xs: 13px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 20px;--font-size-xl: 25px;--font-size-2xl: 31px;--font-size-3xl: 39px;--font-size-4xl: 49px;--font-size-5xl: 61px;--font-size-hero: clamp(3.25rem, 8vw, 7.5rem);--line-height-display: 1.05;--line-height-headline: 1.2;--line-height-body: 1.5;--line-height-caption: 1.35;--letter-spacing-caps: .08em;--letter-spacing-display: -.02em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-11: 44px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 8px;--radius-xl: 14px;--app-nav-height: 56px;--app-bottom-nav-height: 64px;--app-mobile-toolbar-height: 72px;--app-footer-height: 0px;--touch-target-min: 44px;--touch-target-comfortable: 48px;--gutter: clamp(16px, 4vw, 48px);--page-max: 1280px;--motion-fast: .12s;--motion-base: .18s;--motion-slow: .32s;--motion-xslow: .52s;--transition-fast: var(--motion-fast) var(--easing-standard);--transition-base: var(--motion-base) var(--easing-standard);--transition-slow: var(--motion-slow) var(--easing-standard);--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-expressive: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.16, 1, .3, 1);--easing-standard: var(--ease-standard);--easing-expressive: var(--ease-expressive);--viewport-height: calc(100vh - var(--app-nav-height));--viewport-height: calc(100dvh - var(--app-nav-height));--hero-max-height: 760px;--hero-visual-size: 560px;--wheel-diameter: 380px;--work-image-max-height: calc(100vh - var(--app-nav-height) - 22rem);--work-image-max-height: calc(100dvh - var(--app-nav-height) - 22rem);--work-image-max-width: min(100%, 720px);--card-image-max-height: none}@media(max-height:860px){:root{--hero-max-height: calc(100vh - var(--app-nav-height) - 5rem);--hero-max-height: calc(100dvh - var(--app-nav-height) - 5rem);--hero-visual-size: 420px;--wheel-diameter: 320px;--card-image-max-height: 200px}}@media(max-height:760px){:root{--hero-visual-size: 360px;--wheel-diameter: 288px;--card-image-max-height: 176px}}@media(max-height:680px){:root{--hero-visual-size: 300px;--wheel-diameter: 256px;--card-image-max-height: 156px}}.display-name-emphasis,.neural-hero-title-emphasis,.cv-name-emphasis{font-style:italic}.subnav-control-surface{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:.8rem;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.subnav-control-btn{position:relative;overflow:hidden;isolation:isolate;min-width:0;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.82rem .95rem;color:var(--color-text-secondary);background:var(--color-bg-canvas);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease,opacity .2s ease;-webkit-tap-highlight-color:transparent}.subnav-control-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--color-text-primary) 14%,transparent);transform-origin:left center;transform:scaleX(var(--long-press-progress, 0));opacity:0;transition:transform 90ms linear,opacity .18s ease;pointer-events:none;z-index:0}.subnav-control-btn>*{position:relative;z-index:1}.subnav-control-btn:hover{color:var(--color-text-primary);border-color:var(--color-text-primary)}.subnav-control-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.subnav-control-btn--primary{color:var(--color-text-primary)}.subnav-control-btn--active{color:var(--color-text-primary);border-color:var(--color-text-primary);background:var(--color-bg-raised)}.subnav-control-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.subnav-control-icon svg{width:100%;height:100%;flex-shrink:0}.subnav-control-label{min-width:0;font-size:.76rem;font-family:var(--font-mono);font-weight:600;line-height:1;letter-spacing:.02em;white-space:nowrap}@media(max-width:420px){.subnav-control-surface{gap:8px;padding:.62rem}.subnav-control-btn{min-height:48px;gap:6px;padding:.72rem}.subnav-control-label{font-size:.75rem}}@media(max-width:380px){.subnav-control-btn{padding-inline:.68rem}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.15;color:var(--color-text-primary);letter-spacing:-.01em}h1,h2,h3,h4{text-wrap:balance}h1{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;letter-spacing:-.02em}h2{font-size:clamp(1.35rem,2.5vw,2rem)}h3{font-size:clamp(1.1rem,1.8vw,1.5rem)}p,li{text-wrap:pretty}p{color:var(--color-text-secondary);margin-bottom:1rem}a{color:var(--color-accent-engineering-text);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-text-primary)}::selection{background:color-mix(in srgb,var(--color-accent-engineering) 22%,transparent);color:var(--color-text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-canvas)}::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:3px}.container{width:min(100% - 2 * var(--gutter, clamp(16px, 4vw, 48px)),var(--page-max, 1280px));margin-inline:auto;padding-inline:0}.name-line{white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skeleton{position:relative;overflow:hidden;background:color-mix(in srgb,var(--color-text-primary) 6%,transparent)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-bg-surface);opacity:0;animation:skeletonPulse 1.6s ease-in-out infinite}@keyframes skeletonPulse{50%{opacity:.6}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:.65rem 1.1rem;font-family:var(--font-body);font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-primary);background:transparent;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn-primary{color:var(--color-bg-canvas);background:var(--color-text-primary);border-color:var(--color-text-primary)}.btn-primary:hover{color:var(--color-bg-canvas);background:var(--color-accent-engineering-text);border-color:var(--color-accent-engineering-text)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}ul,ol{list-style:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html.app-ready .prerender-fallback{display:none}
