@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/cormorant-garamond-cyrillic-ext-600-normal.BMhMHfrj.woff2) format("woff2"),url(/_astro/cormorant-garamond-cyrillic-ext-600-normal.CsIYWmWK.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/cormorant-garamond-cyrillic-600-normal.C2atO-64.woff2) format("woff2"),url(/_astro/cormorant-garamond-cyrillic-600-normal.FNmA3REe.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/cormorant-garamond-vietnamese-600-normal.BoXdMtcr.woff2) format("woff2"),url(/_astro/cormorant-garamond-vietnamese-600-normal.C4HEjEaf.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/cormorant-garamond-latin-ext-600-normal.DaBc-lu7.woff2) format("woff2"),url(/_astro/cormorant-garamond-latin-ext-600-normal.Dk3-quAP.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/cormorant-garamond-latin-600-normal.Co1r35X9.woff2) format("woff2"),url(/_astro/cormorant-garamond-latin-600-normal.2CBVLo0M.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/cormorant-garamond-cyrillic-ext-700-normal.Do0rx6yy.woff2) format("woff2"),url(/_astro/cormorant-garamond-cyrillic-ext-700-normal.BaW-xaxb.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/cormorant-garamond-cyrillic-700-normal.SLG_-a_c.woff2) format("woff2"),url(/_astro/cormorant-garamond-cyrillic-700-normal.D3uyJ5DH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/cormorant-garamond-vietnamese-700-normal.-OtHbi1I.woff2) format("woff2"),url(/_astro/cormorant-garamond-vietnamese-700-normal.GOTdnRS1.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/cormorant-garamond-latin-ext-700-normal.CNjt5vTB.woff2) format("woff2"),url(/_astro/cormorant-garamond-latin-ext-700-normal.qRbaVVD7.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/cormorant-garamond-latin-700-normal.DajfzrDU.woff2) format("woff2"),url(/_astro/cormorant-garamond-latin-700-normal.O25Qpphb.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-cyrillic-ext-400-normal.BQZuk6qB.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-400-normal.DQukG94-.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-cyrillic-400-normal.obahsSVq.woff2) format("woff2"),url(/_astro/inter-cyrillic-400-normal.HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-greek-ext-400-normal.DGGRlc-M.woff2) format("woff2"),url(/_astro/inter-greek-ext-400-normal.KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-greek-400-normal.B4URO6DV.woff2) format("woff2"),url(/_astro/inter-greek-400-normal.q2sYcFCs.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-vietnamese-400-normal.DMkecbls.woff2) format("woff2"),url(/_astro/inter-vietnamese-400-normal.Bbgyi5SW.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-ext-400-normal.C1nco2VV.woff2) format("woff2"),url(/_astro/inter-latin-ext-400-normal.77YHD8bZ.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-cyrillic-ext-600-normal.Dfes3d0z.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-600-normal.Bcila6Z-.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-cyrillic-600-normal.CWCymEST.woff2) format("woff2"),url(/_astro/inter-cyrillic-600-normal.4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-greek-ext-600-normal.DRtmH8MT.woff2) format("woff2"),url(/_astro/inter-greek-ext-600-normal.B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-greek-600-normal.plRanbMR.woff2) format("woff2"),url(/_astro/inter-greek-600-normal.BZpKdvQh.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-vietnamese-600-normal.Cc8MFFhd.woff2) format("woff2"),url(/_astro/inter-vietnamese-600-normal.BuLX-rYi.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-ext-600-normal.D2bJ5OIk.woff2) format("woff2"),url(/_astro/inter-latin-ext-600-normal.CIVaiw4L.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2) format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-cyrillic-ext-700-normal.BjwYoWNd.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-700-normal.LO58E6JB.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-cyrillic-700-normal.CjBOestx.woff2) format("woff2"),url(/_astro/inter-cyrillic-700-normal.DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-greek-ext-700-normal.qfdV9bQt.woff2) format("woff2"),url(/_astro/inter-greek-ext-700-normal.BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-greek-700-normal.C3JjAnD8.woff2) format("woff2"),url(/_astro/inter-greek-700-normal.BUv2fZ6O.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-vietnamese-700-normal.DlLaEgI2.woff2) format("woff2"),url(/_astro/inter-vietnamese-700-normal.BZaoP0fm.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-ext-700-normal.Ca8adRJv.woff2) format("woff2"),url(/_astro/inter-latin-ext-700-normal.TidjK2hL.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-700-normal.Yt3aPRUw.woff2) format("woff2"),url(/_astro/inter-latin-700-normal.BLAVimhd.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(/_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: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{--paper: #f4efe3;--paper-deep: #e9dfca;--ink: #23211d;--muted: #665f53;--line: #cfc2a8;--navy: #1d3446;--green: #243f31;--brass: #9b7227;--brass-soft: rgba(155, 114, 39, .14);--red: #9f3e34;--white: #fffaf0;--mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--sans: Inter, "IBM Plex Sans", "Public Sans", system-ui, sans-serif;--serif: "Cormorant Garamond", "EB Garamond", Georgia, serif;--shadow-paper: 10px 10px 0 var(--paper-deep);--ease-out: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;scroll-behavior:smooth}body{margin:0;background:linear-gradient(rgba(35,33,29,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(35,33,29,.025) 1px,transparent 1px),var(--paper);background-size:34px 34px,34px 34px,auto}::selection{background:var(--brass);color:var(--white)}a{color:inherit;text-decoration-color:#9b72278c;text-underline-offset:.18em}:focus-visible{outline:2px solid var(--brass);outline-offset:3px}img,svg{max-width:100%}.site-shell{min-height:100vh}.container{width:min(1120px,calc(100% - 40px));margin-inline:auto}.scroll-progress{position:fixed;top:0;left:0;z-index:40;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--brass),var(--red));pointer-events:none}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:#f4efe3f0;backdrop-filter:blur(12px);transition:box-shadow .3s ease}.site-header.is-scrolled{box-shadow:0 6px 24px -12px #23211d59}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}.brand{display:grid;gap:0;text-decoration:none}.brand strong{font-family:var(--serif);font-size:1.38rem}.brand span{color:var(--muted);font-family:var(--mono);font-size:.72rem;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:.92rem}.nav-links a{position:relative;padding:4px 0;text-decoration:none;transition:color .2s ease}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--brass);transform:scaleX(0);transform-origin:0 50%;transition:transform .28s var(--ease-out)}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{transform:scaleX(1)}.nav-links a[aria-current=page]{color:var(--ink);font-weight:600}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid var(--line);background:var(--white);cursor:pointer}.nav-toggle span{display:block;height:2px;background:var(--ink);transition:transform .3s var(--ease-out),opacity .2s ease}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.button-row{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:1px solid var(--ink);padding:9px 15px;background:var(--ink);color:var(--white);font-weight:700;text-decoration:none;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out)}.button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--brass)}.button:active{transform:translate(0);box-shadow:0 0 0 var(--brass)}.button.secondary{background:transparent;color:var(--ink)}.button.brass{border-color:var(--brass);background:var(--brass)}.button.brass:hover{box-shadow:4px 4px 0 var(--ink)}.eyebrow{color:var(--brass);font-family:var(--mono);font-size:.76rem;font-weight:700;text-transform:uppercase}.hero{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:84px;align-items:center;padding:74px 0 58px;border-bottom:1px solid var(--line)}.hero>:first-child{min-width:0;position:relative;z-index:1}.hero>.technical-plate{justify-self:end;width:380px}.hero h1{margin:8px 0 18px;font-family:var(--serif);max-width:11ch;font-size:clamp(3rem,5.4vw,5.25rem);line-height:.94}.page-title{margin:8px 0 18px;font-family:var(--serif);font-size:clamp(3rem,8vw,6.4rem);line-height:.92}.hero p,.lede{max-width:720px;color:var(--muted);font-size:1.16rem}.technical-plate{position:relative;min-height:430px;border:1px solid var(--ink);margin:0;background:radial-gradient(circle at 72% 18%,rgba(155,114,39,.18),transparent 24%),linear-gradient(135deg,rgba(29,52,70,.08),transparent 45%),var(--white);box-shadow:var(--shadow-paper);overflow:hidden;transition:box-shadow .3s var(--ease-out),transform .3s var(--ease-out)}.technical-plate:hover{transform:translate(-2px,-2px);box-shadow:14px 14px 0 var(--paper-deep)}.technical-plate:before,.technical-plate:after{content:"";position:absolute;inset:22px;border:1px solid rgba(35,33,29,.32);pointer-events:none}.technical-plate:after{inset:46px;border-color:#9b72275c}.boat-diagram{position:absolute;inset:70px 42px 82px}.plate-3d .boat3d{position:absolute;inset:24px 24px 70px;cursor:grab}.plate-3d .boat3d:active{cursor:grabbing}.plate-3d .boat3d canvas{display:block;width:100%;height:100%;touch-action:pan-y}.plate-hint{position:absolute;top:30px;left:50%;transform:translate(-50%);z-index:2;padding:3px 10px;border:1px solid var(--line);background:#fffaf0d9;color:var(--muted);font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;pointer-events:none;transition:opacity .5s ease}.plate-hint.is-hidden{opacity:0}.plate-label{position:absolute;left:28px;right:28px;bottom:24px;display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-family:var(--mono);font-size:.72rem;text-transform:uppercase}.boat-diagram .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:plate-draw 1.1s var(--ease-out) forwards;animation-delay:var(--d, 0s)}.boat-diagram .fill-in{fill-opacity:0;animation:plate-fill .7s ease forwards;animation-delay:var(--d, 0s)}.boat-diagram .label-in{opacity:0;animation:plate-label-in .6s ease forwards;animation-delay:var(--d, 0s)}.boat-diagram .boat-group{animation:plate-bob 6.5s ease-in-out 2.6s infinite}.boat-diagram .water{stroke-dasharray:14 10;animation:water-flow 9s linear 2.4s infinite}.boat-diagram .ping{transform-box:fill-box;transform-origin:center;animation:plate-ping 2.6s ease-out 2.8s infinite;opacity:0}.boat-diagram .stamp{opacity:0;transform-box:fill-box;transform-origin:center;animation:plate-stamp .5s var(--ease-out) forwards;animation-delay:var(--d, 2.2s)}@keyframes plate-draw{to{stroke-dashoffset:0}}@keyframes plate-fill{to{fill-opacity:1}}@keyframes plate-label-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes plate-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes water-flow{to{stroke-dashoffset:-240}}@keyframes plate-ping{0%{opacity:.8;transform:scale(.25)}70%{opacity:0;transform:scale(1.6)}to{opacity:0;transform:scale(1.6)}}@keyframes plate-stamp{0%{opacity:0;transform:scale(1.7) rotate(-14deg)}to{opacity:1;transform:scale(1) rotate(-8deg)}}.section{padding:62px 0;border-bottom:1px solid var(--line)}.section-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}h1,h2,h3{overflow-wrap:break-word}h2,h3{margin:0;font-family:var(--serif);line-height:1.05}h2{font-size:clamp(2rem,4vw,3.6rem)}h3{font-size:1.65rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-row{display:grid;gap:18px}.card{position:relative;border:1px solid var(--line);background:#fffaf0ad;padding:22px;transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),border-color .22s ease}.card:hover{transform:translate(-3px,-3px);border-color:var(--ink);box-shadow:6px 6px 0 var(--paper-deep)}.card:before{content:"";position:absolute;top:8px;right:8px;width:10px;height:10px;border-top:2px solid var(--brass);border-right:2px solid var(--brass);opacity:0;transition:opacity .22s ease}.card:hover:before{opacity:1}.portrait-panel{margin:0;border:1px solid var(--line);background:#fffaf0b8}.portrait-panel img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:saturate(.88) contrast(1.04)}.portrait-panel figcaption{display:grid;gap:2px;border-top:1px solid var(--line);padding:14px}.portrait-panel strong{font-family:var(--serif);font-size:1.55rem;line-height:1}.portrait-panel span{color:var(--muted);font-size:.88rem}.portrait-panel.compact{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;padding:12px}.portrait-panel.compact img{width:104px;height:104px;aspect-ratio:auto;border:1px solid var(--line);object-position:center 42%}.portrait-panel.compact figcaption{align-content:center;border-top:0;border-left:1px solid var(--line);padding:0 0 0 18px}.portrait-panel.large{box-shadow:var(--shadow-paper)}.about-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;align-items:center;padding:74px 0 48px;border-bottom:1px solid var(--line)}.about-copy h1{margin:8px 0 18px;max-width:780px;font-family:var(--serif);font-size:clamp(3rem,6vw,5.8rem);line-height:.94}.about-prose{padding-top:44px}.card.feature{display:grid;grid-template-columns:minmax(0,.95fr) minmax(280px,1.05fr);gap:28px;align-items:center;padding:28px}.card.feature h2{font-size:clamp(1.9rem,2.6vw,2.9rem);hyphens:auto}.meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.tag{border:1px solid var(--line);padding:3px 8px;color:var(--muted);font-family:var(--mono);font-size:.72rem;text-decoration:none;transition:border-color .2s ease,color .2s ease,background .2s ease}a.tag:hover{border-color:var(--brass);background:var(--brass-soft);color:var(--ink)}.kicker-list{display:grid;gap:11px;margin:0;padding:0;list-style:none}.kicker-list li{border-left:3px solid var(--brass);padding-left:12px}.archive{display:grid;gap:18px}.archive-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;border-top:1px solid var(--line);padding:18px 10px 4px;margin:0 -10px;transition:background .22s ease,border-color .22s ease}.archive-item:hover{background:#fffaf0d9;border-top-color:var(--brass)}.archive-item h3 a{text-decoration:none}.archive-item h3 a:after{content:" →";color:var(--brass);opacity:0;transition:opacity .2s ease}.archive-item:hover h3 a:after{opacity:1}.prose{max-width:780px;padding:54px 0}.prose h1{font-family:var(--serif);font-size:clamp(2.6rem,7vw,5.4rem);line-height:.95}.prose h2{margin-top:42px;font-size:2.2rem}.prose p,.prose li{color:#3a352d;font-size:1.05rem}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.filter-button{border:1px solid var(--line);padding:8px 11px;background:var(--white);color:var(--ink);cursor:pointer;font:inherit;transition:border-color .2s ease,background .2s ease,color .2s ease}.filter-button:hover{border-color:var(--ink)}.filter-button.is-active{border-color:var(--ink);background:var(--ink);color:var(--white)}.pathway{position:relative}.pathway-track{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:26px}.pathway-track:before{content:"";position:absolute;top:27px;left:8%;right:8%;height:2px;background:repeating-linear-gradient(90deg,var(--brass) 0 10px,transparent 10px 18px);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.4s var(--ease-out) .3s}.pathway.is-in .pathway-track:before{transform:scaleX(1)}.pathway-node{position:relative;z-index:1;display:grid;justify-items:center;gap:10px;border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:center}.pathway-node .node-dot{display:grid;place-items:center;width:54px;height:54px;border:2px solid var(--ink);border-radius:50%;background:var(--white);font-family:var(--mono);font-weight:700;font-size:.86rem;transition:transform .25s var(--ease-out),background .25s ease,color .25s ease,box-shadow .25s var(--ease-out)}.pathway-node:hover .node-dot{transform:translateY(-3px);box-shadow:0 6px 0 -2px var(--paper-deep)}.pathway-node[aria-selected=true] .node-dot{background:var(--brass);border-color:var(--brass);color:var(--white);transform:scale(1.12)}.pathway-node .node-grade{color:var(--brass);font-family:var(--mono);font-size:.72rem;font-weight:700;text-transform:uppercase}.pathway-node .node-title{font-family:var(--serif);font-size:1.3rem;font-weight:600;line-height:1.1}.pathway-panel{display:none;border:1px solid var(--ink);background:var(--white);box-shadow:var(--shadow-paper);padding:26px}.pathway-panel.is-active{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:26px;animation:panel-in .4s var(--ease-out)}@keyframes panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pathway-panel h3{margin:4px 0 10px}.pathway-panel .panel-units{display:grid;gap:10px;align-content:start;border-left:1px solid var(--line);padding-left:22px}.pathway-panel .panel-units a{display:block;border:1px solid var(--line);padding:10px 12px;background:#fffaf0b3;text-decoration:none;font-size:.95rem;transition:border-color .2s ease,transform .2s var(--ease-out)}.pathway-panel .panel-units a:hover{border-color:var(--brass);transform:translate(4px)}.pathway-panel .panel-units .eyebrow{margin-bottom:2px}.pathway-skills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.sensor-demo{border:1px solid var(--ink);background:var(--white);box-shadow:var(--shadow-paper);padding:0;overflow:hidden}.sensor-demo .demo-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:14px 22px;font-family:var(--mono);font-size:.74rem;text-transform:uppercase;color:var(--muted)}.demo-led{display:inline-flex;align-items:center;gap:8px;font-weight:700}.demo-led .led{width:12px;height:12px;border-radius:50%;border:1px solid var(--ink);background:var(--green);box-shadow:0 0 #243f3166;transition:background .25s ease}.demo-led.is-alert .led{background:var(--red);animation:led-pulse 1.1s ease-out infinite}.demo-led.is-warn .led{background:var(--brass);animation:led-pulse 1.6s ease-out infinite}@keyframes led-pulse{0%{box-shadow:0 0 #9f3e3473}to{box-shadow:0 0 0 10px #9f3e3400}}.demo-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0}.demo-controls{display:grid;gap:20px;align-content:start;border-right:1px solid var(--line);padding:22px}.demo-controls label{display:grid;gap:8px;font-family:var(--mono);font-size:.78rem;text-transform:uppercase;color:var(--muted)}.demo-controls .value{color:var(--ink);font-weight:700}.demo-controls input[type=range]{width:100%;accent-color:var(--brass);cursor:pointer}.demo-code{margin:0;border:1px solid var(--line);background:var(--paper);padding:14px;font-family:var(--mono);font-size:.78rem;line-height:1.7;color:var(--muted);overflow-x:auto}.demo-code .code-line{display:block;padding:0 6px;border-left:3px solid transparent;transition:background .2s ease,border-color .2s ease,color .2s ease}.demo-code .code-line.is-live{border-left-color:var(--red);background:#9f3e3414;color:var(--ink)}.demo-chart{position:relative;padding:22px}.demo-chart svg{display:block;width:100%;height:auto}.demo-readout{display:flex;justify-content:space-between;gap:14px;margin-top:12px;font-family:var(--mono);font-size:.74rem;color:var(--muted);text-transform:uppercase}.demo-readout strong{color:var(--ink)}.sandbox{display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid var(--ink);background:var(--white);box-shadow:var(--shadow-paper)}.sandbox-bench{position:relative;border-right:1px solid var(--line);padding:10px;overflow-x:auto}.sandbox .sb-info{cursor:pointer;opacity:.3;transition:opacity .2s ease}.sandbox .sb-info circle{fill:var(--white);stroke:var(--brass);stroke-width:1.5}.sandbox .sb-info text{font-family:var(--serif);font-size:11px;font-style:italic;font-weight:700;fill:var(--brass)}.sandbox g:hover>.sb-info,.sandbox .sb-info:hover{opacity:1}.sandbox .sb-info:hover circle{fill:var(--brass-soft)}.sb-infocard{position:fixed;left:50%;bottom:18px;transform:translate(-50%);width:min(680px,calc(100vw - 36px));z-index:60;border:1px solid var(--ink);background:var(--white);box-shadow:8px 8px 0 var(--paper-deep);padding:14px 18px;animation:ic-in .25s var(--ease-out)}.sb-infocard[hidden]{display:none}@keyframes ic-in{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.sb-infocard-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.sb-infocard-head strong{font-family:var(--serif);font-size:1.15rem}.sb-infocard p{margin:4px 0;font-size:.88rem;color:var(--muted)}.sb-infocard .ic-label{color:var(--brass);font-family:var(--mono);font-size:.68rem;font-weight:700;text-transform:uppercase}.sandbox-bench svg{display:block;width:100%;min-width:700px;height:auto}.sandbox-panel{display:grid;gap:0;align-content:start}.sandbox-panel section{border-bottom:1px solid var(--line);padding:14px 16px}.sandbox-panel h4{margin:0 0 8px;font-family:var(--mono);font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--brass)}.gate-list{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:.85rem}.gate-list li{display:flex;gap:8px;align-items:baseline;color:var(--muted)}.gate-list li:before{content:"○";font-family:var(--mono);color:var(--muted)}.gate-list li.pass{color:var(--ink)}.gate-list li.pass:before{content:"●";color:var(--green)}.gate-list li.fail{color:var(--red)}.gate-list li.fail:before{content:"✕";color:var(--red);font-weight:700}.sandbox-hazard{border:1px solid var(--red);background:repeating-linear-gradient(-45deg,#9f3e341f 0 10px,#9f3e3408 10px 20px);padding:8px 10px;margin-top:10px;color:var(--red);font-family:var(--mono);font-size:.72rem;font-weight:700;text-transform:uppercase;animation:sb-shake .35s ease}@keyframes sb-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.gate-list li:before{transition:transform .2s var(--ease-out)}.gate-list li.pass:before{animation:sb-pop .3s var(--ease-out)}@keyframes sb-pop{0%{transform:scale(2)}to{transform:scale(1)}}.trimpot-row{display:flex;align-items:center;gap:10px}.trimpot-row input[type=range]{flex:1;accent-color:var(--brass)}.trimpot-row output{font-family:var(--mono);font-weight:700;font-size:.9rem;min-width:52px;text-align:right}.trimpot-row output.bad{color:var(--red)}.trimpot-row output.good{color:var(--green)}.sandbox-serial{background:#0b0d10;color:#2fd06a;font-family:var(--mono);font-size:.72rem;line-height:1.7;padding:10px 12px;min-height:130px;max-height:200px;overflow-y:auto;overflow-x:hidden;white-space:pre-wrap;overflow-wrap:break-word;text-shadow:0 0 7px rgba(47,208,106,.45)}.sandbox-panel{min-width:0}.sandbox-panel section{min-width:0}.sandbox-serial:after{content:"▮";animation:eva-blink 1.1s steps(1) infinite}.sandbox-actions{display:flex;gap:8px;flex-wrap:wrap}.sandbox-actions .button{min-height:36px;padding:6px 12px;font-size:.85rem}.sandbox-actions .button[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.netlist-ref{font-family:var(--mono);font-size:.7rem;line-height:1.9;color:var(--muted)}.netlist-ref .done{color:var(--green)}.sandbox .sb-box{fill:var(--white);stroke:var(--ink);stroke-width:2}.sandbox .sb-title{font-family:var(--mono);font-size:12px;font-weight:700;fill:var(--ink)}.sandbox .sb-sub,.sandbox .sb-pin{font-family:var(--mono);font-size:9.5px;fill:var(--muted)}.sandbox svg text,.sandbox .sb-box,.sandbox .sb-led{pointer-events:none}.sandbox .term{fill:var(--paper);stroke:var(--muted);stroke-width:2;pointer-events:none;transition:stroke .15s ease,fill .15s ease}.sandbox .term-hit{fill:transparent;cursor:pointer}.sandbox .term-hit:hover+.term{stroke:var(--brass);fill:var(--brass-soft)}.sandbox .term.pending{animation:sb-pulse .9s ease-in-out infinite}@keyframes sb-pulse{0%,to{stroke-width:2}50%{stroke-width:6}}.sandbox .wire-dot{stroke:var(--white);stroke-width:1.2;pointer-events:none}.sandbox .wire-preview{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:6 6;opacity:.7;pointer-events:none}.sandbox .wire-flow{fill:none;stroke:#ffffffd9;stroke-width:2;stroke-linecap:round;stroke-dasharray:3 19;pointer-events:none;animation:sb-flow .9s linear infinite}@keyframes sb-flow{to{stroke-dashoffset:-22}}.sandbox .sb-swglow{opacity:0;pointer-events:none;filter:drop-shadow(0 0 7px var(--green))}.sandbox .sb-swglow.flash{animation:sb-swflash 1.5s ease-out}@keyframes sb-swflash{0%{opacity:0}12%{opacity:1}40%{opacity:.3}60%{opacity:.9}to{opacity:0}}.sandbox .sb-potglow{opacity:0;pointer-events:none;filter:drop-shadow(0 0 6px var(--brass));transition:opacity .45s ease}.sandbox .sb-potglow.on{opacity:1}.sb-info-btn{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:6px;padding:0;border:1px solid var(--brass);border-radius:50%;background:transparent;color:var(--brass);font-family:var(--serif);font-style:italic;font-weight:700;font-size:.72rem;line-height:1;vertical-align:middle;cursor:pointer;transition:background .2s ease}.sb-info-btn:hover{background:var(--brass-soft)}.sandbox .lever-closed{display:none}.sandbox svg.running .lever-open{display:none}.sandbox svg.running .lever-closed{display:inline}.sandbox .sb-led.on{animation:sb-led 1.6s ease-in-out infinite}@keyframes sb-led{0%,to{opacity:1}50%{opacity:.45}}.sandbox .sb-stamp{opacity:0;pointer-events:none;transform-box:fill-box;transform-origin:center}.sandbox .sb-stamp.show{animation:sb-stamp-in .5s var(--ease-out) forwards}@keyframes sb-stamp-in{0%{opacity:0;transform:scale(1.8) rotate(-14deg)}to{opacity:1;transform:scale(1) rotate(-7deg)}}.sb-progressbar{height:6px;margin-top:12px;border:1px solid var(--line);background:var(--paper);overflow:hidden}.sb-progressbar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brass),var(--green));transition:width .35s var(--ease-out)}.sandbox .term.pending{stroke:var(--red);fill:var(--red)}.sandbox .wire-path{fill:none;stroke-width:3;stroke-linecap:round;cursor:pointer}.sandbox .wire-path:hover{stroke-width:5}.sandbox .wire-raw12{stroke:var(--red)}.sandbox .wire-gnd{stroke:var(--navy)}.sandbox .wire-5v{stroke:var(--brass)}.sandbox .wire-3v3{stroke:var(--green)}.sandbox .wire-sig{stroke:#6b5d43;stroke-dasharray:7 5}.sandbox .wire-none{stroke:var(--muted);opacity:.75}.sandbox .sb-led{fill:var(--muted);opacity:.35}.sandbox .sb-led.on{fill:var(--green);opacity:1}@media(max-width:900px){.sandbox{grid-template-columns:1fr}.sandbox-bench{border-right:0;border-bottom:1px solid var(--line)}}.crit-chip{display:inline-flex;align-items:center;justify-content:center;min-width:26px;padding:2px 7px;border:1px solid currentColor;font-family:var(--mono);font-size:.72rem;font-weight:700}.crit-chip.crit-a{color:var(--navy)}.crit-chip.crit-b{color:var(--green)}.crit-chip.crit-c{color:var(--brass)}.crit-chip.crit-d{color:var(--red)}.crit-chip.is-on.crit-a{background:var(--navy);color:var(--white)}.crit-chip.is-on.crit-b{background:var(--green);color:var(--white)}.crit-chip.is-on.crit-c{background:var(--brass);color:var(--white)}.crit-chip.is-on.crit-d{background:var(--red);color:var(--white)}.cu-unit{border:1px solid var(--ink);background:var(--white);box-shadow:var(--shadow-paper);margin:30px 0}.cu-unit-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:16px 22px}.cu-unit-head .cu-window{font-family:var(--mono);font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--brass)}.cu-unit-head h3{flex:1 1 260px;font-size:1.45rem}.cu-unit-head .cu-chips{display:flex;gap:6px}.cu-dl{display:grid;grid-template-columns:170px minmax(0,1fr);margin:0}.cu-dl dt{border-top:1px solid var(--line);padding:10px 0 10px 22px;color:var(--muted);font-family:var(--mono);font-size:.72rem;font-weight:700;text-transform:uppercase;line-height:1.9}.cu-dl dd{border-top:1px solid var(--line);margin:0;padding:10px 22px 10px 16px;font-size:.97rem}.cu-dl dt:first-of-type,.cu-dl dd:first-of-type{border-top:0}.cu-dl .cu-ai{background:var(--brass-soft)}@media(max-width:700px){.cu-dl{grid-template-columns:1fr}.cu-dl dt{border-top:1px solid var(--line);padding-bottom:0}.cu-dl dd{border-top:0;padding-left:22px}}.table-scroll{overflow-x:auto;margin:22px 0}.cu-table{width:100%;min-width:640px;border-collapse:collapse;border:1px solid var(--ink);background:var(--white);font-size:.9rem}.cu-table th,.cu-table td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}.cu-table th{font-family:var(--mono);font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--muted);background:var(--brass-soft)}.cu-table .dot-s,.cu-table .dot-f{text-align:center;font-size:1rem}.cu-table .dot-s{color:var(--brass)}.cu-table .dot-f{color:var(--muted);opacity:.6}.glance-grid a{text-decoration:none;display:block}.glance-cell strong{display:block;font-family:var(--serif);font-size:1.1rem;line-height:1.15}.glance-cell span{color:var(--muted);font-family:var(--mono);font-size:.68rem;text-transform:uppercase}.cu-pager{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:40px;padding-top:18px}.prose table{width:100%;border-collapse:collapse;border:1px solid var(--ink);background:var(--white);margin:22px 0;font-size:.92rem;display:block;overflow-x:auto}.prose table th,.prose table td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top;min-width:120px}.prose table th{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;color:var(--muted);background:var(--brass-soft)}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}.photo-grid.quad{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-plate{margin:0;border:1px solid var(--ink);background:var(--white);box-shadow:6px 6px 0 var(--paper-deep);transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out)}.photo-plate:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--paper-deep)}.photo-plate img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-bottom:1px solid var(--line);filter:saturate(.92) contrast(1.03)}.video-plate .video-frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-bottom:1px solid var(--line);background:#060606}.video-plate .video-frame:before{content:"";position:absolute;inset:-24px;background:var(--vp-poster) center / cover no-repeat;filter:blur(20px) brightness(.35) saturate(.85)}.video-plate video{position:relative;display:block;width:100%;height:100%;object-fit:contain}.photo-plate figcaption{display:flex;justify-content:space-between;gap:12px;padding:9px 13px;color:var(--muted);font-family:var(--mono);font-size:.68rem;text-transform:uppercase}.photo-plate figcaption .fig-index{color:var(--brass);font-weight:700;white-space:nowrap}@media(max-width:860px){.photo-grid,.photo-grid.quad,.photo-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.photo-grid,.photo-grid.quad,.photo-grid.three{grid-template-columns:1fr}}.schematic-plate{width:min(1020px,calc(100vw - 48px));margin:34px 0 34px calc(50% - (min(1020px,100vw - 48px)/2));border:1px solid var(--ink);background:var(--white);box-shadow:var(--shadow-paper)}.schematic-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 22px}.schematic-head .eyebrow{font-size:.72rem}.schematic-legend{display:flex;flex-wrap:wrap;gap:8px}.net-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);padding:4px 9px;background:var(--white);cursor:pointer;font-family:var(--mono);font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--muted);transition:border-color .2s ease,color .2s ease}.net-chip .swatch{width:14px;height:3px;background:var(--chip, var(--ink))}.net-chip:hover{border-color:var(--ink);color:var(--ink)}.net-chip.is-active{border-color:var(--ink);background:var(--ink);color:var(--white)}.schematic-scroll{overflow-x:auto;padding:10px 12px 4px}.schematic{display:block;width:100%;min-width:760px;height:auto}.schematic .wire{fill:none;stroke-width:2.5;stroke-linejoin:round;transition:opacity .25s ease}.schematic .net-12v{stroke:var(--red)}.schematic .net-gnd{stroke:var(--navy)}.schematic .net-5v{stroke:var(--brass)}.schematic .net-3v3{stroke:var(--green)}.schematic .net-sig{stroke:#6b5d43;stroke-dasharray:6 4}.schematic .comp-box{fill:var(--white);stroke:var(--ink);stroke-width:2.2}.schematic .comp{cursor:pointer;transition:opacity .25s ease}.schematic .comp:hover .comp-box,.schematic .comp.is-selected .comp-box{stroke:var(--brass);stroke-width:3}.schematic .comp-title{font-family:var(--mono);font-size:13px;font-weight:700;fill:var(--ink)}.schematic .comp-sub,.schematic .pin-label,.schematic .part-label{font-family:var(--mono);font-size:10px;fill:var(--muted)}.schematic .junction{transition:opacity .25s ease}.schematic .wire.dim,.schematic .comp.dim,.schematic .junction.dim{opacity:.13}.schematic.prep .s-draw{stroke-dasharray:1;stroke-dashoffset:1}.schematic.play .s-draw{animation:plate-draw .9s var(--ease-out) forwards;animation-delay:var(--d, 0s)}.schematic.prep .s-label{opacity:0}.schematic.play .s-label{animation:plate-label-in .5s ease forwards;animation-delay:var(--d, 0s)}.schematic-info{display:grid;gap:4px;border-top:1px solid var(--line);padding:16px 22px 18px}.schematic-info strong{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;color:var(--brass)}.schematic-info p{margin:0;color:var(--muted);font-size:.95rem}@media(max-width:1100px){.schematic-plate{width:100%;margin-left:0}}.site-footer{padding:48px 0 38px;background:linear-gradient(rgba(255,250,240,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,250,240,.04) 1px,transparent 1px),var(--ink);background-size:34px 34px,34px 34px,auto;color:var(--white)}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:24px}.footer-wordmark{margin:0 0 10px;font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:600;line-height:1}.site-footer p{max-width:560px;color:#d8cdb8}.footer-links{display:flex;flex-wrap:wrap;align-content:start;gap:14px;color:#d8cdb8}.footer-links a{text-decoration-color:#d8cdb880;transition:color .2s ease}.footer-links a:hover{color:var(--white)}.footer-note{margin-top:26px;border-top:1px solid rgba(216,205,184,.25);padding-top:16px;color:#a89c84;font-family:var(--mono);font-size:.72rem;text-transform:uppercase}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);transition-delay:var(--reveal-delay, 0s)}.reveal.is-in{opacity:1;transform:none}@media(max-width:860px){.section-header,.footer-grid{align-items:start;flex-direction:column;display:flex}.nav{flex-wrap:wrap}.nav-toggle{display:flex}.nav-links{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 18px;font-size:1.05rem}.nav-links.is-open{display:flex}.nav-links a{border-top:1px solid var(--line);padding:12px 4px}.nav-links a:after{display:none}.hero,.about-hero,.grid,.grid.two,.card.feature,.pathway-track,.demo-body,.pathway-panel.is-active{grid-template-columns:1fr}.pathway-panel .panel-units{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:18px}.pathway-track:before{display:none}.pathway-node{grid-template-columns:54px minmax(0,1fr);justify-items:start;text-align:left;align-items:center;column-gap:16px}.pathway-node .node-grade,.pathway-node .node-title{grid-column:2}.demo-controls{border-right:0;border-bottom:1px solid var(--line)}.hero{gap:32px;padding-top:44px}.hero h1{max-width:none}.hero>.technical-plate{justify-self:stretch;width:100%}.about-hero{gap:32px;padding-top:44px}.portrait-panel.large{max-width:360px}.technical-plate{min-height:330px}.archive-item{grid-template-columns:1fr}}.search-modal[hidden]{display:none}.search-modal{position:fixed;inset:0;z-index:50;background:#14120e8c;backdrop-filter:blur(3px);display:grid;justify-items:center;align-items:start;padding:12vh 20px 40px}.search-box{width:min(640px,100%);border:1px solid var(--ink);background:var(--white);box-shadow:var(--shadow-paper)}.search-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:8px 10px 8px 16px}.search-row input{flex:1;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1.05rem;padding:8px 0;outline:none}.search-close{border:1px solid var(--line);background:transparent;color:var(--muted);font-family:var(--mono);font-size:.66rem;font-weight:700;padding:5px 8px;cursor:pointer}.search-results{max-height:min(55vh,480px);overflow-y:auto}.search-hit{display:block;border-top:1px solid var(--line);padding:12px 16px;text-decoration:none}.search-hit:first-child{border-top:0}.search-hit:hover{background:var(--brass-soft)}.search-hit strong{font-family:var(--serif);font-size:1.05rem}.search-hit p{margin:4px 0 0;color:var(--muted);font-size:.88rem}.search-hit mark{background:var(--brass-soft);color:var(--ink);font-weight:700}.search-note{margin:0;padding:14px 16px;color:var(--muted);font-size:.9rem}[data-theme=eva] .search-modal{background:#000000b3}[data-theme=eva] .search-hit mark{color:var(--brass)}.theme-toggle{border:1px solid var(--line);background:transparent;color:var(--muted);font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;cursor:pointer;transition:border-color .2s ease,color .2s ease}.theme-toggle:hover{border-color:var(--brass);color:var(--ink)}[data-theme=eva]{--paper: #0a0d12;--paper-deep: #04060a;--ink: #ff7a1a;--muted: #8a9a94;--line: #54391a;--navy: #38c8d2;--green: #2fd06a;--brass: #ffb000;--brass-soft: rgba(255, 176, 0, .14);--red: #ff2f2f;--white: #10151c}[data-theme=eva] body{background:repeating-linear-gradient(0deg,rgba(0,0,0,.24) 0 1px,transparent 1px 3px),linear-gradient(rgba(255,122,26,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,122,26,.04) 1px,transparent 1px),var(--paper);background-size:auto,34px 34px,34px 34px,auto}[data-theme=eva] ::selection{background:var(--red);color:#fff}[data-theme=eva] .site-header{background:#080b10eb}[data-theme=eva] h1,[data-theme=eva] h2,[data-theme=eva] h3,[data-theme=eva] .brand strong,[data-theme=eva] .footer-wordmark,[data-theme=eva] .portrait-panel strong,[data-theme=eva] .pathway-node .node-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.03em;text-shadow:0 0 10px rgba(255,122,26,.28)}[data-theme=eva] .hero h1{max-width:16ch;font-size:clamp(2.1rem,3.9vw,3.5rem);line-height:1.06}[data-theme=eva] .page-title{font-size:clamp(2.1rem,5.4vw,4.2rem);line-height:1.06}[data-theme=eva] h2{font-size:clamp(1.5rem,2.8vw,2.4rem)}[data-theme=eva] h3{font-size:1.15rem}[data-theme=eva] .about-copy h1{font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.06}[data-theme=eva] .prose h1{font-size:clamp(2rem,4.8vw,3.6rem);line-height:1.06}[data-theme=eva] .brand strong{font-size:1.02rem}[data-theme=eva] .footer-wordmark{font-size:clamp(1.3rem,3vw,1.9rem)}[data-theme=eva] .pathway-node .node-title{font-size:1rem}[data-theme=eva] .prose p,[data-theme=eva] .prose li{color:#b9c4bb}[data-theme=eva] .card,[data-theme=eva] .portrait-panel,[data-theme=eva] .pathway-panel .panel-units a{background:#10151cc7}[data-theme=eva] .archive-item:hover{background:#10151ce6}[data-theme=eva] .button,[data-theme=eva] .filter-button,[data-theme=eva] .net-chip{clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}[data-theme=eva] .technical-plate,[data-theme=eva] .sensor-demo,[data-theme=eva] .pathway-panel,[data-theme=eva] .schematic-plate{box-shadow:10px 10px 0 var(--paper-deep),0 0 26px #ff7a1a1a}[data-theme=eva] .plate-hint{background:#0a0d12d9}[data-theme=eva] .site-footer{border-top:7px solid;border-image:repeating-linear-gradient(-45deg,#ffb000 0 14px,#0a0d12 14px 28px) 7;background:linear-gradient(rgba(255,176,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,176,0,.03) 1px,transparent 1px),#06080c;background-size:34px 34px,34px 34px,auto;color:#cfd8ce}[data-theme=eva] .site-footer p,[data-theme=eva] .footer-links{color:#93a097}[data-theme=eva] .footer-note{border-top-color:#ffb00040;color:#7d8a82}[data-theme=eva] .schematic .net-sig{stroke:#c8cf8e}[data-theme=eva] .photo-plate img{filter:saturate(.85) contrast(1.08) brightness(.94)}.eva-status,.eva-wave,.eva-bg,.eva-only{display:none}[data-theme=eva] .eva-status{display:flex;flex-wrap:wrap;align-items:center;gap:14px;border-top:1px solid var(--line);padding:5px 0 6px;color:var(--muted);font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.eva-status .eva-tag{background:var(--red);color:#050505;font-weight:700;padding:1px 7px}.eva-status .eva-checks b{color:var(--green);font-weight:700}.eva-status .eva-clock{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--brass);font-weight:700;font-size:.72rem}.eva-cursor{display:inline-block;width:.55em;height:1em;background:var(--brass);animation:eva-blink 1.1s steps(1) infinite}@keyframes eva-blink{50%{opacity:0}}@media(max-width:760px){.eva-status .eva-checks{display:none}}[data-theme=eva] .eva-bg{display:block;position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}[data-theme=eva] .site-shell{position:relative;z-index:1}.eva-bg .magi{position:absolute;right:-170px;top:14%;width:620px;opacity:.08}.eva-bg .magi .ring{transform-box:fill-box;transform-origin:center}.eva-bg .magi .ring-a{animation:eva-rot 70s linear infinite}.eva-bg .magi .ring-b{animation:eva-rot-rev 110s linear infinite}.eva-bg .magi .ring-c{animation:eva-rot 45s linear infinite}@keyframes eva-rot{to{transform:rotate(360deg)}}@keyframes eva-rot-rev{to{transform:rotate(-360deg)}}.eva-bg .pulse{animation:eva-pulse 2.4s steps(1) infinite}.eva-bg .pulse-d1{animation-delay:.8s}.eva-bg .pulse-d2{animation-delay:1.6s}@keyframes eva-pulse{0%,to{opacity:1}50%{opacity:.15}}.eva-bg .drift path{animation:eva-dash 16s linear infinite}@keyframes eva-dash{to{stroke-dashoffset:-480}}[data-theme=eva] .eva-wave{display:block;overflow:hidden;border-top:1px solid var(--line);background:#00000040}.eva-wave svg{display:block;width:200%;height:84px;animation:eva-scroll 11s linear infinite}@keyframes eva-scroll{to{transform:translate(-50%)}}[data-theme=eva] .eyebrow{display:inline-block;background:var(--ink);color:#0a0d12;padding:2px 8px 1px;font-size:.68rem;letter-spacing:.08em}[data-theme=eva] main{counter-reset:phase}[data-theme=eva] .section{counter-increment:phase}[data-theme=eva] .section .section-header{position:relative}[data-theme=eva] .section .section-header:after{content:"PHASE " counter(phase,decimal-leading-zero);position:absolute;top:-2px;right:0;border:1px solid var(--red);padding:2px 9px;color:var(--red);font-family:var(--mono);font-size:.64rem;font-weight:700;letter-spacing:.14em}[data-theme=eva] .hero h1:before,[data-theme=eva] .page-title:before,[data-theme=eva] .about-copy h1:before,[data-theme=eva] .prose h1:before{content:"内部 // FILE: MAGI.SYS · EX.MODE: ON · PRIORITY: A";display:block;margin-bottom:12px;color:var(--red);font-size:.66rem;font-weight:400;letter-spacing:.16em;text-shadow:none}[data-theme=eva] .hero{position:relative}[data-theme=eva] .hero:before{content:"";position:absolute;inset:16px 0;pointer-events:none;opacity:.85;background:linear-gradient(var(--red),var(--red)) left 0 top 0 / 30px 2px,linear-gradient(var(--red),var(--red)) left 0 top 0 / 2px 30px,linear-gradient(var(--red),var(--red)) right 0 top 0 / 30px 2px,linear-gradient(var(--red),var(--red)) right 0 top 0 / 2px 30px,linear-gradient(var(--red),var(--red)) left 0 bottom 0 / 30px 2px,linear-gradient(var(--red),var(--red)) left 0 bottom 0 / 2px 30px,linear-gradient(var(--red),var(--red)) right 0 bottom 0 / 30px 2px,linear-gradient(var(--red),var(--red)) right 0 bottom 0 / 2px 30px;background-repeat:no-repeat}[data-theme=eva] .archive{counter-reset:evafile}[data-theme=eva] .archive-item{counter-increment:evafile}[data-theme=eva] .archive-item h3:before{content:"[ EVA-00-" counter(evafile,decimal-leading-zero) " ] ";color:var(--red);font-size:.55em;letter-spacing:.12em;vertical-align:.25em}[data-theme=eva] .eva-only{display:inline;color:var(--brass)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.reveal{opacity:1;transform:none}.boat-diagram .draw{stroke-dashoffset:0}.boat-diagram .label-in,.boat-diagram .stamp{opacity:1}.pathway-track:before{transform:scaleX(1)}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
