/* Official origin map: separate from matched-section / first-turn comparison. */
.origin-visual{margin:24px 0;border:1px solid #dce5ef;border-radius:10px;overflow:hidden;background:#fff}.origin-visual-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:21px 22px 0}.origin-visual-kicker{font-size:10px!important;font-weight:750;letter-spacing:1.15px;color:#60728b;margin:0 0 5px!important;line-height:1.5}.origin-visual h3{font-size:20px;line-height:1.3;color:#19324d;margin:0}.origin-partial-badge{background:#fff4df;color:#805c20;border:1px solid #f2dfbc;border-radius:5px;font-size:10px;padding:7px 9px;white-space:nowrap}.origin-visual-description{font-size:12px;line-height:1.7;color:#52657d;padding:0 22px;margin:12px 0}.origin-map-legend{display:flex;flex-wrap:wrap;gap:9px 18px;padding:0 22px 16px;color:#425772;font-size:11px;line-height:1.5}.origin-map-legend span{display:inline-flex;gap:6px;align-items:center}.origin-map-legend i{width:10px;height:10px;border:1px solid #00000013;border-radius:3px;flex-shrink:0}.origin-visual-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);border-top:1px solid #e4ebf3}.origin-map-card{min-width:0;background:#f8fafc}.origin-map-scroll{overflow-x:auto;overscroll-behavior-x:contain;outline-offset:-3px}.origin-map-svg{display:block;width:100%;min-width:540px;height:auto;max-height:650px}.origin-map-shape{stroke:#fff;stroke-width:1.15;cursor:pointer;transition:fill .16s,stroke .16s;vector-effect:non-scaling-stroke}.origin-map-shape:hover{stroke:#64748b;stroke-width:1.5}.origin-map-shape:focus,.origin-map-shape.is-selected{stroke:#152b49;stroke-width:2;outline:none}.origin-map-connector{fill:none;stroke:#aab7c5;stroke-width:1;pointer-events:none}.origin-map-label{cursor:pointer}.origin-map-label rect{fill:#ffffffc7;stroke:#d9e1ea;stroke-width:.5;pointer-events:all}.origin-map-label:not(.is-callout) rect{fill:transparent;stroke:none}.origin-map-label.has-percent:not(.is-callout) rect{fill:#ffffffbd}.origin-map-label text{font-family:inherit;pointer-events:none}.origin-map-uf{font-size:12px;fill:#2e4055;font-weight:800;letter-spacing:.5px}.origin-map-percent{font-size:11px;font-weight:750;font-variant-numeric:tabular-nums}.origin-map-help,.origin-map-scope,.origin-map-mobile-hint{font-size:11px;line-height:1.7;color:#64748b}.origin-map-help{padding:0 20px;margin:0 0 18px}.origin-map-scope{border-top:1px solid #e4ebf3;padding:13px 22px;margin:0;background:#fcfdff}.origin-map-mobile-hint{display:none;padding:0 20px;margin:0 0 10px}.origin-map-empty{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#64748b;font-size:13px;gap:12px}.origin-map-empty p{margin:0}.origin-map-empty small{font-size:11px}.origin-ranking{padding:22px;border-left:1px solid #e4ebf3}.origin-ranking h3{font-size:18px}.origin-ranking-note{font-size:11px;line-height:1.7;color:#64748b;margin:10px 0}.origin-ranking ol{list-style:none;padding:0;margin:16px 0}.origin-ranking li+li{margin-top:4px}.origin-ranking button{display:flex;align-items:center;gap:10px;width:100%;border:0;padding:9px 0;background:transparent;color:#19324d;text-align:left;font:inherit;cursor:pointer;border-radius:5px}.origin-ranking button:hover{background:#f3f7fc}.origin-ranking button:focus-visible,.origin-map-scroll:focus-visible{outline:2px solid #245bc3;outline-offset:2px}.origin-rank-position{font-size:11px;color:#73839a;min-width:14px;text-align:center}.origin-rank-body{flex:1;min-width:0}.origin-rank-top{display:flex;gap:10px;justify-content:space-between;align-items:baseline}.origin-rank-top b{font-size:11px;font-weight:600;line-height:1.4}.origin-rank-top small{font-size:9px;font-weight:500;color:#73839a}.origin-rank-top strong{font-size:12px;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}.origin-rank-bar{height:4px;display:block;margin-top:7px;border-radius:3px;background:#e8eef5;overflow:hidden}.origin-rank-bar i{display:block;height:100%;border-radius:3px;background:#6b86a9}.origin-ranking-empty{font-size:12px;line-height:1.8;padding:18px 0;color:#52657d}.origin-map-detail{padding:15px 20px;border-top:1px solid #e0e7f0;background:#fff}.origin-map-detail>div{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}.origin-map-detail h4{font-size:14px;margin:0;color:#19324d}.origin-map-detail h4 span{font-size:10px;color:#64748b;margin-left:5px}.origin-map-detail b{font-size:11px}.origin-map-detail dl{display:flex;flex-wrap:wrap;gap:14px 30px;margin:13px 0}.origin-map-detail dt{font-size:10px;color:#64748b}.origin-map-detail dd{font-size:16px;font-weight:750;margin:3px 0 0;color:#19324d;font-variant-numeric:tabular-nums}.origin-map-detail p{font-size:10px;line-height:1.7;margin:0;color:#64748b}.origin-order-note{font-size:11px;line-height:1.7;color:#52657d;background:#f4f7fb;border-left:3px solid #6b86a9;padding:9px 12px;margin:0 0 12px}.origin-table td:nth-child(5)>strong{display:block;font-size:15px;color:#19324d;font-variant-numeric:tabular-nums}.origin-table th[aria-sort]{white-space:normal}.origin-table th[aria-sort] small{font-weight:400}.origin-visual button{min-height:40px}
@media(max-width:1050px){.origin-visual-grid{grid-template-columns:minmax(0,1fr)}.origin-ranking{border-left:0;border-top:1px solid #e4ebf3}.origin-ranking ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 28px}.origin-ranking li+li{margin-top:0}.origin-map-svg{max-height:590px}.origin-ranking-note{max-width:680px}}
@media(max-width:640px){.origin-visual{margin:20px 0}.origin-visual-heading{padding:17px 15px 0;align-items:flex-start;flex-direction:column;gap:10px}.origin-visual h3{font-size:18px}.origin-visual-description{padding:0 15px;font-size:11px}.origin-map-legend{padding:0 15px 14px;font-size:10px;gap:8px 13px}.origin-ranking{padding:18px 15px}.origin-ranking ol{grid-template-columns:1fr;gap:0}.origin-ranking button{min-height:48px}.origin-rank-top b{font-size:12px}.origin-rank-top strong{font-size:13px}.origin-map-mobile-hint{display:block}.origin-map-scope{padding:12px 15px;font-size:10px}.origin-map-detail{padding:14px 15px}.origin-map-help{padding:0 15px}.origin-map-empty{min-height:250px}.origin-order-note{font-size:10px}.origin-partial-badge{font-size:10px}.origin-visual-kicker{font-size:9px!important}}
@media(prefers-reduced-motion:reduce){.origin-map-shape{transition:none}}
