@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2) format("woff2-variations");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(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2) format("woff2"),url(/_astro/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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-mono-cyrillic-ext-700-normal.BDQ-w_bc.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-700-normal.CtgKGIh5.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:700;src:url(/_astro/ibm-plex-mono-cyrillic-700-normal.Bp80XfeI.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-700-normal.O_YjL27c.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:700;src:url(/_astro/ibm-plex-mono-vietnamese-700-normal.apsD3J7v.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-700-normal.Bs14ezHR.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:700;src:url(/_astro/ibm-plex-mono-latin-ext-700-normal.Dhimjc7-.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-700-normal.Cwsjk1Jb.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:700;src:url(/_astro/ibm-plex-mono-latin-700-normal.7sUh57Bg.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-700-normal.CNHXzs6v.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{--blueprint: #0d2a4c;--blueprint-deep: #091d36;--paper: #eaf2ff;--paper-muted: #aec6e4;--paper-faint: #86a3c9;--line: #4e7cb0;--redline: #ff6b4a;--redline-hover: #ff8360;--color-bg: var(--blueprint);--color-bg-subtle: var(--blueprint-deep);--color-surface: rgba(130, 170, 220, .05);--color-surface-hover: rgba(130, 170, 220, .1);--color-border: rgba(120, 160, 210, .22);--color-border-hover: rgba(120, 160, 210, .48);--color-text: var(--paper);--color-text-muted: var(--paper-muted);--color-text-subtle: var(--paper-faint);--color-accent: var(--redline);--color-accent-hover: var(--redline-hover);--color-accent-glow: rgba(255, 107, 74, .16);--grid-minor: rgba(120, 160, 210, .07);--grid-major: rgba(120, 160, 210, .11);--grid-size: 26px;--font-display: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-body: "IBM Plex Sans Variable", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: clamp(1.65rem, 1.35rem + 1.4vw, 2.1rem);--text-4xl: clamp(2.1rem, 1.7rem + 1.9vw, 2.9rem);--text-hero: clamp(2.35rem, 1.5rem + 3.9vw, 4rem);--leading-tight: 1.12;--leading-normal: 1.6;--leading-relaxed: 1.72;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--track-title: .06em;--track-label: .14em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--space-12: 96px;--space-13: 128px;--radius-sm: 2px;--radius-md: 3px;--radius-lg: 4px;--radius-xl: 6px;--radius-full: 9999px;--shadow-sm: 0 1px 0 rgba(0, 0, 0, .2);--shadow-md: 0 2px 0 rgba(0, 0, 0, .22);--shadow-lg: 0 10px 34px rgba(4, 12, 26, .5);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--max-width: 1024px;--header-height: 68px;--frame-inset: 14px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-6));-webkit-text-size-adjust:100%;color-scheme:dark}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(var(--grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--grid-minor) 1px,transparent 1px),linear-gradient(var(--grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-major) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),calc(var(--grid-size) * 5) calc(var(--grid-size) * 5),calc(var(--grid-size) * 5) calc(var(--grid-size) * 5)}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 80% 55% at 50% -10%,rgba(90,150,220,.1),transparent 70%)}.sheet-frame{position:fixed;inset:var(--frame-inset);z-index:40;pointer-events:none;border:1px solid var(--color-border)}.sheet-frame:before,.sheet-frame:after{content:"";position:absolute;width:16px;height:16px;border:2px solid var(--redline)}.sheet-frame:before{top:-1px;left:-1px;border-right:0;border-bottom:0}.sheet-frame:after{right:-1px;bottom:-1px;border-left:0;border-top:0}@media(max-width:640px){:root{--frame-inset: 8px}}img{max-width:100%;height:auto;display:block}::selection{background:var(--redline);color:var(--blueprint-deep)}h1,h2{font-family:var(--font-display);font-weight:var(--weight-semibold);line-height:var(--leading-tight);text-transform:uppercase;letter-spacing:var(--track-title);color:var(--color-text)}h1{font-size:var(--text-hero);font-weight:var(--weight-bold)}h2{font-size:var(--text-3xl)}h3,h4,h5,h6{font-family:var(--font-body);font-weight:var(--weight-semibold);line-height:1.25;color:var(--color-text)}h3{font-size:var(--text-xl)}p{color:var(--color-text-muted);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}a{color:var(--redline);text-decoration:none;transition:color var(--duration-fast) var(--ease-out);&:hover{color:var(--redline-hover)}}.gradient-text{color:var(--redline)}.section-heading{display:flex;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-8);.section-index{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--track-label);color:var(--redline);white-space:nowrap;&:before{content:"FIG.";color:var(--paper-faint)}}h2{white-space:nowrap;font-size:var(--text-2xl)}&:after{content:"";flex:1;min-width:var(--space-6);align-self:center;height:1px;background:linear-gradient(to right,var(--color-border-hover),var(--color-border) 60%,transparent),linear-gradient(var(--line),var(--line));background-repeat:no-repeat;background-size:100% 1px,1px 9px;background-position:left center,right center}@media(max-width:560px){gap:var(--space-3);h2{font-size:var(--text-xl);white-space:normal}}}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out)}.btn-primary{background:var(--redline);color:var(--blueprint-deep);&:hover,&:focus-visible{background:var(--redline-hover);color:var(--blueprint-deep)}}.btn-ghost{background:transparent;color:var(--color-text);border-color:var(--color-border-hover);&:hover,&:focus-visible{color:var(--redline);border-color:var(--redline);background:var(--color-accent-glow)}}.card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:background var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out);&:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}}.link{text-decoration:none;border-bottom:1px solid var(--redline);color:var(--redline);transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);&:hover{color:var(--redline-hover);border-color:var(--redline-hover)}}.label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--paper-faint)}.skip-link{position:absolute;top:-100%;left:var(--space-4);background:var(--redline);color:var(--blueprint-deep);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:var(--weight-semibold);z-index:100;&:focus{top:var(--space-4)}}:focus-visible{outline:2px solid var(--redline);outline-offset:2px}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;background:var(--redline);transform-origin:0 50%;transform:scaleX(0);animation:grow-progress auto linear;animation-timeline:scroll()}@keyframes grow-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}section{margin-bottom:var(--space-13);@media(max-width:768px){margin-bottom:var(--space-11)}}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}[data-reveal].revealed{opacity:1;transform:translateY(0)}.revealed .card{opacity:0;animation:card-in .55s var(--ease-out) forwards}.revealed .card:nth-child(2){animation-delay:60ms}.revealed .card:nth-child(3){animation-delay:.12s}.revealed .card:nth-child(4){animation-delay:.18s}.revealed .card:nth-child(5){animation-delay:.24s}.revealed .card:nth-child(n+6){animation-delay:.3s}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
