@keyframes pbeFadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.step.visible{animation:none}.p-line:after,.p-dot{transition:none}.con-line,.ch-item,.ch-arrow{transition:none!important}}.pbe-wrap .shiki .line.ln-hl,.pbe-wrap .shiki .line.ln-ok{box-sizing:border-box;width:calc(100% + 32px);margin:0 -16px;padding:0 14px;display:inline-block}@media (width<=540px){.cmp{grid-template-columns:1fr}.cmp-col+.cmp-col{border-left:none;border-top:1px solid var(--border)}.ch-item{flex-direction:column;gap:4px}.ch-lbl{min-width:0}}@media (prefers-reduced-motion:reduce){.nb{transition:none}}.pbe-wrap{font-family:var(--font-sans);color:var(--foreground);margin:3rem 0;font-size:15px;line-height:1.6}.pbe-wrap *,.pbe-wrap :before,.pbe-wrap :after{box-sizing:border-box}.page-header{margin-bottom:40px}.chip{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);background:var(--muted);border-radius:2px;margin-bottom:16px;padding:4px 10px;font-size:10.5px;display:inline-block}.page-header h1{font-family:var(--font-sans);letter-spacing:-.02em;margin-bottom:8px;font-size:28px;font-weight:700;line-height:1.2}.page-header .subtitle{font-family:var(--font-sans);color:var(--muted-foreground);max-width:620px;font-size:14px;line-height:1.6}.page-header .subtitle code{font-family:var(--font-mono);color:var(--primary);background:var(--muted);border-radius:2px;padding:1px 5px;font-size:13px}.progress{align-items:center;margin-bottom:36px;display:flex}.p-dot{background:var(--card);border:1px solid var(--border);width:28px;height:28px;font-family:var(--font-mono);color:var(--muted-foreground);cursor:pointer;user-select:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;transition:background .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out;display:flex}.p-dot:hover{border-color:var(--muted-foreground)}.p-dot.active{background:var(--primary);border-color:var(--primary);color:var(--card)}.p-dot.done{background:var(--muted);border-color:var(--border);color:var(--foreground)}.p-line{background:var(--border);flex:1;height:1px;position:relative}.p-line:after{content:"";background:var(--primary);transform-origin:0;transition:transform .3s ease-in-out;position:absolute;inset:0;transform:scaleX(0)}.p-line.filled:after{transform:scaleX(1)}.step{display:none}.step.visible{animation:.25s ease-in-out pbeFadeIn;display:block}@media (prefers-reduced-motion:reduce){.step.visible{animation:none}.p-line:after,.p-dot{transition:none}.con-line,.ch-item,.ch-arrow{transition:none!important}}.step-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:6px;font-size:10.5px}.step h2{font-family:var(--font-sans);letter-spacing:-.01em;margin-bottom:12px;font-size:20px;font-weight:600}.step h2 code{font-family:var(--font-mono);color:var(--primary);background:var(--muted);border-radius:2px;padding:1px 6px;font-size:16px}.step-text{font-family:var(--font-sans);color:var(--muted-foreground);max-width:620px;margin-bottom:20px;font-size:14px;line-height:1.7}.step-text strong{color:var(--foreground);font-weight:600}.step-text em{color:var(--foreground);font-style:italic}.step-text code{font-family:var(--font-mono);background:var(--muted);color:var(--foreground);border-radius:2px;padding:1px 5px;font-size:12px}.fig{border:1px solid var(--border);background:var(--card);border-radius:2px;margin:20px 0;overflow:hidden}.fig-body{padding:20px;position:relative}.fig-body.chipped{padding-top:44px}.fig-body-img{padding:0}.fig-body-img img{width:100%;height:auto;display:block}.fig-cap{border-top:1px solid var(--border);font-family:var(--font-sans);color:var(--muted-foreground);padding:10px 20px;font-size:13px}.fig-cap code{font-family:var(--font-mono);background:var(--muted);color:var(--foreground);border-radius:2px;padding:1px 4px;font-size:11.5px}.fig-chip{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);background:var(--muted);border-radius:2px;padding:3px 8px;font-size:10.5px;line-height:1;position:absolute;top:12px;left:12px}.fig-code .fig-body{padding:0}.code-hdr{font-family:var(--font-mono);color:var(--muted-foreground);border-bottom:1px solid var(--border);background:var(--muted);padding:8px 16px;font-size:11px}.pbe-wrap pre{font-family:var(--font-mono);border:none;margin:0;padding:16px;font-size:12.5px;line-height:1.75;overflow-x:auto}.pbe-wrap .shiki .line.ln-hl,.pbe-wrap .shiki .line.ln-ok,.pbe-wrap .shiki .line.ln-spec{box-sizing:border-box;width:calc(100% + 32px);margin:0 -16px;padding:0 14px;display:inline-block}.pbe-wrap .shiki .line.ln-hl{border-left:2px solid var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent)}.pbe-wrap .shiki .line.ln-ok{border-left:2px solid var(--success);background:color-mix(in srgb, var(--success) 12%, transparent)}.pbe-wrap .shiki .line.ln-spec{border-left:2px solid var(--muted-foreground);background:color-mix(in srgb, var(--muted-foreground) 10%, transparent)}.pbe-wrap #pbe-out0 .line{opacity:0;transition:opacity .15s ease-in-out,transform .15s ease-in-out;transform:translateY(3px)}.pbe-wrap #pbe-out0 .line.show{opacity:1;transform:translateY(0)}.ch-stack{flex-direction:column;display:flex}.ch-item{border-bottom:1px solid var(--border);opacity:0;align-items:baseline;gap:16px;padding:12px 16px;transition:opacity .2s ease-in-out;display:flex}.ch-item:last-child{border-bottom:none}.ch-item.show{opacity:1}.ch-item.hit{background:color-mix(in srgb, var(--primary) 6%, transparent);border-left:2px solid var(--primary);margin-left:-1px}.ch-lbl{font-family:var(--font-mono);color:var(--muted-foreground);flex-shrink:0;min-width:150px;font-size:11px}.ch-val{font-family:var(--font-mono);color:var(--foreground);font-size:11px}.ch-val .ch{color:var(--primary);font-weight:600}.ch-arrow{font-family:var(--font-mono);color:var(--muted-foreground);opacity:0;padding:4px 16px 4px 28px;font-size:10.5px;transition:opacity .2s ease-in-out}.ch-arrow.show{opacity:1}.ch-step{letter-spacing:.08em;text-transform:uppercase;background:var(--muted);color:var(--foreground);vertical-align:1px;border-radius:2px;margin-right:8px;padding:1px 6px;font-size:9.5px;display:inline-block}.ch-item.ch-input{background:color-mix(in srgb, var(--muted-foreground) 5%, transparent)}.fig-chip-wrap{height:0;position:relative}.fig-chip-wrap .fig-chip{top:12px;left:12px}.cmp{border:1px solid var(--border);border-radius:2px;grid-template-columns:1fr 1fr;margin:16px 0;display:grid;overflow:hidden}.cmp-col{background:var(--card);flex-direction:column;padding:16px;display:flex}.cmp-col+.cmp-col{border-left:1px solid var(--border)}.cmp.cmp-full{grid-template-columns:1fr}.cmp-col h4{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:10px;font-size:10.5px}.cmp-col.atk h4{color:var(--primary)}.cmp-code{border-radius:2px;flex:1;font-size:11.5px;display:flex;overflow:hidden}.pbe-wrap .cmp-code pre{flex-direction:column;flex:1;justify-content:center;margin:0;padding:12px 14px;font-size:11.5px;line-height:1.7;display:flex}.pbe-wrap .cmp-list{color:#e1e4e8;font-family:var(--font-mono);background:#24292e;border-radius:2px;flex-direction:column;flex:1;justify-content:center;gap:4px;margin:0;padding:14px 16px;font-size:11.5px;line-height:1.7;list-style:none;display:flex}.pbe-wrap .cmp-list li{padding-left:14px;position:relative}.pbe-wrap .cmp-list li:before{content:"•";color:#6a737d;position:absolute;left:0}@media (width<=540px){.cmp{grid-template-columns:1fr}.cmp-col+.cmp-col{border-left:none;border-top:1px solid var(--border)}.ch-item{flex-direction:column;gap:4px}.ch-lbl{min-width:0}}.note{border-left:2px solid var(--border);font-family:var(--font-sans);color:var(--muted-foreground);margin:16px 0;padding:12px 16px;font-size:13px;line-height:1.7}.note strong{color:var(--foreground);font-weight:600}.note em{color:var(--foreground);font-style:italic}.note code{font-family:var(--font-mono);background:var(--muted);color:var(--foreground);border-radius:2px;padding:1px 4px;font-size:11.5px}.note-primary{border-left-color:var(--primary)}.badge{font-family:var(--font-mono);border:1px solid var(--border);background:var(--card);border-radius:2px;margin:12px 0;padding:6px 12px;font-size:11.5px;display:inline-flex}.badge-atk{border-color:var(--primary);color:var(--primary)}.badge-ok{border-color:var(--success);color:var(--success)}.pbe-nav{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:32px;padding-top:20px;display:flex}.nb{font-family:var(--font-mono);border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);cursor:pointer;border-radius:2px;padding:8px 20px;font-size:12px;transition:border-color .15s ease-in-out,color .15s ease-in-out}.nb:hover:not(:disabled){border-color:var(--foreground);color:var(--foreground)}.nb.nb-next{background:var(--foreground);border-color:var(--foreground);color:var(--background)}.nb.nb-next:hover:not(:disabled){opacity:.85;color:var(--background);border-color:var(--foreground)}.nb:disabled{opacity:.25;cursor:default}@media (prefers-reduced-motion:reduce){.nb{transition:none}}
