:root{--paper:#F5F3EE;--ink:#16171A;--ink-soft:#5B5D5F;--line:#DAD6CC;--accent:#35513F;--tile:#e7e4dc;--maxw:1400px}html[data-theme=dark]{--paper:#111214;--ink:#ECE9E1;--ink-soft:#9C9A93;--line:#2A2C2E;--accent:#8FBB9C;--tile:#1c1d20}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:116px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}h1,h2,h3{font-family:Literata,serif;font-weight:450;margin:0;letter-spacing:-.01em}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.mono{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}img,video{display:block;max-width:100%}header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.hi{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}.logo{font-weight:600;font-size:13px;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.hr{display:flex;align-items:center;gap:6px}nav{display:flex;gap:4px}.ni{position:relative}.ni>a,.ni>button{font:13px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);background:0 0;border:none;cursor:pointer;padding:10px 12px;display:flex;align-items:center;gap:5px}.ni>.cur,.ni>a:hover,.ni>button:hover{color:var(--ink)}.caret{width:8px;height:8px;opacity:.7}.sub{position:absolute;top:100%;left:0;background:var(--paper);border:1px solid var(--line);min-width:220px;padding:6px;border-radius:6px;opacity:0;visibility:hidden;transform:translateY(4px);transition:.15s;box-shadow:0 8px 24px rgba(0,0,0,.08)}.ni:focus-within .sub,.ni:hover .sub{opacity:1;visibility:visible;transform:none}.sub a{display:block;padding:9px 12px;font-size:13.5px;border-radius:4px}.sub a:hover{background:var(--tile)}.sep{width:1px;height:18px;background:var(--line);margin:0 12px}.lang{display:flex;align-items:center;gap:6px;margin-right:8px}.lang button{background:0 0;border:none;cursor:pointer;padding:4px 2px;font:12px 'IBM Plex Mono',monospace;letter-spacing:.06em;color:var(--ink-soft)}.lang button.on{color:var(--ink);font-weight:500}.lang i{color:var(--line);font-style:normal;font-size:12px}.tb{width:32px;height:32px;border-radius:50%;cursor:pointer;background:0 0;border:1px solid var(--line);color:var(--ink-soft);display:flex;align-items:center;justify-content:center}.tb:hover{border-color:var(--accent)}.tb svg{width:15px;height:15px}html[data-theme=dark] .i-moon,html[data-theme=light] .i-sun{display:none}.burger{display:none;background:0 0;border:none;cursor:pointer;padding:6px}.burger span{display:block;width:20px;height:1.5px;background:var(--ink);margin:5px 0}.mm{display:none;border-bottom:1px solid var(--line);background:var(--paper)}.mm.open{display:block}.mm .wrap{padding-top:12px;padding-bottom:16px;display:flex;flex-direction:column}.mm-group{padding:10px 0;border-bottom:1px solid var(--line)}.mm-group:last-child{border-bottom:none}.mm-title{font:12px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;display:block;padding:0!important}.mm-links{display:flex;flex-direction:column;gap:2px}.mm-links a{padding:8px 0;font-size:15px}