.pcs{--f-setup:#2b2b2e;--f-setup-ink:#2b2b2e;--f-setup-on:#fff;--f-find:#ff6c2f;--f-find-ink:#c2410c;--f-find-on:#111;--f-assert:#ffb511;--f-assert-ink:#8a5a00;--f-assert-on:#111;--f-ctx:#ff48b0;--f-ctx-ink:#b8186f;--f-ctx-on:#111;--pc-code-bg:#f7f7f8;--pc-code-border:#ececee;--pc-viz-bg:#fafafa;--pc-ease:cubic-bezier(.23,1,.32,1);--fam:var(--f-find);--fam-ink:var(--f-find-ink);--fam-on:var(--f-find-on);font-family:var(--font-body);color:var(--text-primary)}.dark .pcs{--f-setup:#d4d4da;--f-setup-ink:#d4d4da;--f-setup-on:#111;--f-find:#ff8f5e;--f-find-ink:#ff8f5e;--f-assert:#ffc23d;--f-assert-ink:#ffc23d;--f-ctx:#ff7cc6;--f-ctx-ink:#ff7cc6;--pc-code-bg:#18181a;--pc-code-border:#262629;--pc-viz-bg:#111113}.pcs .pc-fam-setup{--fam:var(--f-setup);--fam-ink:var(--f-setup-ink);--fam-on:var(--f-setup-on)}.pcs .pc-fam-find{--fam:var(--f-find);--fam-ink:var(--f-find-ink);--fam-on:var(--f-find-on)}.pcs .pc-fam-assert{--fam:var(--f-assert);--fam-ink:var(--f-assert-ink);--fam-on:var(--f-assert-on)}.pcs .pc-fam-ctx{--fam:var(--f-ctx);--fam-ink:var(--f-ctx-ink);--fam-on:var(--f-ctx-on)}.pcs,.pcs .pc-fam-assert,.pcs .pc-fam-ctx,.pcs .pc-fam-find,.pcs .pc-fam-setup{--fam-soft:color-mix(in srgb,var(--fam) 13%,var(--surface))}.pcs .pc-fam-setup{--fam-soft:color-mix(in srgb,var(--fam) 7%,var(--surface))}.pcs [hidden],.pcs:not([data-pl=py]) [data-pl-only=py],.pcs[data-pl=py] [data-pl-only=ts]{display:none!important}.pcs ::selection{background:color-mix(in srgb,var(--f-assert) 45%,transparent)}.pcs .pc-layout{max-width:1200px;margin:0 auto;padding:0 24px 96px;display:grid;grid-template-columns:212px minmax(0,1fr);gap:48px}.pcs .pc-main{min-width:0;padding-top:14px}@media (max-width:1023px){.pcs .pc-layout{grid-template-columns:minmax(0,1fr);padding:0 16px 80px}.pcs .pc-rail{display:none}}.pcs .pc-rail{position:sticky;top:64px;align-self:start;max-height:calc(100dvh - 64px);overflow:auto;padding:28px 6px 32px 0;scrollbar-width:thin}.pcs .pc-rail-h{font:600 13px/1 var(--font-body);margin:0 0 14px}.pcs .pc-rf{margin:0 0 14px}.pcs .pc-rf-h{display:flex;align-items:center;gap:8px;padding:2px 0 7px;font:600 13px/1.2 var(--font-body);color:var(--fam-ink);text-decoration:none}.pcs .pc-tile{display:grid;place-items:center;flex:none;width:18px;height:18px;border-radius:5px;background:var(--fam);color:var(--fam-on)}.pcs .pc-tile svg{width:11px;height:11px}.pcs .pc-rl{display:flex;justify-content:space-between;gap:8px;margin-left:8px;padding:3px 0 3px 12px;border-left:1px solid var(--border);font-size:13px;line-height:1.35;color:var(--text-secondary);text-decoration:none;transition:color .15s ease}.pcs .pc-rl:hover{color:var(--text-primary)}.pcs .pc-n{font:500 11px/1.6 var(--font-code);color:var(--text-muted)}.pcs .pc-rl.pc-on{color:var(--text-primary);font-weight:600;border-left:2px solid var(--fam);padding-left:11px}.pcs .pc-jc.pc-off,.pcs .pc-rl.pc-off{opacity:.35}.pcs .pc-hero{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:40px;align-items:center;padding:10px 0 16px}.pcs .pc-hero h1{font:800 clamp(34px,4.3vw,54px)/1.04 var(--font-head);letter-spacing:-.035em;margin:0 0 14px;text-wrap:balance}.pcs .pc-sub{font-size:17px;line-height:1.55;color:var(--text-secondary);margin:0 0 16px;max-width:42ch;text-wrap:pretty}.pcs .pc-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--text-muted)}.pcs .pc-meta li{display:inline-flex;align-items:center;gap:6px}.pcs .pc-meta svg{width:14px;height:14px}@media (max-width:1180px){.pcs .pc-hero{grid-template-columns:minmax(0,1fr) 360px;gap:28px}}@media (max-width:860px){.pcs .pc-hero{grid-template-columns:minmax(0,1fr);gap:18px;padding:12px 0 16px}.pcs .pc-sub{font-size:16px}.pcs .pc-main{display:flex;flex-direction:column}.pcs .pc-hero{display:contents}.pcs .pc-hero-copy{padding:12px 0 14px}.pcs .pc-vg{order:5;margin:14px 0 4px}.pcs .pc-sheet{order:6}.pcs .pc-empty{order:7}.pcs .pc-after,.pcs .pc-related,.pcs .pc-sources{order:8}}.pcs .pc-vg{margin:0;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.pcs .pc-vg-head{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;background:var(--term-head);border-bottom:1px solid var(--term-border);font:500 12px/1 var(--font-code);color:var(--term-dim)}.pcs .pc-vg-head svg{width:13px;height:13px}.pcs .pc-vg-st{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid var(--term-border);background:var(--surface);font:600 11px/1 var(--font-code);color:var(--term-ink);transition:color .25s ease,border-color .25s ease}.pcs .pc-vg-st i{width:7px;height:7px;border-radius:50%;background:currentColor}.pcs .pc-vg.pc-s5 .pc-vg-st{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--term-border))}.pcs .pc-vg-code{padding:12px 14px;background:var(--term-bg);color:var(--term-ink);font:400 min(12px,2.85vw)/1.7 var(--font-code);overflow:hidden}.pcs .pc-vg-line{display:block;min-height:1.7em;white-space:pre;clip-path:inset(0 100% 0 0);transition:clip-path .6s steps(26)}.pcs .pc-vg.pc-s1 .pc-l1,.pcs .pc-vg.pc-s3 .pc-l2,.pcs .pc-vg.pc-s4 .pc-l3,.pcs .pc-vg.pc-s5 .pc-l4{clip-path:inset(0 0 0 0)}.pcs .pc-vg.pc-rs .pc-vg-line{transition:clip-path .25s var(--pc-ease)}.pcs .pc-vg-okm,.pcs .pc-vg-retry{display:inline-flex;align-items:center;gap:4px;margin-left:8px;font:600 11px/1 var(--font-body);opacity:0;transition:opacity .2s ease}.pcs .pc-vg-retry{color:var(--term-dim)}.pcs .pc-vg-retry svg{width:11px;height:11px;animation:pc-spin 1s linear infinite}.pcs .pc-vg-okm{color:var(--ok)}.pcs .pc-vg-okm svg{width:11px;height:11px}.pcs .pc-vg.pc-s4:not(.pc-s5) .pc-vg-retry,.pcs .pc-vg.pc-s5 .pc-vg-okm{opacity:1}.pcs .pc-vg-br{padding:12px;background:var(--surface-hover);border-top:1px solid var(--border)}.pcs .pc-vg-url{display:flex;align-items:center;gap:6px;height:24px;margin:0 0 10px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:12px;color:var(--text-muted)}.pcs .pc-vg-url svg{width:12px;height:12px}.pcs .pc-vg-page{display:grid;gap:8px;padding:12px 14px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:13px}.pcs .pc-vg-title{font:700 14px/1.2 var(--font-head)}.pcs .pc-vg-r{display:flex;justify-content:space-between;color:var(--text-secondary)}.pcs .pc-vg-tot{padding-top:8px;border-top:1px solid var(--border);color:var(--text-primary);font-weight:600}.pcs .pc-vg-act{position:relative;height:40px;margin-top:22px}.pcs .pc-vg-pay{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:var(--text-primary);color:var(--bg);font:600 14px/1 var(--font-body);transition:transform .16s var(--pc-ease),opacity .25s var(--pc-ease)}.pcs .pc-vg-busy{display:none}.pcs .pc-vg.pc-s4 .pc-vg-pay{opacity:.6}.pcs .pc-vg.pc-s4 .pc-vg-go{display:none}.pcs .pc-vg.pc-s4 .pc-vg-busy{display:inline}.pcs .pc-vg.pc-press .pc-vg-pay{transform:scale(.96)}.pcs .pc-vg-rip{position:absolute;top:0;left:calc(50% - 20px);width:40px;height:40px;border-radius:50%;background:var(--bg);opacity:0;pointer-events:none}.pcs .pc-vg.pc-press .pc-vg-rip{animation:pc-rip .6s var(--pc-ease)}.pcs .pc-vg-paid{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;font:600 14px/1 var(--font-body);color:var(--ok);opacity:0;transform:translateY(4px);transition:opacity .3s var(--pc-ease),transform .3s var(--pc-ease)}.pcs .pc-vg-paid svg{width:16px;height:16px}.pcs .pc-vg.pc-s5 .pc-vg-pay{opacity:0}.pcs .pc-vg.pc-s5 .pc-vg-paid{opacity:1;transform:none}.pcs .pc-vg-box{position:absolute;inset:-6px;border:1.5px dashed var(--fam);border-radius:14px;opacity:0;transform:scale(1.03);pointer-events:none;transition:opacity .25s var(--pc-ease),transform .35s var(--pc-ease)}.pcs .pc-vg-box b{position:absolute;left:-1.5px;top:-25px;padding:5px 7px;border-radius:6px;background:var(--fam);color:var(--fam-on);font:600 11px/1 var(--font-code);white-space:nowrap}.pcs .pc-vg.pc-s2:not(.pc-s4) .pc-vg-loc{opacity:1;transform:none}.pcs .pc-vg.pc-s5 .pc-vg-asr{opacity:1;transform:none;border-style:solid}@keyframes pc-rip{0%{opacity:.35;transform:scale(.3)}to{opacity:0;transform:scale(6)}}@keyframes pc-spin{to{transform:rotate(1turn)}}.pcs .pc-bar{position:sticky;top:64px;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:0 -24px;padding:10px 24px;background:var(--bg);transition:box-shadow .2s ease}.pcs .pc-bar.pc-stuck{box-shadow:0 1px 0 var(--border)}.pcs .pc-search{position:relative;display:flex;align-items:center}.pcs .pc-search>svg{position:absolute;left:14px;width:18px;height:18px;color:var(--text-muted);pointer-events:none}.pcs .pc-search input{width:100%;height:46px;padding:0 112px 0 44px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);color:var(--text-primary);font:15px var(--font-body);transition:border-color .15s ease,box-shadow .15s ease}.pcs .pc-search input::placeholder{color:var(--text-muted)}.pcs .pc-search input:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--text-primary) 12%,transparent)}.pcs .pc-count{position:absolute;right:14px;font:500 12px/1 var(--font-code);color:var(--text-muted);pointer-events:none}.pcs .pc-seg{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface)}.pcs .pc-seg button{height:38px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--text-secondary);font:600 14px/1 var(--font-body);cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .16s var(--pc-ease)}.pcs .pc-seg button[aria-pressed=true]{background:var(--text-primary);color:var(--bg)}.pcs .pc-seg button:active{transform:scale(.97)}.pcs .pc-jump,.pcs .pc-sh{display:none}@media (max-width:1023px){.pcs .pc-bar{margin:0 -16px;padding:10px 16px 8px}.pcs .pc-jump{grid-column:1/-1;display:flex;gap:6px;overflow-x:auto;padding:2px 0;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}.pcs .pc-jump::-webkit-scrollbar{display:none}.pcs .pc-jc{display:inline-flex;flex:none;align-items:center;gap:6px;height:32px;padding:0 11px 0 6px;border:1px solid var(--border);border-radius:999px;font-size:13px;white-space:nowrap;color:var(--text-secondary);text-decoration:none;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.pcs .pc-jc .pc-tile{width:20px;height:20px;border-radius:999px}.pcs .pc-jc.pc-on{border-color:var(--fam);background:var(--fam-soft);color:var(--text-primary)}}@media (max-width:520px){.pcs .pc-search input{padding-right:52px;font-size:16px}.pcs .pc-count-w,.pcs .pc-lg{display:none}.pcs .pc-sh{display:inline}.pcs .pc-seg button{padding:0 12px}}.pcs .pc-pains{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 4px}.pcs .pc-pains-l{margin-right:2px;font-size:13px;color:var(--text-muted)}.pcs .pc-pain{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:14px;color:var(--text-primary);text-decoration:none;white-space:nowrap;transition:border-color .15s ease,background-color .15s ease,transform .16s var(--pc-ease)}.pcs .pc-pain svg{width:16px;height:16px;color:var(--fam-ink)}.pcs .pc-pain code{font:500 12px/1 var(--font-code);color:var(--text-muted)}@media (hover:hover) and (pointer:fine){.pcs .pc-pain:hover{border-color:var(--fam);background:var(--fam-soft)}.pcs .pc-pain:hover code{color:var(--fam-ink)}}.pcs .pc-pain:active{transform:scale(.97)}@media (max-width:860px){.pcs .pc-pains{flex-wrap:nowrap;overflow-x:auto;margin:6px -16px 4px;padding:0 16px;scrollbar-width:none}.pcs .pc-pains::-webkit-scrollbar{display:none}.pcs .pc-pains-l{display:none}}.pcs .pc-fam{margin-top:44px}.pcs .pc-sheet>.pc-fam:first-child{margin-top:22px}.pcs .pc-fam-h{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius);background:var(--fam-soft)}.pcs .pc-fam-h .pc-tile{width:40px;height:40px;border-radius:11px}.pcs .pc-fam-h .pc-tile svg{width:20px;height:20px}.pcs .pc-fam-h h2{margin:0;font:800 26px/1.1 var(--font-head);letter-spacing:-.025em}.pcs .pc-fam-h p{margin:3px 0 0;font-size:13px;color:var(--text-muted)}.pcs .pc-sec{margin-top:22px;padding-top:22px;border-top:1px solid var(--border);scroll-margin-top:136px}.pcs .pc-fam-h+.pc-sec{margin-top:4px;border-top:0}@media (max-width:1023px){.pcs .pc-sec{scroll-margin-top:178px}}.pcs .pc-sec-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.pcs .pc-sec h3{margin:0;font:700 19px/1.25 var(--font-head);letter-spacing:-.012em}.pcs .pc-sec h3 a{color:inherit;text-decoration:none}.pcs .pc-cnt{font:500 12px/1 var(--font-code);color:var(--text-muted)}.pcs .pc-pf{margin:6px 0 14px;font-size:14px;line-height:1.5;color:var(--text-muted);text-wrap:pretty}.pcs .pc-pf>svg{display:inline-block;width:14px;height:14px;margin:0 4px;vertical-align:-2px;color:var(--fam-ink)}.pcs .pc-pf strong{font-weight:500;color:var(--text-primary)}.pcs .pc-pf code{padding:2px 5px;border-radius:5px;background:var(--fam-soft);color:var(--text-primary);font:500 12.5px/1 var(--font-code);white-space:nowrap}.pcs .pc-sec.pc-flash .pc-sec-h h3{animation:pc-flash 1.4s var(--pc-ease)}@keyframes pc-flash{0%,30%{background:var(--fam-soft);box-shadow:0 0 0 6px var(--fam-soft)}to{background:transparent;box-shadow:0 0 0 6px transparent}}.pcs .pc-rows{display:grid;gap:8px}.pcs .pc-row{display:grid;grid-template-columns:minmax(150px,28%) minmax(0,1fr);gap:18px;align-items:start}.pcs .pc-task{padding-top:10px;font-size:14px;line-height:1.45;color:var(--text-secondary)}.pcs .pc-cbox{min-width:0}.pcs .pc-code{position:relative;border:1px solid var(--pc-code-border);border-radius:10px;background:var(--pc-code-bg);transition:border-color .15s ease}.pcs .pc-row:hover .pc-code{border-color:var(--border-strong)}.pcs .pc-code pre{margin:0;padding:9px 46px 9px 14px;white-space:pre-wrap;overflow-wrap:break-word;font:400 13px/1.62 var(--font-code);color:var(--term-ink);tab-size:2}.pcs .pc-code pre code{font:inherit}.pcs .pc-copy{position:absolute;top:5px;right:5px;opacity:0;transition:opacity .15s ease,background-color .15s ease,color .15s ease,transform .16s var(--pc-ease)}.pcs .pc-copy.copied,.pcs .pc-copy:focus-visible,.pcs .pc-row:hover .pc-copy{opacity:1}.pcs .pc-copy.copied .ic>:last-child{color:var(--ok)}@media (hover:none){.pcs .pc-copy{opacity:1}}.pcs .pc-note{font-size:12.5px;line-height:1.45}.pcs .pc-note,.pcs .pc-tag{margin:6px 0 0;color:var(--text-muted)}.pcs .pc-tag{display:inline-block;padding:4px 6px;border:1px solid var(--border);border-radius:6px;font:600 11px/1 var(--font-code)}@media (max-width:700px){.pcs .pc-row{grid-template-columns:minmax(0,1fr);gap:6px}.pcs .pc-rows{gap:14px}.pcs .pc-task{padding-top:4px;font-weight:500;color:var(--text-primary)}}.pcs .pc-empty{padding:40px 0;text-align:center;color:var(--text-secondary)}.pcs .pc-empty code{font-family:var(--font-code)}.pcs .pc-after{margin-top:72px;padding-top:40px;border-top:1px solid var(--border)}.pcs .pc-after .h2{margin:0 0 20px;scroll-margin-top:140px}.pcs .pc-sources{margin-top:56px;padding-top:24px;border-top:1px solid var(--border)}.pcs .pc-sources summary{display:inline-flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font:600 15px/1.4 var(--font-head);color:var(--text-secondary)}.pcs .pc-sources summary::-webkit-details-marker{display:none}.pcs .pc-sources summary svg{width:16px;height:16px;transition:transform .2s var(--pc-ease)}.pcs .pc-sources details[open] summary svg{transform:rotate(90deg)}.pcs .pc-sources summary:hover{color:var(--text-primary)}.pcs .pc-sources ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 24px;margin:16px 0 0;padding:0;list-style:none;font-size:14px}.pcs .pc-sources a{color:var(--text-secondary);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}.pcs .pc-sources a:hover{color:var(--text-primary)}.pcs .pc-viz{position:relative;isolation:isolate;overflow:hidden;margin:2px 0 18px;padding:18px 20px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--pc-viz-bg)}.pcs .pc-viz:before{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--grain);opacity:.07;pointer-events:none}.dark .pcs .pc-viz:before{opacity:.05;filter:invert(1)}.pcs .pc-filtering .pc-viz{display:none}.pcs .pc-viz-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.pcs .pc-viz-t{font:700 15px/1.3 var(--font-head);letter-spacing:-.01em}.pcs .pc-replay{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font:500 12px/1 var(--font-body);color:var(--text-secondary);cursor:pointer;transition:color .15s ease,border-color .15s ease,transform .16s var(--pc-ease)}.pcs .pc-replay svg{width:13px;height:13px}.pcs .pc-replay:hover{color:var(--text-primary);border-color:var(--border-strong)}.pcs .pc-replay:active{transform:scale(.96)}.pcs .pc-viz-cap{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--text-muted)}.pcs .pc-viz-cap code{font:500 12px/1 var(--font-code);color:var(--text-secondary)}.pcs .pc-viz-cap a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px}.pcs .pc-track{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));margin:0;padding:0;list-style:none}.pcs .pc-ev{position:relative;min-width:0;padding:24px 14px 0 0}.pcs .pc-ev:before{content:"";position:absolute;top:8px;left:0;right:0;height:2px;background:var(--border-strong);transform-origin:left}.pcs .pc-ev:last-child:before{right:50%;opacity:0}.pcs .pc-ev-on:before{top:7px;height:4px;border-radius:4px;background:var(--fam)}.pcs .pc-ev-miss:before{top:7px;height:4px;background:repeating-linear-gradient(90deg,var(--fam) 0 7px,transparent 7px 12px)}.pcs .pc-ev-dot{position:absolute;z-index:1;top:1px;left:0;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;border:2px solid var(--text-secondary);background:var(--pc-viz-bg);color:#fff}.pcs .pc-ev-dot svg{width:10px;height:10px;stroke-width:3.5}.pcs .pc-ev-event .pc-ev-dot{border-color:var(--fam);background:var(--fam)}.pcs .pc-ev-ghost .pc-ev-dot{border-style:dashed;border-color:var(--fam);background:var(--pc-viz-bg)}.pcs .pc-ev-ok .pc-ev-dot{border-color:var(--ok);background:var(--ok)}.pcs .pc-ev-fail .pc-ev-dot{border-color:var(--bad);background:var(--bad)}.pcs .pc-ev-t{display:block;font:500 12.5px/1.4 var(--font-code);color:var(--text-primary);overflow-wrap:anywhere}.pcs .pc-ev-t.pc-ev-label{font:600 13.5px/1.35 var(--font-body)}.pcs .pc-ev-fail .pc-ev-t{color:var(--bad)}.pcs .pc-ev-d{display:block;margin-top:3px;font-size:12.5px;line-height:1.4;color:var(--text-muted)}@media (max-width:640px){.pcs .pc-track{grid-template-columns:minmax(0,1fr)}.pcs .pc-ev{padding:0 0 14px 30px}.pcs .pc-ev:before{top:0;bottom:0;left:8px;right:auto;width:2px;height:auto;transform-origin:top}.pcs .pc-ev-miss:before,.pcs .pc-ev-on:before{left:7px;width:4px}.pcs .pc-ev-miss:before{background:repeating-linear-gradient(180deg,var(--fam) 0 7px,transparent 7px 12px)}.pcs .pc-ev:last-child:before{display:none}}.pcs .pc-race,.pcs .pc-tl{display:grid;gap:20px}.pcs .pc-lane-h{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 12px;font:600 14px/1.3 var(--font-body)}.pcs .pc-lane-h>svg{width:18px;height:18px;flex:none}.pcs .pc-lane-bad .pc-lane-h>svg{color:var(--bad)}.pcs .pc-lane-ok .pc-lane-h>svg{color:var(--ok)}.pcs .pc-lane-sub{font-weight:400;font-size:13px;color:var(--text-muted)}.pcs .pc-lane-sub code{font:500 12px/1.3 var(--font-code);color:var(--text-secondary);overflow-wrap:anywhere}.pcs .pc-lad{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:28px;align-items:center}.pcs .pc-ax{margin:0 0 6px 24px;font-size:12px;color:var(--text-muted)}.pcs .pc-ax:last-child{margin:6px 0 0 24px}.pcs .pc-lad-list{position:relative;display:grid;gap:6px;padding-left:24px}.pcs .pc-lad-list:before{content:"";position:absolute;top:16px;bottom:16px;left:6px;width:2px;border-radius:2px;background:linear-gradient(var(--fam),color-mix(in srgb,var(--fam) 12%,transparent))}.pcs .pc-rung{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:inherit;text-align:left;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .16s var(--pc-ease)}.pcs .pc-rung:before{content:"";position:absolute;top:calc(50% - 6px);left:-23px;width:12px;height:12px;border-radius:50%;border:2px solid var(--fam);background:var(--pc-viz-bg);transition:background-color .2s ease}.pcs .pc-rung code{font:500 12.5px/1.4 var(--font-code);color:var(--text-primary)}.pcs .pc-why{margin-left:auto;font-size:12px;color:var(--text-muted)}.pcs .pc-rung-bad .pc-why{color:var(--bad)}.pcs .pc-rung[aria-pressed=true]{border-color:var(--fam);background:var(--fam-soft)}.pcs .pc-rung[aria-pressed=true]:before{background:var(--fam)}.pcs .pc-rung:active{transform:scale(.985)}.pcs .pc-form{display:grid;gap:10px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);font-size:13px}.pcs .pc-form-l{margin:0 0 4px;font-size:12.5px;font-weight:500;color:var(--text-secondary)}.pcs .pc-form-in{display:flex;align-items:center;height:34px;padding:0 10px;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-muted)}.pcs .pc-form-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.pcs .pc-form-chk{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary)}.pcs .pc-form-box{width:14px;height:14px;border:1.5px solid var(--border-control);border-radius:4px}.pcs .pc-form-lnk{color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px}.pcs .pc-form-btn{display:grid;place-items:center;height:36px;border-radius:9px;background:var(--text-primary);color:var(--bg);font-weight:600}.pcs .pc-tgt{border-radius:8px;outline:2px solid transparent;outline-offset:3px;transition:outline-color .2s ease,box-shadow .2s ease}.pcs .pc-tgt.pc-hit{outline-color:var(--fam);box-shadow:0 0 0 7px color-mix(in srgb,var(--fam) 20%,transparent)}.pcs .pc-tgt.pc-hit.pc-brittle{outline-color:var(--bad);outline-style:dashed;box-shadow:0 0 0 7px color-mix(in srgb,var(--bad) 14%,transparent)}@media (max-width:860px){.pcs .pc-lad{grid-template-columns:minmax(0,1fr);gap:18px}.pcs .pc-form{order:-1;max-width:320px}}.pcs .pc-tl-track{position:relative;height:44px;margin:0 8px}.pcs .pc-tl-axis{position:absolute;top:29px;left:0;right:0;height:2px;background:var(--border-strong)}.pcs .pc-tl-ev{position:absolute;left:var(--x);top:-19px;height:34px;border-left:2px dashed var(--fam);transform-origin:bottom}.pcs .pc-tl-ev b{position:absolute;top:0;left:6px;font:600 11.5px/1 var(--font-code);color:var(--fam-ink);white-space:nowrap}.pcs .pc-mk{position:absolute;left:var(--x);top:21px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%}.pcs .pc-mk-bad{border:2px solid var(--bad);background:var(--pc-viz-bg)}.pcs .pc-mk-x{position:relative;width:8px;height:8px}.pcs .pc-mk-x:after,.pcs .pc-mk-x:before{content:"";position:absolute;top:-1px;left:3px;width:2px;height:10px;border-radius:1px;background:var(--bad);transform:rotate(45deg)}.pcs .pc-mk-x:after{transform:rotate(-45deg)}.pcs .pc-mk-ok{background:var(--ok);color:#fff}.pcs .pc-mk-ok svg{width:11px;height:11px;stroke-width:3.5}.pcs .pc-tl-note{position:absolute;top:22px;left:calc(var(--x) + 22px);font-size:12.5px;line-height:16px;color:var(--bad);white-space:nowrap}.pcs .pc-tl-note-ok{color:var(--ok)}.pcs .pc-tl-scale{display:flex;justify-content:space-between;margin:-8px 8px 0;font:500 11.5px/1 var(--font-code);color:var(--text-muted)}.pcs .pc-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.1fr) auto minmax(0,1.4fr);align-items:center;gap:10px}.pcs .pc-node{display:grid;justify-items:start;gap:4px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.pcs .pc-node-ic{display:grid;place-items:center;width:32px;height:32px;margin-bottom:4px;border-radius:9px;background:var(--fam);color:var(--fam-on)}.pcs .pc-node-ic svg{width:17px;height:17px}.pcs .pc-node-t{font:600 14px/1.3 var(--font-body)}.pcs .pc-node-file .pc-node-t{font:500 12.5px/1.35 var(--font-code);overflow-wrap:anywhere}.pcs .pc-node code{font:500 12px/1.3 var(--font-code);color:var(--text-secondary)}.pcs .pc-node-d{font-size:12.5px;color:var(--text-muted)}.pcs .pc-arrow{display:grid;place-items:center;color:var(--fam-ink)}.pcs .pc-arrow svg{width:20px;height:20px}.pcs .pc-arrow svg:last-child{display:none}.pcs .pc-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.pcs .pc-specs li{display:flex;align-items:center;gap:6px;min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font:500 12px/1.2 var(--font-code);white-space:nowrap;overflow:hidden}.pcs .pc-specs svg{width:14px;height:14px;flex:none;color:var(--ok)}@media (max-width:760px){.pcs .pc-flow{grid-template-columns:minmax(0,1fr)}.pcs .pc-arrow svg:first-child{display:none}.pcs .pc-arrow svg:last-child{display:block}}.pcs .pc-net{flex-direction:column}.pcs .pc-net,.pcs .pc-net-in{display:flex;align-items:center}.pcs .pc-chip{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font:500 12.5px/1.3 var(--font-code);text-align:center}.pcs .pc-chip-req{border-color:var(--fam);background:var(--fam-soft)}.pcs .pc-chip-route{border-color:var(--fam);border-radius:10px;background:var(--fam);color:var(--fam-on);font-weight:600}.pcs .pc-net-wire{width:28px;height:2px;background:var(--border-strong);transform-origin:left}.pcs .pc-net-down{width:2px;height:16px;background:var(--border-strong);transform-origin:top}.pcs .pc-exits{position:relative;align-self:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:26px 0 0;list-style:none}.pcs .pc-exits:before{top:0;left:calc(50% - 1px);width:2px;height:13px}.pcs .pc-exits:after,.pcs .pc-exits:before{content:"";position:absolute;background:var(--fam)}.pcs .pc-exits:after{top:12px;left:calc(100% / 6);right:calc(100% / 6);height:2px}.pcs .pc-exits li{position:relative;display:grid;align-content:start;gap:6px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.pcs .pc-exits li:before{content:"";position:absolute;top:-15px;left:calc(50% - 1px);width:2px;height:14px;background:var(--fam)}.pcs .pc-exits code{font:600 12.5px/1.35 var(--font-code);overflow-wrap:anywhere}.pcs .pc-exit-r{display:flex;align-items:flex-start;gap:6px;font-size:12.5px;line-height:1.4;color:var(--text-muted)}.pcs .pc-exit-r svg{width:14px;height:14px;flex:none;margin-top:1px;color:var(--fam-ink)}.pcs .pc-exit-bad .pc-exit-r svg{color:var(--bad)}@media (max-width:640px){.pcs .pc-exits{grid-template-columns:minmax(0,1fr);gap:8px;padding-top:14px}.pcs .pc-exits li:before,.pcs .pc-exits:after{display:none}}.pcs .pc-trace{display:grid;gap:18px}.pcs .pc-tv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-areas:"film film" "acts snap";gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.pcs .pc-tv-film{grid-area:film;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.pcs .pc-tv-f{height:34px;border:1px solid var(--border);border-radius:5px;background:linear-gradient(var(--border-strong) 0 0) 7px 8px /50% 3px no-repeat,linear-gradient(var(--border) 0 0) 7px 16px /70% 3px no-repeat,var(--surface-hover)}.pcs .pc-tv-f-on{border-color:var(--bad)}.pcs .pc-tv-head{position:absolute;inset:-4px 0 -4px 0;pointer-events:none;transform:translateX(60%)}.pcs .pc-tv-head:before{content:"";position:absolute;top:0;bottom:0;left:10%;width:2px;border-radius:2px;background:var(--bad)}.pcs .pc-tv-acts{grid-area:acts;display:grid;align-content:start;gap:4px;margin:0;padding:0;list-style:none;font:500 12.5px/1.3 var(--font-code)}.pcs .pc-tv-acts li{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:7px;color:var(--text-secondary)}.pcs .pc-tv-acts svg{width:13px;height:13px;flex:none;color:var(--ok)}.pcs .pc-tv-acts .pc-tv-fail{background:color-mix(in srgb,var(--bad) 10%,transparent);color:var(--text-primary)}.pcs .pc-tv-acts .pc-tv-fail svg{color:var(--bad)}.pcs .pc-tv-snap{grid-area:snap;display:grid;align-content:start;gap:10px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-hover)}.pcs .pc-tv-snap-h{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.pcs .pc-tv-snap-h svg{width:14px;height:14px}.pcs .pc-tv-err{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--bad) 10%,var(--surface));color:var(--bad);font-size:13px;font-weight:500}.pcs .pc-tv-err svg{width:15px;height:15px;flex:none}@media (max-width:640px){.pcs .pc-tv{grid-template-columns:minmax(0,1fr);grid-template-areas:"film" "acts" "snap"}}@media (prefers-reduced-motion:no-preference){html.js .pcs .pc-viz:not(.pc-in) :is(.pc-rung,.pc-ev-dot,.pc-ev-t,.pc-ev-d,.pc-mk,.pc-tl-note,.pc-node,.pc-arrow,.pc-specs li,.pc-chip,.pc-exits li,.pc-tv-acts li,.pc-tv-snap){opacity:0}html.js .pcs .pc-viz:not(.pc-in) .pc-net-wire,html.js .pcs .pc-viz:not(.pc-in) :is(.pc-ev,.pc-net-wire):before{transform:scaleX(0)}.pcs .pc-in .pc-rung{animation:pc-in-x .45s var(--pc-ease) both;animation-delay:calc(var(--i) * 60ms)}.pcs .pc-in .pc-ev:before{animation:pc-seg .35s var(--pc-ease) both;animation-delay:calc(var(--i) * .38s)}.pcs .pc-in .pc-ev-dot{animation:pc-pop .3s var(--pc-ease) both;animation-delay:calc(var(--i) * .38s + .12s)}.pcs .pc-in :is(.pc-ev-t,.pc-ev-d){animation:pc-up .35s var(--pc-ease) both;animation-delay:calc(var(--i) * .38s + .16s)}.pcs .pc-in .pc-ev-ghost .pc-ev-dot{animation:pc-pop .3s var(--pc-ease) both,pc-ghost 1.2s var(--pc-ease) both;animation-delay:calc(var(--i) * .38s + .12s),calc(var(--i) * .38s + .42s)}.pcs .pc-in .pc-mk{animation:pc-pop .3s var(--pc-ease) both;animation-delay:calc(var(--i) * .26s + .15s)}.pcs .pc-in .pc-tl-ev{animation:pc-seg-y .4s var(--pc-ease) both;animation-delay:.85s}.pcs .pc-in .pc-tl-note{animation:pc-up .35s var(--pc-ease) both;animation-delay:.35s}.pcs .pc-in .pc-tl-note-ok{animation-delay:1.35s}.pcs .pc-in :is(.pc-node,.pc-specs li,.pc-chip,.pc-exits li){animation:pc-up .4s var(--pc-ease) both;animation-delay:calc(var(--i) * .22s)}.pcs .pc-in .pc-arrow{animation:pc-in-x .4s var(--pc-ease) both;animation-delay:calc(var(--i) * .22s)}.pcs .pc-in .pc-net-wire{animation:pc-seg .3s var(--pc-ease) both;animation-delay:calc(var(--i) * .22s)}.pcs .pc-in .pc-net-down{animation:pc-seg-y .3s var(--pc-ease) both;animation-delay:calc(var(--i) * .22s)}.pcs .pc-in .pc-tv-acts li{animation:pc-up .3s var(--pc-ease) both;animation-delay:calc(1.25s + var(--i) * .14s)}.pcs .pc-in .pc-tv-head{animation:pc-play 1.1s cubic-bezier(.77,0,.175,1) both;animation-delay:1.25s}.pcs .pc-in .pc-tv-snap{animation:pc-up .4s var(--pc-ease) both;animation-delay:2.3s}@media (max-width:640px){html.js .pcs .pc-viz:not(.pc-in) .pc-ev:before{transform:scaleY(0)}.pcs .pc-in .pc-ev:before{animation-name:pc-seg-y}}}@media (prefers-reduced-motion:reduce){.pcs .pc-vg-retry svg{animation:none}.pcs .pc-vg-line{transition:none}}@keyframes pc-in-x{0%{opacity:0;transform:translateX(-10px)}}@keyframes pc-seg{0%{transform:scaleX(0)}}@keyframes pc-seg-y{0%{transform:scaleY(0)}}@keyframes pc-pop{0%{opacity:0;transform:scale(.5)}}@keyframes pc-up{0%{opacity:0;transform:translateY(4px)}}@keyframes pc-play{0%{transform:translateX(0)}}@keyframes pc-ghost{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--fam) 50%,transparent)}to{box-shadow:0 0 0 14px transparent}}.cm{--h-claude:#c2552c;--h-add:#9a5b00;--h-redraw:#2563a8;--h-fixed:#6b6b6b;--h-ok:var(--ok);--h-bad:var(--bad);--scr-bg:#1b1b1d;--scr-ink:#e6e6e6;--scr-dim:#8d8d93;--scr-line:#2c2c30;--cm-ease:cubic-bezier(.23,1,.32,1);font-family:var(--font-body);color:var(--text-primary);font-size:17px;line-height:1.7}.dark .cm{--h-claude:#e8875f;--h-add:#e9a94b;--h-redraw:#7fb0ec;--h-fixed:#9a9aa2}.cm{--c:var(--h-claude);--c-soft:color-mix(in srgb,var(--h-claude) 8%,var(--surface));--c-line:var(--border)}.cm-cat,.cm-sec,.cm-stats>div{--c:var(--hue);--c-soft:color-mix(in srgb,var(--hue) 9%,var(--surface));--c-line:color-mix(in srgb,var(--hue) 32%,var(--border))}.cm-wrap{max-width:1160px;margin:0 auto;padding:0 20px 96px}.cm .crumbs{padding-top:24px}.cm p{margin:0 0 16px}.cm a{color:inherit;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}.cm a:hover{text-decoration-color:currentColor}.cm code{font-family:var(--font-code);font-size:.86em;background:var(--surface-hover);border:1px solid var(--border);padding:1px 5px;border-radius:5px}.cm .cm-tree,.cm .term code{background:none;border:0;padding:0}.cm .term{margin:12px 0 20px}.cm h2{font-size:clamp(26px,4vw,34px);line-height:1.2;letter-spacing:-.02em;margin:0 0 16px}.cm h2,.cm h3{font-family:var(--font-head);font-weight:700}.cm h3{font-size:19px;line-height:1.3;margin:0 0 8px}.cm-h3{margin-top:36px!important}.cm-hero{position:relative;isolation:isolate;padding:40px 0 8px}.cm-eyebrow{font:600 12px/1 var(--font-code);text-transform:uppercase;letter-spacing:.08em;color:var(--c)}.cm-hero h1{font-family:var(--font-head);font-size:clamp(34px,6vw,52px);line-height:1.1;letter-spacing:-.025em;font-weight:700;margin:0 0 18px;text-wrap:balance}.cm-deck{font-size:19px;color:var(--text-secondary)}.cm-answer{border-left:3px solid var(--c);background:var(--c-soft);padding:14px 18px;border-radius:0 12px 12px 0;margin:24px 0}.cm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.cm-stats>div{border:1px solid var(--c-line);background:var(--surface);border-radius:14px;padding:14px 16px}.cm-stats dt{font:500 12px/1.3 var(--font-code);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.cm-stats dd{margin:6px 0 0;font:800 24px/1.1 var(--font-head);color:var(--c);letter-spacing:-.02em}.cm-toc{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cm-toc a{text-decoration:none;font-size:13px;border:1px solid var(--border);border-radius:999px;padding:4px 11px;color:var(--text-secondary);transition:background-color .15s,color .15s}.cm-toc a:hover{background:var(--surface-hover);color:var(--text-primary)}.cm-sec{padding-top:72px;scroll-margin-top:80px}.cm-kicker{font:600 12px/1 var(--font-code);text-transform:uppercase;letter-spacing:.1em;color:var(--c);margin-bottom:12px!important}.cm-kicker:before{content:"";display:inline-block;width:22px;height:2px;background:var(--c);vertical-align:middle;margin-right:10px}.cm-note{font-size:14.5px;color:var(--text-muted)}.cm-map{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;margin:24px 0 12px;align-items:start}.cm-screen{display:grid;grid-template-columns:1fr 38%;gap:0;background:var(--scr-bg);color:var(--scr-ink);border-radius:14px;border:1px solid #000;box-shadow:var(--shadow-lg);overflow:hidden;font:12px/1.5 var(--font-code);min-height:400px;--h-add:#e9a94b;--h-redraw:#7fb0ec;--h-fixed:#9a9aa2}.cm-scr-main{display:flex;flex-direction:column;gap:6px;padding:14px 12px 10px;position:relative}.cm-scr-head{display:flex;gap:10px;align-items:center;color:var(--scr-dim);margin-bottom:4px}.cm-scr-head b{color:var(--scr-ink)}.cm-scr-head i{font-style:normal}.cm-crab{width:28px;height:18px;border-radius:2px;background:linear-gradient(#d9774f,#d9774f) 4px 0/20px 10px no-repeat,linear-gradient(#d9774f,#d9774f) 0 6px/28px 5px no-repeat,linear-gradient(#d9774f,#d9774f) 5px 12px/3px 6px no-repeat,linear-gradient(#d9774f,#d9774f) 20px 12px/3px 6px no-repeat}.cm-screen p{margin:0}.cm-dim{color:var(--scr-dim)}.cm-ok{color:#4ade80}.cm-bad{color:#ff7b7f}.cm-amber{color:#f5b13d}.cm-chev{color:var(--scr-dim)}.cm-z{position:relative;border-radius:6px;padding:4px 6px;cursor:pointer;outline:1px dashed color-mix(in srgb,var(--z) 45%,transparent);outline-offset:-1px;transition:opacity .25s var(--cm-ease),background-color .25s var(--cm-ease),box-shadow .25s var(--cm-ease)}.cm-map:has([data-on]) .cm-z:not([data-on]){opacity:.38}.cm-z[data-on]{outline:1.5px solid var(--z);background:color-mix(in srgb,var(--z) 16%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--z) 18%,transparent),0 0 24px color-mix(in srgb,var(--z) 35%,transparent)}.cm-z-toast{align-self:flex-end;border:1px solid var(--scr-ink);padding:4px 8px;font-size:11px;max-width:80%}.cm-z-msg p+p{margin-top:2px}.cm-z-spin{color:#f08c62}.cm-z-log{color:var(--scr-dim);font-size:11px}.cm-z-band{margin-top:auto}.cm-z-band,.cm-z-prompt{border-top:1px solid var(--scr-line)}.cm-z-prompt{border-bottom:1px solid var(--scr-line);border-radius:0}.cm-z-status{color:#f5b13d;font-size:11px}.cm-z-modes{color:var(--scr-dim);font-size:11px}.cm-caret{display:inline-block;width:7px;height:13px;background:var(--scr-ink);vertical-align:-2px;animation:cm-blink 1.1s steps(1) infinite}@keyframes cm-blink{50%{opacity:0}}.cm-z-pane{border-left:1px solid var(--scr-line);border-radius:0;padding:14px 10px;display:flex;flex-direction:column;gap:4px}.cm-pane-t{background:#e5484d;color:#fff;font-weight:700;padding:0 5px;align-self:flex-start;font-size:11px}.cm-pane-btns{margin-top:8px!important;color:var(--scr-dim)}.cm-map-side{min-width:0}.cm-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.cm-chip{display:inline-flex;align-items:center;gap:7px;font:500 13px/1 var(--font-body);color:var(--text-secondary);border:1px solid var(--border);background:var(--surface);padding:7px 11px;border-radius:999px;cursor:pointer;transition:border-color .15s,color .15s,background-color .15s,transform .12s var(--cm-ease)}.cm-chip:active{transform:scale(.97)}.cm-chip:focus-visible{outline:none;box-shadow:var(--ring)}.cm-chip[aria-pressed=true]{color:var(--text-primary);border-color:var(--z);background:color-mix(in srgb,var(--z) 10%,var(--surface))}.cm-key{display:flex;flex-wrap:wrap;gap:6px 16px;font:500 12px/1.4 var(--font-code);color:var(--text-muted);margin:-4px 0 18px!important}.cm-key>span{display:inline-flex;align-items:center;gap:6px}.cm-dot{width:8px;height:8px;border-radius:50%;background:var(--z)}.cm-site-detail{animation:cm-in .3s var(--cm-ease)}.cm-site-detail .term{font-size:12px}.cm-site-kind{font:600 11px/1 var(--font-code);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px!important}.cm-site-detail p{font-size:15px}@keyframes cm-in{0%{opacity:0;transform:translateY(6px)}}.cm-caps{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.cm-caps li{border:1px solid var(--c-line);background:var(--surface);border-radius:16px;padding:18px;transition:transform .2s var(--cm-ease),box-shadow .2s}.cm-caps p{font-size:15px;color:var(--text-secondary);margin:0}.cm-ic{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--c-soft);color:var(--c);margin-bottom:12px}.cm-ic svg{width:20px;height:20px}@media (hover:hover) and (pointer:fine){.cm-caps li:hover{transform:translateY(-2px);box-shadow:var(--shadow)}}.cm-modes{margin:24px 0}.cm-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--surface-hover)}.cm-tab{font:600 14px/1 var(--font-body);padding:9px 16px;border-radius:9px;border:0;background:none;color:var(--text-secondary);cursor:pointer;transition:background-color .15s,color .15s}.cm-tab[aria-selected=true]{background:var(--surface);color:var(--c);box-shadow:var(--shadow)}.cm-tab:focus-visible{outline:none;box-shadow:var(--ring)}.cm-chain{position:relative;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;margin:24px 0 8px;padding:22px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.cm-node{font:600 13px/1.2 var(--font-code);padding:10px 12px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface-hover);text-align:center;position:relative;z-index:1}.cm-node small{display:block;font-weight:400;font-size:11px;color:var(--text-muted);margin-top:3px}.cm-node-you{border-color:var(--c);color:var(--c);background:var(--c-soft)}.cm-wire{height:2px;background:repeating-linear-gradient(90deg,var(--border-strong) 0 6px,transparent 6px 10px)}.cm-after{transition:opacity .3s var(--cm-ease)}.cm-chain[data-mode=answer] .cm-after{opacity:.3}.cm-track{position:absolute;inset:0 4%;container-type:inline-size;pointer-events:none;z-index:0}.cm-pkt{position:absolute;top:50%;left:0;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--text-primary);z-index:2;box-shadow:0 0 0 4px color-mix(in srgb,var(--text-primary) 15%,transparent)}.cm-chain[data-mode=observe] .cm-pkt{animation:cm-observe 3.2s var(--cm-ease) infinite}.cm-chain[data-mode=rewrite] .cm-pkt{animation:cm-rewrite 3.2s var(--cm-ease) infinite}.cm-chain[data-mode=answer] .cm-pkt{animation:cm-answer 2.6s var(--cm-ease) infinite}@keyframes cm-observe{0%{transform:translateX(0);opacity:0}8%{opacity:1}85%{opacity:1}to{transform:translateX(calc(100cqw - 14px));opacity:0}}@keyframes cm-rewrite{0%{transform:translateX(0);opacity:0}8%{opacity:1}35%{background:var(--text-primary);border-radius:50%}45%{background:var(--h-redraw);border-radius:3px;transform:translateX(calc((100cqw - 14px) * .36)) rotate(45deg)}85%{opacity:1;background:var(--h-redraw);border-radius:3px}to{transform:translateX(calc(100cqw - 14px)) rotate(45deg);opacity:0;background:var(--h-redraw);border-radius:3px}}@keyframes cm-answer{0%{transform:translateX(0);opacity:0}10%{opacity:1}42%{transform:translateX(calc((100cqw - 14px) * .36))}52%{background:var(--h-bad)}90%{transform:translateX(0);opacity:1;background:var(--h-bad)}to{opacity:0;transform:translateX(0);background:var(--h-bad)}}.cm-chain-out{font:500 14px/1.5 var(--font-code);color:var(--text-muted);text-align:center}.cm-credit{font-size:13.5px;color:var(--text-muted);margin-top:10px}.cm-only-dark,.dark .cm-only-light{display:none}.dark .cm-only-dark{display:block}.cm-paths{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:24px 0}.cm-path{border:1px solid var(--c-line);border-radius:16px;padding:20px;background:var(--surface)}.cm-path p{font-size:15px;color:var(--text-secondary)}.cm-tree{font:12.5px/1.6 var(--font-code);background:var(--term-bg)!important;color:var(--term-ink);border:1px solid var(--term-border)!important;border-radius:10px;padding:12px 14px!important;margin:0;overflow-x:auto}.cm-steps{list-style:none;counter-reset:s;padding:0;margin:32px 0 0}.cm-steps>li{counter-increment:s;position:relative;padding:0 0 12px 52px}.cm-steps>li:before{content:counter(s);position:absolute;left:0;top:-2px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 15px/1 var(--font-head);background:var(--c);color:var(--surface)}.cm-steps>li:after{content:"";position:absolute;left:16.5px;top:38px;bottom:6px;width:1px;background:var(--border-strong)}.cm-steps>li:last-child:after{display:none}.cm-table-wrap{overflow-x:auto;margin:16px 0;border:1px solid var(--border);border-radius:14px}.cm-table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.5}.cm-table caption{text-align:left;font:600 12px/1 var(--font-code);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:14px 14px 6px}.cm-table td,.cm-table th{text-align:left;vertical-align:top;padding:11px 14px;border-top:1px solid var(--border)}.cm-table thead th{border-top:0;font-weight:700;background:var(--surface-hover)}.cm-table tbody th{font-weight:600;color:var(--text-secondary);min-width:130px}.cm-col-mod{background:var(--c-soft);font-weight:500}.cm-table-sm{font-size:14px}.cm-table code{font-size:.82em;white-space:nowrap}.cm-show{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2.1fr);gap:20px;margin:28px 0 8px;align-items:start}.cm-show-list{display:grid;gap:8px}.cm-show-tab{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:6px;padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface);font-size:14px;line-height:1.45;color:var(--text-secondary);transition:border-color .15s,background-color .15s,transform .12s var(--cm-ease)}.cm-show-tab:active{transform:scale(.985)}.cm-show-tab:focus-visible{box-shadow:var(--ring)}.cm-show-tab[aria-selected=true]{border-color:var(--c-line);background:var(--c-soft);box-shadow:inset 3px 0 0 var(--c)}.cm-show-tab:not([aria-selected=true]) .cm-events,.cm-show-tab:not([aria-selected=true]) .cm-show-row{display:none}.cm-show-name{font:700 15px/1.2 var(--font-code);color:var(--text-primary)}.cm-show-stage{position:sticky;top:88px}.cm-show-stage img{display:block;width:100%;height:auto}.cm-zoom{display:block;cursor:zoom-in}.cm-show-stage [role=tabpanel]{animation:cm-in .3s var(--cm-ease)}.cm-win{border-radius:12px;overflow:hidden;border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);background:var(--surface)}.cm-win-bar{display:flex;align-items:center;gap:7px;padding:9px 12px;background:var(--surface-hover);border-bottom:1px solid var(--border);font:500 12px/1 var(--font-code);color:var(--text-muted)}.cm-win-bar i{width:10px;height:10px;border-radius:50%;background:var(--border-strong)}.cm-win-bar i:first-child{background:#ff5f57}.cm-win-bar i:nth-child(2){background:#febc2e}.cm-win-bar i:nth-child(3){background:#28c840}.cm-win-bar span{margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-win picture,.cm-win picture img{display:block;width:100%;height:auto}.cm-win picture.cm-only-dark,.dark .cm-win picture.cm-only-light{display:none}.dark .cm-win picture.cm-only-dark{display:block}.cm-demo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr);gap:32px;align-items:center;margin:36px 0 0;padding:28px;border-radius:20px;background:var(--c-soft);border:1px solid var(--c-line)}.cm-demo figcaption p{font-size:15px;color:var(--text-secondary)}.cm-demo-k{font:600 11px/1 var(--font-code)!important;text-transform:uppercase;letter-spacing:.1em;color:var(--c)!important;margin-bottom:10px!important}.cm-demo-src{font-size:13px!important;color:var(--text-muted)!important;margin:0!important}.cm kbd{font:600 12px/1 var(--font-code);border:solid var(--border-strong);border-width:1px 1px 2px;border-radius:5px;padding:2px 6px;background:var(--surface)}.cm-fix,.cm-pain{display:inline-block;font:700 10.5px/1 var(--font-code);text-transform:uppercase;letter-spacing:.06em;padding:4px 6px;border-radius:5px;margin-right:8px;vertical-align:1px}.cm-pain{background:color-mix(in srgb,var(--h-bad) 14%,var(--surface));color:var(--h-bad)}.cm-fix{background:color-mix(in srgb,var(--h-ok) 14%,var(--surface));color:var(--h-ok)}.cm-events{font:12px/1.4 var(--font-code)!important;color:var(--text-muted)!important}.cm-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0;align-items:start}.cm-cat{border:1px solid var(--c-line);border-radius:16px;padding:18px;background:var(--surface);position:relative;overflow:hidden}.cm-cat:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--c)}.cm-cat h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font:700 15px/1.2 var(--font-head);color:var(--c)}.cm-cat h4 svg{width:18px;height:18px}.cm-cat ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.cm-cat a{text-decoration:none;display:inline-flex;align-items:center;gap:5px}.cm-cat a svg{width:13px;height:13px;color:var(--text-muted)}.cm-cat a:hover code{border-color:var(--c)}.cm-by{font-size:12px;color:var(--text-muted);margin-left:8px}.cm-cat p{font-size:14px;color:var(--text-secondary);margin:2px 0 0}.cm-recipe{margin-top:32px}.cm-ideas h3,.cm-recipe h3{display:flex;align-items:center;gap:10px}.cm-recipe h3 svg{width:20px;height:20px;color:var(--c);flex:none}.cm-ideas{margin-top:32px;border:1px solid var(--c-line);background:var(--c-soft);border-radius:16px;padding:20px 22px}.cm-ideas ul{margin:8px 0 0;padding-left:18px}.cm-ideas li{margin:6px 0;font-size:15px}.cm-risks{list-style:none;padding:0;margin:16px 0 20px;display:grid;gap:8px}.cm-risks li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:15px}.cm-risks svg{width:18px;height:18px;margin-top:4px;flex:none;color:var(--c)}.cm-off{padding-left:18px}.cm-off li{margin:6px 0;font-size:15px}.cm-yts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.cm-yt{margin:0}.cm-yt-frame{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;border:1px solid var(--border)}.cm-yt-frame iframe{width:100%;height:100%;border:0}.cm-yt-btn{all:unset;cursor:pointer;display:block;width:100%;height:100%;position:relative}.cm-yt-btn img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--cm-ease),opacity .2s;opacity:.92}.cm-yt-play{position:absolute;inset:0;margin:auto;width:62px;height:44px;border-radius:12px;background:rgba(0,0,0,.72);display:grid;place-items:center;color:#fff;transition:background-color .15s,transform .15s var(--cm-ease)}.cm-yt-play svg{width:22px;height:22px;fill:currentColor}.cm-yt-btn:hover .cm-yt-play{background:#e5484d}.cm-yt-btn:active .cm-yt-play{transform:scale(.96)}.cm-yt-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover) and (pointer:fine){.cm-yt-btn:hover img{transform:scale(1.03);opacity:1}}.cm-yt figcaption{margin-top:10px}.cm-yt figcaption a{font-weight:600;display:block;line-height:1.35}.cm-yt figcaption span{font-size:13px;color:var(--text-muted)}.cm-yt figcaption p{font-size:14px;color:var(--text-secondary);margin:4px 0 0}.cm-ref{display:grid;gap:4px}.cm-takeaways ul{padding-left:20px}.cm-takeaways li{margin:8px 0}.cm-takeaways{border-top:0}.cm-faq details{border-bottom:1px solid var(--border);padding:14px 0}.cm-faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}.cm-faq summary::-webkit-details-marker{display:none}.cm-faq summary:after{content:"+";font:400 22px/1 var(--font-body);color:var(--c);transition:transform .2s var(--cm-ease)}.cm-faq details[open] summary:after{transform:rotate(45deg)}.cm-faq details p{margin:10px 0 0;color:var(--text-secondary);font-size:15.5px}.cm-sources{margin-top:72px;padding-top:28px;border-top:1px solid var(--border)}.cm-sources summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;font:600 15px/1.4 var(--font-head);color:var(--text-secondary)}.cm-sources summary::-webkit-details-marker{display:none}.cm-sources summary:before{content:"+";font:400 18px/1 var(--font-body);color:var(--c);transition:transform .2s var(--cm-ease)}.cm-sources details[open] summary:before{transform:rotate(45deg)}.cm-sources summary:hover{color:var(--text-primary)}.cm-sources summary:focus-visible{outline:none;box-shadow:var(--ring);border-radius:6px}.cm-sources ul{margin-top:12px;padding-left:18px;font-size:14px}.cm-nocode{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:start;margin:24px 0 8px}.cm-chat{background:var(--scr-bg);color:var(--scr-ink);border-radius:14px;border:1px solid #000;box-shadow:var(--shadow-lg);padding:18px 16px;font:13px/1.6 var(--font-code);display:grid;gap:10px;position:sticky;top:88px}.cm-chat p{margin:0}.cm-chat-you{color:#fff;font-weight:600}.cm-chat-ask{border:1px solid var(--scr-line);border-radius:8px;padding:10px 12px;background:#232326}.cm-chat-band{padding-top:10px;color:#e9a94b;font-weight:600}.cm-chat-band,.cm-chat-prompt{border-top:1px solid var(--scr-line)}.cm-chat-prompt{border-bottom:1px solid var(--scr-line);padding:4px 0}.cm-chat[data-play] .cm-chat-l{animation:cm-line .45s var(--cm-ease) both}.cm-chat[data-play] .cm-chat-l:nth-child(2){animation-delay:.7s}.cm-chat[data-play] .cm-chat-l:nth-child(3){animation-delay:1.3s}.cm-chat[data-play] .cm-chat-l:nth-child(4){animation-delay:2s}.cm-chat[data-play] .cm-chat-l:nth-child(5){animation-delay:3s}.cm-chat[data-play] .cm-chat-l:nth-child(6){animation-delay:3.6s}.cm-chat[data-play] .cm-chat-l:nth-child(7){animation-delay:3.9s}@keyframes cm-line{0%{opacity:0;transform:translateY(6px)}}.cm-steps-tight{margin-top:0}.cm-steps-tight p{font-size:15px;color:var(--text-secondary);margin-bottom:4px}.cm-prompts{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cm-prompts li{display:flex;flex-direction:column;gap:12px;border:1px solid var(--c-line);border-radius:16px;padding:18px;background:var(--surface)}.cm-prompt-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.cm-prompt-head h4{margin:0;font:700 15px/1.3 var(--font-head)}.cm-tag{flex:none;font:600 10.5px/1 var(--font-code);text-transform:uppercase;letter-spacing:.06em;color:var(--c);background:var(--c-soft);border-radius:6px;padding:4px 6px}.cm-prompt-text{flex:1;margin:0!important;font:13px/1.6 var(--font-code);color:var(--text-secondary);background:var(--surface-hover);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.cm-prompts .copy-btn{align-self:flex-start}.cm-rel{margin-top:72px}.cm-rel a{text-decoration:none}@media (max-width:1100px){.cm-prompts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.cm-map{grid-template-columns:1fr}.cm-demo,.cm-nocode,.cm-prompts,.cm-show{grid-template-columns:minmax(0,1fr)}.cm-chat,.cm-show-stage{position:static}.cm-show-stage{order:-1}.cm-demo{padding:18px;gap:18px}}@media (max-width:640px){.cm{font-size:16px}.cm-stats{grid-template-columns:repeat(2,1fr)}.cm-catalog,.cm-paths,.cm-yts{grid-template-columns:minmax(0,1fr)}.cm-screen{grid-template-columns:1fr;font-size:11px;min-height:0}.cm-z-pane{border-left:0;border-top:1px solid var(--scr-line)}.cm-chain{grid-template-columns:1fr;gap:0;justify-items:center}.cm-wire{width:2px;height:18px;background:repeating-linear-gradient(180deg,var(--border-strong) 0 5px,transparent 5px 9px)}.cm-pkt{display:none}.cm-steps>li{padding-left:44px}}@media (prefers-reduced-motion:reduce){.cm-caret,.cm-pkt{animation:none!important}.cm-pkt{display:none}.cm-site-detail{animation:none}.cm-caps li,.cm-show-tab,.cm-yt-btn img,.cm-z{transition:none}.cm-chat .cm-chat-l,.cm-show-stage [role=tabpanel]{animation:none!important}}.cm li code,.cm p code{overflow-wrap:anywhere}