.asv-fig .asv-scaler{position:relative;overflow:hidden;margin:0 auto;width:100%;max-width:960px;aspect-ratio:960 / 560}.asv-canvas{position:absolute;top:0;left:0;transform-origin:0 0}.asv{--asv-ink: #0E1633;--asv-muted: #555555;--asv-line: #E5E5E5;--asv-teal: #257E8A;--asv-teal-soft: #E3F1F3;--asv-blue: #2E5E98;--asv-blue-soft: #E7EEF8;--asv-green: #3F6E54;--asv-green-soft: #E6EFE9;--asv-amber: #8F5A0A;--asv-amber-soft: #F6EBD8;--asv-red: #6E4508;--asv-red-soft: #F1DDB6;--asv-off: #ECEFF4;width:960px;height:560px;padding:20px 24px;border-radius:16px;background:#fff;color:var(--asv-ink);border:1px solid var(--asv-line);box-shadow:0 30px 60px -30px #0e163359;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;font-family:Mulish Variable,Mulish,ui-sans-serif,system-ui,sans-serif;line-height:1.4;text-align:left;-webkit-font-smoothing:antialiased}.asv *,.asv *:before,.asv *:after{box-sizing:border-box}.asv-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.asv-h{display:block;font-size:17px;font-weight:800}.asv-sub{display:block;font-size:11.5px;color:var(--asv-muted);font-family:IBM Plex Mono,ui-monospace,monospace;margin-top:2px}.asv-pill{display:grid;justify-items:end}.asv-pill>span{grid-area:1 / 1;display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;padding:5px 12px;border-radius:999px;white-space:nowrap;transition:opacity .3s}.asv-pill>span>i{width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:2px}.asv-pill b{font-variant-numeric:tabular-nums}.asv-pill-a{color:var(--asv-teal);background:var(--asv-teal-soft);opacity:0}.asv-pill-b{color:var(--asv-green);background:var(--asv-green-soft)}.asv-sec{display:block;font-size:10px;font-weight:800;color:var(--asv-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.asv-panel{border:1px solid var(--asv-line);border-radius:12px;min-width:0;padding:12px 14px;display:grid;align-content:start}.asv-weeks{display:grid;grid-template-columns:2fr 2fr 4fr;column-gap:6px;row-gap:6px}.asv-phase{display:flex;align-items:baseline;gap:8px;padding-left:8px;border-left:3px solid var(--c)}.asv-phase span{font-size:11.5px;font-weight:800;color:var(--c)}.asv-phase small{font-size:10px;color:var(--asv-muted);font-weight:700}.asv-p1{--c: var(--asv-blue)}.asv-p2{--c: var(--asv-teal)}.asv-p3{--c: var(--asv-green)}.asv-ww{grid-column:1 / -1;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.asv-w{display:grid;gap:3px}.asv-w span{font-size:9.5px;font-weight:800;color:var(--asv-muted);font-variant-numeric:tabular-nums}.asv-w i{display:block;height:6px;border-radius:3px;background:var(--asv-off);overflow:hidden}.asv-w b{display:block;height:100%;width:100%;background:var(--asv-teal)}.asv-main{display:grid;grid-template-columns:1.05fr 1.1fr .95fr;gap:14px;min-height:0}.asv-rows{display:grid}.asv-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--asv-line)}.asv-row:first-child{border-top:0}.asv-name{display:grid;line-height:1.25;min-width:0}.asv-name b{font-size:11.5px;font-weight:800}.asv-name small{grid-row:2;grid-column:1;font-size:10.5px;margin-top:1px;transition:opacity .3s}.asv-f-q,.asv-f-r{opacity:0;color:var(--asv-muted);font-style:italic}.asv-f-ok{color:var(--asv-ink)}.asv-badge{display:grid;justify-items:end}.asv-badge em{grid-area:1 / 1;font-style:normal;font-size:10px;font-weight:800;padding:3px 9px;border-radius:999px;white-space:nowrap;transition:opacity .3s,transform .35s cubic-bezier(.22,1.4,.36,1)}.asv-b-q{color:var(--asv-muted);background:var(--asv-off);opacity:0}.asv-b-r{color:var(--asv-teal);background:var(--asv-teal-soft);opacity:0}.asv-high .asv-b-ok{color:var(--asv-red);background:var(--asv-red-soft)}.asv-medium .asv-b-ok{color:var(--asv-amber);background:var(--asv-amber-soft)}.asv-plan .asv-b-ok{color:var(--asv-blue);background:var(--asv-blue-soft)}.asv-pack{display:inline-flex;align-items:center;gap:6px;justify-self:start;margin-top:8px;font-size:11px;font-weight:800;padding:5px 10px 5px 6px;border-radius:999px;color:var(--asv-green);background:var(--asv-green-soft);transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1)}.asv-pack svg{width:16px;height:16px;border-radius:50%;background:var(--asv-green);fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.asv-gate-head,.asv-pr{display:grid;grid-template-columns:minmax(0,1fr) repeat(5,34px);align-items:center;column-gap:2px}.asv-gate-head span{font-size:9px;font-weight:800;color:var(--asv-muted);text-align:center;text-transform:uppercase;letter-spacing:.04em}.asv-pr-list{display:grid}.asv-pr{padding:7px 0;border-top:1px solid var(--asv-line);row-gap:4px}.asv-pr-t{font-size:11px;line-height:1.3;min-width:0;padding-right:6px;transition:opacity .3s}.asv-pr-t b{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;color:var(--asv-muted);margin-right:5px}.asv-dots{display:contents}.asv-dots i{justify-self:center;width:14px;height:14px;border-radius:50%;background:var(--asv-green);box-shadow:inset 0 0 0 2px var(--asv-green);transition:background .25s,box-shadow .25s,transform .3s cubic-bezier(.22,1.4,.36,1)}.asv-block-note{grid-column:1 / -1;font-size:10px;font-weight:800;color:var(--asv-amber);background:var(--asv-amber-soft);border-radius:6px;padding:3px 8px;justify-self:start;display:none}.asv-note{margin-top:8px;font-size:10.5px;color:var(--asv-muted);font-weight:700}.asv-ops{position:relative}.asv-log{list-style:none;margin:0;padding:0;display:grid;gap:7px}.asv-log li{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;align-items:start;transition:opacity .35s,transform .45s cubic-bezier(.22,1,.36,1)}.asv-when{font-size:10px;font-weight:800;color:var(--asv-muted);font-family:IBM Plex Mono,ui-monospace,monospace;padding-top:1px}.asv-what{display:flex;gap:6px;font-size:11px;line-height:1.35;font-weight:700}.asv-what i{flex:none;width:8px;height:8px;border-radius:50%;margin-top:4px}.asv-ok .asv-what i{background:var(--asv-green)}.asv-warn .asv-what i{background:var(--asv-amber)}.asv-wait{position:absolute;left:14px;right:14px;top:38px;border:1.5px dashed var(--asv-line);border-radius:10px;padding:14px;text-align:center;font-size:11px;font-weight:700;color:var(--asv-muted);opacity:0;transition:opacity .3s}.asv.asv-armed:not(.a-done) .asv-pill-a{opacity:1}.asv.asv-armed:not(.a-done) .asv-pill-b{opacity:0}.asv.asv-armed .asv-row:not(.ok) .asv-f-ok,.asv.asv-armed .asv-row:not(.ok) .asv-b-ok{opacity:0}.asv.asv-armed .asv-row:not(.ok) .asv-b-ok{transform:scale(.7)}.asv.asv-armed .asv-row:not(.ok):not(.rev) .asv-f-q,.asv.asv-armed .asv-row:not(.ok):not(.rev) .asv-b-q{opacity:1}.asv.asv-armed .asv-row.rev:not(.ok) .asv-f-r,.asv.asv-armed .asv-row.rev:not(.ok) .asv-b-r{opacity:1}.asv.asv-armed .asv-row.rev:not(.ok) .asv-b-r{animation:asv-pulse 1.1s ease-in-out infinite}@keyframes asv-pulse{50%{opacity:.55}}.asv.asv-armed .asv-row:not(.ok):not(.rev) .asv-name b{opacity:.55}.asv.asv-armed .asv-row.ok{animation:asv-flash .9s ease-out}@keyframes asv-flash{0%{background:var(--asv-teal-soft)}to{background:transparent}}.asv.asv-armed:not(.a-pack) .asv-pack{opacity:0;transform:translateY(6px)}.asv.asv-armed .asv-pr:not(.on) .asv-pr-t{opacity:.45}.asv.asv-armed .asv-dots i:not(.lit){background:#fff;box-shadow:inset 0 0 0 2px #c3cad6}.asv.asv-armed .asv-dots i.lit{transform:scale(1.08)}.asv.asv-armed .asv-pr.blk .asv-blockable{background:var(--asv-amber-soft);box-shadow:inset 0 0 0 2px var(--asv-amber);animation:asv-pulse .9s ease-in-out infinite}.asv.asv-armed .asv-pr.blk .asv-block-note{display:block}.asv.asv-armed:not(.a-ops) .asv-wait{opacity:1}.asv.asv-armed .asv-log li:not(.on){opacity:0;transform:translateY(8px)}.asv.asv-narrow{width:360px;height:auto;padding:16px;grid-template-rows:auto auto auto}.asv.asv-narrow .asv-top{flex-direction:column;align-items:flex-start;gap:8px}.asv.asv-narrow .asv-pill{justify-items:start}.asv.asv-narrow .asv-weeks{grid-template-columns:minmax(0,1fr)}.asv.asv-narrow .asv-phase{display:none}.asv.asv-narrow .asv-ww{gap:4px}.asv.asv-narrow .asv-main{grid-template-columns:minmax(0,1fr)}.asv.asv-narrow .asv-gate-head,.asv.asv-narrow .asv-pr{grid-template-columns:minmax(0,1fr) repeat(5,26px)}.asv.asv-narrow .asv-gate-head span{font-size:7.5px;letter-spacing:0}.asv.asv-narrow .asv-ops{min-height:160px}@media(prefers-reduced-motion:reduce){.asv *,.asv *:before,.asv *:after{animation:none!important;transition:none!important}}
