@font-face{font-family:Onest;font-weight:400;font-display:swap;src:url(/fonts/onest-cyrillic-400-normal.woff2)format("woff2");unicode-range:U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-weight:400;font-display:swap;src:url(/fonts/onest-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122}@font-face{font-family:Onest;font-weight:500;font-display:swap;src:url(/fonts/onest-cyrillic-500-normal.woff2)format("woff2");unicode-range:U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-weight:500;font-display:swap;src:url(/fonts/onest-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122}@font-face{font-family:Onest;font-weight:700;font-display:swap;src:url(/fonts/onest-cyrillic-700-normal.woff2)format("woff2");unicode-range:U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-weight:700;font-display:swap;src:url(/fonts/onest-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122}@font-face{font-family:Onest;font-weight:800;font-display:swap;src:url(/fonts/onest-cyrillic-800-normal.woff2)format("woff2");unicode-range:U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-weight:800;font-display:swap;src:url(/fonts/onest-latin-800-normal.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+2122}@font-face{font-family:Mono;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic-500-normal.woff2)format("woff2");unicode-range:U+400-45F}@font-face{font-family:Mono;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+2000-206F}:root{--paper:#f2f0eb;--card:#fbfaf7;--ink:#15171a;--ink2:#50555d;--ink3:#8a8f96;--line:#dcd8cf;--accent:#ff5b14;--accent-dark:#b93a00;--plate:#1d2024;--sans:Onest,system-ui,sans-serif;--mono:Mono,ui-monospace,monospace;--max:1240px;--pad:28px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);font-feature-settings:"tnum" 0;margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}.wrap{max-width:var(--max);padding-left:var(--pad);padding-right:var(--pad);margin-left:auto;margin-right:auto}.mono{font-family:var(--mono);letter-spacing:.02em;color:var(--ink3);font-size:12px}.label{font:500 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink2);align-items:center;gap:10px;margin:0 0 14px;display:flex}.label:before{content:"";background:var(--accent);border-radius:2px;width:14px;height:3px}.kicker{font:500 12px/1 var(--mono);color:var(--ink3);letter-spacing:.02em;flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.kicker b{text-transform:uppercase;letter-spacing:.1em;color:var(--accent-dark);font-weight:500}.mast{background:var(--paper);border-bottom:1px solid var(--ink)}.mast-in{align-items:center;gap:36px;height:68px;display:flex}.logo{color:var(--ink);align-items:center;gap:10px;display:flex}.logo-img{width:auto;height:28px;display:block}.logo b{font:800 23px/1 var(--sans);letter-spacing:-.03em}.logo i,.foot i{color:var(--accent);font-style:normal}.nav{gap:26px;display:flex}.nav a{color:var(--ink2);font-size:15px;font-weight:500}.nav a:first-child{color:var(--ink)}.nav a:hover{color:var(--accent-dark)}.slogan{color:var(--ink2);margin-left:auto}.nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.foot-logo{width:auto;height:28px;margin-bottom:12px;display:block}.foot-links a{color:inherit;text-underline-offset:3px;text-decoration:underline}.home{padding-top:32px}.lead{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:40px;padding-bottom:40px;display:grid}.lead-main .img{aspect-ratio:16/9;background:var(--plate);border-radius:4px;overflow:hidden}.lead-main .img img,.lead-main .img svg{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.lead-main:hover img{transform:scale(1.02)}.lead-main .txt{padding-top:20px}.lead-main h2{font:800 clamp(28px,3.3vw,44px)/1.1 var(--sans);letter-spacing:-.03em;text-wrap:balance;margin:12px 0 14px}.lead-main p{color:var(--ink2);max-width:640px;margin:0;font-size:18px}.lead-main:hover h2,.card:hover h3,.now a:hover b,.more a:hover .t{color:var(--accent-dark)}.now{padding-left:4px}.now ol{counter-reset:n;margin:0;padding:0;list-style:none}.now li{counter-increment:n;border-top:1px solid var(--line)}.now li:first-child{border-top:0}.now a{grid-template-columns:28px 1fr;gap:0 8px;padding:15px 0;display:grid}.now a:before{content:counter(n,decimal-leading-zero);font:500 13px/1.5 var(--mono);color:var(--accent);grid-row:span 2}.now b{font:600 16px/1.32 var(--sans);text-wrap:pretty;margin-top:4px}.now li:first-child b{font-size:19px;font-weight:700}.band{color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#e6e2d9}.band-in{align-items:center;gap:28px;min-height:56px;padding-top:14px;padding-bottom:14px;display:flex}.band .label{white-space:nowrap;margin:0}.versions{flex-wrap:wrap;gap:10px 26px;margin:0;padding:0;list-style:none;display:flex}.versions li{align-items:center;gap:8px;display:flex}.vname{font-size:14px;font-weight:600}.vtag{font:500 12px/1 var(--mono);color:var(--ink);background:var(--card);border:1px solid #bdb8ad;border-radius:3px;gap:6px;padding:5px 7px;display:inline-flex}.vtag small{color:var(--ink3);font-size:11.5px}.vtag.beta{border-color:var(--accent);color:var(--accent-dark)}.vtag:hover{border-color:var(--ink)}.feed-wrap{padding-top:44px;padding-bottom:64px}.sec-h{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;gap:14px;margin:0 0 26px;padding-bottom:10px;display:flex}.sec-h h2{font:800 30px/1 var(--sans);letter-spacing:-.02em;margin:0}.feed{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px;display:grid}.card{flex-direction:column;display:flex}.card .img{aspect-ratio:16/10;background:var(--plate);border-radius:4px;overflow:hidden}.card .img img,.card .img svg{object-fit:cover;width:100%;height:100%}.card .txt{padding-top:14px}.card h3{font:700 20px/1.22 var(--sans);letter-spacing:-.01em;text-wrap:balance;margin:9px 0 8px}.card p{color:var(--ink2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:15px;line-height:1.5;display:-webkit-box;overflow:hidden}.card.wide{grid-column:span 2;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.card.wide .img{aspect-ratio:4/3}.card.wide .txt{padding-top:4px}.card.wide h3{font-size:27px;line-height:1.12}.art{padding-top:40px;padding-bottom:40px}.art-head{max-width:calc(880px + 2 * var(--pad))}.art h1{font:800 clamp(32px,4.6vw,54px)/1.04 var(--sans);letter-spacing:-.035em;text-wrap:balance;margin:14px 0 18px}.art .dek{color:var(--ink2);max-width:760px;margin:0 0 28px;font-size:21px;line-height:1.45}.hero{margin-top:0;margin-bottom:36px}.hero img,.hero svg{aspect-ratio:16/9;object-fit:cover;background:var(--plate);border-radius:4px;width:100%;height:auto}.hero figcaption{margin-top:8px}.art-grid{grid-template-columns:minmax(0,680px) minmax(0,300px);justify-content:start;gap:64px;display:grid}.body p{margin:0 0 1.15em;font-size:18px;line-height:1.66}.body p:first-child:first-line{font-weight:600}.body h2{font:800 25px/1.2 var(--sans);letter-spacing:-.015em;align-items:baseline;gap:12px;margin:1.7em 0 .6em;display:flex}.body h2:before{content:"";background:var(--accent);border-radius:2px;flex:none;width:12px;height:12px;transform:translateY(-2px)}.tags{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.tags span{font:500 12px/1 var(--mono);border:1px solid var(--line);color:var(--ink2);border-radius:3px;padding:6px 8px}.art-side{align-self:start;position:sticky;top:24px}.sources{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--ink);padding:14px 16px 6px}.sources ol{margin:0;padding:0;list-style:none}.sources li{border-bottom:1px solid var(--line);flex-direction:column;gap:3px;padding:10px 0;display:flex}.sources a{color:var(--ink);font-size:15px;font-weight:600}.sources a:hover{color:var(--accent-dark)}.method{margin-top:14px;line-height:1.5}.src-title{color:var(--ink2);font-size:13px;line-height:1.35}.more{border-top:1px solid var(--ink);margin-top:56px;padding-top:18px}.more-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.more a{flex-direction:column;gap:8px;display:flex}.more .t{font:700 18px/1.3 var(--sans)}.foot{background:var(--ink);color:#b7b3ab;padding:36px 0}.foot-in{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.foot b{color:#fff;font:800 22px/1 var(--sans);letter-spacing:-.03em}.foot p{max-width:520px;margin:10px 0 0;font-size:14px}.foot .mono{color:#7b8087;margin:0}.fig{margin:6px 0 26px}.fig img{object-fit:contain;background:#e6e2d9;border-radius:4px;width:100%;height:auto;max-height:560px}.fig figcaption{margin-top:6px}.fig-item img{aspect-ratio:4/3;object-fit:cover;max-height:none}@media (width<=980px){.lead{grid-template-columns:minmax(0,1fr);gap:24px}.now{border-left:0;border-top:1px solid var(--ink);padding-top:14px;padding-left:0}.feed{grid-template-columns:repeat(2,minmax(0,1fr))}.art-grid{grid-template-columns:minmax(0,1fr);gap:32px}.art-side{position:static}}@media (width<=620px){:root{--pad:16px}.mast-in{gap:18px;height:56px}.logo-img{height:23px}.nav{gap:16px}.nav a{font-size:14px}.nav a:last-child,.slogan{display:none}.home{padding-top:0}.lead-main{margin:0 calc(var(--pad) * -1);display:block}.lead-main .img{border-radius:0}.lead-main .txt{padding:16px var(--pad) 0}.lead-main h2{font-size:27px}.lead-main p{font-size:16px}.band-in{flex-direction:column;align-items:flex-start;gap:12px;padding-top:18px;padding-bottom:18px}.versions{flex-direction:column;gap:10px}.versions li{grid-template-columns:108px auto auto;justify-content:start;gap:8px;display:grid}.feed-wrap{padding-top:28px}.sec-h h2{font-size:24px}.sec-h .mono{display:none}.feed{grid-template-columns:minmax(0,1fr);gap:0}.card,.card.wide{border-bottom:1px solid var(--line);grid-column:auto;grid-template-columns:104px minmax(0,1fr);gap:14px;padding:14px 0;display:grid}.card .img,.card.wide .img{aspect-ratio:1;border-radius:3px}.card .txt,.card.wide .txt{padding:0}.card h3,.card.wide h3{-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:6px 0 0;font-size:16.5px;line-height:1.28;display:-webkit-box;overflow:hidden}.card p{display:none}.art{padding-top:22px}.art h1{font-size:30px}.art .dek{font-size:18px}.hero{margin-bottom:24px;padding:0}.hero img,.hero svg{border-radius:0}.hero figcaption{padding:0 var(--pad)}.body p{font-size:17px}.fig{margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1)}.fig img{border-radius:0}.fig figcaption{padding:0 var(--pad)}.more-grid{grid-template-columns:minmax(0,1fr);gap:0}.more a{border-bottom:1px solid var(--line);padding:12px 0}.foot .mono{white-space:normal}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pager{font:500 15px/1 var(--sans);justify-content:space-between;gap:16px;margin:30px 0 10px;display:flex}.pager a{border:1px solid var(--ink);color:var(--ink);border-radius:3px;padding:12px 18px}.pager a:hover{background:var(--ink);color:var(--paper)}.pager a:only-child{margin-left:auto}h1.h2{font:800 30px/1.1 var(--sans);letter-spacing:-.02em;margin:0}.sign{margin-top:28px;font-weight:600}.method a{color:inherit;text-underline-offset:3px;text-decoration:underline}
