@font-face{font-family:Carlito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/carlito-400-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Carlito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/carlito-400-normal-latin.woff2) format("woff2");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:Carlito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/carlito-700-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Carlito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/carlito-700-normal-latin.woff2) format("woff2");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{--bg: #141414;--bg-rail: #171717;--surface: #1c1c1c;--surface-2: #222222;--surface-3: #282828;--control: #222222;--control-hi: #282828;--line: #292929;--line-2: #3a3a3a;--line-3: #4a4a4a;--text: #dadada;--text-hi: #f0f0f0;--text-dim: #9c9c9c;--text-mute: #757575;--accent: #ececec;--accent-dm: #9e9e9e;--warn: #cba450;--danger: #cd7b74;--ok: #86ab86;--pick-bg: #3a3a3a;--pick-line: #8a8a8a;--error-bg: #1e1717;--radius: 2px;--fast: 90ms;--fast-2: .13s;--font: Calibri, Carlito, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;--mono: "JetBrains Mono", "SF Mono", Consolas, "DejaVu Sans Mono", Menlo, monospace;--topbar-h: 44px;font-size:clamp(15.8px,.27vw + 13.7px,18.9px);color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}html,body{background-color:var(--bg)}body{margin:0;color:var(--text);font:.94rem/1.6 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--text-hi)}.app-shell{display:flex;flex-direction:column;min-height:100dvh}.app-main{flex:1 1 auto;min-width:0}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;height:calc(var(--topbar-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 14px 0;background:var(--bg-rail);border-bottom:1px solid var(--line)}.topbar .brand{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--text-hi);letter-spacing:.02em;white-space:nowrap}.topbar nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.topbar nav a{padding:5px 10px;color:var(--text-dim);border:1px solid transparent;border-radius:var(--radius);white-space:nowrap;transition:background var(--fast),border-color var(--fast),color var(--fast)}.topbar nav a:hover{background:var(--surface-2);border-color:var(--line-2);color:var(--text)}.topbar nav a.active{background:var(--pick-bg);border-color:var(--pick-line);color:var(--text-hi)}.spacer{flex:1}.page{max-width:clamp(900px,82vw,1200px);width:100%;margin:0 auto;padding:22px 18px 60px}.page.narrow{max-width:460px}h1{font-size:1.5rem;margin:0 0 4px;color:var(--text-hi);font-weight:700}h2{font-size:1.0625rem;margin:26px 0 10px;color:var(--text-hi);font-weight:700}h3{font-size:1rem;margin:18px 0 8px;color:var(--text-hi)}.lead{color:var(--text-dim);margin:0 0 20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.card>h2:first-child,.card>h3:first-child{margin-top:0}.grid{display:grid;gap:12px}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card-link{color:inherit;display:block;transition:border-color var(--fast-2),box-shadow var(--fast-2),transform var(--fast-2)}.card-link:hover{color:inherit;border-color:var(--line-3);box-shadow:inset 0 0 0 999px #ffffff17,0 4px 14px #0003;transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}.card-link:hover{transform:none}}button,.btn{display:inline-block;font:inherit;color:var(--text);background:var(--control);border:1px solid var(--line-2);border-radius:var(--radius);padding:.4rem .8rem;cursor:pointer;transition:background var(--fast),border-color var(--fast),color var(--fast)}button:hover:not(:disabled),.btn:hover{background:var(--control-hi);border-color:var(--line-3);color:var(--text-hi)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.btn.primary{background:var(--pick-bg);border-color:var(--pick-line);color:var(--text-hi)}button.primary:hover:not(:disabled),.btn.primary:hover{border-color:var(--accent-dm)}button.ghost{background:transparent;border-color:transparent;color:var(--text-dim)}button.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}input,textarea,select{font:inherit;width:100%;color:var(--text);background:var(--control);border:1px solid var(--line-2);border-radius:var(--radius);padding:7px 10px}input[type=checkbox]{width:auto}textarea{font-family:var(--mono);font-size:.8125rem;line-height:1.55;resize:vertical}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-dm);background:var(--control-hi)}label{display:block;margin-bottom:12px}label>span{display:block;color:var(--text-dim);font-size:.8125rem;margin-bottom:4px}label.inline{display:inline-flex;align-items:center;gap:6px;margin:0}.field-error{color:var(--danger);font-size:.8125rem;margin-top:4px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.muted{color:var(--text-dim)}.tiny{font-size:.75rem}.mono{font-family:var(--mono);font-size:.8125rem}.pill{display:inline-block;padding:1px 7px;font-size:.75rem;border:1px solid var(--line-2);border-radius:999px;color:var(--text-dim)}.pill.ok{border-color:var(--ok);color:var(--ok)}.pill.warn{border-color:var(--warn);color:var(--warn)}.pill.danger{border-color:var(--danger);color:var(--danger)}.error{border:1px solid var(--danger);border-radius:var(--radius);padding:8px 11px;color:var(--danger);background:var(--error-bg)}.notice{border:1px solid var(--line-2);border-left-color:var(--accent-dm);border-radius:var(--radius);padding:8px 11px;color:var(--text-dim);background:var(--surface)}.loading{display:grid;place-items:center;min-height:30vh;color:var(--text-dim)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--text-dim);font-weight:400;font-size:.8125rem}.table-wrap{overflow-x:auto}.site-footer{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;max-width:clamp(900px,82vw,1200px);width:100%;margin:40px auto 0;padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--text-mute);font-size:.8125rem}.field{margin-bottom:12px}.field>label{margin-bottom:0}.hero{padding:36px 0 18px}.hero h1{font-size:2rem;letter-spacing:.01em}.hero .lead{max-width:640px;font-size:1.05rem}.stat{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.stat b{color:var(--text-hi);font-weight:400}.big-number{font-size:2rem;color:var(--text-hi);line-height:1.1}.news-item+.news-item{margin-top:12px}.news-item time{color:var(--text-mute);font-size:.8125rem}.prose{line-height:1.65;max-width:760px}.prose h2{margin-top:28px}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:3px}.prose code{font-family:var(--mono);font-size:.85em;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:0 4px}.prose pre{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;overflow-x:auto}.prose pre code{background:none;border:0;padding:0}.prose blockquote{margin:12px 0;padding:4px 12px;border-left:2px solid var(--accent-dm);color:var(--text-dim)}.docs{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}.docs aside{position:sticky;top:calc(var(--topbar-h) + 16px);display:flex;flex-direction:column;gap:2px}.docs aside a{padding:5px 10px;color:var(--text-dim);border:1px solid transparent;border-radius:var(--radius)}.docs aside a.active{background:var(--pick-bg);border-color:var(--pick-line);color:var(--text-hi)}@media(max-width:720px){.docs{grid-template-columns:1fr}.docs aside{position:static;flex-direction:row;flex-wrap:wrap}.hero h1{font-size:1.6rem}}
