.s01{--bg:#fff;--fg:#111418;--muted:#6b7280;--line:#e6e9ee;--panel:#f6f8fa;--navy:#1a1e2e;--teal:#2dc8a0;--teal-ink:#158a6c;--orange:#f5820a;--card:#fff;--card-line:#dfe4ea;--chip:#eef3f8;--chip-ink:#3b4655;--must:#fff1e3;--must-ink:#b85c00;--perf:#e6f7f1;--perf-ink:#177a5c;--env:#eaf0ff;--env-ink:#3552b8;--draft:#f1f3f5;--draft-ink:#6b7280;--s01-font:var(--font,"Helvetica Now Display", "Helvetica Neue", Helvetica, Arial, sans-serif);--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}.s01 .tabs{flex-direction:column;gap:8px;display:flex;position:sticky;top:24px}.s01 .tab{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--fg);text-align:left;cursor:pointer;font:inherit;border-radius:14px;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.s01 .tab:hover{border-color:var(--teal)}.s01 .tab:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.s01 .tab .t{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.s01 .tab .t svg{width:18px;height:18px;color:var(--teal-ink);flex:none}.s01 .tab .d{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.5;display:none}.s01 .tab .bar{background:var(--line);border-radius:2px;height:2px;margin-top:12px;display:none;overflow:hidden}.s01 .tab .bar i{background:var(--teal);width:0;height:100%;display:block}.s01 .tab.on{border-color:var(--card-line);box-shadow:0 8px 30px #10182814}.s01 .tab.on .d,.s01 .tab.on .bar{display:block}.s01 .tab.on .bar i{animation:bar var(--dur,12s) linear forwards}@keyframes bar{to{width:100%}}.s01 .stage-wrap{position:relative}.s01 .stage{aspect-ratio:1000/620;background:var(--panel);border:1px solid var(--line);border-radius:18px;width:100%;max-width:100%;position:relative;overflow:hidden}.s01 .stage .fit{transform-origin:0 0;width:1000px;height:620px;position:absolute;top:0;left:0}.s01 .chrome{flex-direction:column;display:flex;position:absolute;inset:0}.s01 .appbar{background:var(--navy);color:#fff;flex:none;align-items:center;gap:14px;height:44px;padding:0 18px;font-size:12px;display:flex}.s01 .appbar .logo{letter-spacing:.12em;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.s01 .appbar .logo b{border:2px solid var(--teal);border-radius:4px;width:12px;height:12px;display:inline-block;transform:rotate(45deg)}.s01 .appbar .crumb{color:#aab3c2}.s01 .appbar .right{color:#aab3c2;align-items:center;gap:8px;margin-left:auto;display:flex}.s01 .appbar .avatar{background:var(--teal);color:#0d2a22;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.s01 .view{flex:1;padding:18px 22px;position:relative;overflow:hidden}.s01 .subtabs{color:var(--muted);border-bottom:1px solid var(--line);gap:18px;margin-bottom:14px;padding-bottom:8px;font-size:12px;display:flex}.s01 .subtabs span.on{color:var(--fg);font-weight:600;position:relative}.s01 .subtabs span.on:after{content:"";background:var(--teal);height:2px;position:absolute;bottom:-9px;left:0;right:0}.s01 .chip{letter-spacing:.06em;background:var(--chip);color:var(--chip-ink);text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-block}.s01 .chip.must{background:var(--must);color:var(--must-ink)}.s01 .chip.perf{background:var(--perf);color:var(--perf-ink)}.s01 .chip.env{background:var(--env);color:var(--env-ink)}.s01 .chip.draft{background:var(--draft);color:var(--draft-ink)}.s01 .chip.func{background:var(--chip);color:var(--chip-ink)}.s01 .card{background:var(--card);border:1px solid var(--card-line);border-radius:8px;padding:6px 9px;font-size:11.5px;line-height:1.3}.s01 .card .n{align-items:center;gap:6px;font-weight:600;display:flex}.s01 .card .n:before{content:"";background:var(--teal);border-radius:50%;flex:none;width:6px;height:6px}.s01 .card .v{color:var(--muted);margin-top:2px;font-size:11px}.s01 .card .chips{gap:4px;margin-top:4px;display:flex}.s01 .in{opacity:0;animation:.5s forwards in;animation-delay:var(--d,0s);transform:translateY(6px)}@keyframes in{to{opacity:1;transform:none}}.s01 .draw{opacity:0;stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600);animation:1s forwards draw,50ms linear forwards appear;animation-delay:var(--d,0s),var(--d,0s)}@keyframes draw{to{stroke-dashoffset:0}}.s01 .pulse{animation:1.6s ease-in-out infinite pulse;animation-delay:var(--d,0s)}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.s01 .req{grid-template-columns:330px 1fr;gap:22px;height:100%;display:grid}.s01 .req .proj{border:1.5px solid var(--teal);background:color-mix(in srgb,var(--teal) 6%,var(--card));border-radius:12px;flex-direction:column;gap:5px;padding:8px;display:flex}.s01 .req .proj .h{letter-spacing:.08em;color:var(--teal-ink);font-size:10px;font-weight:700}.s01 .req .proj .h b{color:var(--fg);letter-spacing:0;margin-left:6px;font-size:12px;font-weight:600}.s01 .req .parts{grid-template-columns:1fr 1fr;align-content:start;gap:12px;display:grid;position:relative}.s01 .req .part{background:var(--card);border:1.5px solid #e8c48a;border-radius:10px;overflow:hidden}.s01 .req .part .ph{letter-spacing:.08em;color:#a26300;background:#fff5e4;padding:6px 10px;font-size:10px;font-weight:700}.s01 .req .part .ph b{color:var(--fg);letter-spacing:0;margin-left:6px;font-size:12px;font-weight:600}.s01 .req .part .card{border:0;border-top:1px solid var(--line);border-radius:0}.s01 .req .check{color:var(--muted);grid-column:1/-1;align-items:center;gap:10px;padding-top:4px;font-size:11px;display:flex}.s01 .req .check span{background:var(--chip);color:var(--chip-ink);border-radius:20px;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.s01 .req .check svg{width:12px;height:12px;color:var(--teal-ink)}.s01 .trace{pointer-events:none;position:absolute;inset:0;overflow:visible}.s01 .svgfull{width:100%;height:100%;display:block}.s01 .svgfull text{font-family:var(--s01-font)}.s01 .blk{fill:var(--card);stroke:var(--card-line);stroke-width:1.2px}.s01 .blk.fn{stroke:var(--teal)}.s01 .blk.lp{stroke:#e8c48a}.s01 .lbl{fill:var(--fg);font-size:12px;font-weight:600}.s01 .sub{fill:var(--muted);font-size:10px}.s01 .tag{letter-spacing:.06em;fill:var(--teal-ink);font-size:9px;font-weight:700}.s01 .wire{fill:none;stroke:var(--fg);stroke-width:1.4px;opacity:.75}.s01 .wire.pw{stroke:var(--orange)}.s01 .wire.cmd{stroke:#3552b8}.s01 .port{fill:var(--card);stroke:var(--fg);stroke-width:1.2px}.s01 .legend{fill:var(--muted);font-size:10px}.s01 .bom .top{align-items:center;gap:14px;margin-bottom:12px;display:flex}.s01 .bom .closure{color:var(--muted);align-items:center;gap:10px;margin-left:auto;font-size:11px;display:flex}.s01 .bom .closure .track{background:var(--line);border-radius:6px;width:160px;height:6px;overflow:hidden}.s01 .bom .closure .track i{background:var(--teal);width:0;height:100%;animation:8s steps(4,end) 1.2s forwards fill;display:block}@keyframes fill{to{width:100%}}.s01 .bom table{border-collapse:collapse;width:100%;font-size:12px}.s01 .bom th{text-align:left;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px;font-size:10px;font-weight:600}.s01 .bom td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 8px}.s01 .bom td.pn{font-family:var(--mono);color:var(--muted);font-size:11px}.s01 .bom td.num{text-align:right;font-variant-numeric:tabular-nums}.s01 .bom .alloc{background:var(--chip);color:var(--chip-ink);border-radius:6px;padding:3px 7px;font-size:11px;display:inline-block}.s01 .bom .src{color:var(--teal-ink);font-size:11px;font-weight:600}.s01 .bom .trace-tag{color:var(--muted);align-items:center;gap:4px;font-size:10px;display:inline-flex}.s01 .bom .trace-tag i{background:var(--teal);border-radius:50%;width:6px;height:6px;display:inline-block}.s01 .bom tr.gap td{color:var(--muted)}.s01 .bom tr.gap .open{color:var(--must-ink);background:var(--must);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.s01 .bom .row{position:absolute;left:22px;right:22px}.s01 .bom .swap{position:relative}.s01 .bom .swap .b{opacity:0;animation:.4s forwards in;animation-delay:var(--d)}.s01 .bom .swap .a{animation:.3s forwards out;animation-delay:var(--d)}@keyframes out{to{opacity:0;visibility:hidden}}.s01 .bom .foot{color:var(--muted);justify-content:space-between;padding:10px 8px;font-size:11px;display:flex}.s01 .bom .foot b{color:var(--fg);font-variant-numeric:tabular-nums}.s01 .agent{grid-template-columns:1fr 400px;gap:22px;height:100%;display:grid}.s01 .agent .left{flex-direction:column;gap:10px;display:flex}.s01 .agent .chat{border-left:1px solid var(--line);flex-direction:column;gap:10px;height:100%;padding-left:20px;font-size:12px;display:flex;overflow:hidden}.s01 .agent .user{background:var(--navy);color:#fff;border-radius:12px 12px 2px;align-self:flex-end;max-width:88%;padding:9px 12px;line-height:1.4}.s01 .agent .step{color:var(--fg);align-items:center;gap:8px;display:flex}.s01 .agent .step .ic{background:var(--chip);border-radius:5px;flex:none;place-items:center;width:18px;height:18px;display:grid}.s01 .agent .step .ic svg{width:11px;height:11px;color:var(--chip-ink)}.s01 .agent .step .ok{color:var(--teal-ink);margin-left:auto;font-weight:700}.s01 .agent .step .res{color:var(--muted);margin-left:auto;font-size:11px}.s01 .agent .ask{border:1px solid var(--card-line);background:var(--card);border-radius:10px;padding:10px 12px}.s01 .agent .ask .h{align-items:center;gap:6px;margin-bottom:6px;font-weight:600;display:flex}.s01 .agent .ask .h em{color:var(--orange);margin-left:auto;font-size:10px;font-style:normal;font-weight:600}.s01 .agent .ask .q{color:var(--muted);margin:4px 0}.s01 .agent .opt{align-items:center;gap:8px;padding:3px 0;display:flex}.s01 .agent .opt i{border:1.5px solid var(--muted);border-radius:50%;flex:none;width:12px;height:12px;display:inline-block;position:relative}.s01 .agent .opt.sel i{border-color:var(--teal-ink)}.s01 .agent .opt.sel i:after{content:"";background:var(--teal-ink);opacity:0;animation:.2s forwards in;animation-delay:var(--d);border-radius:50%;position:absolute;inset:2px}.s01 .agent .submit{background:var(--navy);color:#fff;border-radius:8px;margin-top:8px;padding:6px 12px;font-size:11px;font-weight:600;display:inline-block;position:relative}.s01 .agent .submit:after{content:"";border:2px solid var(--teal);opacity:0;animation:.7s forwards ring;animation-delay:var(--d);border-radius:12px;position:absolute;inset:-6px}@keyframes ring{0%{opacity:0;transform:scale(.9)}40%{opacity:1}to{opacity:0;transform:scale(1.15)}}.s01 .agent .diff{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:11px;line-height:1.45}.s01 .agent .diff s{color:var(--muted)}.s01 .agent .diff .to{color:var(--teal-ink);font-weight:600}.s01 .agent .stagecard{border:1px solid var(--card-line);background:var(--card);border-radius:10px;padding:12px 14px}.s01 .agent .stagecard .k{letter-spacing:.08em;color:var(--teal-ink);margin-bottom:8px;font-size:10px;font-weight:700}.s01 .agent .rail{align-items:center;gap:6px;display:flex}.s01 .agent .rail span{background:var(--line);border-radius:6px;flex:1;height:6px;position:relative;overflow:hidden}.s01 .agent .rail span:after{content:"";background:var(--teal);animation:.9s forwards slide;animation-delay:var(--d);position:absolute;inset:0;transform:translate(-100%)}@keyframes slide{to{transform:none}}.s01 .agent .rail-l{color:var(--muted);gap:6px;margin-top:6px;font-size:10px;display:flex}.s01 .agent .rail-l span{flex:1}.s01 .agent .gate{color:var(--muted);flex-direction:column;gap:6px;margin-top:auto;font-size:11px;display:flex}.s01 .agent .gate div{align-items:center;gap:8px;display:flex}.s01 .agent .gate b{color:var(--fg);font-weight:600}.s01 .agent .gate .pill{background:var(--perf);color:var(--perf-ink);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.s01 .agent .gate .pill.w{background:var(--must);color:var(--must-ink)}.s01 .bom .phaseA{animation:.4s forwards out;animation-delay:var(--out)}.s01 .bom .phaseB{opacity:0;animation:.5s forwards in;animation-delay:var(--d);position:absolute;inset:58px 22px 0}.s01 .bom .selhead{align-items:center;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.s01 .bom .selhead .muted{color:var(--muted);font-size:11px}.s01 .bom table.cand th{line-height:1.25}.s01 .bom table.cand th small{color:var(--muted);letter-spacing:0;text-transform:none;font-size:10px;font-weight:500}.s01 .bom table.cand td{padding:10px 8px}.s01 .bom table.cand td small{color:var(--muted);font-size:10px}.s01 .bom tr.sel td{background:color-mix(in srgb,var(--teal) 8%,transparent)}.s01 .pf{font-variant-numeric:tabular-nums;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.s01 .pf.pass{background:var(--perf);color:var(--perf-ink)}.s01 .pf.fail{background:var(--must);color:var(--must-ink)}.s01 .res{letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.s01 .res.pass{background:var(--teal);color:#0d2a22}.s01 .res.fail{background:var(--draft);color:var(--draft-ink)}.s01 .bom .selnote{color:var(--muted);max-width:80ch;margin-top:10px;font-size:11px}.s01 .bom .budget{color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:11px;display:flex}.s01 .bom .budget b{color:var(--fg);font-variant-numeric:tabular-nums}.s01 .bom .budget .track{background:var(--line);border-radius:6px;width:90px;height:6px;overflow:hidden}.s01 .bom .budget .track i{background:var(--teal);width:0;height:100%;animation:4s forwards fillw;animation-delay:var(--d);display:block}@keyframes fillw{to{width:var(--w)}}.s01 .bom .scroll{max-height:472px;overflow:hidden}.s01 .bom table.full{font-size:10.5px}.s01 .bom table.full td{padding:3.5px 8px}.s01 .bom table.full th.num,.s01 .bom table.full td.num{text-align:right;font-variant-numeric:tabular-nums}.s01 .bom table.full tr.grp td{background:var(--panel);letter-spacing:.06em;color:var(--teal-ink);padding:4px 8px;font-size:10px;font-weight:700}.s01 .bom table.full tfoot td{color:var(--muted);border-top:2px solid var(--line);padding-top:8px}.s01 .bom table.full tfoot b{color:var(--fg)}.s01 .bom table.full tbody tr{opacity:0;animation:.3s forwards in;animation-delay:var(--d)}.s01 .phys .physgrid{grid-template-columns:1fr 330px;gap:22px;height:calc(100% - 40px);display:grid}.s01 .phys .k{letter-spacing:.08em;color:var(--teal-ink);margin-bottom:6px;font-size:10px;font-weight:700}.s01 .phys .model{flex-direction:column;gap:4px;display:flex}.s01 .phys .model svg{flex:none;width:100%;height:auto}.s01 .phys .model svg:not(.chart){height:236px}.s01 .phys .model svg.chart{height:160px}.s01 .phys .scen{border-left:1px solid var(--line);flex-direction:column;gap:8px;padding-left:20px;display:flex}.s01 .phys .sc{border:1px solid var(--card-line);background:var(--card);border-radius:10px;padding:9px 11px;font-size:12px}.s01 .phys .sc .h{align-items:center;gap:8px;font-weight:600;display:flex}.s01 .phys .sc .h .pf{letter-spacing:.04em;margin-left:auto;font-size:10px}.s01 .phys .sc .r{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.4}.s01 .phys .ripple{background:color-mix(in srgb,var(--orange) 10%,var(--card));border:1px solid color-mix(in srgb,var(--orange) 40%,var(--card-line));color:var(--fg);border-radius:8px;padding:8px 10px;font-size:11px}.s01 .chart .grid line{stroke:var(--line);stroke-width:1px}.s01 .chart .ax{fill:var(--muted);font-size:9px}.s01 .chart .lim{stroke:var(--must-ink);stroke-dasharray:4 4;stroke-width:1.2px}.s01 .chart .limt{fill:var(--must-ink);font-size:9px;font-weight:600}.s01 .chart .curve{fill:none;stroke:var(--teal);stroke-width:2px}.s01 .chart .curve.fail{stroke:var(--orange)}.s01 .chart .pt{fill:var(--fg);font-size:10px;font-weight:600}.s01 .mv{opacity:0;transform:translate(var(--x0),var(--y0));animation:.5s forwards appear,1.1s cubic-bezier(.4,0,.2,1) forwards move;animation-delay:var(--d),var(--m,5.4s)}@keyframes appear{to{opacity:1}}@keyframes move{to{transform:translate(var(--x1),var(--y1))}}.s01 .fade{animation:.5s forwards out;animation-delay:var(--d)}.s01 .phys .sizing{flex-direction:column;gap:5px;margin-bottom:8px;font-size:11px;display:flex}.s01 .phys .sizing .row{border:1px solid var(--card-line);background:var(--card);border-radius:8px;align-items:center;gap:8px;padding:6px 9px;display:flex}.s01 .phys .sizing .from{color:var(--muted);flex:0 0 190px}.s01 .phys .sizing .arr{color:var(--teal-ink);font-weight:700}.s01 .phys .sizing .calc{font-variant-numeric:tabular-nums}.s01 .phys .sizing .calc b{color:var(--fg)}.s01 .phys .sizing .row.spec{background:color-mix(in srgb,var(--teal) 8%,var(--card));border-color:var(--teal)}.s01 .mono{font-family:var(--mono);background:var(--chip);border-radius:4px;padding:1px 5px;font-size:10px}.s01 .br .brgrid{grid-template-columns:1fr 330px;gap:22px;height:calc(100% - 40px);display:grid}.s01 .br .k{letter-spacing:.08em;color:var(--teal-ink);margin-bottom:6px;font-size:10px;font-weight:700}.s01 .br .graph svg{height:calc(100% - 20px)}.s01 .lane{stroke:var(--card-line);stroke-width:3px;stroke-linecap:round}.s01 .lane.br{stroke:var(--orange)}.s01 .node{fill:var(--card);stroke:var(--fg);stroke-width:2px}.s01 .node.br{stroke:var(--orange)}.s01 .br .side{border-left:1px solid var(--line);flex-direction:column;gap:8px;padding-left:20px;font-size:11px;display:flex}.s01 .br .diff,.s01 .br .bomd{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px;line-height:1.45}.s01 .br .diff .dh{margin-bottom:3px;font-weight:600}.s01 .br .bomd div+div{margin-top:6px}.s01 .br s,.s01 .agent .diff s{color:var(--muted)}.s01 .br .to{color:var(--teal-ink);font-weight:600}.s01 .br .rip{flex-wrap:wrap;gap:5px;display:flex}.s01 .br .merge{background:color-mix(in srgb,var(--teal) 10%,var(--card));border:1px solid var(--teal);border-radius:8px;padding:8px 10px}.s01 .bom .handover{background:var(--card);border:1.5px solid var(--teal);opacity:0;animation:.6s forwards in;animation-delay:var(--d);border-radius:12px;padding:12px 14px;font-size:11px;position:absolute;bottom:14px;left:22px;right:22px;transform:translateY(16px);box-shadow:0 12px 40px #1018282e}.s01 .bom .handover .hh{align-items:center;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.s01 .bom .handover .hg{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.s01 .bom .handover .hg div{background:var(--panel);color:var(--muted);border-radius:8px;padding:8px 10px;line-height:1.4}.s01 .bom .handover .hg i{color:var(--fg);margin-bottom:2px;font-style:normal;font-weight:600;display:block}.s01 .bom .handover .ht{color:var(--fg);margin-top:10px;font-weight:600}.s01 .caption{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:13px;display:flex}.s01 .caption b{color:var(--fg);font-weight:600}@media (prefers-reduced-motion:reduce){.s01 .in,.s01 .mv,.s01 .fade,.s01 .draw,.s01 .pulse,.s01 .bom .closure .track i,.s01 .bom .swap .b,.s01 .agent .opt.sel i:after,.s01 .agent .rail span:after,.s01 .tab.on .bar i{animation-duration:10ms!important;animation-delay:0s!important}.s01 .agent .submit:after{animation:none}}.s01{color:var(--fg);grid-template-columns:300px minmax(0,1fr);align-items:start;gap:32px;margin-top:48px;display:grid}.s01 .stage{background:var(--card)}@media (max-width:900px){.s01{grid-template-columns:1fr}.s01 .tabs{flex-flow:wrap;position:static}.s01 .tab{flex:140px}.s01 .tab .d{display:none!important}.s01 .tab .bar{margin-top:8px}}
