@font-face{font-family:'PP Neue Machina';src:url('fonts/PPNeueMachina-Light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'PP Neue Machina';src:url('fonts/PPNeueMachina-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'PP Neue Machina';src:url('fonts/PPNeueMachina-Ultrabold.otf') format('opentype');font-weight:800;font-style:normal;font-display:swap}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#fff;color:#1A1A1A;font-family:'PP Neue Machina',sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:#C0022C;color:#fff}
a{color:#C0022C;text-decoration:none}
a:hover{color:#8E0020}
:focus-visible{outline:2px solid #C0022C;outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,64px);padding:clamp(26px,5vw,58px) clamp(22px,5vw,60px) clamp(56px,9vh,110px)}
aside{flex:1 1 210px;max-width:262px;min-width:196px}
.stick{position:sticky;top:30px}
.back{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:1px;color:#6B6B6B;margin-bottom:28px;padding:6px 0}
.back:hover{color:#1A1A1A}
.brand{font-family:'PP Neue Machina',sans-serif;font-weight:400;font-size:17px;color:#1A1A1A}
.brandsub{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:1px;color:#6B6B6B;margin-bottom:24px}
.docnav{display:flex;flex-direction:column;gap:2px;border-top:1px solid #ECE9E3;padding-top:12px}
.docnav a{border-left:2px solid transparent;font-family:'IBM Plex Mono',monospace;font-size:13px;color:#4A4A4A;padding:11px 12px;min-height:44px;display:flex;align-items:center;transition:color .18s ease,border-color .18s ease}
.docnav a:hover{color:#1A1A1A}
.docnav a[aria-current]{color:#C0022C;border-left-color:#C0022C}
.langsw{display:flex;align-items:center;gap:8px;margin-top:22px;padding-top:14px;border-top:1px solid #ECE9E3;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:1px}
.langsw a{color:#6B6B6B;padding:8px 4px;min-height:40px;display:flex;align-items:center}
.langsw a[aria-current]{color:#C0022C}
.langsw span{color:#C4BCAE}
main{flex:3 1 360px;min-width:0;max-width:748px}
h1{font-family:'PP Neue Machina',sans-serif;font-weight:400;font-size:clamp(30px,2.6vw + 18px,44px);letter-spacing:-.02em;line-height:1.05;color:#1A1A1A;padding-bottom:18px;border-bottom:2px solid #C0022C;margin-bottom:14px}
.meta{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.4px;color:#6B6B6B;margin-bottom:36px}
.body h2{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:#C0022C;margin:34px 0 12px}
.body p{font-size:15px;line-height:1.72;color:#33302B;margin-bottom:13px;max-width:64ch;text-wrap:pretty}
.body ul{list-style:none;margin:0 0 16px;padding:0;max-width:64ch}
.body li{position:relative;font-size:15px;line-height:1.6;color:#33302B;padding:6px 0 6px 20px;border-bottom:1px solid #ECE9E3}
.body li:before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;background:#C0022C}
.body strong{color:#1A1A1A;font-weight:800}
.body code{font-family:'IBM Plex Mono',monospace;font-size:13px;background:#F2EFE9;padding:1px 6px;color:#8E0020}
.body a{border-bottom:1px solid rgba(192,2,44,.32)}
@media(max-width:719px){.wrap{flex-direction:column}aside{max-width:100%;min-width:0;flex:1 1 100%}.stick{position:static}.brand,.brandsub{display:none}.docnav{flex-direction:row;overflow-x:auto;border-top:none;padding-top:0;gap:0 18px}.docnav a{border-left:none;border-bottom:2px solid transparent;padding:11px 0 9px;white-space:nowrap}.docnav a[aria-current]{border-left:none;border-bottom-color:#C0022C}}