.interactive-rules-visualizer{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 24px;margin:0 0 24px;color:var(--ink)}.rviz__title{margin:0 0 8px;font-size:1.35rem}.rviz__lead{margin:0 0 18px;color:var(--muted)}.rviz__phases{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.rviz__phase{appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-family:var(--font-head);font-weight:600;padding:10px 18px;border-radius:12px;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.rviz__phase:hover{border-color:var(--accent)}.rviz__phase[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.rviz__hint{margin:0 0 10px;color:var(--muted);font-size:.9rem}.rviz__events{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.rviz__event{appearance:none;text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;padding:12px 14px;border-radius:12px;cursor:pointer;transition:border-color .18s ease,background .18s ease}.rviz__event:hover{border-color:var(--accent)}.rviz__event.is-active{border-color:var(--accent);background:var(--accent-soft)}.rviz__court{margin:4px 0 20px}.rviz__court-svg{display:block;width:100%;max-width:360px;height:auto;margin-inline:auto;overflow:visible}.rviz__floor{fill:var(--bg)}.rviz__walls{fill:none;stroke:var(--accent-strong);stroke-opacity:.4;stroke-width:5}.rviz__line{stroke:var(--line);stroke-width:1.5}.rviz__net{stroke:var(--ink);stroke-width:3;stroke-dasharray:5 4}.rviz__rope{stroke-width:2;stroke-dasharray:2 4}.rviz__rope--a{stroke:var(--accent)}.rviz__rope--b{stroke:var(--muted);stroke-opacity:.7}.rviz__player{transition:transform .45s ease}.rviz__zone{fill:var(--accent-soft);stroke:var(--accent);stroke-opacity:.5;stroke-width:1;opacity:.5}.rviz__player--b .rviz__zone{fill:var(--line);stroke:var(--muted)}.rviz__player-dot{fill:var(--surface);stroke:var(--accent);stroke-width:2.5}.rviz__player--b .rviz__player-dot{stroke:var(--muted)}.rviz__player.is-actor .rviz__player-dot{fill:var(--accent);stroke:var(--accent-strong)}.rviz__player-text{fill:var(--accent-strong);font-family:var(--font-head);font-size:10px;font-weight:700;text-anchor:middle;pointer-events:none}.rviz__player--b .rviz__player-text{fill:var(--muted)}.rviz__player.is-actor .rviz__player-text{fill:#131a06}.rviz__ball-path{fill:none;stroke:var(--accent-strong);stroke-width:2;stroke-dasharray:6 5;stroke-linejoin:round}.rviz__ball{fill:var(--accent);stroke:#131a06;stroke-width:1.5}.rviz__team-tag{fill:var(--muted);font-family:var(--font-head);font-size:11px;font-weight:600}.rviz__legend{list-style:none;display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0 0;padding:0;color:var(--muted);font-size:.8rem}.rviz__legend li{display:inline-flex;align-items:center;gap:6px}.rviz__key{display:inline-block;width:22px;height:0;border-top:2px solid var(--accent-strong)}.rviz__key--ball{border-top-style:dashed}.rviz__key--rope{border-top-color:var(--accent);border-top-style:dotted}.rviz__key--zone{width:16px;height:10px;border:1px solid var(--accent);border-radius:50%;background:var(--accent-soft)}.rviz__rope-status{margin:8px 0 0;color:var(--muted);font-size:.85rem}.rviz__verdict{display:grid;gap:10px;margin-top:20px;padding-top:18px;border-top:1px dashed var(--line)}.rviz__verdict[hidden]{display:none}.rviz__verdict-title{margin:0;color:var(--muted);font-family:var(--font-head);font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.rviz__badge{justify-self:start;display:inline-block;padding:6px 14px;border:1px solid transparent;border-radius:999px;font-family:var(--font-head);font-size:.85rem;font-weight:600}.rviz__badge--ok{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.rviz__badge--fault{background:#ef8a7324;border-color:#ef8a73;color:#ef8a73}.rviz__badge--let{background:#e2c15a24;border-color:#e2c15a;color:#e2c15a}.rviz__verdict-text{margin:0}.rviz__verdict-tactic{margin:0;color:var(--muted);font-size:.94rem}.rviz__verdict-tactic strong{color:var(--accent-strong)}.rviz__verdict-name{margin:0;font-family:var(--font-head);font-size:1.05rem;font-weight:600}.rviz__detail{margin:0}.rviz__detail strong{color:var(--accent-strong)}.rviz__more{appearance:none;border:1px dashed var(--line);background:transparent;color:var(--muted);font:inherit;font-family:var(--font-head);font-weight:600;padding:10px 16px;border-radius:12px;cursor:pointer;transition:border-color .18s ease,color .18s ease}.rviz__more:hover{border-color:var(--accent);color:var(--ink)}.interactive-rules-visualizer .widget-buy{justify-self:start;display:inline-block;padding:10px 20px;border-radius:12px;background:var(--accent);color:#131a06;font-family:var(--font-head);font-weight:600;font-size:.9rem;text-decoration:none;box-shadow:var(--shadow-sm);transition:background .18s ease}.interactive-rules-visualizer .widget-buy:hover{background:var(--accent-strong)}.interactive-rules-visualizer .widget-ad{margin:0;color:var(--muted);font-size:.72rem}.rviz__phase:focus-visible,.rviz__event:focus-visible,.rviz__more:focus-visible,.interactive-rules-visualizer .widget-buy:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.rviz__phase,.rviz__player,.rviz__event,.rviz__more,.interactive-rules-visualizer .widget-buy{transition:none}}
