.filters{top:var(--navh);z-index:15;background:color-mix(in srgb, var(--bg) 96%, transparent);border-bottom:1px solid var(--line);position:sticky}.filters .wrap{align-items:center;gap:12px;min-height:64px;display:flex}.filters .chiprow{flex:1;min-width:0;margin:0;padding-inline:0}.filters .chip{min-height:40px;padding:0 12px;font-size:.82rem}.filters .count{font:500 .68rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;min-width:8ch}.wlist{margin:0;padding:0;list-style:none}.witem{border-bottom:1px solid var(--line);transition:opacity .22s var(--ease-out)}.witem.dim{opacity:.32}.wrow{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;grid-template-columns:3ch minmax(0,1.3fr) minmax(0,1fr) 220px;align-items:center;gap:20px;padding:22px 0;display:grid}.wrow .open{font:inherit;color:inherit;text-align:left;cursor:pointer;letter-spacing:inherit;background:0 0;border:0;margin:0;padding:0}.wrow .ix{font:500 .74rem var(--font-mono);color:var(--g-hi)}.wrow .nm{min-width:0}.wrow h2{font:600 clamp(1.3rem, 2.4vw, 1.75rem) / 1.15 var(--font-sans);letter-spacing:-.02em;transition:color var(--fast);margin:0}.wrow .ln{color:var(--muted);margin-top:6px;font-size:.93rem;display:block}.wrow .kv{min-width:0}.wrow .kv b{font:500 1.6rem / 1 var(--font-mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;display:block}.wrow .kv>span{font:500 .66rem / 1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:6px;display:block}.wrow .tags{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.wrow:hover h2{color:var(--g-pale)}.badge-priv{font:500 .64rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--g-pale);border:1px dashed var(--g-deep);border-radius:999px;align-items:center;gap:6px;margin-top:8px;padding:4px 9px;display:inline-flex}@media (width<=980px){.wrow{grid-template-columns:3ch minmax(0,1fr) 180px;gap:16px}.wrow .kv{grid-column:2}.wrow .vs{grid-area:1/3/span 2}}@media (width<=640px){.filters .count{display:none}.wrow{grid-template-columns:minmax(0,1fr) 112px;grid-template-areas:"nm vs""kv vs";gap:10px 14px;padding:18px 0}.wrow .open{font:inherit;color:inherit;text-align:left;cursor:pointer;letter-spacing:inherit;background:0 0;border:0;margin:0;padding:0}.wrow .ix{display:none}.wrow .nm{grid-area:nm}.wrow .kv{grid-area:kv/auto}.wrow .vs{grid-area:auto;align-self:start}.wrow .ln{font-size:.88rem}.wrow .kv b{font-size:1.3rem}.wrow .tags{display:none}}.wrow{position:relative}.wrow .kv>span a{color:var(--g-hi);text-underline-offset:3px;text-decoration:underline}.mq-toggle{background:0 0;border:0;margin-left:auto;padding:0}.meta+.mq-toggle{margin-left:0}html:not(.js) .mq-toggle{display:none}@media (prefers-reduced-motion:reduce){.mq-toggle{display:none}}.mq{border-block:1px solid var(--line);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.mq-track{width:max-content;animation:34s linear infinite mq;display:flex}.mq:hover .mq-track,.mq:focus-within .mq-track,.mq.hold .mq-track,.mq.paused .mq-track{animation-play-state:paused}@keyframes mq{to{transform:translate(-50%)}}.mq-track>*{min-height:76px;font:600 clamp(1.4rem, 3vw, 2rem) / 1 var(--font-sans);letter-spacing:-.02em;color:var(--muted);white-space:nowrap;transition:color var(--fast);background:0 0;border:0;align-items:center;gap:12px;padding:0 30px;display:inline-flex}.mq-track>:nth-child(2n){font-family:var(--font-mono);font-size:clamp(1.2rem,2.6vw,1.7rem);font-weight:500}.mq-track>* i{background:var(--g-deep);width:8px;height:8px;transition:background var(--fast);border-radius:2px;transform:rotate(45deg)}.mq-track>:hover,.mq-track>:focus-visible,.mq-track>[aria-expanded=true]{color:var(--text)}.mq-track>:hover i,.mq-track>[aria-expanded=true] i{background:var(--g)}.tpop-host{min-height:0;margin-top:18px}.tpop{border:1px solid var(--line-2);background:var(--s2);max-width:640px;animation:tpop .32s var(--ease-out);border-radius:14px;grid-template-columns:auto minmax(0,1fr);gap:14px 18px;padding:22px 22px 18px;display:grid;position:relative;box-shadow:0 20px 50px #0006}@keyframes tpop{0%{opacity:0;transform:translateY(8px)scale(.985)}}.tpop .qm{font:700 3.4rem / .8 var(--font-sans);color:var(--g);height:32px}.tpop blockquote{font:400 1.1rem / 1.5 var(--font-sans);color:var(--text);margin:0}.tpop figcaption{flex-wrap:wrap;grid-column:2;align-items:center;gap:12px;display:flex}.tpop .av{background:var(--g-ink);width:36px;height:36px;color:var(--g-mist);font:600 .85rem var(--font-sans);border:1px solid var(--g-deep);border-radius:50%;place-items:center;display:grid}.tpop .nm{font-size:.95rem;font-weight:600;line-height:1.2}.tpop .rl{color:var(--muted);font-size:.82rem;font-weight:400;display:block}.tpop .ph{font:500 .62rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--g-pale);border:1px dashed var(--g-deep);border-radius:999px;margin-left:auto;padding:5px 9px}.tpop .x{width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:8px;position:absolute;top:8px;right:8px}.tpop .x:hover{background:var(--s2);color:var(--text)}.tp-hint{margin:14px 0 0}@media (width<=640px){.tpop{grid-template-columns:minmax(0,1fr);padding:18px 16px 14px}.tpop .qm{height:22px;font-size:2.6rem}.tpop figcaption{grid-column:1}.tpop .ph{margin-left:0}.mq-track>*{min-height:64px;padding:0 22px}}@media (prefers-reduced-motion:reduce){.mq-track{flex-wrap:wrap;justify-content:center;width:auto;animation:none!important}.mq-track [data-dup]{display:none}}.cs{z-index:40;background:var(--scrim-soft);opacity:0;transition:opacity .26s var(--ease-out);justify-content:flex-end;display:flex;position:fixed;inset:0}.cs.show{opacity:1}.cs-panel{overscroll-behavior:contain;background:var(--bg);border-left:1px solid var(--line);width:min(880px,100%);height:100%;transition:transform .38s var(--ease-out);position:relative;overflow-y:auto;transform:translate(40px)}.cs.show .cs-panel{transform:none}.cs-bar{z-index:2;padding:10px var(--gut);background:color-mix(in srgb, var(--bg) 96%, transparent);border-bottom:1px solid var(--line);align-items:center;gap:10px;display:flex;position:sticky;top:0}.cs-bar .label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cs-body{padding:24px var(--gut) 56px;grid-template-columns:minmax(0,1fr);gap:28px;display:grid}.cs-body h2{font:600 clamp(2rem, 4.6vw, 3rem) / 1.05 var(--font-sans);letter-spacing:-.03em;margin:0}.cs-body .role{color:var(--muted);margin:8px 0 0}.cs-body .vslot,.cs-body .codeslot{aspect-ratio:16/9}.cs-body .codeslot{padding:18px 20px;font-size:.8rem}.mets{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mets .n-tile .v{font-size:clamp(1.4rem,3vw,1.9rem)}.steps{counter-reset:s;gap:18px;margin:0;padding:0;list-style:none;display:grid}.steps li{border-top:1px solid var(--line);grid-template-columns:120px minmax(0,1fr);gap:16px;padding-top:16px;display:grid}.steps h3{font:500 .72rem / 1.6 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--g-hi);margin:0}.steps p{max-width:60ch;margin:0;font-size:1.02rem}.cs-links{flex-wrap:wrap;gap:10px;display:flex}.cs-nav{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding-top:16px;display:flex}.cs-nav .btn{flex:1 1 0;justify-content:space-between;min-width:0}.cs-nav .btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=640px){.cs-panel{border-left:0;transform:translateY(32px)}.cs-body{gap:22px;padding-top:18px}.mets{grid-template-columns:repeat(2,minmax(0,1fr))}.steps li{grid-template-columns:minmax(0,1fr);gap:6px}.cs-body .codeslot{aspect-ratio:auto;min-height:220px;padding:12px;font-size:.62rem}}.cs-body .cs-title{margin-top:8px}.stack-label{margin-bottom:10px;display:block}.ba{--x:55%;border:1px solid var(--line);touch-action:pan-y;user-select:none;border-radius:12px;height:280px;position:relative;overflow:hidden}.ba .ly{padding:40px 16px 34px;position:absolute;inset:0}.ba .man{background:var(--s1)}.ba .aut{background:var(--ba-aut);clip-path:inset(0 calc(100% - var(--x)) 0 0)}.ba .tg{font:500 .68rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;position:absolute;top:12px}.ba .aut .tg{color:var(--g-hi);left:16px}.ba .man .tg{color:var(--muted);right:16px}.ba .rw{height:46px;position:relative}.ba .rw i{border-radius:5px;height:9px;position:absolute;top:24px}.ba .man .rw i{background:var(--ba-bar)}.ba .aut .rw i{background:var(--g)}.ba .rw span{white-space:nowrap;font-size:.8rem;position:absolute;top:0}.ba .ax{font:500 .64rem var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;display:flex;position:absolute;bottom:10px;left:16px;right:16px}.ba .hd{top:0;bottom:0;left:var(--x);background:var(--g-mist);pointer-events:none;width:2px;margin-left:-1px;position:absolute}.ba .hd:after{content:"";background:var(--g-mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l-5 5 5 5M15 7l5 5-5 5' fill='none' stroke='%230D0C0A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat;border-radius:50%;width:40px;height:40px;margin:-20px 0 0 -20px;position:absolute;top:50%;left:50%;box-shadow:0 4px 14px #0006}.ba input{opacity:0;cursor:ew-resize;touch-action:pan-y;width:100%;height:100%;margin:0;position:absolute;inset:0}.ba input:focus-visible~.hd:after{outline:2px solid var(--g-hi);outline-offset:3px}.illus{font:500 .62rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}@media (width<=640px){.ba{height:300px}}.ba-head{margin-bottom:12px}.ba-head h3{font:600 1.15rem var(--font-sans);margin:0}
