/* Tipset public data components and plugin-owned detail/archive views. */
.tp {
    --tp-ink: #172d29;
    --tp-muted: #62716b;
    --tp-green: #174f3e;
    --tp-green-soft: #eaf2ed;
    --tp-lime: #dbef9a;
    --tp-line: #dfe6df;
    --tp-paper: #fff;
    --tp-surface: #f5f7f3;
    --tp-radius: 14px;
    color: var(--tp-ink);
    font-family: inherit;
    font-size: 16px;
    line-height: 1.65;
    width: 100%;
    min-width: 0;
}
.tp *, .tp *::before, .tp *::after { box-sizing: border-box; }
.tp :is(h1,h2,h3,h4,p,ul,ol) { margin-top: 0; }
.tp :is(h1,h2,h3,h4) { color: var(--tp-ink); font-family: inherit; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.tp h1 { font-size: clamp(2rem, 4.4vw, 3.4rem); margin-bottom: 16px; }
.tp h2 { font-size: clamp(1.5rem, 2.7vw, 2rem); margin-bottom: 12px; }
.tp h3 { font-size: 1.2rem; margin-bottom: 10px; }
.tp p { margin-bottom: 16px; }
.tp a { color: var(--tp-green); text-decoration: none; text-underline-offset: 4px; }
.tp a:hover { text-decoration: underline; }
.tp :is(a,button,input,summary):focus-visible { outline: 3px solid #a3be63; outline-offset: 4px; }
.tp [hidden] { display: none !important; }
.tp .tp-muted, .tp .tp-fineprint { color: var(--tp-muted); }
.tp .tp-fineprint { font-size: 12px; line-height: 1.65; margin: 18px 0 0; }
.tp .tp-eyebrow { display: block; color: var(--tp-green); font-size: 11px; font-weight: 700; letter-spacing: .14em; line-height: 1.5; text-transform: uppercase; margin-bottom: 10px; }
.tp .tp-eyebrow--light { color: var(--tp-lime); }
.tp .tp-section { margin: 0 0 44px; }
.tp.tp-section { margin-bottom: 0; }
.tp .tp-page-heading { margin-bottom: 32px; max-width: 760px; }
.tp .tp-page-heading p { color: var(--tp-muted); max-width: 640px; }
.tp .tp-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.tp .tp-section-heading h2 { margin-bottom: 0; }
.tp .tp-text-link { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 700; white-space: nowrap; }
.tp .tp-empty { display: flex; gap: 24px; align-items: center; min-height: 180px; padding: 34px; background: var(--tp-surface); border: 1px solid var(--tp-line); border-radius: var(--tp-radius); }
.tp .tp-empty__symbol { display: grid; flex: 0 0 64px; width: 64px; height: 64px; place-items: center; border-radius: 50%; background: #e5ece5; color: var(--tp-green); font-size: 34px; }
.tp .tp-empty h3 { margin: 0 0 8px; }
.tp .tp-empty p { color: var(--tp-muted); margin: 0; max-width: 600px; font-size: 14px; }
.tp .tp-empty--compact { min-height: 140px; padding: 26px; }
.tp .tp-round-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.tp .tp-round-card { border: 1px solid var(--tp-line); border-radius: var(--tp-radius); background: var(--tp-paper); padding: 24px; display: flex; flex-direction: column; min-width: 0; }
.tp .tp-round-card__head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 22px; }
.tp .tp-tag { display: inline-flex; border-radius: 6px; padding: 4px 9px; font-size: 10px; line-height: 1.5; letter-spacing: .065em; text-transform: uppercase; font-weight: 700; background: var(--tp-green-soft); color: var(--tp-green); }
.tp .tp-tag--topptipset { background: #bf3d00; color: #fff; }
.tp .tp-tag--stryktipset { background: #033c6c; color: #fff; }
.tp .tp-tag--europatipset { background: #00712b; color: #fff; }
.tp .tp-status { font-size: 11px; color: var(--tp-muted); }
.tp .tp-round-card h3 { font-size: 1.35rem; margin-bottom: 14px; }
.tp .tp-round-card h3 a { color: var(--tp-ink); }
.tp .tp-round-card__time { font-size: 12px; color: var(--tp-muted); }
.tp .tp-round-card__time strong { display: block; font-size: 14px; color: var(--tp-ink); }
.tp .tp-round-card__foot { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--tp-line); display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; color: var(--tp-muted); }
.tp .tp-round-card__foot a { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--tp-line); border-radius: 50%; font-size: 18px; }
.tp .tp-round-card__foot a:hover { background: var(--tp-green-soft); text-decoration: none; }
.tp .tp-detail-hero { padding: clamp(24px,4vw,44px); background: var(--tp-green); border-radius: var(--tp-radius); color: #fff; margin-bottom: 20px; }
.tp .tp-detail-hero :is(h1,h2,p,strong,small) { color: #fff; }
.tp .tp-detail-hero p { margin-bottom: 10px; font-size: 15px; }
.tp .tp-detail-hero small { opacity: .75; font-size: 12px; }
.tp .tp-detail-hero__row { display: flex; align-items: start; gap: 18px; justify-content: space-between; }
.tp .tp-detail-hero__row .tp-tag { flex-shrink: 0; background: rgba(255,255,255,.12); color: #fff; margin-top: 10px; }
.tp .tp-breadcrumb { display: block; width: fit-content; color: #e0edc7; margin-bottom: 25px; font-size: 12px; }
.tp .tp-anchor-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 38px; }
.tp .tp-anchor-nav a { border: 1px solid var(--tp-line); border-radius: 30px; padding: 9px 17px; font-weight: 600; font-size: 12px; }
.tp .tp-anchor-nav a:hover { background: var(--tp-green-soft); text-decoration: none; }
.tp .tp-match-list { display: grid; gap: 18px; }
.tp .tp-match-card { border: 1px solid var(--tp-line); background: var(--tp-paper); border-radius: var(--tp-radius); overflow: hidden; }
.tp .tp-match-card__head { display: flex; align-items: center; gap: 16px; padding: 22px 26px; background: var(--tp-surface); }
.tp .tp-match-card__head > div:first-of-type { flex: 1; min-width: 0; }
.tp .tp-match-number { display: grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; background: var(--tp-green); color: #fff; font-size: 13px; font-weight: 700; }
.tp .tp-match-card__head h2 { display: flex; flex-wrap: wrap; gap: 4px 9px; font-size: 19px; margin-bottom: 0; }
.tp .tp-match-card__head h2 a { color: var(--tp-ink); }
.tp .tp-match-meta { font-size: 11px; color: var(--tp-muted); margin-bottom: 5px; }
.tp .tp-match-meta span { padding: 0 5px; }
.tp .tp-versus { color: #8a9892; }
.tp .tp-score { min-width: 80px; text-align: right; }
.tp .tp-score strong { display: block; font-size: 24px; line-height: 1.2; }
.tp .tp-score > span { display: block; font-size: 10px; color: var(--tp-muted); margin-top: 4px; }
.tp .tp-match-card__body { padding: 22px 26px; }
.tp .tp-match-summary { font-size: 16px; }
.tp .tp-ranking { display: flex; align-items: center; gap: 16px; font-size: 12px; color: var(--tp-muted); margin: 18px 0; }
.tp .tp-signs { display: inline-flex; gap: 5px; flex-shrink: 0; }
.tp .tp-sign { display: inline-grid; place-items: center; width: 31px; height: 32px; line-height: 1; font-size: 13px; font-weight: 700; border: 1px solid #d6ded7; border-radius: 5px; color: #829088; background: #fff; }
.tp .tp-sign.is-selected { background: var(--tp-green); color: #fff; border-color: var(--tp-green); }
.tp .tp-sign:is(.is-hit,.is-miss),
body.tipset-site-design-a .tp .tp-sign:is(.is-hit,.is-miss) { outline: 2px solid #176044; outline-offset: 2px; }
.tp .tp-sign.is-miss,
body.tipset-site-design-a .tp .tp-sign.is-miss { background: #fff1ef; color: #95291f; border-color: #95291f; outline-color: #95291f; }
.tp .tp-signs--ranking .tp-sign:not(:first-child) { background: var(--tp-green-soft); color: var(--tp-green); border-color: var(--tp-green-soft); }
.tp .tp-risk { padding: 16px 18px; border-left: 3px solid #c8d888; background: #f6f8ef; margin-top: 18px; }
.tp .tp-risk .tp-eyebrow { font-size: 10px; margin-bottom: 5px; }
.tp .tp-risk p { font-size: 14px; margin-bottom: 0; }
.tp .tp-details { border-top: 1px solid var(--tp-line); margin-top: 22px; }
.tp .tp-details summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 15px; padding: 16px 0 0; font-size: 13px; font-weight: 600; }
.tp .tp-details summary::-webkit-details-marker { display: none; }
.tp .tp-details summary > span { font-size: 19px; line-height: 1; transition: transform .15s ease; }
.tp .tp-details[open] summary > span { transform: rotate(45deg); }
.tp .tp-details__body { padding-top: 20px; font-size: 14px; }
.tp .tp-prose { max-width: 780px; }
.tp .tp-prose p:last-child { margin-bottom: 0; }
.tp .tp-analysis-note { margin-top: 20px; }
.tp .tp-analysis-note h3 { font-size: 14px; margin-bottom: 8px; }
.tp .tp-analysis-note p { font-size: 13px; margin-bottom: 8px; }
.tp .tp-analysis-note ul { font-size: 13px; margin: 0; padding-left: 20px; }
.tp .tp-analysis-note p.tp-fineprint { font-size: 11px; margin-top: 8px; }
.tp .tp-system__budget { padding: 0 24px 18px; border-bottom: 1px solid var(--tp-line); }
.tp .tp-revision { color: var(--tp-muted); font-size: 11px; margin: 16px 0 0; }
.tp .tp-stats-comparison { background: var(--tp-surface); padding: 22px; border-radius: 10px; margin-top: 22px; }
.tp .tp-stats-comparison h3 { font-size: 15px; margin-bottom: 6px; }
.tp .tp-stats-comparison > .tp-muted { font-size: 12px; }
.tp .tp-comparison-header { display: flex; justify-content: space-between; gap: 16px; font-size: 12px; font-weight: 600; margin: 18px 0; }
.tp .tp-comparison-header > span:last-child { text-align: right; }
.tp .tp-comparison-row { margin-top: 13px; }
.tp .tp-comparison-row > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 14px; font-size: 12px; }
.tp .tp-comparison-row strong { font-size: 14px; min-width: 48px; }
.tp .tp-comparison-row strong:last-child { text-align: right; }
.tp .tp-comparison-track { height: 5px; background: #bad09e; margin-top: 7px; overflow: hidden; border-radius: 4px; }
.tp .tp-comparison-track > span { display: block; height: 100%; background: var(--tp-green); border-right: 2px solid var(--tp-surface); }
.tp .tp-sources { margin-top: 24px; }
.tp .tp-sources h3 { font-size: 14px; }
.tp .tp-sources ul { padding: 0; margin: 0; list-style: none; }
.tp .tp-sources li { display: flex; gap: 10px 20px; justify-content: space-between; flex-wrap: wrap; padding: 7px 0; font-size: 12px; }
.tp .tp-sources li span { color: var(--tp-muted); font-size: 11px; }
.tp .tp-table-wrap { width: 100%; overflow-x: auto; margin-top: 24px; -webkit-overflow-scrolling: touch; }
.tp .tp-table { width: 100%; border-collapse: collapse; margin: 0; border: 0; font-size: 13px; }
.tp .tp-table caption { text-align: left; font-size: 15px; font-weight: 700; color: var(--tp-ink); padding-bottom: 15px; }
.tp .tp-table th, .tp .tp-table td { text-align: left; border: 0; border-bottom: 1px solid var(--tp-line); padding: 14px 16px; vertical-align: top; }
.tp .tp-table thead th { font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--tp-muted); background: var(--tp-surface); white-space: nowrap; }
.tp .tp-table tbody th { font-weight: 600; }
.tp .tp-table td { white-space: nowrap; }
.tp .tp-table small { display: block; color: var(--tp-muted); font-weight: 400; font-size: 11px; margin-top: 4px; }
.tp .tp-system { border: 1px solid var(--tp-line); border-radius: var(--tp-radius); background: #fff; margin-bottom: 24px; overflow: hidden; }
.tp .tp-system__head { display: flex; align-items: center; justify-content: space-between; gap: 22px; background: var(--tp-surface); padding: 24px; }
.tp .tp-system__head .tp-eyebrow { font-size: 10px; }
.tp .tp-system__head h3 { margin-bottom: 0; font-size: 22px; }
.tp .tp-system__cost { flex-shrink: 0; text-align: right; }
.tp .tp-system__cost strong { font-size: 26px; display: block; letter-spacing: -.04em; line-height: 1.2; }
.tp .tp-system__cost span { font-size: 11px; color: var(--tp-muted); }
.tp .tp-system__matches { list-style: none; margin: 0; padding: 4px 24px; }
.tp .tp-system__matches li { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--tp-line); }
.tp .tp-system__matches li:last-child { border-bottom: 0; }
.tp .tp-system__number { font-size: 11px; color: var(--tp-muted); min-width: 16px; }
.tp .tp-system__fixture { display: flex; flex-direction: column; flex: 1; gap: 4px; min-width: 0; }
.tp .tp-system__teams { font-size: 13px; font-weight: 600; min-width: 0; }
.tp .tp-system__teams > span { color: var(--tp-muted); }
.tp .tp-system__legend { margin: 0; padding: 14px 24px 4px; color: #42584d; font-size: 12px; line-height: 1.5; }
.tp .tp-system__match-result { font-size: 12px; line-height: 1.4; color: #52655b; }
.tp .tp-system__match-result.is-hit { color: #16583e; font-weight: 700; }
.tp .tp-system__match-result.is-miss { color: #95291f; font-weight: 700; }
.tp .tp-editorial-match__result { color: #16583e; font-weight: 700; }
.tp .tp-system__result { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; background: var(--tp-green-soft); padding: 18px 24px; font-size: 12px; }
.tp .tp-system__result strong { font-size: 15px; }
.tp .tp-system > .tp-details { margin: 0; padding: 0 24px 18px; }

/* Spelformernas färger avgränsas till själva kupongen. Rättningens ram behåller sin egen färg. */
.tp .tp-system--topptipset { --tp-game-color: #bf3d00; }
.tp .tp-system--stryktipset { --tp-game-color: #033c6c; }
.tp .tp-system--europatipset { --tp-game-color: #00712b; }
.tp .tp-system[class*="tp-system--"] .tp-system__head,
body.tipset-site-design-a .tp .tp-system[class*="tp-system--"] .tp-system__head { background: var(--tp-game-color); color: #fff; }
.tp .tp-system[class*="tp-system--"] .tp-system__head :is(h3, .tp-eyebrow, .tp-system__cost strong, .tp-system__cost span) { color: #fff; }
.tp .tp-system[class*="tp-system--"] .tp-sign.is-selected:not(.is-miss) { background: var(--tp-game-color); border-color: var(--tp-game-color); color: #fff; }
.tp .tp-distribution { list-style: none; padding: 0; margin: 0; max-width: 350px; }
.tp .tp-distribution li { display: flex; justify-content: space-between; border-bottom: 1px solid var(--tp-line); padding: 8px 0; font-size: 12px; }
.tp .tp-search { max-width: 460px; margin-bottom: 28px; }
.tp .tp-team-filters { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:22px; align-items:end; max-width:850px; }
.tp .tp-team-filters label { display:block; font-weight:600; font-size:12px; margin-bottom:8px; }
.tp .tp-team-filters select { width:100%; max-width:100%; min-height:49px; padding:12px 36px 12px 15px; border:1px solid #cbd6ce; border-radius:4px; background-color:#fff; color:var(--tp-ink); font:inherit; font-size:14px; }
.tp .tp-team-filters select:disabled { color:var(--tp-muted); background-color:var(--tp-surface); }
.tp .tp-team-filters__or { padding-bottom:14px; font-size:12px; color:var(--tp-muted); }
.tp .tp-team-filter-help { max-width:820px; margin:12px 0 26px; }
.tp .tp-team-prompt { padding:28px 0; border-top:1px solid var(--tp-line); border-bottom:1px solid var(--tp-line); color:var(--tp-muted); }
.tp .tp-team-filter-status { font-size:12px; color:var(--tp-muted); margin-bottom:18px; }
.tp .tp-team-filter-status:empty { display:none; }
@media(max-width:600px) { .tp .tp-team-filters { grid-template-columns:1fr; gap:10px; } .tp .tp-team-filters__or { padding:0; } }
.tp .tp-search label { display: block; font-weight: 600; font-size: 12px; margin-bottom: 8px; }
.tp .tp-search input { border: 1px solid #cbd6ce; border-radius: 8px; background: #fff; color: var(--tp-ink); font-size: 15px; padding: 13px 16px; width: 100%; box-shadow: none; }
.tp .tp-team-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.tp .tp-team-card { display: flex; align-items: center; gap: 15px; padding: 20px; border: 1px solid var(--tp-line); border-radius: 10px; background: #fff; min-width: 0; }
.tp .tp-team-card:hover { text-decoration: none; border-color: #9eb3a5; background: var(--tp-surface); }
.tp .tp-team-monogram { display: grid; place-items: center; flex-shrink: 0; width: 42px; height: 46px; border-radius: 6px 6px 15px 15px; background: var(--tp-green-soft); font-weight: 700; text-transform: uppercase; font-size: 13px; }
.tp .tp-team-card > span:nth-child(2) { flex: 1; min-width: 0; }
.tp .tp-team-card strong { display: block; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; color: var(--tp-ink); }
.tp .tp-team-card small { display: block; font-size: 10px; color: var(--tp-muted); margin-top: 4px; }
.tp .tp-search-empty { padding: 25px; background: var(--tp-surface); border-radius: 10px; font-size: 14px; color: var(--tp-muted); }
.tp .tp-metric-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--tp-line); border-radius: var(--tp-radius); overflow: hidden; background: #fff; margin-bottom: 30px; }
.tp .tp-metric-grid > div { padding: 25px 28px; border-right: 1px solid var(--tp-line); }
.tp .tp-metric-grid > div:last-child { border-right: 0; }
.tp .tp-metric-grid span { display: block; font-size: 12px; color: var(--tp-muted); }
.tp .tp-metric-grid strong { display: block; font-size: 38px; letter-spacing: -.04em; line-height: 1.3; margin: 10px 0; }
.tp .tp-metric-grid small { color: var(--tp-muted); font-size: 11px; }
.tp .tp-chart { padding: 26px; border: 1px solid var(--tp-line); border-radius: var(--tp-radius); background: #fff; margin: 28px 0; }
.tp .tp-chart h2 { font-size: 21px; }
.tp .tp-chart > p { color: var(--tp-muted); font-size: 12px; }
.tp .tp-chart__rows { margin-top: 25px; display: grid; gap: 17px; }
.tp .tp-chart__row { display: grid; grid-template-columns: minmax(100px,1.3fr) minmax(120px,2fr) 42px; align-items: center; gap: 20px; font-size: 12px; }
.tp .tp-chart__row > span { overflow-wrap: anywhere; }
.tp .tp-chart__row > strong { text-align: right; font-size: 13px; }
.tp .tp-chart__track { height: 13px; border-radius: 4px; background: var(--tp-green-soft); overflow: hidden; }
.tp .tp-chart__track > i { display: block; height: 100%; background: var(--tp-green); border-radius: 4px; }
.tp .tp-form-summary { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 15px; margin: 22px 0; }
.tp .tp-form-summary > strong { font-size: 25px; line-height: 1.2; }
.tp .tp-form-summary span { display: block; color: var(--tp-muted); font-size: 10px; font-weight: 400; margin-top: 6px; }
.tp .tp-form-strip { display: flex; flex-wrap: wrap; gap: 9px; padding: 0; margin: 25px 0 0; list-style: none; }
.tp .tp-form-strip li { text-align: center; }
.tp .tp-form-result { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 6px; font-weight: 700; font-size: 12px; }
.tp .tp-form-result--win { background: var(--tp-green); color: #fff; }
.tp .tp-form-result--draw { background: #e6eade; color: #4c5e49; }
.tp .tp-form-result--loss { background: #f8e8e4; color: #9c3b2e; }
.tp .tp-form-strip small { display: block; color: var(--tp-muted); font-size: 9px; margin-top: 4px; }
.tipset-detail-page .entry-header { display: none; }
.tipset-detail-page .entry-content > .tp { max-width: 1140px; margin-left: auto; margin-right: auto; }
@media (max-width: 1024px) {
    .tp .tp-round-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tp .tp-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .tp { font-size: 15px; }
    .tp .tp-round-grid, .tp .tp-team-grid { grid-template-columns: 1fr; }
    .tp .tp-page-heading { margin-bottom: 25px; }
    .tp .tp-section-heading { align-items: start; flex-direction: column; gap: 12px; }
    .tp .tp-empty { min-height: 0; padding: 24px 20px; gap: 16px; align-items: start; }
    .tp .tp-empty__symbol { width: 40px; height: 40px; flex-basis: 40px; font-size: 24px; }
    .tp .tp-empty h3 { font-size: 17px; }
    .tp .tp-empty p { font-size: 13px; }
    .tp .tp-round-card { padding: 22px; }
    .tp .tp-detail-hero__row { flex-direction: column; gap: 0; }
    .tp .tp-detail-hero__row .tp-tag { margin: 0 0 18px; }
    .tp .tp-match-card__head { padding: 18px 16px; gap: 11px; flex-wrap: wrap; }
    .tp .tp-match-number { width: 28px; height: 28px; font-size: 11px; }
    .tp .tp-match-card__head h2 { font-size: 16px; gap: 3px 6px; }
    .tp .tp-match-card__body { padding: 18px 16px; }
    .tp .tp-match-meta { font-size: 10px; }
    .tp .tp-score { min-width: 58px; }
    .tp .tp-score strong { font-size: 20px; }
    .tp .tp-score > span { max-width: 70px; font-size: 9px; }
    .tp .tp-match-summary { font-size: 14px; }
    .tp .tp-risk { padding: 14px; }
    .tp .tp-risk p { font-size: 13px; }
    .tp .tp-stats-comparison { padding: 16px; }
    .tp .tp-system__head { padding: 20px 16px; gap: 12px; }
    .tp .tp-system__head h3 { font-size: 18px; }
    .tp .tp-system__cost strong { font-size: 22px; }
    .tp .tp-system__cost span { font-size: 10px; }
    .tp .tp-system__matches { padding: 2px 14px; }
    .tp .tp-system__matches li { gap: 8px; }
    .tp .tp-system__teams { font-size: 12px; }
    .tp .tp-signs { gap: 4px; }
    .tp .tp-sign { width: 27px; height: 29px; font-size: 12px; }
    .tp .tp-system__result { padding: 16px; }
    .tp .tp-system > .tp-details { padding: 0 16px 16px; }
    .tp .tp-metric-grid { grid-template-columns: 1fr; }
    .tp .tp-metric-grid > div { border-right: 0; border-bottom: 1px solid var(--tp-line); padding: 20px 24px; }
    .tp .tp-metric-grid > div:last-child { border-bottom: 0; }
    .tp .tp-metric-grid strong { font-size: 32px; margin: 5px 0; }
    .tp .tp-chart { padding: 20px 16px; }
    .tp .tp-chart__row { grid-template-columns: minmax(90px,1fr) minmax(70px,1.2fr) 34px; gap: 10px; font-size: 11px; }
    .tp .tp-form-summary { gap: 8px; }
    .tp .tp-form-summary > strong { font-size: 21px; }
    .tp .tp-table th, .tp .tp-table td { padding: 12px 10px; }
}
@media (prefers-reduced-motion: reduce) { .tp *, .tp *::before, .tp *::after { scroll-behavior: auto !important; transition: none !important; } }

/* Editorial views owned by the plugin. All facts come from public DTOs. */
.tp .tp-plugin-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:64px; align-items:start; margin-top:42px; }
.tp .tp-plugin-grid > * { min-width:0; }
.tp .tp-route-breadcrumb { display:inline-block; margin-bottom:28px; font-size:12px; color:var(--tp-muted); }
.tp .tp-round-intro h1,.tp .tp-plugin-grid h1 { font-size:clamp(34px,4vw,56px); margin:12px 0 22px; }
.tp .tp-round-intro { max-width:850px; }
.tp .tp-round-intro p { color:var(--tp-muted); }
.tp .tp-round-sidebar,.tp .tp-next-match { padding:30px; background:var(--tp-surface); border-top:3px solid var(--tp-green); }
.tp .tp-round-sidebar h2,.tp .tp-next-match h2 { font-size:32px; margin:16px 0; }
.tp .tp-round-sidebar p,.tp .tp-next-match p { font-size:13px; }
.tp .tp-budget-link { display:flex; justify-content:space-between; gap:15px; border-top:1px solid var(--tp-line); padding:15px 0; font-size:12px; }
.tp .tp-editorial-match { display:grid; grid-template-columns:36px minmax(0,1fr); gap:18px; padding:28px 0; border-top:1px solid var(--tp-line); }
.tp .tp-editorial-match :is(h2,h3) { font:500 29px/1.2 Georgia,serif; margin:8px 0 14px; }
.tp .tp-editorial-match__number { color:var(--tp-green); font-size:13px; font-weight:700; padding-top:3px; }
.tp .tp-editorial-match__risk { background:var(--tp-surface); padding:13px 16px; }
.tp .tp-round-intro { display:flex; align-items:center; justify-content:space-between; gap:35px; max-width:none; }
.tp .tp-round-intro > div:first-child { min-width:0; }
.tp .tp-deadline { border-left:1px solid var(--tp-line); padding-left:35px; display:flex; flex-direction:column; gap:7px; flex-shrink:0; }
.tp .tp-deadline span,.tp .tp-deadline small { font-size:12px; color:var(--tp-muted); }
.tp .tp-deadline strong { font:500 40px/1.1 Georgia,serif; }
@media (min-width: 901px) {
 .tp .tp-round-intro .tp-deadline { background:#e5eddd; border:0; padding:40px 44px; }
}
.tp .tp-editorial-match p { font-size:14px; }
.tp .tp-editorial-match .tp-risk { margin:16px 0; }
.tp .tp-match-intro { background:var(--tp-surface); padding:35px; text-align:center; }
.tp .tp-match-intro__teams { display:grid; grid-template-columns:1fr 120px 1fr; gap:24px; align-items:center; margin:25px 0; }
.tp .tp-club { display:flex; flex-direction:column; align-items:center; gap:14px; font-weight:650; }
.tp .tp-club__mark { display:grid; place-items:center; width:68px; height:78px; background:#d9e7cf; clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%); font-size:22px; color:#244f39; text-transform:uppercase; }
.tp .tp-club--away .tp-club__mark { background:#d8dfe9; color:#314d6b; }
.tp .tp-match-intro__time { display:flex; flex-direction:column; gap:7px; color:var(--tp-muted); font-size:12px; }
.tp .tp-match-intro__time strong { font-size:30px; color:var(--tp-ink); font-weight:500; }
.tp .tp-match-intro__result { font-size:13px; }
.tp .tp-match-intro__result strong { margin-left:10px; font-size:25px; }
.tp .tp-article-copy { max-width:760px; line-height:1.9; }
.tp .tp-article-lead { font-size:20px; line-height:1.65; color:var(--tp-ink); margin-bottom:28px; }
.tp .tp-verdict { padding:26px; background:var(--tp-surface); border-top:3px solid var(--tp-green); margin-bottom:28px; }
.tp .tp-verdict > .tp-signs { margin:18px 0; }
.tp .tp-verdict__risk { margin-top:24px; border-top:1px solid var(--tp-line); padding-top:20px; }
.tp .tp-verdict__risk h3 { font-size:16px; }
.tp .tp-verdict__risk p { font-size:13px; }
.tp .tp-team-intro { display:flex; align-items:center; gap:28px; padding:20px 0 36px; border-bottom:1px solid var(--tp-line); }
.tp .tp-team-intro h1 { font-size:clamp(36px,4vw,60px); margin:6px 0 12px; }
.tp .tp-team-intro .tp-club__name { display:none; }
.tp .tp-team-intro .tp-club__mark { width:90px; height:105px; font-size:29px; }
.tp .tp-team-intro p { margin:0; color:var(--tp-muted); }
.tp .tp-history-row { display:grid; grid-template-columns:100px minmax(0,1fr) 80px 20px; align-items:center; gap:20px; border-top:1px solid var(--tp-line); padding:21px 0; font-size:13px; }
.tp .tp-history-row > span:first-child { color:var(--tp-muted); font-size:11px; }
.tp .tp-history-row i { font-style:normal; font-weight:400; color:var(--tp-muted); }
.tp .tp-history-row b { font-size:12px; text-align:center; }
.tp .tp-goal-chart { margin:26px 0; padding:25px 0; border-top:1px solid var(--tp-line); }
.tp .tp-goal-chart figcaption { font-size:26px; font-family:Georgia,serif; }
.tp .tp-goal-chart > p { font-size:12px; color:var(--tp-muted); }
.tp .tp-goal-chart__columns { display:flex; gap:20px; height:190px; padding-top:28px; border-bottom:1px solid var(--tp-line); }
.tp .tp-goal-chart__group { flex:1; min-width:0; display:flex; flex-direction:column; text-align:center; }
.tp .tp-goal-chart__pair { height:140px; display:flex; align-items:flex-end; justify-content:center; gap:5px; }
.tp .tp-goal-chart__pair > span { width:27px; position:relative; background:var(--tp-green); }
.tp .tp-goal-chart__pair > span:nth-child(2) { background:#c6d2b9; }
.tp .tp-goal-chart__pair b { position:absolute; top:-23px; left:0; right:0; font-size:11px; }
.tp .tp-goal-chart__group small { font-size:10px; margin-top:10px; }
.tp .tp-goal-chart__legend { display:flex; gap:25px; margin-top:17px; font-size:11px; }
.tp .tp-goal-chart__legend span::before { content:''; display:inline-block; width:9px; height:9px; margin-right:7px; background:var(--tp-green); }
.tp .tp-goal-chart__legend span:nth-child(2)::before { background:#c6d2b9; }
.tp .tp-competition-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.tp .tp-competition-card { border-top:1px solid var(--tp-line); padding:25px 0; }
.tp .tp-competition-card h2 { font-size:30px; margin:12px 0; }
.tp .tp-competition-card p { color:var(--tp-muted); font-size:13px; }
.tp .tp-season-nav { display:flex; gap:10px; flex-wrap:wrap; margin:26px 0; }
.tp .tp-season-nav a { border:1px solid var(--tp-line); padding:10px 16px; font-size:12px; border-radius:3px; }
.tp .tp-season-nav a[aria-current] { background:var(--tp-green); color:#fff; border-color:var(--tp-green); }
.tp .tp-season-unspecified { padding:10px 16px; font-size:12px; color:var(--tp-muted); }
.tp .tp-featured-match h3 { font:500 32px/1.2 Georgia,serif; margin:16px 0; }
@media(max-width:900px) { .tp .tp-plugin-grid { gap:30px; grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr); } .tp .tp-competition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
 .tp .tp-plugin-grid { grid-template-columns:1fr; margin-top:30px; }
 .tp .tp-match-intro { padding:24px 16px; }
 .tp .tp-match-intro__teams { grid-template-columns:1fr 65px 1fr; gap:10px; }
 .tp .tp-club { font-size:12px; }
 .tp .tp-club__mark { width:52px; height:62px; font-size:17px; }
 .tp .tp-match-intro__time strong { font-size:23px; }
 .tp .tp-editorial-match { grid-template-columns:26px minmax(0,1fr); gap:12px; }
 .tp .tp-editorial-match :is(h2,h3) { font-size:25px; }
 .tp .tp-round-intro { flex-direction:column; align-items:stretch; gap:22px; }
 .tp .tp-deadline { padding:18px 0 0; border-left:0; border-top:1px solid var(--tp-line); }
 .tp .tp-team-intro { gap:19px; }
 .tp .tp-team-intro .tp-club__mark { width:62px; height:74px; font-size:22px; }
 .tp .tp-team-intro p { font-size:12px; }
 .tp .tp-history-row { grid-template-columns:70px minmax(0,1fr) 50px; gap:10px; font-size:12px; }
 .tp .tp-history-row > span:last-child { display:none; }
 .tp .tp-history-row > span:first-child { font-size:10px; }
 .tp .tp-competition-grid { grid-template-columns:1fr; }
 .tp .tp-goal-chart__columns { gap:10px; }
 .tp .tp-goal-chart__pair > span { width:20px; }
}

.tp-round-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);gap:32px;align-items:start}.tp-round-columns>section,.tp-round-coupon-column{min-width:0}.tp-round-columns .tp-section-heading{margin-top:0}.tp-round-coupon-column>.tp-round-sidebar{margin-top:28px;position:static}@media(max-width:900px){.tp-round-columns{grid-template-columns:minmax(0,1fr);gap:28px}}

.tp-deadline-clock,.tp-deadline-local{font-size:13px;line-height:1.6;font-weight:400;letter-spacing:normal;text-transform:none;font-variant-numeric:tabular-nums}.tp-deadline-clock{margin-top:12px}.tp .tp-deadline-remaining{margin:10px 0 0;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--tp-ink,#17352c)}.tp-deadline.is-closed .tp-deadline-remaining{color:#795327}.tp-round-card .tp-deadline--compact{background:transparent;border:0;border-radius:0;padding:0;margin:12px 0;text-align:left;min-width:0}.tp-round-card .tp-deadline--compact>strong{font-size:24px}.tp-round-card .tp-deadline--compact .tp-deadline-remaining{font-size:14px}

/* Mobile reading: compact navigation, clear match cards and a legible coupon. */
@media (max-width: 700px) {
  body.tipset-site-design-a .tp .tp-breadcrumb { margin-bottom: 16px; min-height: 44px; display: inline-flex; align-items: center; color: var(--tp-green); font-size: 13px; }
  body.tipset-site-design-a .tp .tp-round-intro { gap: 20px; }
  body.tipset-site-design-a .tp .tp-round-intro h1 { font-size: clamp(30px, 8vw, 38px); line-height: 1.12; margin: 5px 0 8px; overflow-wrap: anywhere; }
  body.tipset-site-design-a .tp .tp-round-intro > div:first-child p { margin: 0; font-size: 14px; }
  body.tipset-site-design-a .tp .tp-round-intro .tp-deadline { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 6px 14px; border: 1px solid rgba(40,88,65,.16); border-radius: 16px; padding: 20px; background: rgba(255,255,255,.78); box-shadow: 0 10px 30px rgba(20,47,40,.07), inset 0 1px rgba(255,255,255,.9); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
  body.tipset-site-design-a .tp .tp-round-intro .tp-deadline > span { grid-column: 1; font-size: 12px; color: #4a6257; }
  body.tipset-site-design-a .tp .tp-round-intro .tp-deadline > strong { grid-column: 2; grid-row: 1 / span 2; font: 600 31px/1 ui-sans-serif,system-ui,sans-serif; letter-spacing: -.04em; color: var(--tp-green); }
  body.tipset-site-design-a .tp .tp-round-intro .tp-deadline > small { grid-column: 1; font-size: 12px; color: #4a6257; }
  body.tipset-site-design-a .tp .tp-round-intro .tp-deadline-clock, body.tipset-site-design-a .tp .tp-round-intro .tp-deadline-local { grid-column: 1 / -1; font-size: 12px; line-height: 1.45; margin: 0; }
  body.tipset-site-design-a .tp .tp-round-intro .tp-deadline-remaining { grid-column: 1 / -1; margin: 6px 0 0; padding-top: 8px; border-top: 1px solid rgba(40,88,65,.12); font-size: 14px; }
  body.tipset-site-design-a .tp .tp-anchor-nav { margin: 20px 0 34px; gap: 12px; }
  body.tipset-site-design-a .tp .tp-anchor-nav a { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 10px 20px; border: 1px solid rgba(23,96,68,.22); border-radius: 999px; background: rgba(255,255,255,.76); color: #174f3e; font-size: 13px; box-shadow: 0 4px 15px rgba(20,47,40,.06); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
  body.tipset-site-design-a .tp .tp-round-columns { gap: 38px; }
  body.tipset-site-design-a .tp .tp-section-heading { margin-bottom: 22px; }
  body.tipset-site-design-a .tp .tp-section-heading h2 { font-size: 24px; }
  body.tipset-site-design-a .tp .tp-editorial-matches { display: grid; gap: 20px; }
  body.tipset-site-design-a .tp .tp-editorial-match { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 15px; padding: 22px 20px; border: 1px solid rgba(40,88,65,.14); border-radius: 17px; background: rgba(255,255,255,.82); box-shadow: 0 9px 26px rgba(20,47,40,.07), inset 0 1px rgba(255,255,255,.95); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
  body.tipset-site-design-a .tp .tp-editorial-match__number { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border-radius: 10px; background: #176044; color: #fff; font-size: 13px; }
  body.tipset-site-design-a .tp .tp-editorial-match .tp-match-meta { color: #51665d; font-size: 12px; line-height: 1.4; margin: 1px 0 5px; }
  body.tipset-site-design-a .tp .tp-editorial-match :is(h2,h3) { font-size: 22px; line-height: 1.24; margin: 0 0 14px; overflow-wrap: anywhere; }
  body.tipset-site-design-a .tp .tp-editorial-match p { font-size: 14px; line-height: 1.7; }
  body.tipset-site-design-a .tp .tp-editorial-match__risk { border-radius: 10px; background: #edf3e8; padding: 16px; }
  body.tipset-site-design-a .tp .tp-editorial-match .tp-text-link { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 14px; border: 1px solid rgba(23,96,68,.2); border-radius: 11px; background: #f4f8f2; white-space: normal; }
  body.tipset-site-design-a .tp .tp-system { border: 1px solid rgba(40,88,65,.16); border-radius: 17px; background: rgba(255,255,255,.88); box-shadow: 0 9px 26px rgba(20,47,40,.07); }
  body.tipset-site-design-a .tp .tp-system__head { background: linear-gradient(120deg,#e5f1e8,#f4f7e9); padding: 18px 16px; }
  body.tipset-site-design-a .tp .tp-system__teams { font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }
  body.tipset-site-design-a .tp .tp-system__matches li { min-height: 52px; }
  body.tipset-site-design-a .tp .tp-sign { width: 28px; height: 32px; border-radius: 7px; }
  body.tipset-site-design-a .tp .tp-round-sidebar { padding: 24px; border: 1px solid rgba(40,88,65,.14); border-radius: 16px; background: rgba(236,243,232,.88); }
  body.tipset-site-design-a .tp .tp-round-sidebar h2 { font-size: 23px; margin: 8px 0; }
  body.tipset-site-design-a .tp .tp-round-sidebar p { margin-bottom: 10px; }
  body.tipset-site-design-a .tp .tp-round-card { border: 1px solid rgba(40,88,65,.14); border-radius: 16px; padding: 22px; background: rgba(255,255,255,.82); box-shadow: 0 9px 26px rgba(20,47,40,.06); }
  body.tipset-site-design-a .tp .tp-round-grid { gap: 20px; }
  body.tipset-site-design-a .tp .tp-round-card__foot a { min-width: 44px; min-height: 44px; }
}
/* Mobile match pages: readable sections and calm, translucent surfaces. */
@media (max-width: 700px) {
  body.tipset-site-design-a .tp-match-page .tp-match-intro {
    padding: 26px 20px 24px;
    border: 1px solid rgba(34, 83, 61, .13);
    border-radius: 18px;
    background: rgba(237, 244, 232, .9);
    box-shadow: 0 10px 28px rgba(24, 59, 42, .07);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
  body.tipset-site-design-a .tp-match-page .tp-match-intro__teams {
    grid-template-columns: minmax(0, 1fr) minmax(52px, auto) minmax(0, 1fr);
    gap: 10px;
    margin: 24px 0 22px;
  }
  body.tipset-site-design-a .tp-match-page .tp-club { min-width: 0; gap: 11px; line-height: 1.4; }
  body.tipset-site-design-a .tp-match-page .tp-club__name { max-width: 100%; overflow-wrap: anywhere; }
  body.tipset-site-design-a .tp-match-page .tp-match-intro__time { line-height: 1.4; }
  body.tipset-site-design-a .tp-match-page .tp-match-intro .tp-text-link {
    display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
    padding: 10px 16px; border: 1px solid rgba(23, 96, 68, .17); border-radius: 999px;
    background: rgba(255, 255, 255, .82); font-weight: 650;
  }
  body.tipset-site-design-a .tp-match-page .tp-plugin-grid { gap: 32px; margin-top: 36px; }
  body.tipset-site-design-a .tp-match-page .tp-plugin-grid h1 {
    font-size: clamp(29px, 8vw, 36px); line-height: 1.16; overflow-wrap: anywhere; margin: 10px 0 24px;
  }
  body.tipset-site-design-a .tp-match-page .tp-article-copy { line-height: 1.75; overflow-wrap: anywhere; }
  body.tipset-site-design-a .tp-match-page .tp-article-lead {
    padding: 22px 20px; margin: 0 0 24px; border: 1px solid rgba(34, 83, 61, .12);
    border-radius: 16px; background: rgba(255, 255, 255, .88);
    box-shadow: 0 10px 28px rgba(24, 59, 42, .06); font-size: 17px; line-height: 1.65;
  }
  body.tipset-site-design-a .tp-match-page .tp-article-copy > p { font-size: 15px; line-height: 1.8; margin: 0 16px 22px; }
  body.tipset-site-design-a .tp-match-page .tp-analysis-note {
    margin-top: 22px; padding: 20px; border: 1px solid rgba(34, 83, 61, .12);
    border-radius: 16px; background: rgba(239, 245, 235, .86);
  }
  body.tipset-site-design-a .tp-match-page .tp-analysis-note h3 { margin: 0 0 10px; font-size: 15px; line-height: 1.4; }
  body.tipset-site-design-a .tp-match-page .tp-analysis-note p,
  body.tipset-site-design-a .tp-match-page .tp-analysis-note ul { font-size: 14px; line-height: 1.7; }
  body.tipset-site-design-a .tp-match-page .tp-analysis-note p.tp-fineprint { font-size: 12px; }
  body.tipset-site-design-a .tp-match-page .tp-sources {
    margin-top: 28px; padding: 21px 20px; border: 1px solid rgba(34, 83, 61, .12);
    border-radius: 16px; background: rgba(255, 255, 255, .78);
  }
  body.tipset-site-design-a .tp-match-page .tp-sources h3 { margin: 0 0 12px; font-size: 16px; }
  body.tipset-site-design-a .tp-match-page .tp-sources li {
    display: flex; flex-direction: column; gap: 3px; padding: 12px 0; border-top: 1px solid var(--tp-line);
    font-size: 14px; line-height: 1.5; overflow-wrap: anywhere;
  }
  body.tipset-site-design-a .tp-match-page .tp-sources li span { font-size: 12px; }
  body.tipset-site-design-a .tp-match-page .tp-verdict {
    padding: 24px 20px; border: 1px solid rgba(34, 83, 61, .14); border-top: 3px solid var(--tp-green);
    border-radius: 16px; background: rgba(236, 243, 231, .9);
    box-shadow: 0 10px 28px rgba(24, 59, 42, .06);
  }
  body.tipset-site-design-a .tp-match-page .tp-verdict__risk p { font-size: 14px; line-height: 1.7; }
  body.tipset-site-design-a .tp-match-page .tp-component--match-stats .tp-empty,
  body.tipset-site-design-a .tp-match-page .tp-stats-comparison {
    padding: 22px 20px; border: 1px solid rgba(34, 83, 61, .12); border-radius: 16px;
    background: rgba(255, 255, 255, .8);
  }
  body.tipset-site-design-a .tp-match-page a:focus-visible { outline: 3px solid #176044; outline-offset: 3px; }
}
.tp-match-page .tp-match-verdict-link { display: none; }
@media (max-width: 700px) {
  body.tipset-site-design-a .tp-match-page .tp-match-verdict-link {
    display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin: 0 0 24px;
    padding: 10px 16px; border: 1px solid rgba(23, 96, 68, .18); border-radius: 999px;
    background: rgba(255, 255, 255, .86); color: #176044; font-size: 14px; font-weight: 650;
    line-height: 1.35; text-decoration: none; box-shadow: 0 5px 16px rgba(24, 59, 42, .05);
  }
  body.tipset-site-design-a .tp-match-page #tp-match-verdict { scroll-margin-top: 24px; }
}
