@font-face{font-family:"Golos Text";src:url(../fonts/GolosText-Variable.woff2?v=8c4b1204) format("woff2-variations");font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url(../fonts/IBMPlexMono-Variable.woff2?v=a964a3d9) format("woff2-variations");font-weight:100 700;font-style:normal;font-display:swap}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html.smooth{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-text);font-size:var(--fs-text);line-height:var(--lh-text);font-weight:var(--wt-regular);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}body.dots::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:var(--dot-step) var(--dot-step)}img,svg{display:block;max-inline-size:100%}h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}.t-d,h1{font-size:var(--fs-d);line-height:var(--lh-d);font-weight:var(--wt-d);letter-spacing:var(--tr-d);text-wrap:balance}.t-h2,h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--wt-h2);letter-spacing:var(--tr-h2);text-wrap:balance}.t-h3,h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--wt-h3);letter-spacing:var(--tr-h3)}.t-h4,h4{font-size:var(--fs-h4);line-height:var(--lh-h4);font-weight:var(--wt-h4);letter-spacing:var(--tr-h4)}.t-lead{font-size:var(--fs-lead);line-height:var(--lh-lead)}.t-sm{font-size:var(--fs-sm);line-height:var(--lh-sm)}.t-cap{font-family:var(--font-mono);font-size:var(--fs-cap);line-height:var(--lh-cap);color:var(--text-2)}.t-label{font-family:var(--font-mono);font-size:var(--fs-lab);line-height:var(--lh-lab);font-weight:var(--wt-lab);letter-spacing:var(--tr-lab);text-transform:uppercase;color:var(--text-3)}b,strong{font-weight:var(--wt-accent)}code,.mono{font-family:var(--font-mono);font-size:.94em}:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:var(--focus-offset);border-radius:2px}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--accent);text-decoration-thickness:2px}.page{max-inline-size:var(--w-page);margin-inline:auto;padding-inline:var(--pad)}.mod{max-inline-size:var(--w-mod);margin-inline:auto}.read{max-inline-size:var(--w-read)}.btn{display:inline-flex;align-items:center;gap:var(--sp-8);min-block-size:var(--touch);padding:var(--sp-12) var(--sp-20);border-radius:var(--r-sm);border:1px solid transparent;font:inherit;font-size:var(--fs-sm);line-height:var(--lh-sm);font-weight:var(--wt-accent);text-decoration:none;cursor:pointer;transition:background-color var(--dur-color) var(--ease),border-color var(--dur-color) var(--ease),color var(--dur-color) var(--ease),box-shadow var(--dur-move) var(--ease),transform var(--dur-move) var(--ease)}.btn--primary{background:var(--text);color:var(--on-dark);box-shadow:var(--sh-rest)}.btn--primary:hover{background:var(--text-hover);box-shadow:var(--sh-hover);color:var(--on-dark)}.btn--primary:active{transform:translateY(1px)}.btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--sh-rest)}.btn--secondary:hover{background:var(--text);color:var(--on-dark);border-color:var(--text)}.btn--secondary:active{transform:translateY(1px)}.btn--ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn--ghost:hover{background:var(--surface);border-color:var(--border-strong);color:var(--text)}:is(a,button).btn--ghost:active:not([disabled],[aria-disabled=true]){transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{background:var(--surface-2);color:var(--text-3);border-color:var(--border);box-shadow:none;cursor:default}.btn[disabled]:hover,.btn[aria-disabled=true]:hover{background:var(--surface-2);color:var(--text-3);border-color:var(--border)}.btn[disabled] .ico,.btn[aria-disabled=true] .ico{color:var(--text-3)}.nobr{white-space:nowrap}.visually-hidden{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
