/* ============ MATCH PREVIEW: the Showroom redesign ============
   The page's selling point, made visible: the verified model's call, the
   value read, the best price. Blues out, capsules squared, Bodoni display,
   one email capture, affiliate odds styled as the money moment. */

/* ---- hero ---- */
.mp-hero-h { font-family: 'Bodoni Moda', Georgia, serif !important; font-weight: 500 !important; color: #F5F2EA !important; }
.mp-chip, .mp-read-chip {
    border-radius: 0 !important;
    background: transparent !important;
    border: 1px solid rgba(230, 200, 96, 0.35) !important;
    color: #E6C860 !important;
    font-family: ui-monospace, Consolas, monospace !important;
    letter-spacing: 0.12em !important;
}
.mp-chip-dot { border-radius: 50% !important; }
/* team monograms: round circles become square gold plates (A4 language) */
.mp-team-badge {
    border-radius: 0 !important;
    background: transparent !important;
    border: 1px solid rgba(212, 175, 55, 0.5) !important;
    color: #D4AF37 !important;
    font-family: 'Bodoni Moda', Georgia, serif !important;
}
.mp-team-name { color: #F0EDE6 !important; }
/* the two big percentages: Bodoni foil for the favoured side, calm for the other */
.mp-team-prob {
    font-family: 'Bodoni Moda', Georgia, serif !important;
    font-weight: 500 !important;
}
.mp-team-prob.home, .mp-team-prob.away { color: #DAD6CC; }
.mp-team-odds { font-family: ui-monospace, Consolas, monospace !important; color: #CBC7BE !important; }
.mp-vs, .mp-draw { color: #A8A399 !important; }

/* probability strip: home gold, draw dark, away warm stone - never blue */
.mp-probbar { border-radius: 0 !important; overflow: hidden; }
.mp-probbar .ph { background: linear-gradient(90deg, #D4AF37, #E6C860) !important; }
.mp-probbar .pd { background: rgba(255, 255, 255, 0.14) !important; }
.mp-probbar .pa { background: #A8A399 !important; }
.mp-probleg span { color: #CBC7BE !important; }
.mp-probleg span:first-child { color: #E6C860 !important; font-weight: 700; }

/* model call panel: jewellery frame, no emoji */
.mp-panel {
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    background:
        linear-gradient(#0C0B08, #0B0B0B) padding-box,
        linear-gradient(135deg, rgba(212, 175, 55, 0.5), rgba(212, 175, 55, 0.08) 45%, rgba(230, 200, 96, 0.3)) border-box !important;
}
.mp-panel-label {
    font-family: ui-monospace, Consolas, monospace !important;
    letter-spacing: 0.24em !important;
    color: #D4AF37 !important;
}
.mp-ask-chat { border-radius: 0 !important; }

/* ---- one capture per page: the rail's follow card hides, the hero
        follow box (unique feature) stays ---- */
.mp-rail-card:has(.mp-rail-follow-lead) { display: none !important; }

/* ---- sections ---- */
.preview-section h2, .mp-deep h2 {
    font-family: 'Outfit', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #F5F2EA !important;
}
.preview-section { border-color: rgba(255, 255, 255, 0.14) !important; }

/* stat grids: mono labels, ivory values */
.stat-label { font-family: ui-monospace, Consolas, monospace !important; font-size: 0.64rem !important; letter-spacing: 0.16em !important; text-transform: uppercase; color: #CBC7BE !important; }
.stat-value { color: #F0EDE6 !important; }
.preview-stat-card { border-radius: 0 !important; border: 1px solid rgba(255, 255, 255, 0.14) !important; background: #0B0B0B !important; }

/* badges: square, brand tones */
.value-badge, .edge-badge, .form-alert-pill, .cov-chip, .mp-conf-badge, .mp-keyman-badge, .mp-panel-tag, .mp-icap-badge {
    border-radius: 0 !important;
    font-family: ui-monospace, Consolas, monospace !important;
    letter-spacing: 0.1em !important;
}
/* chatty callout icons (emoji) go quiet */
.trend-icon { display: none !important; }
.trend-callout { border-radius: 0 !important; border: 1px solid rgba(255, 255, 255, 0.14) !important; background: #0B0B0B !important; }
.trend-text { color: #DAD6CC !important; }

/* ---- odds table: the money moment (lights up with the affiliate flag) ---- */
.odds-cell { border-radius: 0 !important; }
.affiliate-link {
    border-radius: 0 !important;
    background: transparent !important;
    border: 1px solid rgba(212, 175, 55, 0.4) !important;
    color: #E6C860 !important;
    font-weight: 700 !important;
    transition: background 130ms ease, color 130ms ease;
}
.affiliate-link:hover { background: #D4AF37 !important; color: #000 !important; }

/* ---- news: slim hairline rows, gold sources, no blue ---- */
.mp-news h2, [class*="news"] h2 { color: #F5F2EA !important; border-color: rgba(212, 175, 55, 0.4) !important; }
[class*="news-source"], [class*="news-team"], [class*="news"] [class*="label"] { color: #E6C860 !important; }
[class*="news-item"], [class*="news-card"] {
    border-radius: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    background: #0B0B0B !important;
}

/* ---- quicknav tabs + share: square mono ---- */
.mp-quicknav a, .mp-quicknav button, [class*="share"] a, [class*="share"] button {
    border-radius: 0 !important;
    font-family: ui-monospace, Consolas, monospace !important;
    letter-spacing: 0.1em !important;
}
.mp-quicknav a.active, .mp-quicknav a:hover { color: #E6C860 !important; border-color: rgba(230, 200, 96, 0.5) !important; }

/* rail cards join the system */
.mp-rail-card {
    border-radius: 0 !important;
    border: 1px solid transparent !important;
    background:
        linear-gradient(#0B0B0B, #0B0B0B) padding-box,
        linear-gradient(135deg, rgba(212, 175, 55, 0.4), rgba(212, 175, 55, 0.06) 45%, rgba(230, 200, 96, 0.25)) border-box !important;
}
.mp-rail-btn { border-radius: 0 !important; background: #D4AF37 !important; color: #000 !important; font-weight: 700 !important; }
.mp-rail-btn:hover { background: #E6C860 !important; }

/* inputs square everywhere on this page */
.mp-follow-input, .mp-icap-form input, .mp-follow-team, input, select { border-radius: 0 !important; }

/* ---- stray hunt round 2 ---- */
/* news heading: brand voice, not blue */
.writeup-news h3 {
    color: #F5F2EA !important;
    font-family: 'Outfit', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    border-color: rgba(212, 175, 55, 0.4) !important;
}
.news-loading { color: #CBC7BE !important; }
/* league-confidence chip: gold-light, not blue */
.mp-conf-badge--building { color: #E6C860 !important; border-color: rgba(230, 200, 96, 0.4) !important; background: transparent !important; }
/* key facts: emoji gone, card branded */
.insight-icon { display: none !important; }
.insight-card { border-radius: 0 !important; border: 1px solid rgba(255, 255, 255, 0.14) !important; background: #0B0B0B !important; }
.insight-label { color: #E6C860 !important; font-family: ui-monospace, Consolas, monospace !important; letter-spacing: 0.14em !important; }
.insight-text { color: #DAD6CC !important; }
.mp-section-label {
    display: flex; align-items: center; gap: 12px;
    font-family: ui-monospace, Consolas, monospace !important;
    font-size: 0.66rem !important; letter-spacing: 0.26em !important;
    text-transform: uppercase; color: #D4AF37 !important;
}
.mp-section-label::after { content: ""; flex: 1; height: 1px; background: rgba(212, 175, 55, 0.18); }
/* every mp- container squares off (inline template styles kept their radii) */
[class^='mp-'], [class*=' mp-'] { border-radius: 0; }

/* ---- build-from-this-preview strip: the read becomes a bet ---- */
.mp-buildstrip { margin-top: 22px; }
.mp-buildstrip-label {
    display: flex; align-items: center; gap: 12px;
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.66rem; letter-spacing: 0.26em; text-transform: uppercase;
    color: #D4AF37; margin-bottom: 12px;
}
.mp-buildstrip-label::after { content: ""; flex: 1; height: 1px; background: rgba(212, 175, 55, 0.18); }
.mp-buildstrip-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.mp-buildleg {
    position: relative; overflow: hidden;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: 12px;
    padding: 12px 14px;
    text-decoration: none;
    border: 1px solid transparent !important;
    background:
        linear-gradient(#0B0B0B, #0B0B0B) padding-box,
        linear-gradient(135deg, rgba(212, 175, 55, 0.45), rgba(212, 175, 55, 0.07) 45%, rgba(230, 200, 96, 0.28)) border-box !important;
    transition: transform 140ms ease, box-shadow 140ms ease;
}
.mp-buildleg:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px -18px rgba(212, 175, 55, 0.4);
    background:
        linear-gradient(#0D0D0D, #0B0B0B) padding-box,
        linear-gradient(135deg, #D4AF37, rgba(212, 175, 55, 0.25) 45%, #E6C860) border-box !important;
}
.mp-buildleg-mkt {
    grid-column: 1 / -1;
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.6rem; letter-spacing: 0.16em; text-transform: uppercase;
    color: #CBC7BE; margin-bottom: 3px;
}
.mp-buildleg-sel { color: #F0EDE6; font-size: 0.88rem; font-weight: 600; }
.mp-buildleg-num {
    grid-column: 2; grid-row: 2 / span 2;
    font-family: 'Bodoni Moda', Georgia, serif;
    font-size: 1.4rem; font-weight: 500;
    background: linear-gradient(100deg, #F3DD92 0%, #E6C860 40%, #D4AF37 78%, #F3DD92 100%);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
    text-shadow: 0 0 12px rgba(212, 175, 55, 0.28);
}
.mp-buildleg-odds { font-family: ui-monospace, Consolas, monospace; font-size: 0.74rem; color: #CBC7BE; }
.mp-buildstrip-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: 12px; }
.mp-buildstrip-note { color: #CBC7BE; font-size: 0.78rem; }
.mp-buildstrip-cta {
    background: #D4AF37; color: #000; font-weight: 700; font-size: 0.88rem;
    padding: 11px 22px; text-decoration: none;
}
.mp-buildstrip-cta:hover { background: #E6C860; }
@media (max-width: 700px) {
    .mp-buildstrip-tiles { grid-template-columns: 1fr; }
    .mp-buildstrip-foot { flex-direction: column; align-items: stretch; }
    .mp-buildstrip-cta { text-align: center; }
}

/* ---- the match console: quicknav as a true tab bar ---- */
.mp-tab-hidden { display: none !important; }
.mp-quicknav { background: rgba(0, 0, 0, 0.94) !important; border-bottom: 1px solid rgba(212, 175, 55, 0.25) !important; }
.mp-quicknav .cov-chip {
    border-radius: 0 !important;
    font-family: ui-monospace, Consolas, monospace !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase;
    font-size: 0.68rem !important;
    color: #CBC7BE !important;
    border: 1px solid transparent !important;
    background: transparent !important;
}
.mp-quicknav .cov-chip:hover { color: #E6C860 !important; }
.mp-quicknav .cov-chip.tab-active {
    color: #000 !important;
    background: #D4AF37 !important;
    font-weight: 700 !important;
}

/* stale zone narration (01 The read / 05 The numbers) retired - tabs tell the story */
.mp-zone { display: none !important; }
/* inside a tab room, the odds accordion reads as an open panel, not a toggle */
.mp-zone-oddstoggle > summary { pointer-events: none; }
.mp-zone-oddstoggle > summary::after { display: none; }

/* Build tab: the strip answers with a gold flash so the click visibly lands */
.mp-strip-flash .mp-buildleg {
    box-shadow: 0 0 0 1px #D4AF37, 0 16px 40px -18px rgba(212, 175, 55, 0.55) !important;
    transition: box-shadow 300ms ease;
}

/* ============ console v2 quality pass ============ */
/* the orphan Key Stats block duplicates the verdict's Key Facts - out of the rooms */
.mp-cut { display: none !important; }

/* square-corner law now covers the whole main column, not just mp- classes */
.mp-main, .mp-main * { border-radius: 0 !important; }

/* the tab bar is a console rail, not a floating chip row: sticky, framed, present */
.mp-quicknav {
    position: sticky;
    top: 0;
    z-index: 60;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    padding: 12px 18px !important;
    margin: 26px 0 0 !important;
    background: rgba(5, 5, 4, 0.96) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    border-top: 1px solid rgba(212, 175, 55, 0.28) !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.28) !important;
}
.mp-quicknav::before {
    content: "MATCH CONSOLE";
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.62rem;
    letter-spacing: 0.22em;
    color: rgba(230, 200, 96, 0.55);
    margin-right: 14px;
}
.mp-quicknav .cov-chip {
    font-family: ui-monospace, Consolas, monospace !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
    color: #CBC7BE !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 0 !important;
    padding: 8px 16px !important;
    transition: color 120ms ease, border-color 120ms ease;
}
.mp-quicknav .cov-chip:hover { color: #E6C860 !important; border-color: rgba(230, 200, 96, 0.45) !important; }
.mp-quicknav .cov-chip.tab-active {
    color: #000 !important;
    background: #D4AF37 !important;
    border-color: #D4AF37 !important;
    font-weight: 700 !important;
}
@media (max-width: 700px) {
    .mp-quicknav { padding: 10px 12px !important; gap: 5px; overflow-x: auto; flex-wrap: nowrap; }
    .mp-quicknav::before { display: none; }
    .mp-quicknav .cov-chip { padding: 7px 12px !important; white-space: nowrap; }
}

/* odds room: the details summary repeated the section h2 - one heading per room */
.mp-console-on .mp-deep > summary, .mp-console-on .mp-deep-hint { display: none !important; }
.mp-console-on .mp-deep { background: transparent !important; border: 0 !important; margin-top: 0 !important; }
.mp-console-on .mp-deep-inner { padding: 0 !important; }

/* form chips: site standard is W green / L red / D grey (same as previews) */
.form-display .form-w { background: rgba(46, 204, 113, 0.15) !important; color: #4ADE80 !important; border-radius: 0 !important; }
.form-display .form-l { background: rgba(255, 107, 107, 0.14) !important; color: #FF8484 !important; border-radius: 0 !important; }
.form-display .form-d { background: rgba(255, 255, 255, 0.14) !important; color: #CBC7BE !important; border-radius: 0 !important; }
.form-alert-pill { border-radius: 0 !important; }

/* the two sections below the console live outside .mp-main - same square law */
.related-content, .related-content *,
#match-faqs, #match-faqs * { border-radius: 0 !important; }

/* mobile sticky CTA joins the square brand language */
.mobile-sticky-cta a { border-radius: 0 !important; }

/* ============ verdict room: dashboard pass ============
   The numbers ARE the visual. Three-way call tiles, model-vs-market bars,
   fact tiles, framed disclosures, compact news grid. */

/* THE CALL - three tiles, favoured outcome framed gold with a foil number */
.mp-call-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 6px 0 22px;
}
.mp-call-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 16px 10px 13px;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: #0B0B0B;
}
.mp-call-tile.favoured {
    border: 1px solid transparent;
    background:
        linear-gradient(#0D0D0D, #0B0B0B) padding-box,
        linear-gradient(135deg, #D4AF37, rgba(212, 175, 55, 0.25) 45%, #E6C860) border-box;
}
.mp-call-label {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.64rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #CBC7BE;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mp-call-tile.favoured .mp-call-label { color: #E6C860; }
.mp-call-num {
    font-family: 'Bodoni Moda', Georgia, serif;
    font-size: 1.65rem;
    font-weight: 600;
    line-height: 1.1;
    color: #DAD6CC;
}
.mp-call-tile.favoured .mp-call-num {
    font-size: 2.05rem;
    background: linear-gradient(100deg, #F3DD92 0%, #E6C860 40%, #D4AF37 78%, #F3DD92 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 14px rgba(212, 175, 55, 0.3);
}
.mp-call-odds {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.72rem;
    font-weight: 600;
    color: #A8A399;
}
.mp-call-tile.favoured .mp-call-odds { color: #E6C860; }

/* the hook stays the standfirst; the intro drops its blockquote chrome and
   becomes a quiet caption under the tiles (the tiles now carry the numbers) */
.writeup-hook { font-size: 1.08rem !important; color: #F0EDE6 !important; }
.writeup-intro {
    background: transparent !important;
    border: 0 !important;
    border-left: 0 !important;
    padding: 0 !important;
    margin: 0 0 14px !important;
    font-size: 0.95rem !important;
    color: #CBC7BE !important;
}

/* model-vs-market bars inside the pick card */
.pick-bars { display: flex; flex-direction: column; gap: 7px; margin: 14px 0 2px; }
.pick-bar { display: flex; align-items: center; gap: 10px; }
.pick-bar .pb-l {
    width: 58px;
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #CBC7BE;
}
.pick-bar .pb-track {
    flex: 1;
    height: 7px;
    background: rgba(255, 255, 255, 0.18);
    overflow: hidden;
}
.pick-bar .pb-fill { display: block; height: 100%; }
.pick-bar .pb-fill.pb-model { background: linear-gradient(90deg, #D4AF37, #E6C860); }
.pick-bar .pb-fill.pb-market { background: rgba(255, 255, 255, 0.28); }
.pick-bar .pb-v {
    width: 44px;
    text-align: right;
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.78rem;
    font-weight: 700;
    color: #E6C860;
}
.pick-bar:last-child .pb-v { color: #DAD6CC; }

/* key facts: hairline tiles, mono gold labels, no emoji icons */
.insight-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.insight-card {
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    background: #0B0B0B !important;
    padding: 13px 15px !important;
    box-shadow: none !important;
}
.insight-icon { display: none !important; }
.insight-label {
    display: block;
    font-family: ui-monospace, Consolas, monospace !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
    color: #E6C860 !important;
    margin-bottom: 5px;
}
.insight-text { font-size: 0.86rem !important; color: #DAD6CC !important; line-height: 1.5; }

/* disclosures: framed rows that look intentional, gold marker */
.writeup-disclosure {
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
    padding: 0 16px !important;
    margin-top: 10px !important;
    background: #0B0B0B;
}
.writeup-disclosure > summary { padding: 14px 0 !important; }
.writeup-disclosure > summary > span { color: #D4AF37 !important; }
.writeup-disclosure:hover { border-color: rgba(230, 200, 96, 0.35) !important; }
.writeup-disclosure[open] { padding-bottom: 14px !important; }

/* news: compact 2-col grid, capped at 4 - it's a footnote, not the room */
.news-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.news-list .news-item:nth-child(n+5) { display: none !important; }
.news-list .news-item {
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    background: #0B0B0B !important;
    padding: 12px 14px !important;
    margin: 0 !important;
}

@media (max-width: 700px) {
    .mp-call-row { gap: 7px; }
    .mp-call-tile { padding: 12px 6px 10px; }
    .mp-call-num { font-size: 1.3rem; }
    .mp-call-tile.favoured .mp-call-num { font-size: 1.6rem; }
    .insight-grid, .news-list { grid-template-columns: 1fr; }
}

/* a lone key fact spans the row instead of sitting stranded at half width */
.insight-grid:has(> .insight-card:only-child) { grid-template-columns: 1fr; }

/* ============ breakdown room + sticky rail ============ */
/* the rail follows the scroll - no more dead right column under short rooms */
@media (min-width: 981px) {
    .mp-rail { position: sticky; top: 70px; }
}

/* full market breakdown room */
.mpb-note { color: #A8A399; font-size: 0.85rem; margin: 4px 0 16px; }
.mpb-block {
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: #0B0B0B;
    padding: 16px 18px;
    margin-bottom: 12px;
}
.mpb-sub {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    margin: 0 0 8px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.95rem;
    color: #F5F2EA;
}
.mpb-sub span {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #A8A399;
}
.mpb-list { list-style: none; margin: 0; padding: 0; }
.mpb-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}
.mpb-row:last-child { border-bottom: 0; }
.mpb-label { color: #DAD6CC; font-size: 0.9rem; min-width: 0; }
.mpb-smart {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.56rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #E6C860;
    border: 1px solid rgba(230, 200, 96, 0.35);
    padding: 1px 6px;
    margin-left: 8px;
    vertical-align: middle;
}
.mpb-figs { display: flex; align-items: baseline; gap: 12px; white-space: nowrap; }
.mpb-pct { font-family: ui-monospace, Consolas, monospace; font-weight: 700; font-size: 0.92rem; color: #E6C860; }
.mpb-odds { font-family: ui-monospace, Consolas, monospace; font-size: 0.8rem; color: #DAD6CC; }
.mpb-book { font-family: ui-monospace, Consolas, monospace; font-size: 0.7rem; color: #A8A399; min-width: 64px; text-align: right; }
.mpb-combined { margin: 12px 0 0; color: #CBC7BE; font-size: 0.9rem; }
.mpb-combined strong {
    font-family: 'Bodoni Moda', Georgia, serif;
    font-size: 1.25rem;
    background: linear-gradient(100deg, #F3DD92 0%, #E6C860 40%, #D4AF37 78%, #F3DD92 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.mpb-goto {
    display: inline-block;
    margin-top: 6px;
    padding: 11px 22px;
    background: #D4AF37;
    color: #000 !important;
    font-weight: 700;
    text-decoration: none;
}
.mpb-goto:hover { background: #E6C860; }
@media (max-width: 700px) {
    .mpb-figs { gap: 8px; }
    .mpb-book { display: none; }
}

/* ============ HERO: the Showroom treatment ============
   The top of the page joins the jewellery system: square hairline-framed
   card, Bodoni headline, centred matchup lockup with a foil favourite. */

.mp-hero {
    border-radius: 0 !important;
    border: 1px solid transparent !important;
    background:
        linear-gradient(165deg, #0C0C0C, #080807) padding-box,
        linear-gradient(135deg, rgba(212, 175, 55, 0.5), rgba(212, 175, 55, 0.08) 45%, rgba(230, 200, 96, 0.3)) border-box !important;
}

/* the headline finally gets its Bodoni (earlier rule targeted .mp-hero-h, a
   class that does not exist - the real class is .mp-hero-h1) */
.mp-hero-h1 {
    font-family: 'Bodoni Moda', Georgia, serif !important;
    font-weight: 600 !important;
    font-size: 2.15rem !important;
    line-height: 1.15 !important;
    color: #F5F2EA !important;
    letter-spacing: 0.01em;
    text-wrap: balance;
    margin: 6px 0 20px !important;
}

/* matchup lockup: two centred team columns around a quiet middle */
.mp-matchup {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: start;
    gap: 18px;
    margin: 0 0 18px;
}
.mp-team {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    text-decoration: none !important;
    text-align: center;
}
.mp-team-badge {
    width: 58px !important;
    height: 58px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-family: 'Bodoni Moda', Georgia, serif !important;
    font-size: 1.55rem !important;
    color: #E6C860 !important;
    background: #0B0B0B !important;
    border: 1px solid rgba(212, 175, 55, 0.5) !important;
    border-radius: 0 !important;
}
.mp-team-flag { width: 58px; height: auto; }
.mp-team-name { font-family: 'Outfit', sans-serif !important; font-weight: 700 !important; font-size: 1.05rem !important; }
.mp-team-prob {
    font-family: 'Bodoni Moda', Georgia, serif !important;
    font-size: 2.2rem !important;
    line-height: 1 !important;
    color: #A8A399 !important;
}
.mp-team-prob.favoured {
    font-size: 2.9rem !important;
    background: linear-gradient(100deg, #F3DD92 0%, #E6C860 40%, #D4AF37 78%, #F3DD92 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #E6C860 !important;
    text-shadow: 0 0 16px rgba(212, 175, 55, 0.3);
}
.mp-matchup-mid {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding-top: 22px;
}
.mp-vs { color: #A8A399 !important; letter-spacing: 0.22em !important; }
.mp-draw { font-family: ui-monospace, Consolas, monospace; font-size: 0.72rem; color: #CBC7BE; }

/* model-call panel: jewellery frame; ask-chip tucks close underneath */
.mp-verdict {
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    background:
        linear-gradient(#0D0D0D, #0B0B0B) padding-box,
        linear-gradient(135deg, rgba(212, 175, 55, 0.4), rgba(212, 175, 55, 0.07) 45%, rgba(230, 200, 96, 0.25)) border-box !important;
}
.mp-ask-chat { margin-top: 10px !important; }

/* capture band joins the square language */
.mp-icap {
    border-radius: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    background: #0B0B0B !important;
}
.mp-icap input, .mp-icap button, .mp-icap .mp-icap-badge { border-radius: 0 !important; }

@media (max-width: 700px) {
    .mp-hero-h1 { font-size: 1.5rem !important; }
    .mp-matchup { gap: 8px; }
    .mp-team-badge { width: 44px !important; height: 44px !important; font-size: 1.2rem !important; }
    .mp-team-prob { font-size: 1.6rem !important; }
    .mp-team-prob.favoured { font-size: 2.1rem !important; }
    .mp-matchup-mid { padding-top: 14px; }
}

/* the capture band's real outer class */
.mp-inline-capture {
    border-radius: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    background: #0B0B0B !important;
}
.mp-inline-capture input, .mp-inline-capture button, .mp-inline-capture .mp-icap-badge { border-radius: 0 !important; }

/* both team columns centre identically (old .away rule right-aligned it) */
.mp-team.home, .mp-team.away { align-items: center !important; text-align: center !important; }

/* ============ condensing pass ============ */
/* model call is ONE row: verdict text left, ask-chip right */
.mp-verdict {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 18px;
    padding: 14px 18px !important;
    margin: 0 0 14px !important;
}
.mp-verdict-txt { flex: 1 1 320px; }
.mp-verdict .mp-ask-chat { margin: 0 !important; white-space: nowrap; }

/* tighter hero rhythm now the probbar block is gone */
.mp-hero { padding-bottom: 24px !important; }
.mp-matchup { margin-bottom: 10px !important; }

/* capture band slims down - one funnel, less billboard */
.mp-inline-capture { padding: 16px 20px !important; }
.mp-inline-capture .mp-icap-sub { font-size: 0.85rem; }

/* ============ tail sections join the jewellery ============ */
.related-matches {
    border-radius: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    background: #0B0B0B !important;
}
.related-match-card {
    border-radius: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    background: #0B0B0B !important;
    transition: border-color 120ms ease;
}
.related-match-card:hover { border-color: rgba(230, 200, 96, 0.45) !important; }
.related-teams { color: #F0EDE6 !important; font-weight: 700; }
.related-date {
    font-family: ui-monospace, Consolas, monospace !important;
    font-size: 0.7rem !important;
    color: #E6C860 !important;
}
.related-prob {
    font-family: 'Bodoni Moda', Georgia, serif !important;
    font-size: 1.15rem !important;
    background: linear-gradient(100deg, #F3DD92 0%, #E6C860 40%, #D4AF37 78%, #F3DD92 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.related-all-link { color: #E6C860 !important; }

/* newsletter + related-content + FAQ: hairline frames, no grey blobs */
.newsletter-section .newsletter-card, .newsletter-section > div,
.related-content, #match-faqs .faq-item {
    border-radius: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    background: #0B0B0B !important;
}
.newsletter-section input, .newsletter-section button { border-radius: 0 !important; }
#match-faqs .faq-item { margin-bottom: 8px; }

/* condensing: the page asked for an email three times (hero capture band,
   this mid-page newsletter block, footer signup). One contextual ask at the
   top + the sitewide footer is enough - the middle block goes. */
.newsletter-section { display: none !important; }

/* ============ brightness pass: clarity tiers ============
   Body #DAD6CC / labels #CBC7BE / secondary #A8A399 - nothing dimmer.
   Hairlines lifted so the frames actually read. */

/* console chips read clearly before they're active */
.mp-quicknav .cov-chip { color: #DAD6CC !important; border-color: rgba(255, 255, 255, 0.22) !important; }

/* hero: the underdog and odds are subordinate, not invisible */
.mp-team-prob { color: #B8B3A9 !important; }
.mp-team-prob.favoured { color: #E6C860 !important; }
.mp-team-odds { color: #DAD6CC !important; }
.mp-vs, .mp-draw { color: #B8B3A9 !important; }

/* key facts + breakdown rows: reading text a notch up */
.insight-text { font-size: 0.9rem !important; color: #DAD6CC !important; }
.mpb-label { color: #E2DED5 !important; }
.mpb-odds { color: #DAD6CC !important; }

/* ============ alignment pass: ONE axis for the hero showpiece ============
   Chips, headline and matchup all centre on the same axis; the panels
   below stay full-width bars. No more three alignment systems stacked. */
.mp-hero-top { justify-content: center !important; }
.mp-hero-h1 { text-align: center; }
.mp-hero { text-align: center; }
.mp-hero .mp-verdict, .mp-hero .mp-buildstrip, .mp-hero .mp-hero-tbc { text-align: left; }
.mp-buildstrip-label { text-align: left; }

/* model-call row: text left, stars + ask cluster right, all on one line */
.mp-verdict-conf { margin-left: auto !important; display: inline-flex; align-items: center; }
.mp-verdict-txt { text-align: left; }

/* BTTS tile: give it the odds line height even when odds are absent so the
   three tiles bottom-align (empty slot instead of a shorter tile) */
.mp-buildleg { min-height: 92px; }

/* ============ audit fixes: kill the void, tighten the rail ============ */
/* share card: label + buttons on ONE row - the rail gets ~90px shorter,
   which directly shrinks the dead space under short rooms */
.mp-rail-share {
    display: flex !important;
    align-items: center;
    gap: 14px;
    padding: 12px 16px !important;
}
.mp-rail-share .mp-rail-k { margin: 0 !important; }
.mp-share-row { display: flex; gap: 6px; margin: 0 !important; flex: 1; justify-content: flex-end; }
.mp-share-btn { padding: 7px 10px !important; }

/* rail cards generally tighter */
.mp-rail-card { padding: 18px 18px 16px !important; margin-bottom: 12px !important; }

/* phone: no phantom gap between the room's end and the rail stack */
@media (max-width: 980px) {
    .mp-rail { margin-top: 14px !important; }
    .mp-rail-card { margin-bottom: 10px !important; }
}

/* ============ TYPOGRAPHIC PASS: hierarchy, boldness, colour depth ============ */

/* ONE display voice: every section title on the page speaks Bodoni gold */
.mp-main section > h2, .mp-main .preview-section > h2,
.related-matches > h2, #match-faqs > h2 {
    font-family: 'Bodoni Moda', Georgia, serif !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    font-size: 1.75rem !important;
    font-weight: 600 !important;
    color: #E6C860 !important;
}

/* data inside sentences reads bold light-foil - numbers stop hiding in prose */
.mp-main p b, .mp-main p strong, .mp-pick-body strong, .mp-panel-body b,
.mp-verdict-v b { color: #F3DD92 !important; font-weight: 700 !important; }

/* the standfirst carries real weight */
.writeup-hook { font-size: 1.18rem !important; font-weight: 700 !important; line-height: 1.55 !important; }

/* reading prose: brighter and a notch larger */
.mp-panel-body, .mp-pick-body, .writeup-player-narrative { font-size: 1rem !important; color: #E2DED5 !important; }

/* edge table: mono gold headers, foil model numbers, framed difference chips */
.edge-strip-table th {
    font-family: ui-monospace, Consolas, monospace !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #E6C860 !important;
    font-weight: 600 !important;
}
.edge-strip-table td { font-variant-numeric: tabular-nums; }
.edge-market { color: #F0EDE6 !important; font-weight: 700 !important; }
.edge-model { color: #F3DD92 !important; font-weight: 700 !important; font-family: ui-monospace, Consolas, monospace !important; }
.edge-implied { color: #B8B3A9 !important; font-family: ui-monospace, Consolas, monospace !important; }
.edge-value > span:first-child {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.72rem;
    padding: 4px 10px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #CBC7BE;
}
.edge-positive .edge-value > span:first-child { border-color: rgba(230, 200, 96, 0.5); color: #E6C860; }
.edge-star { color: #E6C860 !important; }
.mp-edge-note b { color: #F3DD92 !important; }

/* numbers align as numbers everywhere */
.mp-main { font-variant-numeric: tabular-nums; }

/* rail: Bodoni card heading, gold labels, heavier leg names */
.mp-rail-card h3 { font-family: 'Bodoni Moda', Georgia, serif !important; font-size: 1.3rem !important; font-weight: 600 !important; color: #F5F2EA !important; }
.mp-rail-k { color: #E6C860 !important; font-weight: 600 !important; }

/* disclosure rows + labels: confident weight */
.writeup-disclosure > summary { font-weight: 700 !important; color: #F0EDE6 !important; }
.insight-label { font-weight: 700 !important; }
.mp-icap-title { font-weight: 800 !important; }
.mp-buildstrip-label, .mp-section-label { color: #E6C860 !important; font-weight: 600 !important; }

/* numbers surfaced from prose by the number-pop script */
.num-pop { color: #F3DD92 !important; font-weight: 700 !important; font-variant-numeric: tabular-nums; }

/* rail fill modules */
.mp-rail-fx {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    text-decoration: none !important;
}
.mp-rail-fx:last-of-type { border-bottom: 0; }
.mp-rail-fx-teams {
    color: #DAD6CC;
    font-size: 0.86rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.mp-rail-fx:hover .mp-rail-fx-teams { color: #E6C860; }
.mp-rail-fx-when {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.72rem;
    font-weight: 600;
    color: #E6C860;
    white-space: nowrap;
}
.mp-rail-more {
    display: inline-block;
    margin-top: 10px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #E6C860 !important;
    text-decoration: none !important;
}
.mp-rail-more:hover { color: #F3DD92 !important; }
.mp-rail-proof-num {
    font-family: 'Bodoni Moda', Georgia, serif;
    font-size: 2.7rem;
    font-weight: 600;
    line-height: 1;
    margin: 6px 0 4px;
    background: linear-gradient(100deg, #F3DD92 0%, #E6C860 40%, #D4AF37 78%, #F3DD92 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 16px rgba(212, 175, 55, 0.3);
}
.mp-rail-proof-sub { color: #CBC7BE; font-size: 0.85rem; line-height: 1.5; margin: 0; }
.mp-rail-proof-sub b { color: #F3DD92; }

/* share card: the one-row layout overflowed its frame at wide viewports
   (Copy button escaping the card). Wrap gracefully and never overflow. */
.mp-rail-share { flex-wrap: wrap !important; overflow: hidden; }
.mp-share-row { flex-wrap: wrap; justify-content: flex-start; min-width: 0; }
.mp-share-btn { padding: 7px 9px !important; font-size: 0.7rem !important; }

/* ============ share card: designed, not crammed ============
   Label on its own line, then four EQUAL cells filling the card width.
   Nothing can overflow at any viewport. */
.mp-rail-share { display: block !important; padding: 14px 16px 16px !important; }
.mp-rail-share .mp-rail-k { display: block; margin: 0 0 10px !important; }
.mp-share-row {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    justify-content: stretch;
}
.mp-share-btn {
    width: 100%;
    padding: 9px 0 !important;
    font-size: 0.68rem !important;
    text-align: center;
    letter-spacing: 0.04em;
}

/* confidence stars stay on the chip row instead of wrapping to an
   orphaned line - the chip shrinks, the stars keep their corner */
.mp-read-meta { flex-wrap: nowrap !important; }
.mp-read-meta .mp-read-chip { flex: 0 1 auto; min-width: 0; }
.mp-read-conf { white-space: nowrap; }

/* ============ combined row: lead with the return, honesty as support ============ */
.bb-combined { display: block !important; }
.bb-combined-main { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.bb-combined-odds {
    font-family: 'Bodoni Moda', Georgia, serif !important;
    font-size: 1.45rem !important;
    font-weight: 600;
    background: linear-gradient(100deg, #F3DD92 0%, #E6C860 40%, #D4AF37 78%, #F3DD92 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.bb-combined-ret { font-family: ui-monospace, Consolas, monospace; font-size: 0.8rem; font-weight: 700; color: #E6C860; }
.bb-combined-sub { display: block; margin-top: 4px; font-size: 0.76rem; color: #A8A399; }

/* ============ METAL CTAS: the money buttons get the jewellery treatment ============
   Gradient gold face, bevel highlight, hover lift + bloom. */
.mp-buildstrip-cta, .mp-rail-btn, .mp-icap-form button, .mpb-goto, .mobile-sticky-cta a {
    background: linear-gradient(180deg, #F3DD92 0%, #E6C860 30%, #D4AF37 100%) !important;
    color: #141005 !important;
    font-weight: 800 !important;
    border: 0 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 -1px 0 rgba(0, 0, 0, 0.25), 0 10px 26px -14px rgba(212, 175, 55, 0.65);
    transition: transform 130ms ease, box-shadow 130ms ease, filter 130ms ease;
}
.mp-buildstrip-cta:hover, .mp-rail-btn:hover, .mp-icap-form button:hover, .mpb-goto:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), inset 0 -1px 0 rgba(0, 0, 0, 0.25), 0 14px 32px -14px rgba(212, 175, 55, 0.85);
}
.mp-buildstrip-cta:active, .mp-rail-btn:active, .mp-icap-form button:active { transform: translateY(0); filter: brightness(0.98); }

/* ============ CALM-DOWN PASS: hierarchy over volume ============
   One glowing hero per screen, frames only where they carry meaning,
   one metal CTA per region. Everything else steps back a tier. */

/* GLOW BUDGET: the hero's favoured % is the page's only glow */
.mp-buildleg-num, .mp-rail-proof-num, .bb-combined-odds, .pv-count-line strong {
    text-shadow: none !important;
}

/* build tiles: quiet hairlines, solid gold numbers (no foil gradient) */
.mp-buildleg {
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    background: #0B0B0B !important;
}
.mp-buildleg:hover { border-color: rgba(230, 200, 96, 0.45) !important; }
.mp-buildleg-num {
    background: none !important;
    -webkit-text-fill-color: #E6C860 !important;
    color: #E6C860 !important;
    font-size: 1.5rem !important;
}

/* model-call bar: hairline, not jewellery - the lockup above is the feature */
.mp-verdict {
    background: #0B0B0B !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
}

/* rail steps back: record number calm, secondary labels dimmer */
.mp-rail-proof-num { font-size: 2rem !important; }
.mp-rail-week .mp-rail-k, .mp-rail-proof .mp-rail-k, .mp-rail-share .mp-rail-k,
.writeup-insights .mp-section-label {
    color: rgba(230, 200, 96, 0.6) !important;
}
.bb-combined-odds { font-size: 1.25rem !important; }

/* capture band: supporting cast - flat gold button, calmer title */
.mp-icap-form button {
    background: #D4AF37 !important;
    box-shadow: none !important;
    transform: none !important;
    font-weight: 700 !important;
}
.mp-icap-form button:hover { background: #E6C860 !important; transform: none !important; box-shadow: none !important; }
.mp-icap-title { font-size: 1.05rem !important; font-weight: 700 !important; }
.mp-icap-badge { color: rgba(230, 200, 96, 0.7) !important; border-color: rgba(230, 200, 96, 0.3) !important; }

/* ============ DIRECTION B tokens: match page ============ */
/* numbers in ivory; gold keeps labels, frames, meta */
.mp-buildleg-num, .edge-model, .bb-combined-odds, .bb-combined-ret,
.mp-rail-proof-num, .mpb-pct {
    background: none !important;
    -webkit-text-fill-color: #FAF7EF !important;
    color: #FAF7EF !important;
    text-shadow: none !important;
}
/* the page's one glow: the hero favourite, now luminous ivory */
.mp-team-prob { color: #B8B3A9 !important; }
.mp-team-prob.favoured {
    background: none !important;
    -webkit-text-fill-color: #FFFFFF !important;
    color: #FFFFFF !important;
    text-shadow: 0 0 20px rgba(250, 247, 239, 0.4) !important;
}
/* rail leg odds numerals to ivory (labels stay) */
.mp-rail-builder .bb-leg-odds { color: #FAF7EF !important; }
.mp-rail-builder .bb-leg-prob { color: #B8B3A9 !important; }

/* CARD LIFT: surfaces step off pure black */
.mp-buildleg, .mpb-block, .insight-card, .mp-rail-card, .related-match-card,
.mp-verdict, .mp-inline-capture, .news-list .news-item, .writeup-disclosure,
.mp-team-badge { background: #141414 !important; }
.mp-hero {
    background:
        linear-gradient(165deg, #151515, #0D0B08) padding-box,
        linear-gradient(135deg, rgba(212, 175, 55, 0.5), rgba(212, 175, 55, 0.08) 45%, rgba(230, 200, 96, 0.3)) border-box !important;
}

/* ODDS ARE BUTTONS: hairline chips that answer the cursor */
.mp-buildleg-odds, .mpb-odds, .mp-team-odds {
    display: inline-block;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    padding: 2px 9px !important;
    color: #FAF7EF !important;
    transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}
.mp-buildleg:hover .mp-buildleg-odds, .mpb-row:hover .mpb-odds, .mp-team:hover .mp-team-odds {
    border-color: #D4AF37 !important;
    background: rgba(212, 175, 55, 0.12);
    color: #E6C860 !important;
}

/* ============ B+ AMPLIFIER ============ */
/* the favourite dominates; tile numbers a size up */
.mp-team-prob.favoured { font-size: 3.4rem !important; }
.mp-buildleg-num { font-size: 1.85rem !important; }
.edge-model { font-size: 1rem !important; }

/* surfaces lift harder off the page */
.mp-buildleg, .mpb-block, .insight-card, .mp-rail-card, .related-match-card,
.mp-verdict, .mp-inline-capture, .news-list .news-item, .writeup-disclosure { background: #181818 !important; }
.mp-hero {
    background:
        linear-gradient(165deg, #191919, #0F0F0F) padding-box,
        linear-gradient(135deg, rgba(212, 175, 55, 0.5), rgba(212, 175, 55, 0.08) 45%, rgba(230, 200, 96, 0.3)) border-box !important;
}

/* odds chips read as pressable KEYS at rest, not just on hover */
.mp-buildleg-odds, .mpb-odds, .mp-team-odds {
    background: #222222 !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    padding: 4px 11px !important;
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    font-weight: 700 !important;
}
.mp-buildleg:hover .mp-buildleg-odds, .mpb-row:hover .mpb-odds, .mp-team:hover .mp-team-odds {
    transform: translateY(-1px);
    box-shadow: 0 3px 0 rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 6px 16px -8px rgba(212, 175, 55, 0.5);
}

/* ============ SPORTSBOOK PRO v3: market cards (the mock, made real) ============
   Craft laws: one frame per module; cells are tints + single dividers;
   the odds key is the only small frame, so it is machined; legend once. */
.mp-markets { text-align: left; }
.pv3-mkt {
    background: #141414;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
    margin-bottom: 16px;
}
.pv3-hd { display: flex; align-items: center; gap: 14px; padding: 12px 18px 11px; }
.pv3-lab {
    flex: 1;
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.62rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #D4AF37;
}
.pv3-legend { font-family: ui-monospace, Consolas, monospace; font-size: 0.62rem; color: #A8A399; }
.pv3-legend i { display: inline-block; width: 14px; height: 5px; background: linear-gradient(90deg, #D4AF37, #E6C860); vertical-align: middle; margin-right: 5px; }
.pv3-legend b { display: inline-block; width: 2px; height: 10px; background: #fff; vertical-align: middle; margin: 0 5px 0 12px; }
.pv3-legs { display: flex; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.pv3-leg {
    flex: 1;
    position: relative;
    display: block;
    padding: 15px 17px 17px;
    text-decoration: none !important;
    transition: background 140ms ease;
    min-width: 0;
}
.pv3-leg + .pv3-leg { border-left: 1px solid rgba(255, 255, 255, 0.08); }
.pv3-leg:hover { background: rgba(212, 175, 55, 0.06); }
.pv3-leg.picked { background: linear-gradient(180deg, rgba(212, 175, 55, 0.09), rgba(212, 175, 55, 0.03)); box-shadow: inset 0 2px 0 #D4AF37; }
.pv3-leg.picked::after {
    content: "MODEL PICK";
    position: absolute; top: 8px; right: 9px;
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.52rem; font-weight: 700; letter-spacing: 0.1em;
    color: #000; background: #D4AF37; padding: 3px 7px;
}
.pv3-nm { display: block; font-size: 0.8rem; color: #C9C4B9; margin-bottom: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pv3-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 10px; }
.pv3-pct { font-family: 'Bodoni Moda', Georgia, serif; font-weight: 600; font-size: 1.6rem; color: #FAF7EF; line-height: 1; }
.pv3-pct.mono-pct { font-family: ui-monospace, Consolas, monospace; font-size: 1rem; font-weight: 700; }
.pv3-key {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 52px; padding: 6px 11px;
    background: linear-gradient(180deg, #292929, #1D1D1D);
    border: 1px solid rgba(255, 255, 255, 0.22);
    font-family: ui-monospace, Consolas, monospace;
    font-weight: 700; font-size: 0.88rem; color: #FAF7EF;
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    transition: transform 140ms ease, box-shadow 140ms ease;
}
.pv3-leg:hover .pv3-key { transform: translateY(-1px); box-shadow: 0 3px 0 rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 6px 16px -8px rgba(212, 175, 55, 0.5); }
.pv3-duo { display: block; position: relative; height: 6px; background: rgba(255, 255, 255, 0.09); }
.pv3-duo i { position: absolute; top: 0; bottom: 0; left: 0; background: linear-gradient(90deg, #D4AF37, #E6C860); }
.pv3-duo b { position: absolute; top: -3px; bottom: -3px; width: 2px; background: #fff; }
@media (max-width: 700px) {
    .pv3-legs { flex-direction: column; }
    .pv3-leg + .pv3-leg { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.08); }
    .pv3-pct { font-size: 1.4rem; }
}

/* ============ INTRICACY KIT: the certificate detail layer ============
   The A1 crest is a double-rule square - the site inherits that DNA.
   Corner ticks + double rules on FEATURE panels only (pick, verdict,
   record, returns); ornamented labels. Detail, not clutter. */

/* corner ticks: four etched L-marks inside the frame */
.mp-panel--pick, .mp-panel--verdict, .mp-rail-proof, .bb-combined, .mp-verdict {
    background-image:
        linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)), linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)),
        linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)), linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)),
        linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)), linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)),
        linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)), linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)) !important;
    background-color: #141414 !important;
    background-repeat: no-repeat !important;
    background-size: 9px 1px, 1px 9px, 9px 1px, 1px 9px, 9px 1px, 1px 9px, 9px 1px, 1px 9px !important;
    background-position:
        6px 6px, 6px 6px,
        calc(100% - 6px) 6px, calc(100% - 6px) 6px,
        6px calc(100% - 6px), 6px calc(100% - 6px),
        calc(100% - 6px) calc(100% - 6px), calc(100% - 6px) calc(100% - 6px) !important;
}

/* double rule on THE pick - the crest's signature, reserved for the money panel */
.mp-panel--pick { outline: 1px solid rgba(212, 175, 55, 0.28); outline-offset: 4px; }
.bb-combined { border: 1px solid rgba(212, 175, 55, 0.5) !important; outline: 1px solid rgba(212, 175, 55, 0.22); outline-offset: 3px; padding: 12px 14px !important; }

/* crest badges wear the double rule like the logo */
.mp-team-badge { outline: 1px solid rgba(212, 175, 55, 0.3); outline-offset: 3px; }

/* section labels: diamond + fading rule, engraved not typed */
.mp-section-label, .mp-buildstrip-label {
    display: flex !important;
    align-items: center;
    gap: 10px;
}
.mp-section-label::before, .mp-buildstrip-label::before {
    content: "◆";
    font-size: 0.4rem;
    color: rgba(230, 200, 96, 0.75);
}
.mp-section-label::after, .mp-buildstrip-label::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(230, 200, 96, 0.45), transparent 70%);
}

/* rail card labels get the quiet version */
.mp-rail-k { display: flex !important; align-items: center; gap: 8px; }
.mp-rail-k::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(230, 200, 96, 0.3), transparent 75%); }

/* the record number sits on a hairline plinth */
.mp-rail-proof-num { border-bottom: 1px solid rgba(230, 200, 96, 0.35); display: inline-block; padding-bottom: 4px; }

/* ============ THE SIGNATURE: banknote layer ============
   Guilloche engine-turning inside the money panels, a hallmark seal on
   the record, and the hero number stamped like a press striking a coin.
   The site that looks like a banknote - trust made visible. */

/* guilloche: fine rosette engraving, whisper-quiet, money surfaces only */
.mp-panel--pick, .bb-combined {
    background-image:
        repeating-radial-gradient(circle at 18% 120%, rgba(230,200,96,.035) 0 1px, transparent 1px 9px),
        repeating-radial-gradient(circle at 85% -30%, rgba(230,200,96,.03) 0 1px, transparent 1px 11px),
        linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)), linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)),
        linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)), linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)),
        linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)), linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)),
        linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)), linear-gradient(rgba(230,200,96,.55),rgba(230,200,96,.55)) !important;
    background-repeat: no-repeat !important;
    background-size:
        100% 100%, 100% 100%,
        9px 1px, 1px 9px, 9px 1px, 1px 9px, 9px 1px, 1px 9px, 9px 1px, 1px 9px !important;
    background-position:
        0 0, 0 0,
        6px 6px, 6px 6px,
        calc(100% - 6px) 6px, calc(100% - 6px) 6px,
        6px calc(100% - 6px), 6px calc(100% - 6px),
        calc(100% - 6px) calc(100% - 6px), calc(100% - 6px) calc(100% - 6px) !important;
}

/* hallmark seal: double circle, milled edge, FBB - stamped on the record */
.mp-rail-proof { position: relative; }
.mp-rail-proof::after {
    content: "";
    position: absolute;
    top: 12px; right: 12px;
    width: 52px; height: 52px;
    opacity: .55;
    pointer-events: none;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><circle cx='32' cy='32' r='30' fill='none' stroke='%23D4AF37' stroke-width='1.4' stroke-dasharray='2.5 2.2'/><circle cx='32' cy='32' r='24' fill='none' stroke='%23D4AF37' stroke-width='1'/><text x='32' y='37' font-family='Georgia,serif' font-size='15' font-weight='700' fill='%23E6C860' text-anchor='middle' letter-spacing='1'>FBB</text><text x='32' y='47' font-family='monospace' font-size='5' fill='%23D4AF37' text-anchor='middle'>VERIFIED</text></svg>") center / contain no-repeat;
}

/* the stamp: one orchestrated load moment on the hero favourite */
@keyframes fbbStamp {
    0%   { transform: scale(1.22); opacity: 0; filter: blur(3px); }
    55%  { transform: scale(0.982); opacity: 1; filter: blur(0); }
    100% { transform: scale(1); }
}
.mp-team-prob.favoured {
    display: inline-block;
    animation: fbbStamp 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.18s backwards;
}
@media (prefers-reduced-motion: reduce) {
    .mp-team-prob.favoured { animation: none; }
}

/* ============ KEYCAP v2: real key physics ============ */
.pv3-key, .mp-team-odds, .mpb-odds {
    background: linear-gradient(180deg, #303030 0%, #242424 55%, #1A1A1A 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-bottom-color: rgba(0, 0, 0, 0.65) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        inset 0 -1px 0 rgba(0, 0, 0, 0.5),
        0 2px 0 #060503,
        0 3px 6px -2px rgba(0, 0, 0, 0.65) !important;
}
.pv3-leg:hover .pv3-key, .mp-team:hover .mp-team-odds, .mpb-row:hover .mpb-odds {
    transform: translateY(-1px);
    border-color: rgba(230, 200, 96, 0.55) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        inset 0 -1px 0 rgba(0, 0, 0, 0.5),
        0 3px 0 #060503,
        0 5px 12px -3px rgba(212, 175, 55, 0.45) !important;
}
.pv3-leg:active .pv3-key {
    transform: translateY(1px);
    box-shadow:
        inset 0 1px 2px rgba(0, 0, 0, 0.55),
        0 1px 0 #060503 !important;
}

/* outline chips (Ask our model why / TRACKING) get an engraved rim */
.mp-ask-chat, .mp-conf-badge {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), inset 0 -1px 0 rgba(0, 0, 0, 0.4);
}

/* ============ DE-GOLD: gold is currency, not paint ============
   Paul: still yellow. Correct - the volume of gold IS the wallpaper.
   Gold now appears ONLY where money/action lives: CTAs, odds keys'
   hover, IN SLIP tags, model bar fills, the crest. Labels, chips,
   ticks, titles and frames go ivory/neutral. */

/* labels: quiet warm grey, not gold */
.pv3-lab, .mp-section-label, .mp-buildstrip-label, .mp-rail-k,
.mp-panel-label, .mp-panel-label span:first-child, .mp-icap-badge,
.mp-verdict-k, .mpb-sub span, .lab {
    color: #A9A49B !important;
}
.mp-section-label::before, .mp-buildstrip-label::before { color: rgba(255, 255, 255, 0.3) !important; }
.mp-section-label::after, .mp-buildstrip-label::after,
.mp-rail-k::after { background: linear-gradient(90deg, rgba(255, 255, 255, 0.18), transparent 70%) !important; }

/* hero chips: neutral frames, ivory text */
.mp-chip, .mp-chip-league, .mp-chip-stage, .mp-chip-verified {
    color: #D5D1C8 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}
.mp-chip-dot { background: #4ADE80 !important; }

/* corner ticks + etching: engraved neutral, not gold */
.mp-panel--pick, .mp-panel--verdict, .mp-rail-proof, .bb-combined, .mp-verdict {
    background-image:
        linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)), linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)),
        linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)), linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)),
        linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)), linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)),
        linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)), linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)) !important;
    background-color: #141414 !important;
    background-repeat: no-repeat !important;
    background-size: 9px 1px, 1px 9px, 9px 1px, 1px 9px, 9px 1px, 1px 9px, 9px 1px, 1px 9px !important;
    background-position:
        6px 6px, 6px 6px,
        calc(100% - 6px) 6px, calc(100% - 6px) 6px,
        6px calc(100% - 6px), 6px calc(100% - 6px),
        calc(100% - 6px) calc(100% - 6px), calc(100% - 6px) calc(100% - 6px) !important;
}
.mp-panel--pick { outline-color: rgba(255, 255, 255, 0.14) !important; }
.mp-team-badge { outline-color: rgba(255, 255, 255, 0.14) !important; }

/* room titles: ivory display, gold retired */
.mp-main section > h2, .mp-main .preview-section > h2,
.related-matches > h2, #match-faqs > h2 {
    color: #F0EDE6 !important;
}

/* picked cell: neutral lift + gold spine + gold tag (the ONLY gold here) */
.pv3-leg.picked {
    background: rgba(255, 255, 255, 0.055) !important;
    box-shadow: inset 0 2px 0 #D4AF37 !important;
}
.agree { color: #B9B4AA !important; border-color: rgba(255, 255, 255, 0.18) !important; }
.pv3-legend { color: #8F8B82 !important; }

/* rail week/proof/breadcrumb quiet down */
.mp-rail-fx-when { color: #B9B4AA !important; }
.mp-rail-more, .related-all-link { color: #D5D1C8 !important; }
.breadcrumb a, .breadcrumbs a { color: #B9B4AA !important; }

/* record number: ivory on plinth, seal stays gold (it IS the hallmark) */
.mp-rail-proof-num { border-bottom-color: rgba(255, 255, 255, 0.25) !important; }

/* ============ PURE BLACK GROUNDS (Paul: 'just black backgrounds,
   gold aspects, white text') - cards sit one whisper above black,
   hairlines do the separation ============ */
.pv3-mkt, .mp-rail-card, .mp-inline-capture, .writeup-disclosure,
.insight-card, .mpb-block, .news-list .news-item, .related-match-card { background: #101010 !important; }
.mp-panel--pick, .mp-panel--verdict, .mp-rail-proof, .bb-combined, .mp-verdict { background-color: #101010 !important; }
.mp-hero {
    background:
        linear-gradient(168deg, #121212, #0A0A0A 72%) padding-box,
        linear-gradient(135deg, rgba(212, 175, 55, 0.5), rgba(212, 175, 55, 0.08) 45%, rgba(230, 200, 96, 0.3)) border-box !important;
}
/* body text: full white for reading, ivory-white for numbers stays */
.mp-panel-body, .mp-pick-body, .writeup-player-narrative, .insight-text,
.mp-icap-sub, .writeup-intro { color: #F2F0EA !important; }

/* ============ QUIET LEDGER (impeccable quieter pass) ============
   Operate mode: the tool disappears into the task. Real Bodoni now
   carries the premium; decoration retreats to ONE signature (the
   hallmark seal) and ONE anchor (the CTA). Data speaks plainly. */

/* decorations off: guilloche, corner ticks, double rules */
.mp-panel--pick, .mp-panel--verdict, .mp-rail-proof, .bb-combined, .mp-verdict {
    background-image: none !important;
    background-color: #101010 !important;
}
.mp-panel--pick { outline: none !important; }
.mp-team-badge { outline: none !important; }
.bb-combined { outline: none !important; border-color: rgba(255, 255, 255, 0.16) !important; }

/* the stamp flourish retires; the hero leads by size alone */
.mp-team-prob.favoured {
    animation: none !important;
    text-shadow: 0 0 14px rgba(250, 247, 239, 0.22) !important;
    font-size: 3rem !important;
}

/* keys: flat precision chips - hairline, mono, no machining */
.pv3-key, .mp-team-odds, .mpb-odds {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    box-shadow: none !important;
    transform: none !important;
}
.pv3-leg:hover .pv3-key, .mp-team:hover .mp-team-odds, .mpb-row:hover .mpb-odds {
    transform: none !important;
    border-color: rgba(230, 200, 96, 0.6) !important;
    color: #E6C860 !important;
    box-shadow: none !important;
}

/* IN SLIP: quiet tag - gold text on hairline, no solid fill */
.pv3-leg.picked::after {
    background: transparent !important;
    color: #E6C860 !important;
    border: 1px solid rgba(230, 200, 96, 0.5);
    padding: 2px 7px !important;
}

/* CTA: one flat-gold anchor, single soft shadow - no mint machinery */
.mp-buildstrip-cta, .mp-rail-btn, .mpb-goto, .mobile-sticky-cta a {
    background: #D4AF37 !important;
    border: 0 !important;
    color: #141005 !important;
    text-shadow: none !important;
    box-shadow: 0 6px 18px -8px rgba(0, 0, 0, 0.6) !important;
}
.mp-buildstrip-cta:hover, .mp-rail-btn:hover, .mpb-goto:hover {
    background: #E6C860 !important;
    transform: none !important;
    filter: none !important;
    box-shadow: 0 8px 22px -8px rgba(0, 0, 0, 0.65) !important;
}
.mp-buildstrip-cta:active, .mp-rail-btn:active, .mpb-goto:active {
    transform: translateY(1px) !important;
    filter: brightness(0.97) !important;
    box-shadow: 0 3px 10px -6px rgba(0, 0, 0, 0.6) !important;
}

/* softer frames, thinner data bars, calmer rhythm */
.pv3-mkt { border-color: rgba(255, 255, 255, 0.09) !important; box-shadow: none !important; }
.pv3-duo { height: 4px !important; }
.pv3-duo b { opacity: 0.65; }
.pv3-legs { border-top-color: rgba(255, 255, 255, 0.06) !important; }
.pv3-leg + .pv3-leg { border-left-color: rgba(255, 255, 255, 0.06) !important; }
.pv3-pct { font-size: 1.45rem !important; font-weight: 500 !important; }
.mp-buildleg-num { font-weight: 500 !important; }

/* the seal stays: the one signature (record card only) */

/* ============ THE GAUGE (Paul's slider idea): two quiet markers on one
   rail - gold diamond = our model, white tick = the bookies, faint
   connector = the disagreement. Odds-only legs show just the tick. ============ */
.pv3-duo {
    position: relative;
    height: 14px !important;
    background: none !important;
    overflow: hidden;
    display: block;
}
.pv3-duo::before {
    content: "";
    position: absolute; left: 0; right: 0; top: 6px; height: 2px;
    background: rgba(255, 255, 255, 0.12);
}
/* connector: spans the gap between the two positions (0 when one missing) */
.pv3-duo i {
    position: absolute !important; top: 6px !important; height: 2px !important;
    left: calc(min(var(--m, var(--k, 0)), var(--k, var(--m, 0))) * 1%);
    width: calc((max(var(--m, var(--k, 0)), var(--k, var(--m, 0))) - min(var(--m, var(--k, 0)), var(--k, var(--m, 0)))) * 1%);
    background: rgba(212, 175, 55, 0.45) !important;
    inset-block-end: auto;
}
/* market tick: white */
.pv3-duo b {
    position: absolute !important; top: 2px !important; bottom: auto !important;
    width: 2px !important; height: 10px !important;
    left: calc(var(--k, -999) * 1%);
    background: rgba(255, 255, 255, 0.75) !important;
    opacity: 1 !important;
}
/* model diamond: gold */
.pv3-duo::after {
    content: "";
    position: absolute; top: 3px; width: 8px; height: 8px;
    left: calc(var(--m, -999) * 1%);
    transform: translateX(-50%) rotate(45deg);
    background: #E6C860;
}
/* legend mirrors the language */
.pv3-legend i {
    width: 7px !important; height: 7px !important;
    transform: rotate(45deg);
    background: #E6C860 !important;
}

/* ============ MOBILE FIT PASS (9 Aug) ============
   The amplifier passes above (3.4rem, then 3rem) land AFTER the 700px media
   rule, so phones were getting the desktop hero size and the favourite's
   percentage ran off a 390-430px screen. Re-assert the phone sizes last, and
   let the matchup grid columns actually shrink (min-width: 0) so nothing can
   push past the viewport edge. */
@media (max-width: 700px) {
    .mp-team-prob { font-size: 1.6rem !important; }
    .mp-team-prob.favoured {
        font-size: clamp(1.9rem, 6.5vw, 2.4rem) !important;
        text-shadow: 0 0 10px rgba(250, 247, 239, 0.2) !important;
    }
    .mp-matchup > * { min-width: 0; }
}
