.vpu-appearances,.vpu-calendar{--vpu-ink:#2b1b3e;--vpu-violet:#64319c;--vpu-lilac:#eee7f6;--vpu-line:#ded2ec;color:var(--vpu-ink);font:400 17px/1.6 system-ui,-apple-system,Segoe UI,sans-serif;margin:24px 0 42px;clear:both;text-align:left}
.vpu-appearances *,.vpu-calendar *,.vpu-portrait *{box-sizing:border-box}
.vpu-section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--vpu-line);padding:0 0 20px;margin-bottom:24px}
.vpu-appearances h2,.vpu-calendar h2{font-family:Georgia,serif!important;font-size:clamp(28px,3vw,40px)!important;line-height:1.15!important;color:#57218b!important;margin:0!important;padding:0!important;letter-spacing:-.025em}
.vpu-kicker{font-size:12px!important;font-weight:700!important;letter-spacing:.13em;text-transform:uppercase;color:#744c94;margin:0 0 10px!important}
.vpu-count{display:grid;text-align:center;min-width:100px;padding:8px 18px;border:1px solid var(--vpu-line);border-radius:12px;background:#faf7fd}.vpu-count strong{font-size:36px;line-height:1.2;color:#57218b}.vpu-count span{font-size:13px}
.vpu-season-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.vpu-season-chips button,.vpu-filters button{font:600 15px/1.3 system-ui;border:1px solid #d4c0e9;background:#fff;color:#57218b;padding:10px 16px;border-radius:100px;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.vpu-season-chips button:hover,.vpu-season-chips button[aria-pressed=true],.vpu-filters button:hover{background:#652f9b;color:#fff;box-shadow:0 6px 18px #743ba334}
.vpu-season-summary{border:1px solid var(--vpu-line);border-radius:12px;background:#fcfaff;padding:16px 20px;margin:0 0 20px}.vpu-season-summary summary,.vpu-sources summary{font-size:16px;font-weight:700;color:#57218b;cursor:pointer}.vpu-season-summary summary span{float:right;color:#78648c;font-weight:400}.vpu-season-summary p{font-size:15px;margin:14px 0}
.vpu-filters{display:flex;gap:16px;align-items:end;padding:18px;border:1px solid var(--vpu-line);background:#f4eff9;border-radius:12px;margin:0 0 20px}.vpu-filters label{display:grid;gap:7px;font-size:13px;font-weight:700;flex:1}.vpu-filters select{width:100%;height:46px;border:1px solid #d6c7e6;border-radius:7px;background:#fff;font:400 16px system-ui;color:#2b1b3e;padding:8px 12px}.vpu-filters button{min-height:46px}
.vpu-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--vpu-line);border-radius:12px}.vpu-appearances table{border-collapse:collapse;width:100%;font-size:16px!important;margin:0!important;color:#342045}.vpu-appearances th{background:#eee7f6;color:#582b7d!important;font:700 13px/1.5 system-ui!important;letter-spacing:.025em;text-align:left;border:0!important;white-space:nowrap}.vpu-appearances td,.vpu-appearances th{padding:16px!important;border-bottom:1px solid #e7deef!important}.vpu-appearances tr:nth-child(even){background:#fcfaff}.vpu-appearances tr:hover{background:#f3edf9}.vpu-appearances tr[hidden]{display:none!important}.vpu-appearances a,.vpu-calendar a,.vpu-portrait a{color:#602596;text-decoration:none}.vpu-appearances a:hover,.vpu-calendar a:hover,.vpu-portrait a:hover{text-decoration:underline;text-underline-offset:4px}.vpu-appearances td small{display:block;color:#8b769e;font-size:13px;margin-top:4px}.vpu-score{font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}.vpu-event{display:block;white-space:nowrap;font-size:14px}.vpu-empty,.vpu-muted{color:#786687}.vpu-empty[hidden]{display:none}.vpu-sources{margin-top:20px;font-size:15px}
.vpu-portrait{margin:20px 0;padding:0;max-width:340px;line-height:1.5}.vpu-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:390px;object-fit:cover;object-position:50% 20%;border-radius:16px;background:#e9e2f0;box-shadow:0 10px 30px #44236612}.vpu-portrait figcaption{font:12px/1.6 system-ui;color:#725f82;margin-top:10px}.vpu-portrait small{font-size:11px}.vpu-inline-portrait{float:right;max-width:220px;margin:0 0 24px 30px}
.vpu-calendar-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 18px)/2);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#7b41b9 #eee7f6;padding-bottom:12px}.vpu-calendar-grid:has(>article:only-child){grid-auto-columns:100%}.vpu-day-card{border:1px solid var(--vpu-line);border-radius:16px;padding:24px;background:linear-gradient(125deg,#fff,#faf6ff);min-width:0;scroll-snap-align:start}.vpu-day-card h3{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center;font:600 17px/1.4 system-ui!important;color:#3d1c5c!important;margin:15px 0 22px!important;padding:0!important;text-align:center}.vpu-day-card h3 span{overflow-wrap:anywhere}.vpu-day-card h3 strong{font-size:28px;font-weight:750;color:#62249a;white-space:nowrap}.vpu-scorers-label{font:700 12px/1.4 system-ui!important;letter-spacing:.09em;text-transform:uppercase;color:#8a6c9d;margin:0 0 10px!important}.vpu-scorers{list-style:none!important;margin:0 0 20px!important;padding:0!important;min-height:65px}.vpu-scorers li{display:flex;justify-content:space-between;gap:16px;font:400 15px/1.6 system-ui;opacity:1!important;visibility:visible!important;animation:none!important;transition:none!important;transform:none!important}.vpu-scorers li span{color:#816790;font-size:13px;text-align:right}.vpu-report-link{font-size:14px;font-weight:700}.vpu-calendar,.vpu-scorers,.vpu-scorers *{animation:none!important}.vpu-calendar [hidden]{display:none!important}
.vpu-appearances :focus-visible,.vpu-calendar :focus-visible{outline:3px solid #b77ce5;outline-offset:3px}
@media(max-width:760px){.vpu-appearances,.vpu-calendar{font-size:16px}.vpu-filters{display:grid;grid-template-columns:1fr;padding:14px;gap:12px}.vpu-calendar-grid{grid-auto-columns:100%}.vpu-day-card{padding:20px}.vpu-appearances td,.vpu-appearances th{padding:12px!important}.vpu-match-table{min-width:760px}.vpu-season-summary summary span{float:none;display:block;margin-top:6px}.vpu-inline-portrait{max-width:150px;margin-left:16px}.vpu-count{min-width:78px;padding:8px 12px}.vpu-count strong{font-size:30px}}
@media(prefers-reduced-motion:reduce){.vpu-appearances *,.vpu-calendar *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
