.acp-demo{--blue-50: var(--accent-soft);--blue-300: var(--accent-bright);--blue-500: var(--accent);--blue-600: var(--accent-press);--blue-700: var(--accent-strong);--purple-50: var(--purple-soft);--purple-700: var(--purple-strong);--gold-50: var(--gold-soft);--gold-700: var(--gold-strong);--green-50: var(--green-soft);--green-700: var(--green-strong);--surface: var(--surface-1);--surface-alt: var(--surface-2);--r-sm: var(--radius-sm);--r-md: var(--radius-md);--r-lg: var(--radius-lg);--r-full: var(--radius-full);--shadow-sm: var(--shadow-sm);--shadow-md: var(--shadow-md);--press: var(--press);max-width:560px;margin:0 auto;text-align:left}.acp-demo .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.acp-demo .demo{padding:1.25rem;box-shadow:var(--shadow-sm)}.acp-demo .demo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.acp-demo .demo-q{font-family:var(--font-heading);font-weight:600;font-size:1.05rem;line-height:1.25;color:var(--ink)}.acp-demo .demo-q code{font-family:var(--font-mono);font-size:.9em;background:var(--surface-alt);padding:.05em .3em;border-radius:5px;color:var(--blue-700)}.acp-demo .demo-sub{display:block;font-family:var(--font-body);font-size:.82rem;color:var(--ink-soft);line-height:1.35;margin-top:.25rem;max-width:36ch}.acp-demo .cat{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap}.acp-demo .cat .dot{width:.5rem;height:.5rem;border-radius:var(--r-full);display:inline-block}.acp-demo .sim-stage{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--r-sm);padding:1.05rem .85rem .95rem;position:relative;min-height:200px;display:flex;flex-direction:column;justify-content:center}.acp-demo .scene{position:relative;width:100%}.acp-demo .scene-graph{height:150px}.acp-demo .gconn{position:absolute;inset:0;pointer-events:none;overflow:visible;transition:opacity .22s}.acp-demo .gconn line{stroke:var(--line-strong);stroke-width:2;stroke-linecap:round}.acp-demo .gconn line.main{stroke:var(--blue-300)}.acp-demo .ch{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.3rem;z-index:1;transition:left .42s cubic-bezier(.45,0,.2,1),top .42s cubic-bezier(.45,0,.2,1),opacity .3s}.acp-demo .ch.dim{opacity:.38}.acp-demo .ch-dot{width:26px;height:26px;border-radius:50%;background:var(--blue-500);color:#fff;box-shadow:0 0 0 3px var(--surface-alt);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.66rem;font-weight:500}.acp-demo .ch.feat .ch-dot{background:var(--purple)}.acp-demo .ch-pills{display:flex;gap:.25rem}.acp-demo .pill{font-family:var(--font-mono);font-size:.53rem;line-height:1.5;padding:.1rem .34rem;border-radius:5px;white-space:nowrap}.acp-demo .pill.br{border:1.5px solid var(--blue-500);color:var(--blue-700);background:var(--blue-50)}.acp-demo .ch.feat .pill.br{border-color:var(--purple);color:var(--purple-700);background:var(--purple-50)}.acp-demo .pill.head{border:1.5px solid var(--gold);color:var(--gold-700);background:var(--gold-50);font-weight:500}.acp-demo .scene-scale{display:flex;flex-direction:column;gap:.6rem}.acp-demo .scl-topo{width:100%;height:120px}.acp-demo .scl-topo .cn{stroke:var(--line-strong);stroke-width:2;fill:none}.acp-demo .scl-topo .cn.dash{stroke:var(--gold-700);stroke-dasharray:3 4}.acp-demo .scl-topo .nb{fill:#fff;stroke:var(--line-strong);stroke-width:1.5}.acp-demo .scl-topo .nb.cli{fill:var(--surface-alt)}.acp-demo .scl-topo .nb.lb{fill:var(--blue-50);stroke:var(--blue-500)}.acp-demo .scl-topo .nb.srv{fill:var(--green-50);stroke:var(--green)}.acp-demo .scl-topo .nb.srv.bad{fill:var(--red-soft);stroke:var(--red)}.acp-demo .scl-topo .nb.cdn{fill:var(--gold-50);stroke:var(--gold)}.acp-demo .scl-topo .nt{font-family:var(--font-mono);font-size:9px;fill:var(--ink-soft);text-anchor:middle}.acp-demo .scl-topo .nt.sub{font-size:7.5px;fill:var(--ink-faint)}.acp-demo .scl-topo .nt.bad{fill:var(--red-strong);font-weight:600}.acp-demo .scl-topo .badge{font-family:var(--font-mono);font-size:9px;fill:var(--green-700);text-anchor:middle;font-weight:600}@keyframes acpTopoIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.acp-demo .scl-topo .topo-in{animation:acpTopoIn .32s ease}.acp-demo .scl-arch{font-family:var(--font-mono);font-size:.66rem;color:var(--blue-700);text-align:center;letter-spacing:.01em}.acp-demo .scl-meter{display:flex;flex-direction:column;gap:.4rem}.acp-demo .scl-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.acp-demo .scl-chip{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-body);font-weight:600;font-size:.82rem;color:var(--ink)}.acp-demo .scl-chip .d{width:.55rem;height:.55rem;border-radius:var(--r-full)}.acp-demo .scl-req{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-faint)}.acp-demo .scl-track{position:relative;height:9px;border-radius:var(--r-full);background:var(--line);overflow:hidden}.acp-demo .scl-fill{height:100%;width:60%;border-radius:var(--r-full);background:var(--green);transition:width .55s cubic-bezier(.4,0,.2,1),background .3s}.acp-demo .scl-fill.warn{background:var(--gold)}.acp-demo .scl-fill.bad{background:var(--red)}.acp-demo .scene-race{display:flex;flex-direction:column;gap:.7rem}.acp-demo .race-shared{display:flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint)}.acp-demo .race-shared .val{font-family:var(--font-mono);font-weight:600;font-size:1.5rem;color:var(--ink);min-width:2.6rem;text-align:center;padding:.1rem .55rem;border-radius:9px;background:#fff;border:1.5px solid var(--line-strong);transition:color .25s,background .25s,border-color .25s}.acp-demo .race-shared .val.bad{color:var(--red-strong);border-color:var(--red);background:var(--red-soft)}.acp-demo .race-shared .val.good{color:var(--green-700);border-color:var(--green);background:var(--green-50)}.acp-demo .race-note{text-align:center;font-family:var(--font-body);font-size:.74rem;color:var(--ink-soft);min-height:1.1rem}.acp-demo .race-note.bad{color:var(--red-strong);font-weight:600}.acp-demo .race-note.good{color:var(--green-700);font-weight:600}.acp-demo .race-lanes{display:flex;gap:.7rem}.acp-demo .lane{flex:1;min-width:0;border:1.5px solid var(--zone);border-radius:12px;padding:.6rem .65rem;background:#ffffff80}.acp-demo .lane-h{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.03em;color:var(--zone);margin-bottom:.5rem}.acp-demo .lane-h .lock{opacity:0;transition:opacity .2s;font-size:.8rem}.acp-demo .lane.locked .lane-h .lock{opacity:1}.acp-demo .lane-reg{font-family:var(--font-mono);font-size:.64rem;color:var(--ink-faint);margin-bottom:.45rem}.acp-demo .lane-reg b{color:var(--ink);font-weight:600}.acp-demo .ops{display:flex;gap:.4rem}.acp-demo .op{flex:1;text-align:center;font-family:var(--font-mono);font-size:.6rem;padding:.34rem .2rem;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink-faint);transition:.18s}.acp-demo .op.on{border-color:var(--zone);background:var(--zone-soft);color:var(--zone);font-weight:600}.acp-demo .scene-orch{display:flex;flex-direction:column}.acp-demo .ow-svg{width:100%;height:150px}.acp-demo .ow-svg text{font-family:var(--font-mono)}.acp-demo .ow-card{fill:#fff;stroke:var(--line-strong);stroke-width:1.5;transition:fill .25s,stroke .25s}.acp-demo .ow-orch{fill:var(--gold-50);stroke:var(--gold)}.acp-demo .ow-synth{fill:var(--surface-alt)}.acp-demo .ow-synth.done{fill:var(--green-50);stroke:var(--green)}.acp-demo .ow-w{transition:opacity .3s}.acp-demo .ow-wc.done{fill:var(--green-50);stroke:var(--green)}.acp-demo .ow-big{font-size:9px;text-anchor:middle;fill:var(--ink)}.acp-demo .ow-lbl{font-size:8.5px;text-anchor:start;fill:var(--ink-soft)}.acp-demo .ow-st{font-size:9.5px;text-anchor:end;fill:var(--green-700)}.acp-demo .ow-bar{fill:var(--line)}.acp-demo .ow-fill{fill:var(--gold);transform:scaleX(0);transform-box:fill-box;transform-origin:left;transition:transform .9s linear}.acp-demo .ow-fill.go{transform:scaleX(1)}.acp-demo .ow-sst{fill:var(--green-700);font-size:10px}.acp-demo .ow-fan,.acp-demo .ow-fin{stroke:var(--gold);stroke-width:1.5;fill:none;opacity:0;transition:opacity .3s}.acp-demo .ow-fan.on,.acp-demo .ow-fin.on{opacity:.5}.acp-demo .sim-log{font-family:var(--font-mono);font-size:.62rem;color:var(--ink-faint);min-height:1.4rem;line-height:1.45;margin:.7rem .15rem}.acp-demo .sim-log .ev{display:block}.acp-demo .sim-log .ev:last-child{color:var(--ink-soft)}.acp-demo .sim-log .ev.aha{color:var(--green-700);font-weight:600}.acp-demo .sim-steps{display:flex;flex-direction:column;gap:.45rem}.acp-demo .sim-step{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;font-family:var(--font-mono);font-size:.72rem;padding:.5rem .7rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-soft);cursor:default;transition:.14s}.acp-demo .sim-step.prose{font-family:var(--font-body);font-weight:500}.acp-demo .sim-step .n{flex:none;display:flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;border-radius:var(--r-full);background:var(--line);color:var(--ink-faint);font-family:var(--font-body);font-weight:600;font-size:.66rem}.acp-demo .sim-step.active{border-color:var(--blue-500);background:var(--blue-50);color:var(--ink);cursor:pointer}.acp-demo .sim-step.active .n{background:var(--blue-600);color:#fff}.acp-demo .sim-step.active:hover{box-shadow:var(--shadow-sm)}.acp-demo .sim-step.done{border-color:var(--green);background:var(--green-50);color:var(--green-700)}.acp-demo .sim-step.done .n{background:var(--green);color:#fff}.acp-demo .sim-step.todo{opacity:.45}.acp-demo .demo-dots{display:flex;gap:.4rem;justify-content:center;align-items:center;margin-top:1.05rem}.acp-demo .demo-dots button{height:7px;width:7px;padding:0;border:0;border-radius:var(--r-full);background:var(--line-strong);cursor:pointer;transition:width .18s,background .18s}.acp-demo .demo-dots button.on{width:18px;background:var(--blue-500)}.acp-demo .demo-continue{margin-top:.85rem}.acp-demo .demo-continue:empty{display:none}.acp-demo .demo-continue .demo-btn{width:100%;justify-content:center}.acp-demo .demo-btn{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;border:0;font-family:var(--font-body);font-weight:600;font-size:1rem;line-height:1;padding:.8rem 1.35rem;border-radius:var(--r-sm);background:var(--blue-600);color:#fff;box-shadow:var(--press);transition:transform .06s,box-shadow .06s,background .15s}.acp-demo .demo-btn:hover{background:var(--blue-500)}.acp-demo .demo-btn:active{transform:translateY(3px);box-shadow:0 1px 0 0 var(--blue-700)}@keyframes acpContIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.acp-demo .demo-continue .demo-btn{animation:acpContIn .25s ease}@keyframes acpDemoIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.acp-demo .sim-stage,.acp-demo .sim-steps,.acp-demo .demo-q{animation:acpDemoIn .24s ease}@media(max-width:520px){.acp-demo .demo{padding:1rem .7rem}.acp-demo .demo-sub{max-width:none}.acp-demo .sim-stage{padding:.9rem .55rem .8rem}}@media(prefers-reduced-motion:reduce){.acp-demo *{transition:none!important}}
