/* 可在這裡加入外觀調整。原版部分樣式使用 inline style，覆寫時需注意優先順序。 */
.cv-ratio-formula { color:#D8F24B; font-size:18px; line-height:1.7; padding:12px 0; border-bottom:1px solid #42665c; }
.cv-ratio-summary { background:#12312c; border:1px solid #42665c; border-left:3px solid #D8F24B; padding:18px; margin:18px 0; color:#F3F0E8; }
.cv-ratio-value { display:block; font-size:34px; color:#D8F24B; margin-top:10px; font-variant-numeric:tabular-nums; }
.cv-ratio-summary p,.cv-ratio-summary small { color:#adc3b8; line-height:1.7; }
.cv-dna-surface,.cv-dna-distribution { background:#12312c; border:1px solid #42665c; padding:22px; color:#F3F0E8; margin:14px 0 24px; }
.cv-dna-note { color:#adc3b8; font-size:12px; line-height:1.8; }
.cv-dna-surface-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0; }
.cv-dna-surface-grid article { padding:16px; background:#0c2523; border-top:2px solid #739784; }
.cv-dna-surface-grid article:nth-child(2) { border-color:#ce855e; }
.cv-dna-surface-grid article:nth-child(3) { border-color:#d8f24b; }
.cv-dna-surface-grid h3 { margin:0 0 14px; font-size:14px; }
.cv-dna-surface-grid strong { font-size:30px; color:#d8f24b; font-variant-numeric:tabular-nums; }
.cv-dna-surface-grid p,.cv-dna-surface-grid span,.cv-dna-surface>small { font-size:12px; color:#adc3b8; line-height:1.7; }
.cv-dna-distribution>header { display:flex; gap:16px; align-items:center; justify-content:space-between; }
.cv-dna-distribution h2 { font-size:25px; margin:9px 0; }
.cv-dna-distribution>header>p { color:#d8f24b; font-size:14px; }
.cv-dna-selection { padding:12px 14px; background:#0c2523; border-left:2px solid #d8f24b; font-size:13px; line-height:1.7; margin:20px 0; }
.cv-dna-chart { margin:24px 0 34px; }
.cv-dna-chart h3 { font-size:17px; margin:0 0 6px; }
.cv-dna-chart figcaption p { color:#adc3b8; font-size:12px; margin:0 0 14px; }
.cv-dna-vertical-wrap { display:flex; gap:8px; }
.cv-dna-y-axis { display:flex; flex-direction:column; justify-content:space-between; flex:0 0 40px; height:180px; margin-top:30px; font-size:11px; color:#adc3b8; }
.cv-dna-scroll { overflow-x:auto; min-width:0; flex:1; padding-top:30px; }
.cv-dna-columns { display:flex; gap:14px; min-width:100%; width:max-content; padding:0 8px 12px; box-sizing:border-box; }
.cv-dna-column { width:95px; flex:0 0 95px; color:#F3F0E8; border:0; background:transparent; padding:0; cursor:pointer; font:inherit; text-align:center; }
.cv-dna-column-track { height:180px; display:flex; align-items:flex-end; justify-content:center; background:linear-gradient(to bottom,#42665c55 1px,transparent 1px); background-size:100% 90px; border-bottom:1px solid #739784; }
.cv-dna-column-fill { position:relative; width:42px; background:#779b86; min-height:1px; }
.cv-dna-column-fill>span { position:absolute; bottom:100%; margin-bottom:7px; left:50%; transform:translateX(-50%); white-space:nowrap; color:#adc3b8; font-size:12px; }
.cv-dna-column[aria-pressed=true] .cv-dna-column-fill { background:#d8f24b; }
.cv-dna-column[aria-pressed=true] .cv-dna-player-name { color:#d8f24b; }
.cv-dna-player-name { display:block; overflow-wrap:anywhere; min-height:40px; font-size:12px; line-height:1.5; padding-top:10px; }
.cv-dna-column>small { display:block; font-size:11px; color:#adc3b8; }
.cv-dna-horizontal { display:grid; gap:10px; }
.cv-dna-point-row { display:grid; grid-template-columns:135px minmax(0,1fr) 56px; gap:14px; align-items:center; width:100%; background:transparent; border:1px solid transparent; padding:8px 0; text-align:left; color:#F3F0E8; cursor:pointer; font:inherit; }
.cv-dna-point-label { font-size:13px; overflow-wrap:anywhere; }
.cv-dna-point-label>small { display:block; margin-top:5px; color:#adc3b8; font-size:11px; }
.cv-dna-point-track { display:block; background:#0c2523; height:15px; }
.cv-dna-point-track>span { display:block; height:100%; background:#779b86; }
.cv-dna-point-row>strong { text-align:right; font-size:13px; font-weight:500; }
.cv-dna-point-row[aria-pressed=true] { color:#d8f24b; }
.cv-dna-point-row[aria-pressed=true] .cv-dna-point-track>span { background:#d8f24b; }
.cv-dna-x-axis { display:flex; justify-content:space-between; margin-left:149px; margin-right:70px; font-size:11px; color:#adc3b8; border-top:1px solid #42665c; padding-top:8px; }
.cv-dna-data { border-top:1px solid #42665c; padding:14px 0; font-size:13px; }
.cv-dna-data summary { cursor:pointer; color:#d8f24b; }
.cv-dna-table-scroll { overflow:auto; margin:14px 0; }
.cv-dna-data table { border-collapse:collapse; width:100%; min-width:470px; }
.cv-dna-data caption { text-align:left; margin-bottom:12px; color:#adc3b8; }
.cv-dna-data th,.cv-dna-data td { padding:10px; border-bottom:1px solid #42665c; text-align:right; font-weight:400; }
.cv-dna-data th:first-child { text-align:left; }
.cv-dna-distribution :focus-visible { outline:2px solid #d8f24b; outline-offset:3px; }
@media(max-width:640px) {
 .cv-dna-surface,.cv-dna-distribution { padding:16px; }
 .cv-dna-surface-grid { gap:7px; }
 .cv-dna-surface-grid article { padding:12px 8px; }
 .cv-dna-surface-grid strong { font-size:23px; }
 .cv-dna-distribution>header { display:block; }
 .cv-dna-distribution h2 { font-size:21px; }
 .cv-dna-point-row { grid-template-columns:95px minmax(0,1fr) 48px; gap:8px; }
 .cv-dna-x-axis { margin-left:103px; margin-right:56px; }
}
.cv-scoring-guide { padding:20px; margin-bottom:24px; border:1px solid #42665c; border-top:2px solid #D8F24B; background:#12312c; color:#F3F0E8; }
.cv-scoring-guide h2 { font-size:21px; margin:0 0 16px; }
.cv-scoring-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:20px; }
.cv-scoring-grid h3 { font-size:13px; color:#b4c7be; margin:0 0 10px; }
.cv-scoring-grid p { margin:6px 0; line-height:1.7; font-size:15px; }
.cv-scoring-grid strong { color:#D8F24B; font-size:22px; white-space:nowrap; }
.cv-scoring-lock { color:#D8F24B; font-size:13px!important; }
.cv-scoring-footnote { font-size:12px; line-height:1.8; color:#b4c7be; margin:16px 0 8px; }
.cv-scoring-guide>small { color:#a3b8ac; font-size:11px; }
@media(max-width:640px) { .cv-scoring-grid { grid-template-columns:1fr; gap:16px; } .cv-scoring-guide { padding:16px; } }

.cv-predictions { margin-top: 26px; scroll-margin-top: 100px; color: #F3F0E8; }
.cv-predictions button,.cv-discovery-toggle { font: inherit; cursor: pointer; }
.cv-discovery-toggle { border: 1px solid #42665c; background: transparent; color: #d8f24b; padding: 10px 16px; margin-top: 16px; }
.cv-list-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 0; border-top:1px solid #D8F24B; }
.cv-eyebrow { color:#a3b8ac; letter-spacing:.16em; font-size:12px; }
.cv-list-heading h2 { font-size:30px; margin:8px 0 0; }
.cv-progress { display:grid; gap:5px; min-width:220px; }
.cv-progress strong { color:#D8F24B; font-size:27px; font-variant-numeric:tabular-nums; }
.cv-progress span { font-size:12px; color:#b4c7be; }
.cv-progress progress { width:100%; height:5px; accent-color:#D8F24B; }
.cv-controls { position:sticky; top:76px; z-index:8; background:#0C2523; border:1px solid #42665c; padding:16px; box-shadow:0 10px 18px #06191766; }
.cv-filter-grid { display:grid; grid-template-columns:.8fr 1.15fr 1fr .8fr; gap:12px; }
.cv-filter-grid label { display:grid; gap:7px; font-size:12px; color:#b4c7be; }
.cv-filter-grid input,.cv-filter-grid select { width:100%; min-width:0; box-sizing:border-box; border:1px solid #42665c; background:#173b35; color:#F3F0E8; padding:11px; font:inherit; font-size:15px; border-radius:0; }
.cv-tabs,.cv-pick-filters { display:flex; gap:8px; overflow:auto; }
.cv-tabs { margin-top:16px; border-bottom:1px solid #42665c; }
.cv-tabs button { flex-shrink:0; padding:10px 12px; border:0; border-bottom:2px solid transparent; color:#b4c7be; background:transparent; }
.cv-tabs button[aria-pressed=true] { border-bottom-color:#D8F24B; color:#D8F24B; }
.cv-tabs span { margin-left:8px; font-size:12px; }
.cv-pick-filters { margin-top:12px; }
.cv-pick-filters button { white-space:nowrap; border:1px solid #42665c; color:#b4c7be; background:transparent; padding:7px 12px; font-size:13px; }
.cv-pick-filters button[aria-pressed=true] { color:#0C2523; background:#D8F24B; border-color:#D8F24B; }
.cv-context { font-size:12px; color:#a3b8ac; line-height:1.7; }
.cv-list-status { min-height:24px; font-size:13px; color:#D8F24B; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cv-list-status button { color:#D8F24B; background:transparent; border:1px solid #42665c; padding:7px; }
.cv-group { color:#b4c7be; font-size:13px; font-weight:500; letter-spacing:.04em; margin:24px 0 10px; }
.cv-match { border:1px solid #34564f; background:#12312c; margin-bottom:9px; }
.cv-match.is-picked { border-left:3px solid #D8F24B; }
.cv-match-meta { padding:10px 14px 0; display:flex; justify-content:space-between; gap:12px; color:#a3b8ac; font-size:12px; }
.cv-match-main { padding:13px 14px; display:grid; grid-template-columns:115px 1fr 75px; gap:16px; align-items:center; }
.cv-match-time { display:grid; gap:6px; }
.cv-match-time strong { font-size:16px; font-variant-numeric:tabular-nums; }
.cv-match-time small { font-size:11px; color:#a3b8ac; }
.cv-opponents { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cv-opponents button { border:1px solid #52746a; background:transparent; color:#F3F0E8; min-height:59px; padding:10px 12px; text-align:left; display:grid; gap:6px; }
.cv-opponents button small { color:#a3b8ac; font-size:11px; }
.cv-opponents button[aria-pressed=true] { background:#D8F24B; border-color:#D8F24B; color:#0C2523; }
.cv-opponents button[aria-pressed=true] small { color:#0C2523; }
.cv-opponents button:disabled { cursor:default; }
.cv-opponents button:disabled:not([aria-pressed=true]) { opacity:.6; }
.cv-detail-button { padding:10px 0; border:0; background:transparent; color:#b4c7be; font-size:13px!important; }
.cv-detail { border-top:1px solid #34564f; padding:18px; }
.cv-detail p,.cv-detail>small,.cv-result { font-size:12px; color:#b4c7be; }
.cv-result { padding:0 14px 12px; margin:0; }
.cv-empty { padding:36px 18px; text-align:center; border:1px dashed #42665c; margin:16px 0; }
.cv-empty p { color:#b4c7be; }
.cv-empty button,.cv-load-more { background:transparent; border:1px solid #D8F24B; padding:13px 24px; color:#D8F24B; }
.cv-load-more { display:block; margin:24px auto; min-width:230px; }
.cv-predictions :focus-visible,.cv-discovery-toggle:focus-visible { outline:2px solid #D8F24B; outline-offset:3px; }
.cv-match,.cv-match button { scroll-margin-top:340px; scroll-margin-bottom:85px; }
@media(max-width:640px) {
 .cv-list-heading { align-items:flex-start; gap:15px; }
 .cv-list-heading h2 { font-size:23px; }
 .cv-progress { min-width:0; max-width:130px; }
 .cv-progress strong { font-size:23px; }
 .cv-eyebrow { font-size:10px; }
 .cv-controls { position:static; padding:10px; }
 .cv-match,.cv-match button { scroll-margin-top:90px; }
 .cv-filter-grid { grid-template-columns:1fr 1fr; gap:10px; }
 .cv-filter-grid label:first-child { grid-column:auto; }
 .cv-tabs { gap:0; margin-top:8px; }
 .cv-tabs button { padding:10px 8px; font-size:12px; }
 .cv-pick-filters { margin-top:8px; }
 .cv-match-meta { flex-wrap:wrap; gap:4px; font-size:11px; }
 .cv-match-main { grid-template-columns:1fr auto; gap:10px; }
 .cv-match-time { display:flex; align-items:center; gap:8px; }
 .cv-opponents { grid-row:2; grid-column:1/-1; gap:8px; }
 .cv-opponents button { padding:10px 8px; font-size:14px; }
 .cv-detail-button { grid-column:2; grid-row:1; }
 .cv-list-status { align-items:flex-start; }
}
/* Shared COURVY shell uses the original guest header, footer and mobile navigation. */
.courvy-shell { overflow-wrap:break-word; }
.cv-account-content { color:#F1EDE1; }
.cv-account-content p { line-height:1.6; }
.cv-account-content h1,.cv-account-content h2,.cv-account-content h3 { font-family:'Barlow Condensed',Barlow,sans-serif; }
.cv-page-heading h1 { font-size:38px;font-weight:400;line-height:1.1;margin:0; }
.cv-page-heading p { color:#9BAFA9;font-size:15px;margin:6px 0 20px; }
.cv-predict-hero { border-bottom:1px solid #D8F24B;padding-bottom:26px;margin-bottom:20px; }
.cv-predict-hero h1 { font-size:56px;font-weight:700;line-height:1.05;letter-spacing:.005em;max-width:17em;margin:0; }
.cv-predict-hero p { font-size:17px;color:#D8F24B;line-height:1.65;margin-top:14px;max-width:44em; }
.cv-account-strip { display:flex;justify-content:center;align-items:center;gap:16px;min-height:38px;padding:8px 16px;background:#0F2B29;border-bottom:1px solid #2A4C49;font:12px Barlow,sans-serif; }
.cv-account-strip span { color:#9BAFA9;letter-spacing:.06em; }.cv-account-strip strong { color:#D8F24B; }
.cv-save-status:not(:empty) { padding:10px 0 16px;color:#D8F24B; }.cv-save-status:empty { display:none; }
.cv-member-card { padding:20px;background:#123331;border:1px solid #2A4C49;margin:14px 0; }
.cv-member-card h2 { font-size:28px;margin:0 0 12px; }.cv-member-card small { color:#9BAFA9; }
.cv-member-card button,.cv-player-detail button,.cv-player-list button,.cv-tour-levels button,.cv-dna-records form button { font:16px 'Barlow Condensed',sans-serif;padding:10px 14px;border:1px solid #2A4C49;background:transparent;color:#F1EDE1;cursor:pointer;border-radius:0; }
.cv-member-card button[aria-pressed=true],.cv-player-detail button,.cv-tour-levels button[aria-pressed=true] { background:#F1EDE1;color:#0C2523;border-color:#F1EDE1; }
.cv-account-content button:disabled { opacity:.55;cursor:not-allowed; }
.cv-account-content input:not([type=checkbox]),.cv-account-content select { font:16px Barlow,sans-serif;background:#0F2B29;color:#F1EDE1;border:1px solid #2A4C49;padding:10px 12px;border-radius:0;max-width:100%; }
.cv-account-content :focus-visible { outline:2px solid #D8F24B;outline-offset:3px; }
.cv-tour-levels { display:flex;flex-wrap:wrap;gap:10px;padding:14px;background:#0F2B29;border:1px solid #2A4C49;margin-top:20px; }.cv-tour-levels button { flex:1 1 120px;font-size:17px;font-weight:700;padding:12px 16px; }
.cv-event-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }.cv-event-grid>article { margin:0; }
.cv-member-controls { display:flex;flex-wrap:wrap;gap:8px;margin:16px 0; }
.cv-player-layout { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:start; }
.cv-player-layout .cv-page-heading h1 { font:700 25px Barlow,sans-serif;margin-bottom:12px; }
.cv-player-search { width:100%; }.cv-player-list { display:grid;gap:8px; }
.cv-player-list button { display:flex;align-items:center;gap:14px;text-align:left;width:100%;background:#123331;padding:16px; }.cv-player-list button>span:last-child { margin-left:auto; }.cv-player-list button[aria-pressed=true] { border-color:#D8F24B; }.cv-player-list strong,.cv-player-list small { display:block; }.cv-player-list small { color:#9BAFA9;font:12px Barlow,sans-serif;margin-top:4px; }
.cv-player-initial { width:38px;height:38px;display:grid;place-items:center;background:#0F2B29;color:#D8F24B; }
.cv-player-detail { padding:28px;background:#123331;border:1px solid #2A4C49;border-top:3px solid #D8F24B; }.cv-player-detail h2 { font-size:38px;margin:16px 0 8px; }.cv-player-detail p { color:#9BAFA9; }.cv-player-monogram { width:100px;height:100px;display:grid;place-items:center;border:1px solid #2A4C49;margin-top:24px;font:48px 'Barlow Condensed',sans-serif;color:#D8F24B;background:#0F2B29; }
.cv-player-facts { display:flex;justify-content:space-between;padding:18px 0;border-top:1px solid #2A4C49;margin-top:24px; }.cv-player-facts strong { color:#D8F24B; }
.cv-board-label { padding:10px;background:#F1EDE1;color:#0C2523;font:16px 'Barlow Condensed',sans-serif;text-align:center;margin-top:14px; }
.cv-member-table { width:100%;border-collapse:collapse; }.cv-member-table th,.cv-member-table td { text-align:left;padding:14px 10px;border-bottom:1px solid #2A4C49; }.cv-member-table th { color:#9BAFA9;font-weight:400;font-size:13px; }
.cv-dna-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:20px;margin-top:20px;align-items:start; }.cv-dna-layout>section { min-width:0; }.cv-dna-layout .cv-dna-surface,.cv-dna-layout .cv-dna-distribution { margin-top:0; }
.cv-dna-records { padding:20px;background:#123331;border:1px solid #2A4C49; }.cv-dna-records h2 { font-size:25px;margin:0 0 16px; }.cv-dna-records h2:not(:first-child) { margin-top:28px; }.cv-dna-records details { border-top:1px solid #2A4C49;padding:14px 0; }.cv-dna-records summary { cursor:pointer;color:#D8F24B; }.cv-dna-records form { display:grid;gap:16px; }.cv-dna-records label input:not([type=checkbox]) { display:block;width:100%;margin-top:8px; }.cv-dna-records form button { border-color:#D8F24B;color:#D8F24B; }
.cv-member-error { padding:16px;background:#542c26;border:1px solid #CE6B33;margin-bottom:16px; }.cv-member-error button { margin-left:10px; }
@media(max-width:900px) { .cv-player-layout,.cv-dna-layout { grid-template-columns:minmax(0,1fr);gap:24px; }.cv-event-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:640px) { .cv-predict-hero { padding-bottom:20px; }.cv-predict-hero h1 { font-size:36px; }.cv-predict-hero p { font-size:15px; }.cv-page-heading h1 { font-size:31px; }.cv-account-strip { gap:8px;font-size:10px; }.cv-player-detail { padding:20px; }.cv-dna-records { padding:16px; }.cv-tour-levels { gap:8px;padding:10px; }.cv-tour-levels button { flex-basis:90px; } }
.cv-account-content .profile-summary-bar { background:#123331;border:1px solid #2A4C49; }
