.vw-main{--lane-arrow:#7d7d88;padding:18px 0 28px}.vw-wrap{max-width:1680px;margin:0 auto;padding:0 32px}.vw-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.vw-title{font-family:var(--display);letter-spacing:-.03em;margin:0 0 6px;font-size:34px;font-weight:600;line-height:1.15}.vw-sub{color:var(--muted);max-width:90ch;margin:0;font-size:13.5px}.vw-toggle{border:1px solid var(--line-strong);display:inline-flex}.vw-toggle button{cursor:pointer;color:var(--text-2);background:0 0;border:0;padding:10px 22px;font-size:16px}.vw-toggle button.on{background:var(--accent);color:var(--on-accent);font-weight:600}.vw-toggle button:not(.on):hover{background:var(--raised);color:var(--text)}.vw-verdict{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;display:flex}.pill{border:1px solid var(--line-strong);color:var(--text-2);padding:6px 12px;font-size:14px}.pill.bad{border-color:var(--negative);color:var(--negative);background:var(--negative-soft);font-weight:600}.pill.ok{border-color:color-mix(in srgb, var(--positive) 60%, transparent);color:var(--positive)}.badge-proven{background:var(--positive);color:#06180d;padding:7px 14px;font-size:15px;font-weight:600;text-decoration:none}.badge-proven:hover{filter:brightness(1.1)}.vw-grid{grid-template-columns:minmax(0,1.65fr) minmax(360px,1fr);align-items:start;gap:24px;display:grid}.vw-stage{background:var(--surface);border:1px solid var(--line)}.lanes{width:100%;height:auto;font-family:var(--mono);display:block}.lifeline{stroke:var(--line-strong);stroke-width:1.5px;stroke-dasharray:2 6}.lane-head{fill:var(--raised);stroke:var(--line-strong)}.lane-name{fill:var(--text);font-size:19px;font-weight:600}.row-no{fill:var(--muted);font-size:15px}.arrow-line{stroke:var(--lane-arrow);stroke-width:2.2px}.arrow.tx .arrow-line{stroke-dasharray:7 5}.arrow-label{fill:var(--text-2);font-size:14.5px}.arrow-label .rid{fill:var(--muted)}.arrow.cur .arrow-line{stroke:var(--accent);stroke-width:3px;stroke-dasharray:1;stroke-dashoffset:1px;animation:draw .65s var(--ease) forwards}.arrow.cur.tx .arrow-line{animation:draw-tx .65s var(--ease) forwards}.arrow.cur .arrow-label{fill:var(--text);font-weight:600}.arrow.cur .row-no{fill:var(--accent);font-weight:700}.arrow.bad .arrow-line{stroke:var(--negative)}.arrow.bad .arrow-label,.arrow.bad .row-no{fill:var(--negative)}.cross{fill:var(--negative);font-size:22px;font-weight:700}.arrow.cur .cross{animation:pop .4s .45s var(--ease) both;transform-box:fill-box;transform-origin:50%}.packet{fill:var(--accent);animation:travel .65s var(--ease) forwards}.arrow.bad .packet{fill:var(--negative)}@keyframes draw{to{stroke-dashoffset:0}}@keyframes draw-tx{0%{opacity:0}to{opacity:1;stroke-dasharray:7 5}}@keyframes travel{0%{opacity:1;transform:translate(0)}90%{opacity:1}to{transform:translateX(var(--dx));opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.4)}to{opacity:1;transform:scale(1)}}.vw-controls{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.ctl{background:var(--raised);border:1px solid var(--line-strong);cursor:pointer;min-width:46px;height:42px;padding:0 14px;font-size:16px}.ctl:hover:not(:disabled){border-color:var(--text)}.ctl:disabled{opacity:.35;cursor:not-allowed}.ctl.play{background:var(--accent);color:var(--on-accent);border-color:var(--accent);min-width:120px;font-weight:600}.vw-count{color:var(--text-2);margin:0 6px;font-size:16px}.vw-dots{gap:6px;display:flex}.vw-dots .dot{border:1px solid var(--line-strong);background:var(--raised);cursor:pointer;width:14px;height:14px;padding:0}.vw-dots .dot.ins{border-color:var(--negative)}.vw-dots .dot.f{background:var(--negative-soft);border-color:var(--negative)}.vw-dots .dot.cur{background:var(--accent);border-color:var(--accent)}.vw-speed{border:1px solid var(--line-strong);margin-left:auto;display:inline-flex}.vw-speed button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:8px 12px;font-size:14px}.vw-speed button.on{color:var(--text);background:var(--raised)}.vw-panel{flex-direction:column;gap:16px;display:flex}.vw-card{background:var(--surface);border:1px solid var(--line);padding:20px 22px}.vw-card.bad{border-color:var(--negative);box-shadow:inset 3px 0 0 var(--negative)}.vw-card.slim{padding:14px 22px;font-size:16px}.vw-card .eyebrow{margin-bottom:10px}.vw-step-who{color:var(--muted);margin:0 0 4px;font-size:15px}.vw-step-text{margin:0 0 8px;font-size:18px;line-height:1.5}.vw-step-text code{color:var(--text);font-size:18px}.vw-outcome{color:var(--text);margin:10px 0 0;font-size:17px;font-weight:600}.vw-changes{border:1px solid var(--line);color:var(--accent-ink);background:#0a0a0c;margin:12px 0 0;padding:10px 14px;font-size:15px;list-style:none}.small{margin:6px 0 0;font-size:13.5px}.bad{color:var(--negative)}.ok{color:var(--positive)}.meter-row{grid-template-columns:160px minmax(0,1fr) 52px;align-items:center;gap:12px;margin:12px 0;display:grid}.meter-label{color:var(--text-2);font-size:14px}.meter-track{border:1px solid var(--line);background:#0a0a0c;height:28px;position:relative}.meter{transition:width .6s var(--ease), left .6s var(--ease);position:absolute;top:0;bottom:0;left:0}.meter.held{background:var(--accent)}.meter.owes{background:#d9d6e6}.meter.gap{background:repeating-linear-gradient(135deg, var(--negative) 0 8px, #b83a3a 8px 16px)}.meter-num{text-align:right;font-size:20px;font-weight:600}.vw-gap{margin:8px 0 0;font-size:16px;font-weight:600}.vw-foot{border-top:1px solid var(--line);gap:6px;margin-top:14px;padding-top:12px;font-size:13.5px;display:grid}.vw-foot code{color:var(--text);word-break:break-word;font-size:14.5px}@media (max-width:1100px){.vw-grid{grid-template-columns:minmax(0,1fr)}.vw-wrap{padding:0 16px}.vw-title{font-size:26px}.vw-speed{margin-left:0}}
