.gl__n{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:6px;border-radius:50%;background:var(--vgrad);color:#15102b;font:800 12px/1 var(--f-b);vertical-align:1px}.bw{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}.bw__c{padding:22px;border-radius:24px;background:var(--card);border:1px solid var(--hair-soft)}.bw__c>span{font-size:28px}.bw__c h3{margin:10px 0 8px;font-size:18px}.bw__c p{color:var(--ink-soft);font-size:15px}.bw__c--y{border-color:rgba(185,168,255,.45);background:rgba(124,108,246,.1)}.hw2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}.hw2__c{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:24px;background:var(--card);border:1px solid var(--hair-soft)}.hw2__n{font:700 11px/1 var(--f-m);text-transform:uppercase;letter-spacing:.1em;color:var(--v2)}.hw2__c h3{font-size:19px}.hw2__c p{color:var(--ink-soft);font-size:15px}.hw2__c a{margin-top:auto;padding-top:6px;color:var(--v2);font-weight:700;font-size:14.5px}.gm{margin-top:22px;border-radius:22px;border:1px solid var(--hair-soft);background:var(--card);overflow-x:auto}.gm table{width:100%;min-width:600px;border-collapse:collapse;font-size:14.5px}.gm caption{text-align:left;padding:16px 18px 6px;font:700 11.5px/1 var(--f-m);text-transform:uppercase;letter-spacing:.12em;color:var(--v2)}.gm th,.gm td{padding:12px 18px;text-align:left;border-top:1px solid var(--hair-soft)}.gm thead th{font:700 12.5px/1.2 var(--f-b);color:var(--ink-faint);border-top:0}.gm tbody th{font-weight:700;white-space:nowrap}.gm td{color:var(--ink-soft)}.gm td.gy{color:var(--ok)}.gm td.gw{color:var(--warn)}.gm td.gy::before{content:"✓ "}.gm td.gw::before{content:"… "}.gfree{margin-top:22px;padding:24px;border-radius:24px;background:rgba(255,141,155,.05);border:1px solid rgba(255,141,155,.22)}.gfree h3{font-size:clamp(19px,2.2vw,24px)}.gfree h3 em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;font-size:1.1em}.gfree__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.gfree__g div{padding:14px 16px;border-radius:16px;background:rgba(0,0,0,.22);border:1px solid var(--hair-soft)}.gfree__g b{display:block;font-size:15px;margin-bottom:4px}.gfree__g p{font-size:14px;color:var(--ink-soft);line-height:1.5}.gfree__n{margin-top:14px;color:var(--ink-soft);font-size:15px}@media (max-width:760px){.gfree__g{grid-template-columns:1fr}.gfree{padding:18px}}@keyframes xsIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:1020px){.bw,.hw2{grid-template-columns:1fr 1fr}}@media (max-width:640px){.bw,.hw2{grid-template-columns:1fr}}.gm td code{padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.07);font:600 12.5px/1.4 var(--f-m);color:var(--ink);white-space:nowrap}.gm td.gn{color:var(--bad)}.gm td.gn::before{content:"✕ "}.gm td code,.gm th code{padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.07);font:600 12.5px/1.4 var(--f-m);color:var(--ink);white-space:nowrap}.gm td a{color:var(--v2);text-decoration:underline}.gc__box{flex:none;width:22px;height:22px;border-radius:7px;border:2px solid var(--hair);display:grid;place-items:center;transition:all .2s}.ff{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px}.ff__c{padding:18px 20px;border-radius:20px;background:rgba(255,141,155,.05);border:1px solid rgba(255,141,155,.22)}.ff__c b{display:block;font-size:15.5px;margin-bottom:6px}.ff__c p{font-size:14.5px;color:var(--ink-soft);line-height:1.5}.ff__c--y{background:rgba(142,240,180,.06);border-color:rgba(142,240,180,.3)}@media (max-width:1020px){.ff{grid-template-columns:1fr 1fr}}@media (max-width:640px){.ff{grid-template-columns:1fr}}.ff{margin-top:18px}.ff__c a{color:var(--v2);text-decoration:underline}.src{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:30px}.src__c{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:22px;background:var(--card);border:1px solid var(--hair-soft)}.src__c--y{border-color:rgba(185,168,255,.5);background:rgba(124,108,246,.1)}.src__t{font:700 11px/1 var(--f-m);text-transform:uppercase;letter-spacing:.1em;color:var(--v2)}.src__c h3{font-size:18px}.src__c>p{font-size:14px;color:var(--ink-soft);line-height:1.5}.src__c a{color:var(--v2);text-decoration:underline}.src__m{display:grid;gap:7px}.src__m li{display:grid;grid-template-columns:90px 1fr;gap:8px;align-items:center;font-size:12.5px;color:var(--ink-faint)}.src__m i{height:7px;border-radius:99px;background:linear-gradient(90deg,var(--ok) calc(var(--v)*20%),rgba(255,255,255,.08)0)}.src__m i.is-bad{background:linear-gradient(90deg,var(--bad) calc(var(--v)*20%),rgba(255,255,255,.08)0)}@media (max-width:1020px){.src{grid-template-columns:1fr 1fr}}@media (max-width:640px){.src{grid-template-columns:1fr}}.src__c a{color:var(--v2);text-decoration:underline}.gfree--note{background:rgba(124,108,246,.07);border-color:rgba(185,168,255,.3)}.gfree--note .gfree__n{margin-top:8px}.sec__head code,.tc code{padding:1px 6px;border-radius:6px;background:rgba(124,108,246,.16);font:500 .88em/1.4 var(--f-m);color:var(--v2)}.tc{position:relative;padding:18px;border-radius:30px;background:linear-gradient(180deg,rgba(22,19,34,.94),rgba(12,11,19,.98));border:1px solid rgba(185,168,255,.26);box-shadow:0 40px 90px -40px rgba(124,108,246,.6),inset 0 1px 0 rgba(255,255,255,.06);scroll-margin-top:90px}.tc__top{display:flex;align-items:center;gap:10px;margin-bottom:12px}.tc__top b{font:600 15px/1 var(--f-d)}.tc textarea{width:100%;min-height:104px;padding:12px 14px;border-radius:16px;border:1px solid var(--hair);background:rgba(0,0,0,.4);color:var(--ink);font:500 13px/1.5 var(--f-m);resize:vertical}.tc textarea:focus{outline:0;border-color:rgba(185,168,255,.7);box-shadow:0 0 0 3px rgba(124,108,246,.2)}.tc__ex{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.tc__ex span{font-size:12.5px;color:var(--ink-faint)}.tc__ex button{padding:6px 10px;border-radius:99px;border:1px solid var(--hair);background:rgba(255,255,255,.04);color:var(--ink-soft);font:600 12px/1 var(--f-b);cursor:pointer}.tc__ex button:hover{color:var(--ink);border-color:rgba(185,168,255,.55)}.tc__res{display:grid;gap:8px;margin-top:12px}.tc__hint{font-size:12.5px;color:var(--ink-faint)}.tc__v{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;border:1px solid var(--hair-soft);background:rgba(255,255,255,.04);animation:xsIn .3s var(--ease)}.tc__v>span{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;font:800 16px/1 var(--f-b)}.tc__v b{display:block;font:700 14.5px/1.3 var(--f-b)}.tc__v small{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:var(--ink-soft)}.tc__v mark{background:rgba(255,141,155,.4);color:#fff;border-radius:3px}.tc__v.is-ok{border-color:rgba(142,240,180,.5);background:rgba(142,240,180,.06)}.tc__v.is-ok>span{background:rgba(142,240,180,.18);color:var(--ok)}.tc__v.is-w{border-color:rgba(255,213,138,.5);background:rgba(255,213,138,.05)}.tc__v.is-w>span{background:rgba(255,213,138,.16)}.tc__v.is-e{border-color:rgba(255,141,155,.5);background:rgba(255,141,155,.05)}.tc__v.is-e>span{background:rgba(255,141,155,.16);color:var(--bad)}.tc__link{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;padding:10px 12px;border-radius:14px;background:#0a0910;border:1px solid rgba(142,240,180,.3)}.tc__link.is-e{border-color:rgba(255,141,155,.4)}.tc__link span{grid-column:1/-1;font:700 11px/1.3 var(--f-m);text-transform:uppercase;letter-spacing:.04em;color:var(--ok)}.tc__link.is-e span{color:var(--bad);text-transform:none;letter-spacing:0}.tc__link code{min-width:0;padding:0;background:0 0;font:500 12px/1.45 var(--f-m);color:var(--v2);word-break:break-all;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tc__cp{padding:8px 12px;border-radius:10px;border:1px solid var(--hair);background:rgba(255,255,255,.07);color:var(--ink);font:700 12px/1 var(--f-b);cursor:pointer}.tc__cp.is-ok{color:var(--ok);border-color:rgba(142,240,180,.5)}.tc__fix{display:grid;gap:3px;padding:10px 12px;border-radius:12px;background:rgba(142,240,180,.05);font-size:12.5px;color:var(--ok)}.tc__next{font-size:13px;color:var(--ink-soft);line-height:1.5}.tc__note{margin-top:16px;padding:14px 16px;border-radius:16px;border:1px dashed rgba(185,168,255,.35);font-size:14.5px;color:var(--ink-soft)}.tc__note a{color:var(--v2);text-decoration:underline}.ts{margin-top:8px;padding:22px;border-radius:28px;background:linear-gradient(180deg,rgba(22,19,34,.86),rgba(12,11,19,.92));border:1px solid rgba(185,168,255,.22)}.ts__seg{display:flex;flex-wrap:wrap;gap:6px}.ts__seg button{min-height:40px;padding:0 14px;border-radius:14px;border:1px solid var(--hair);background:rgba(255,255,255,.04);color:var(--ink-soft);font:700 13px/1.2 var(--f-b);cursor:pointer;transition:all .2s}.ts__seg button:hover{color:var(--ink)}.ts__seg button[aria-pressed=true]{color:var(--ink);background:rgba(124,108,246,.24);border-color:rgba(185,168,255,.65)}.ts__grid{display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(0,.7fr);gap:14px;align-items:stretch;margin-top:16px}.ts__box{min-width:0;display:flex;flex-direction:column;padding:14px;border-radius:18px;background:#0a0910;border:1px solid var(--hair-soft)}.ts__k{font:700 11px/1 var(--f-m);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.ts__box pre{flex:1;margin:10px 0 0;min-height:120px;font:500 12.5px/1.6 var(--f-m);color:#cfd3e0;white-space:pre-wrap;word-break:break-all}.ts__arrow{align-self:center;font:800 26px/1 var(--f-b);color:var(--v2)}.ts__box--app{background:#121019;justify-content:flex-start}.ts__app{margin-top:12px;padding:14px;border-radius:14px;font:700 15px/1.35 var(--f-b);animation:xsIn .3s var(--ease)}.ts__app small{font:500 12.5px/1.4 var(--f-b)}.ts__app.is-ok{background:rgba(142,240,180,.12);color:var(--ok)}.ts__app.is-e{background:rgba(255,141,155,.12);color:var(--bad)}.ts__why{margin-top:14px;font-size:15px;line-height:1.55;color:var(--ink-soft)}.tc__steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}.tc__steps li{counter-increment:s;position:relative;padding:20px 20px 20px 66px;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid var(--hair-soft)}.tc__steps li::before{content:counter(s);position:absolute;left:20px;top:18px;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--vgrad);color:#15102b;font:800 15px/1 var(--f-b)}.tc__steps b{font:700 16px/1.3 var(--f-b)}.tc__steps p{margin-top:6px;font-size:14.5px;line-height:1.55;color:var(--ink-soft)}.tc__steps a{color:var(--v2);text-decoration:underline}.te{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;margin-top:8px}.te__list{display:grid;gap:6px;align-content:start}.te__list button{display:grid;gap:3px;padding:10px 14px;border-radius:14px;border:1px solid var(--hair-soft);background:rgba(255,255,255,.035);color:var(--ink-soft);text-align:left;cursor:pointer;transition:all .2s}.te__list button b{font:700 14px/1.25 var(--f-b)}.te__list button small{font:500 11.5px/1.3 var(--f-m);color:var(--ink-faint)}.te__list button:hover{border-color:rgba(185,168,255,.5);color:var(--ink)}.te__list button[aria-pressed=true]{color:var(--ink);border-color:rgba(185,168,255,.7);background:rgba(124,108,246,.18)}.te__card{align-self:start;position:sticky;top:100px;padding:24px;border-radius:24px;background:linear-gradient(180deg,rgba(22,19,34,.9),rgba(12,11,19,.95));border:1px solid rgba(185,168,255,.3);animation:xsIn .3s var(--ease)}.te__en{font:700 12px/1.3 var(--f-m);color:var(--v2)}.te__card h3{margin-top:6px;font-size:22px}.te__card dl{display:grid;gap:6px;margin-top:14px}.te__card dt{font:700 11px/1 var(--f-m);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-top:8px}.te__card dd{margin:0;font-size:15px;line-height:1.55;color:var(--ink-soft)}.te__card a{color:var(--v2);text-decoration:underline}.te__src{margin-top:16px;font-size:12px;color:var(--ink-faint)}@media (max-width:1020px){.tc__steps{grid-template-columns:1fr 1fr}.te{grid-template-columns:1fr}.te__card{position:static}}@media (max-width:640px){.tc{padding:14px;border-radius:24px}.ts{padding:16px}.tc__steps{grid-template-columns:1fr}.ts__grid{grid-template-columns:1fr}.ts__arrow{justify-self:center;transform:rotate(90deg)}.ts__seg button{flex:1 1 45%;font-size:12.5px}}