.so-page.bl{overflow-x:clip}.bl-progress{inset-inline:0;z-index:60;pointer-events:none;height:3px;position:fixed;top:0}.bl-progress i{transform-origin:100%;background:linear-gradient(90deg,#e35dd0,#9b6bff,#4c7dff);height:100%;display:block;transform:scaleX(0);box-shadow:0 0 12px #6f86ff99}.so-page .bl-hero{isolation:isolate;text-align:center;border-block-start:0;justify-items:center;gap:16px;padding-block:clamp(48px,7vw,96px) clamp(26px,4vw,44px);display:grid;position:relative}.so-page .bl-hero-grid{z-index:-1;pointer-events:none;background-image:linear-gradient(var(--steel) 1px, transparent 1px), linear-gradient(90deg, var(--steel) 1px, transparent 1px);opacity:.45;background-size:46px 46px;position:absolute;inset:-40px -10vw 0;-webkit-mask-image:radial-gradient(60% 70% at 50% 20%,#000,#0000 72%);mask-image:radial-gradient(60% 70% at 50% 20%,#000,#0000 72%)}.so-page .bl-hero-grid:after{content:"";background:radial-gradient(40% 50% at 50% 0%, color-mix(in oklab, var(--glow-a) 22%, transparent), transparent 70%);position:absolute;inset:0}.so-page .bl-hero-title{text-wrap:balance;background:linear-gradient(180deg, var(--ink) 35%, color-mix(in oklab, var(--ink) 62%, transparent));color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;max-width:22ch;padding-block-end:.06em;font-size:clamp(30px,4.6vw,56px);font-weight:800;line-height:1.4}.so-page .bl-hero-lead{max-width:60ch;color:var(--ink-2);font-size:clamp(15.5px,1.4vw,18px);line-height:2}.so-page .bl-search{border:1px solid var(--steel);background:color-mix(in oklab, var(--panel) 80%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:min(560px,100%);color:var(--ink-2);border-radius:99px;align-items:center;gap:10px;margin-block-start:10px;padding:6px 6px 6px 16px;padding-inline-start:16px;transition:border-color .2s,box-shadow .2s;display:flex}.so-page .bl-search:focus-within{border-color:var(--steel-2);box-shadow:0 0 0 4px color-mix(in oklab, var(--glow-a) 18%, transparent)}.so-page .bl-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;padding-block:8px;font-size:15px}.so-page .bl-search input::placeholder{color:var(--ink-2)}.so-page .bl-search button{font:inherit;cursor:pointer;background:var(--ink);color:var(--mina);border:0;border-radius:99px;padding:10px 20px;font-size:14px;font-weight:600}.so-page .bl-filters{flex-wrap:wrap;justify-content:center;gap:8px;padding-block-end:8px;display:flex}.so-page .bl-filters a{border:1px solid var(--steel);color:var(--ink-2);border-radius:99px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.so-page .bl-filters a:hover{color:var(--ink);border-color:var(--steel-2)}.so-page .bl-filters a.on{background:var(--ink);color:var(--mina);border-color:var(--ink)}.so-page .bl-filters a.tone i{background:var(--tone);width:8px;height:8px;box-shadow:0 0 8px var(--tone);border-radius:50%}.so-page .bl-filters a.tone.on{background:color-mix(in oklab, var(--tone) 16%, transparent);color:var(--ink);border-color:var(--tone)}.so-page .bl-state{border:1px solid var(--steel);background:var(--panel);color:var(--ink-2);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block:18px 6px;padding:12px 16px;font-size:14px;display:flex}.so-page .bl-state a{color:var(--ink);align-items:center;gap:6px;font-weight:600;display:inline-flex}.so-page .bl-chips{flex-wrap:wrap;gap:6px;display:flex}.so-page .bl-chip{border:1px solid var(--steel);color:var(--ink-2);border-radius:99px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.so-page .bl-chip.tone{border-color:color-mix(in oklab, var(--tone) 45%, var(--steel));color:var(--ink)}.so-page .bl-chip.tone i{background:var(--tone);border-radius:50%;width:7px;height:7px}.so-page a.bl-chip:hover{color:var(--ink);border-color:var(--steel-2)}.so-page .bl-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.so-page .bl-meta span{align-items:center;gap:5px;display:inline-flex}.so-page .bl-cover{aspect-ratio:16/9;background:#0a0a0a;border-radius:16px;position:relative;overflow:hidden}.so-page .bl-cover img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1);display:block}.so-page .bl-cover--gen{background:radial-gradient(70% 90% at 50% 120%, color-mix(in oklab, var(--tone) 55%, transparent), transparent 70%), linear-gradient(160deg, #111, #070707);color:#fff;place-items:center;display:grid}.so-page .bl-cover-grid{background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 60%,#000,#0000 75%);mask-image:radial-gradient(circle at 50% 60%,#000,#0000 75%)}.so-page .bl-cover-glow{aspect-ratio:1;background:color-mix(in oklab, var(--tone) 60%, transparent);filter:blur(46px);opacity:.55;border-radius:50%;width:46%;transition:transform .8s cubic-bezier(.2,.8,.2,1);position:absolute}.so-page .bl-cover-mark{opacity:.92;filter:drop-shadow(0 10px 30px #00000080);width:22%;height:auto;transition:transform .8s cubic-bezier(.2,.8,.2,1);position:relative}.so-page .bl-cover-label{inset-inline-start:14px;color:#ffffffd9;background:#ffffff14;border:1px solid #ffffff24;border-radius:99px;padding:4px 10px;font-size:11.5px;font-weight:600;position:absolute;bottom:12px}.so-page .bl-featured{border:1px solid var(--steel);background:var(--panel);color:var(--ink);border-radius:26px;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(20px,3vw,44px);margin-block:26px 10px;padding:14px;transition:border-color .35s,box-shadow .35s,transform .35s cubic-bezier(.2,.8,.2,1);display:grid}.so-page .bl-featured .bl-cover{border-radius:18px}.so-page .bl-featured:hover{color:var(--ink);border-color:var(--steel-2);transform:translateY(-3px);box-shadow:0 40px 80px -50px #0009}.so-page .bl-featured:hover .bl-cover img,.so-page .bl-card:hover .bl-cover img{transform:scale(1.04)}.so-page .bl-featured:hover .bl-cover-mark,.so-page .bl-card:hover .bl-cover-mark{transform:scale(1.08)rotate(-3deg)}.so-page .bl-featured:hover .bl-cover-glow,.so-page .bl-card:hover .bl-cover-glow{transform:scale(1.25)}.so-page .bl-featured-body{gap:14px;padding-inline-end:clamp(4px,1.5vw,20px);display:grid}.so-page .bl-featured-tag{color:var(--mina);background:var(--ink);border-radius:99px;justify-self:start;padding:4px 12px;font-size:12px;font-weight:700}.so-page .bl-featured h2{text-wrap:balance;font-size:clamp(22px,2.6vw,32px);line-height:1.55}.so-page .bl-featured p{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:2;display:-webkit-box;overflow:hidden}.so-page .bl-more{align-items:center;gap:6px;font-size:14.5px;font-weight:700;display:inline-flex}.so-page .bl-more svg{transition:transform .25s}.so-page .bl-featured:hover .bl-more svg{transform:translate(-4px)}.so-page .bl-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-block-start:22px;display:grid}.so-page .bl-card{border:1px solid var(--steel);background:var(--panel);color:var(--ink);border-radius:22px;flex-direction:column;padding:10px;transition:border-color .35s,box-shadow .35s,transform .35s cubic-bezier(.2,.8,.2,1),opacity .8s cubic-bezier(.2,.8,.2,1);display:flex}.so-page .bl-card:hover{color:var(--ink);border-color:var(--steel-2);transform:translateY(-4px);box-shadow:0 30px 60px -40px #0009}.so-page .bl-card-body{flex:1;align-content:start;gap:10px;padding:16px 10px 10px;display:grid}.so-page .bl-card h3{text-wrap:balance;font-size:18px;line-height:1.7}.so-page .bl-card p{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14.5px;line-height:1.95;display:-webkit-box;overflow:hidden}.so-page .bl-card .bl-meta{margin-block-start:auto;padding-block-start:6px}.so-page .bl-pager{justify-content:center;align-items:center;gap:14px;margin-block:34px 10px;display:flex}.so-page .bl-pager a,.so-page .bl-pager .off{border:1px solid var(--steel);border-radius:99px;padding:10px 18px;font-size:14px;font-weight:600}.so-page .bl-pager .off{opacity:.35}.so-page .bl-pager-n{color:var(--ink-2);font-size:13.5px}.so-page .bl-empty{text-align:center;border:1px dashed var(--steel-2);background:var(--panel);border-radius:28px;justify-items:center;gap:14px;margin-block:30px;padding:clamp(36px,6vw,72px) 20px;display:grid}.so-page .bl-empty p{color:var(--ink-2);max-width:54ch;line-height:2}.so-page .bl-empty.small{border-style:solid}.so-page .bl-empty-art{width:220px;height:140px;margin-block-end:8px;position:relative}.so-page .bl-doc{border:1px solid var(--steel);background:var(--white);border-radius:14px;gap:9px;width:104px;padding:16px 14px;display:grid;position:absolute;top:18px;box-shadow:0 20px 40px -26px #0009}.so-page .bl-doc b{background:color-mix(in oklab, var(--ink) 14%, transparent);border-radius:9px;height:7px;display:block}.so-page .bl-doc b:first-child{background:#9b6bff8c;background:lab(55.9825% 43.8737 -68.1494/.55);width:70%}.so-page .bl-doc.d1{animation:6s ease-in-out infinite bl-float;right:4px;transform:rotate(8deg)}.so-page .bl-doc.d2{animation:6s ease-in-out -3s infinite bl-float;left:4px;transform:rotate(-8deg)}.so-page .bl-doc.d2 b:first-child{background:#f5a52499;background:lab(74.4427% 23.711 71.6119/.6)}.so-page .bl-empty-core{background:var(--ink);width:68px;height:68px;color:var(--mina);box-shadow:0 0 0 8px color-mix(in oklab, var(--ink) 7%, transparent), 0 0 60px color-mix(in oklab, var(--glow-a) 60%, transparent);border-radius:20px;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-40%)}.so-page .bl-empty-core svg{width:36px;height:auto}@keyframes bl-float{50%{translate:0 -8px}}.so-page .bl-band{color:#e8e8e8;isolation:isolate;background:#070707;border:1px solid #222;border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-block-start:clamp(40px,6vw,70px);padding:clamp(22px,3vw,34px);display:flex;position:relative;overflow:hidden}.so-page .bl-band:before{content:"";z-index:-1;background:radial-gradient(50% 120% at 0 100%,#9b6bff47,#0000 70%);position:absolute;inset:0}.so-page .bl-band h2{color:#fff;font-size:clamp(20px,2.2vw,26px)}.so-page .bl-band p{color:#a8a8a8;margin-block-start:6px}.so-page .bl-band .btn-a{color:#0a0a0a;background:linear-gradient(#fff,#fffffff2,#ffffffb3)}.so-page .bl-post-head{text-align:center;justify-items:center;gap:16px;max-width:860px;margin-inline:auto;padding-block:clamp(34px,5vw,64px) 26px;display:grid}.so-page .bl-crumbs{color:var(--ink-2);flex-wrap:wrap;justify-content:center;gap:8px;font-size:13px;display:flex}.so-page .bl-crumbs a{color:var(--ink-2)}.so-page .bl-crumbs a:hover{color:var(--ink)}.so-page .bl-post-head .bl-chips{justify-content:center}.so-page .bl-post-title{text-wrap:balance;font-size:clamp(28px,4.2vw,50px);font-weight:800;line-height:1.45}.so-page .bl-post-lead{max-width:62ch;color:var(--ink-2);font-size:clamp(16px,1.5vw,19px);line-height:2}.so-page .bl-byline{color:var(--ink-2);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;font-size:13.5px;display:flex}.so-page .bl-avatar{color:#fff;background:linear-gradient(135deg,#4c7dff,#9b6bff);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.so-page .bl-byline-name{color:var(--ink);margin-inline-start:-8px;font-weight:600}.so-page .bl-byline-item{align-items:center;gap:6px;display:inline-flex}.so-page .bl-post-cover{max-width:1180px;margin-inline:auto;position:relative}.so-page .bl-post-cover:before{content:"";z-index:-1;background:radial-gradient(50% 60% at 50% 60%, color-mix(in oklab, var(--glow-a) 35%, transparent), transparent 70%);filter:blur(40px);border-radius:40px;position:absolute;inset:8% 6% -6%}.so-page .bl-post-cover .bl-cover{aspect-ratio:21/9;border-radius:24px;box-shadow:0 40px 100px -60px #000c}.so-page .bl-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:clamp(28px,4vw,64px);max-width:1080px;margin:clamp(34px,5vw,60px) auto 0;display:grid}.so-page .bl-layout.no-toc{grid-template-columns:minmax(0,1fr) 200px}.so-page .bl-aside{gap:18px;display:grid;position:sticky;top:96px}.so-page .bl-toc{border:1px solid var(--steel);background:var(--panel);border-radius:18px;padding:18px}.so-page .bl-toc-cap{color:var(--ink-2);margin-block-end:10px;font-size:12.5px;font-weight:700;display:block}.so-page .bl-toc ol{gap:2px;max-height:56vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.so-page .bl-toc li a{color:var(--ink-2);border-inline-start:2px solid #0000;border-radius:10px;padding:7px 12px;font-size:13.5px;line-height:1.7;transition:color .2s,background .2s,border-color .2s;display:block}.so-page .bl-toc li.sub a{padding-inline-start:24px;font-size:13px}.so-page .bl-toc li a:hover{color:var(--ink);background:color-mix(in oklab, var(--ink) 5%, transparent)}.so-page .bl-toc li.on a{color:var(--ink);background:#9b6bff1a;background:lab(55.9825% 43.8737 -68.1494/.1);border-inline-start-color:#9b6bff;font-weight:600}.so-page .bl-share{border:1px solid var(--steel);background:var(--panel);border-radius:18px;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 18px;display:flex}.so-page .bl-share>span{width:100%;color:var(--ink-2);font-size:12.5px;font-weight:700}.so-page .bl-share a,.so-page .bl-share button{border:1px solid var(--steel);min-width:38px;height:38px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding-inline:10px;font-size:12.5px;transition:border-color .2s,background .2s;display:inline-flex}.so-page .bl-share a:hover,.so-page .bl-share button:hover{border-color:var(--steel-2);background:color-mix(in oklab, var(--ink) 6%, transparent);color:var(--ink)}.so-page .bl-share button em{font-style:normal}.so-page .bl-prose{min-width:0;color:color-mix(in oklab, var(--ink) 88%, var(--ink-2));font-size:17.5px;line-height:2.15}.so-page .bl-prose>*+*{margin-block-start:1.15em}.so-page .bl-prose p{margin:0}.so-page .bl-prose>p:first-child:first-letter{font-weight:800}.so-page .bl-prose h2{color:var(--ink);margin-block:2em .6em;scroll-margin-top:96px;font-size:clamp(22px,2.3vw,28px);line-height:1.6}.so-page .bl-prose h3{color:var(--ink);margin-block:1.7em .5em;scroll-margin-top:96px;font-size:clamp(19px,1.8vw,22px);line-height:1.7}.so-page .bl-prose h4{color:var(--ink);margin-block:1.5em .4em;font-size:18px}.so-page .bl-prose a{color:var(--ink);text-underline-offset:6px;-webkit-text-decoration:underline #9b6bff;text-decoration:underline #9b6bff;text-decoration-thickness:2px;transition:text-decoration-color .2s}.so-page .bl-prose a:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.so-page .bl-prose strong,.so-page .bl-prose b{color:var(--ink);font-weight:700}.so-page .bl-prose ul,.so-page .bl-prose ol{padding-inline-start:1.4em}.so-page .bl-prose li{margin-block:.45em;padding-inline-start:.2em}.so-page .bl-prose li::marker{color:#9b6bff;font-weight:700}.so-page .bl-prose blockquote{background:color-mix(in oklab, #9b6bff 8%, var(--panel));color:var(--ink);border-inline-start:3px solid #9b6bff;border-radius:0 14px 14px 0;margin-inline:0;padding:18px 22px;font-size:1.04em}.so-page .bl-prose blockquote p+p{margin-block-start:.6em}.so-page .bl-prose img,.so-page .bl-prose video{border:1px solid var(--steel);border-radius:16px;max-width:100%;height:auto;display:block}.so-page .bl-prose figure{margin-inline:0}.so-page .bl-prose figcaption{text-align:center;color:var(--ink-2);margin-block-start:10px;font-size:13.5px}.so-page .bl-prose hr{background:var(--steel);border:0;height:1px;margin-block:2.2em}.so-page .bl-prose code{background:color-mix(in oklab, var(--ink) 8%, transparent);direction:ltr;unicode-bidi:isolate;border-radius:6px;padding:2px 6px;font-size:.88em}.so-page .bl-prose pre{text-align:left;color:#e8e8e8;direction:ltr;background:#0d0d0d;border:1px solid #262626;border-radius:16px;padding:18px 20px;font-size:14px;line-height:1.8;overflow-x:auto}.so-page .bl-prose pre code{background:0 0;padding:0}.so-page .bl-prose table{border-collapse:collapse;width:100%;font-size:15px;display:block;overflow-x:auto}.so-page .bl-prose th,.so-page .bl-prose td{border:1px solid var(--steel);text-align:start;padding:10px 14px}.so-page .bl-prose th{background:var(--panel);color:var(--ink);font-weight:700}.so-page .bl-prose .wp-block-image,.so-page .bl-prose .wp-block-embed{margin-block:1.8em}.so-page .bl-prose .aligncenter{margin-inline:auto}.so-page .bl-product{isolation:isolate;border:1px solid color-mix(in oklab, var(--tone) 40%, var(--steel));background:var(--panel);border-radius:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;max-width:1080px;margin:clamp(40px,5vw,64px) auto 0;padding:clamp(22px,3vw,32px);display:flex;position:relative;overflow:hidden}.so-page .bl-product:before{content:"";z-index:-1;background:radial-gradient(60% 140% at 0% 50%, color-mix(in oklab, var(--tone) 20%, transparent), transparent 70%);position:absolute;inset:0}.so-page .bl-product-cap{color:var(--tone);font-size:12px;font-weight:700}.so-page .bl-product h2{margin-block:4px;font-size:24px}.so-page .bl-product p{color:var(--ink-2)}.so-page .bl-related{border-block-start:0;max-width:1180px;margin-inline:auto}.so-page .bl-related-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.so-page .bl-related-head a{align-items:center;gap:6px;font-size:14.5px;font-weight:600;display:inline-flex}@media (max-width:1020px){.so-page .bl-featured{grid-template-columns:1fr}.so-page .bl-featured-body{padding:6px 8px 10px}.so-page .bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.so-page .bl-layout,.so-page .bl-layout.no-toc{grid-template-columns:1fr}.so-page .bl-aside{order:-1;position:static}.so-page .bl-toc ol{max-height:none}}@media (max-width:760px){.so-page .bl-grid{grid-template-columns:1fr}.so-page .bl-post-cover .bl-cover{aspect-ratio:16/10;border-radius:18px}.so-page .bl-prose{font-size:16.5px;line-height:2.1}.so-page .bl-search{padding-inline-start:14px}.so-page .bl-search button{padding-inline:14px}.so-page .bl-filters{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;padding-block-end:6px;overflow-x:auto}.so-page .bl-filters a{flex:none}}@media (prefers-reduced-motion:reduce){.so-page .bl-doc{animation:none}.so-page .bl-card,.so-page .bl-featured,.so-page .bl-cover img,.so-page .bl-cover-mark,.so-page .bl-cover-glow{transition:none}.so-page .bl-card:hover,.so-page .bl-featured:hover{transform:none}}.so-page .bl-prose ul{list-style:outside}.so-page .bl-prose ol{list-style:decimal}.so-page .bl-prose ul ul{list-style:circle}
