body.vp27-season-page,body.vp27-about-page{margin:0;background:#fffdf9}
:where(.vp27-season,.vp27-native-report,.vp27-footer){--s-violet:#622aa5;--s-deep:#29143f;--s-ink:#35213f;--s-muted:#8d779a;--s-line:#e8dfed;font:400 14px/1.7 'VH25 UI',system-ui,sans-serif;color:var(--s-ink);text-align:left;-webkit-font-smoothing:antialiased}
:where(.vp27-season,.vp27-native-report,.vp27-footer) *{box-sizing:border-box}
:where(.vp27-season,.vp27-native-report) :is(h1,h2,h3,h4,h5,p,ul,ol){margin:0;padding:0;color:inherit;font:inherit}
:where(.vp27-season,.vp27-native-report) :is(button,select){font:inherit}
:where(.vp27-season,.vp27-native-report) a{color:var(--s-violet);text-decoration:none}
:where(.vp27-season,.vp27-native-report) :is(a,summary,select):focus-visible{outline:3px solid #b38ed9;outline-offset:5px}
.vp27-season{background:#fffdf9;padding:76px 0 88px;min-height:75vh}
.vp27-season-wrap{width:min(1320px,calc(100% - 88px));margin-inline:auto}
.vp27-season-hero{position:relative;max-width:1000px;padding:0 0 48px}
.vp27-season-hero>span,.vp27-season-eyebrow{display:block;color:#a7814e;font-size:10px;font-weight:700;letter-spacing:.22em;line-height:1.5;text-transform:uppercase}
.vp27-season-hero h1{font:600 clamp(40px,4.8vw,70px)/1.15 'VH25 Display',Georgia,serif;letter-spacing:-.04em;margin:20px 0 20px;color:var(--s-deep)}
.vp27-season-hero h1 em{display:block;font-size:.54em;font-weight:400;letter-spacing:-.025em;color:#9a7aaa;margin-top:8px}
.vp27-season-hero>p{max-width:720px;color:#806d8d;font-size:15px;line-height:1.9}
.vp27-season-hero nav{display:flex;gap:8px;margin-top:28px}
.vp27-season-hero nav a{padding:10px 22px;border:1px solid var(--s-line);border-radius:24px;font-weight:600;transition:background .2s,box-shadow .2s,transform .2s}
.vp27-season-hero nav a[aria-current],.vp27-season-hero nav a:hover{color:white;background:var(--s-violet);border-color:var(--s-violet);box-shadow:0 5px 22px #622aa524;transform:translateY(-2px)}
.vp27-season-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-bottom:56px}
.vp27-summary-card{border:1px solid var(--s-line);border-radius:14px;background:#fff;min-height:132px;padding:24px 22px;position:relative;overflow:hidden}
.vp27-summary-card>.vp27-chapter-icon{position:absolute;right:16px;top:24px;width:54px;height:54px;opacity:.78}
.vp27-summary-card>strong{display:block;font:600 clamp(24px,2.4vw,34px)/1.2 'VH25 Display',Georgia,serif;padding-right:38px;color:var(--s-deep)}
.vp27-summary-card>span{display:block;font-size:11px;color:#8b7697;margin-top:12px;max-width:180px}
.vp27-season-list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}
.vp27-season :is(.vp27-season-list-head h2,.vp27-season-scorers h2),.vp27-native-report>h2{font:600 clamp(25px,3.3vw,40px)/1.3 'VH25 Display',Georgia,serif;letter-spacing:-.035em;margin-top:8px}
.vp27-season-list-head label{font-size:10px;color:#8a719b;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:12px}
.vp27-season-filter{max-width:230px;background:#fff;border:1px solid #dacee4;border-radius:8px;color:var(--s-ink);padding:12px 30px 12px 14px;font-size:12px;letter-spacing:0;text-transform:none}
.vp27-season-status{font-size:11px!important;color:#9a86a6!important;margin-bottom:16px!important}
.vp27-fixtures{border-top:1px solid var(--s-line)}
.vp27-fixture{border-bottom:1px solid var(--s-line);background:#fffdf9;scroll-margin-top:140px}
.vp27-fixture>summary{display:grid;grid-template-columns:250px 1fr 90px;gap:26px;align-items:center;list-style:none;cursor:pointer;padding:23px 20px;transition:background .2s,color .2s;border-radius:8px;touch-action:manipulation}
.vp27-fixture>summary::-webkit-details-marker{display:none}
.vp27-fixture>summary:hover,.vp27-fixture[open]>summary{background:#f2ebf8}
.vp27-fixture-date time{display:block;font-size:12px;font-weight:600}
.vp27-fixture-date small{display:block;font-size:10px;color:#a189af;margin-top:3px}
.vp27-fixture-teams{display:grid;grid-template-columns:1fr 80px 1fr;gap:24px;align-items:center}
.vp27-fixture-teams>strong{font-size:13px;font-weight:600}
.vp27-fixture-teams>strong:first-child{text-align:right}
.vp27-fixture-teams .is-viola{color:#6b30a8}
.vp27-score{font-size:18px;font-weight:700;text-align:center;white-space:nowrap}
.vp27-fixture[data-status=scheduled] .vp27-score{color:#b6a6c0;font-size:13px;font-weight:400}
.vp27-fixture-action{text-align:right;font-size:10px;color:#9366b3;white-space:nowrap}
.vp27-fixture[open]>.vp27-report{margin:0 20px 22px;border-top:1px solid #e5d5f0}
.vp27-report{padding:30px 0 0}
.vp27-report-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px;padding-bottom:28px;border-bottom:1px solid var(--s-line)}
.vp27-report-facts span{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#a18bab;margin-bottom:5px}
.vp27-report-facts strong{font-size:12px;font-weight:600}
.vp27-report>section{margin-top:34px}
.vp27-chapter-title{display:flex;align-items:center;gap:12px;font:600 25px/1.35 'VH25 Display',Georgia,serif!important;letter-spacing:-.02em;color:#64348f!important;margin-bottom:20px!important;padding-bottom:12px!important;border-bottom:1px solid #eadff1}
.vp27-chapter-icon{width:38px;height:38px;object-fit:contain;flex:none}
.vp27-report-prose>p{max-width:950px;color:#7d678a;font-size:13px;line-height:1.95}
.vp27-video-frame{position:relative;aspect-ratio:16/9;background:#160f21;overflow:hidden;border-radius:12px;max-width:1040px}
.vp27-video-frame :is(iframe,video){position:absolute;inset:0;width:100%;height:100%;border:0;background:#160f21;object-fit:contain}
.vp27-video-credit{font-size:10px!important;color:#9e88aa!important;margin-top:10px!important;max-width:900px}
.vp27-timeline{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:4px 40px}
.vp27-timeline>li{display:grid;grid-template-columns:46px 22px 1fr;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #f0e8f4}
.vp27-timeline time{font-size:11px;color:#a78bae;text-align:right;font-weight:600}
.vp27-event-symbol{font-style:normal;font-size:18px;color:#e4b42d}
.vp27-timeline [data-event=red_card] .vp27-event-symbol,.vp27-timeline [data-event=second_yellow] .vp27-event-symbol{color:#d31c48}
.vp27-timeline strong{display:block;font-size:12px;font-weight:600}
.vp27-timeline li span{display:block;color:#a28aab;font-size:10px}
.vp27-lineup-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.vp27-lineup-team{border:1px solid #e8deed;border-radius:12px;overflow:hidden;background:white;padding:0 22px 18px}
.vp27-lineup-team h4{font-size:15px!important;font-weight:700!important;padding:17px 22px!important;margin:0 -22px 12px!important;background:#f0eaf5;color:#61328c!important}
.vp27-lineup-team[data-viola=true] h4{background:#622aa5;color:white!important}
.vp27-coach{font-size:10px!important;color:#9e83ab!important;margin:5px 0 17px!important}
.vp27-lineup-team h5{font-size:9px!important;color:#a18bac!important;letter-spacing:.13em;text-transform:uppercase;margin:22px 0 10px!important}
.vp27-lineup-team ul{list-style:none}
.vp27-lineup-team li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:9px;padding:8px 0;border-bottom:1px solid #f3edf6;font-size:11px;line-height:1.5}
.vp27-lineup-team li>b{font-size:10px;color:#b6a1c3;font-weight:400}
.vp27-lineup-team li>small{font-size:9px;color:#b19dc0;text-align:right}
.vp27-change-in{color:#5c8e70}.vp27-change-out{color:#b4657b}
.vp27-detail-note{font-size:10px!important;color:#aa97b3!important;margin-top:15px!important;max-width:940px}
.vp27-report-changes ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 40px}
.vp27-report-changes li{display:flex;gap:16px;font-size:11px;padding:8px 0;border-bottom:1px solid #f0e8f4}
.vp27-report-changes time{color:#a78bae;min-width:30px}
.vp27-report-statistics{max-width:900px}
.vp27-stats-teams{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px!important;font-size:12px!important}
.vp27-stats-teams strong{font-weight:600}
.vp27-stat-row{padding:10px 0}
.vp27-stat-values{display:grid;grid-template-columns:65px 1fr 65px;text-align:center;align-items:center;gap:10px;font-size:11px}
.vp27-stat-values b{font-size:13px;font-weight:600}.vp27-stat-values b:first-child{text-align:left}.vp27-stat-values b:last-child{text-align:right}
.vp27-stat-values span{color:#9f85ac}
.vp27-stat-bars{display:flex;gap:4px;margin-top:8px;height:4px}
.vp27-stat-bars i:first-child{width:var(--home-share);background:#7436af;border-radius:4px}.vp27-stat-bars i:last-child{flex:1;background:#cbb6dc;border-radius:4px}
.vp27-report-sources{padding:20px 0;margin-top:25px;font-size:10px;color:#9b81a9;border-top:1px solid var(--s-line)}
.vp27-report-sources summary{cursor:pointer;font-weight:600}.vp27-report-sources ul{list-style:none;margin:12px 0!important}.vp27-report-sources li{margin:6px 0}.vp27-report-sources a{overflow-wrap:anywhere}
.vp27-full-match{display:inline-block;font-size:11px;font-weight:700;padding:10px 0}
.vp27-match-context{display:flex;gap:10px;margin-bottom:25px;flex-wrap:wrap}.vp27-match-context a{padding:8px 18px;border:1px solid #e0d1eb;border-radius:6px;font-size:10px;font-weight:600;transition:background .2s,box-shadow .2s}.vp27-match-context a:hover{background:#f3eafa;box-shadow:0 0 18px #9b58c61a}
.vp27-report-pending{padding:26px 0!important;font-size:13px!important;color:#96819f!important}
.vp27-season-scorers{margin-top:72px}.vp27-season-scorers h2{margin-bottom:22px!important}
.vp27-scorers-list{max-width:840px;border-top:1px solid var(--s-line)}
.vp27-scorer{display:grid;grid-template-columns:38px 1fr auto 45px;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--s-line)}
.vp27-scorer>span{color:#c4b0d1;font-size:11px}.vp27-scorer>strong{font-size:13px;font-weight:600}.vp27-scorer>small{font-size:10px;color:#b39dc1}.vp27-scorer>b{font:600 27px/1 'VH25 Display',Georgia,serif;text-align:right;color:#6c36a1}
.vp27-season-source-note{max-width:920px;margin-top:40px!important;font-size:10px!important;line-height:1.9!important;color:#b09dbc!important}
.vp27-native-report{width:min(1180px,calc(100% - 64px));margin:38px auto 60px;padding:34px 38px;border:1px solid #e6dced;border-radius:16px;background:#fffdfb}
.vp27-footer{background:#29143f;color:#aa91bc;padding:30px 0;font-size:10px}
.vp27-footer>div{display:flex;align-items:center;gap:25px;justify-content:space-between}.vp27-footer a{color:#d3b9e2;text-decoration:none}.vp27-footer span{margin-right:auto}
.vp27-match-hero{font:400 14px/1.7 'VH25 UI',system-ui,sans-serif;padding-top:58px;color:#795c8f}.vp27-match-hero>a{text-decoration:none}.vp27-match-hero>h1{font:600 clamp(29px,4.4vw,54px)/1.2 'VH25 Display',Georgia,serif;color:#3a1c50;margin:22px 0 10px;letter-spacing:-.03em}.vp27-match-hero>p{font-size:12px;color:#a088ae}.vp27-match-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:36px;align-items:center;background:#f1eaf7;border:1px solid #e9dcf2;border-radius:14px;padding:28px 40px;margin:30px 0 0;text-align:center}.vp27-match-scoreboard h2{font:600 clamp(15px,2.4vw,26px)/1.3 'VH25 Display',Georgia,serif;color:#67358c;margin:0}.vp27-match-scoreboard>strong{font:600 clamp(33px,4.4vw,54px)/1.1 'VH25 Display',Georgia,serif;color:#431b63}.vp27-match-scoreboard small{display:block;font:400 9px/1.5 'VH25 UI',system-ui,sans-serif;margin-top:8px;color:#ae94bf;letter-spacing:.04em}.vp27-match-page .vp27-native-report{width:100%;margin:36px 0 0;padding:30px 32px}.vp27-match-page #fs-main{padding-bottom:60px}.vp27-editorial{font:400 14px/1.9 'VH25 UI',system-ui,sans-serif;color:#84668f;padding:30px 0}
@media(min-width:1500px){.vp27-fixture>summary{grid-template-columns:270px 1fr 100px}}
@media(max-width:1050px){.vp27-season-wrap{width:calc(100% - 52px)}.vp27-fixture>summary{grid-template-columns:190px 1fr;gap:18px}.vp27-fixture-action{display:none}.vp27-fixture-teams{gap:14px;grid-template-columns:1fr 65px 1fr}.vp27-summary-card{padding:20px 16px}.vp27-summary-card>.vp27-chapter-icon{width:40px;height:40px;right:10px}.vp27-summary-card>span{font-size:10px}.vp27-native-report{width:calc(100% - 40px);padding:25px}}
@media(max-width:700px){.vp27-season{padding:42px 0 60px}.vp27-season-wrap{width:calc(100% - 32px)}.vp27-season-summary{grid-template-columns:1fr 1fr;gap:10px;padding-bottom:38px}.vp27-summary-card{min-height:118px}.vp27-season-list-head{align-items:flex-start;flex-direction:column;gap:20px}.vp27-season-list-head label{width:100%;justify-content:space-between}.vp27-season-filter{max-width:70%}.vp27-fixture>summary{grid-template-columns:1fr;padding:17px 4px;gap:13px}.vp27-fixture-date{display:flex;justify-content:space-between;gap:12px;align-items:center}.vp27-fixture-date time{font-size:10px}.vp27-fixture-date small{font-size:9px;margin:0;max-width:55%;text-align:right}.vp27-fixture-teams{grid-template-columns:1fr 64px 1fr;gap:8px}.vp27-fixture-teams>strong{font-size:11px}.vp27-fixture-teams>strong:first-child{text-align:left}.vp27-fixture-teams>strong:last-child{text-align:right}.vp27-score{font-size:17px}.vp27-fixture[open]>.vp27-report{margin:0 4px 18px}.vp27-report-facts{grid-template-columns:1fr 1fr;gap:15px}.vp27-report-facts strong{font-size:10px}.vp27-chapter-title{font-size:21px!important}.vp27-lineup-grid,.vp27-timeline,.vp27-report-changes ul{grid-template-columns:1fr;gap:12px}.vp27-lineup-team{padding:0 14px 16px}.vp27-lineup-team h4{padding:15px 14px!important;margin:0 -14px 10px!important}.vp27-lineup-team li{font-size:10px}.vp27-report-prose>p{font-size:12px}.vp27-video-frame{border-radius:7px}.vp27-video-credit{font-size:9px!important}.vp27-season-scorers{margin-top:48px}.vp27-scorer{gap:10px;grid-template-columns:23px 1fr auto 28px}.vp27-scorer>strong{font-size:11px}.vp27-scorer>small{font-size:8px}.vp27-native-report{width:calc(100% - 24px);padding:22px 16px}.vp27-footer>div{flex-wrap:wrap;gap:12px 24px}.vp27-footer span{width:100%}}
@media(prefers-reduced-motion:reduce){.vp27-season *{transition:none!important;scroll-behavior:auto!important}}
