:root {
    --navy-950: #031329;
    --navy-900: #071d3a;
    --navy-800: #0a2c56;
    --navy-700: #0d3e75;
    --teal-800: #06685f;
    --teal-700: #087f72;
    --teal-600: #0b9f8c;
    --teal-500: #14b89d;
    --teal-400: #51d5bd;
    --teal-100: #d9f7f0;
    --blue-100: #e6f0fb;
    --ink: #142033;
    --muted: #617087;
    --line: #dce4ed;
    --surface: #ffffff;
    --surface-soft: #f4f7fa;
    --success: #16845b;
    --success-soft: #e3f7ee;
    --warning: #a35f00;
    --warning-soft: #fff1d6;
    --danger: #b42318;
    --danger-soft: #fee9e7;
    --shadow-sm: 0 2px 8px rgba(4, 29, 58, .07);
    --shadow: 0 16px 40px rgba(4, 29, 58, .12);
    --shadow-md: 0 22px 54px rgba(4, 29, 58, .16);
    --radius-sm: 10px;
    --radius: 16px;
    --radius-lg: 24px;
    --content: 1180px;
}

/* V1.16.0 — Play a Bot */
.personal-bot-mode span {
    position: relative;
    overflow: hidden;
}
.personal-bot-mode b em {
    display: inline-block;
    margin-left: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #102f58;
    color: #fff;
    font-size: .58rem;
    font-style: normal;
    letter-spacing: .08em;
    vertical-align: 2px;
}
.personal-bot-mode input:disabled + span {
    cursor: not-allowed;
    opacity: .58;
}
.bot-setup-panel {
    display: grid;
    gap: 16px;
}
.bot-setup-panel[hidden] {
    display: none;
}
.bot-setup-intro {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 15px;
    border-radius: 17px;
    background: linear-gradient(135deg, #071d3a, #0e606e);
    color: #fff;
}
.bot-setup-intro p {
    margin: 4px 0 0;
    color: #d7eeec;
    font-size: .78rem;
    line-height: 1.55;
}
.bot-setup-avatar,
.bot-opponent-avatar {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: linear-gradient(145deg, #22d7be, #149bc5);
    color: #061e38;
    font-weight: 950;
    box-shadow: 0 12px 24px rgba(0, 0, 0, .16);
}
.bot-selection-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}
.bot-selection-options label {
    cursor: pointer;
}
.bot-selection-options input {
    position: absolute;
    opacity: 0;
}
.bot-selection-options span {
    display: block;
    min-height: 92px;
    padding: 14px;
    border: 2px solid #dbe5ed;
    border-radius: 15px;
    background: #fff;
}
.bot-selection-options b,
.bot-selection-options small {
    display: block;
}
.bot-selection-options small {
    margin-top: 5px;
    color: var(--muted);
}
.bot-selection-options input:checked + span,
.bot-selection-options label.is-selected span {
    border-color: #0aa18e;
    background: #eafaf6;
    box-shadow: 0 0 0 3px rgba(10, 161, 142, .08);
}
.bot-selection-options input:focus-visible + span {
    outline: 3px solid rgba(20, 105, 180, .24);
    outline-offset: 2px;
}
.bot-selection-options input:disabled + span,
.bot-selection-options label.is-unavailable span {
    cursor: not-allowed;
    opacity: .58;
    background: #f5f7f9;
}
.bot-match-average-note {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    border: 1px solid #bde6dc;
    border-radius: 14px;
    background: #edf9f6;
}
.bot-match-average-note[hidden] {
    display: none;
}
.bot-match-average-note span {
    color: var(--muted);
    text-align: right;
}
.badge-bot {
    background: #e9e1ff;
    color: #58309a;
}
.bot-record-card {
    background: linear-gradient(150deg, #fff 45%, #f0eaff);
    border-color: #ddd0fa;
}
.my-darts-category-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.bot-opponent-banner {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    margin: 14px 0;
    padding: 14px 18px;
    border: 1px solid #cbdce8;
    border-radius: 18px;
    background: linear-gradient(110deg, #fff, #edf9f7);
}
.bot-opponent-banner .bot-opponent-avatar,
.bot-report-profile .bot-opponent-avatar {
    background: var(--bot-colour);
    color: #fff;
}
.bot-opponent-banner strong,
.bot-opponent-banner small,
.bot-report-profile h2,
.bot-report-profile p {
    display: block;
    overflow-wrap: anywhere;
}
.bot-opponent-banner strong {
    margin: 2px 0;
    font-size: 1.05rem;
}
.bot-opponent-banner small {
    color: var(--muted);
}
.bot-throw-stage {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    margin: 16px 0;
    padding: 18px 20px;
    border: 1px solid #b9d9d4;
    border-radius: 20px;
    background: linear-gradient(125deg, #eafaf6, #f4f8ff);
    box-shadow: 0 14px 30px rgba(7, 29, 58, .08);
}
.bot-throw-stage[hidden] {
    display: none;
}
.bot-throw-stage strong,
.bot-throw-stage small {
    display: block;
}
.bot-throw-stage small {
    margin-top: 3px;
    color: var(--muted);
}
.bot-thinking-pulse {
    display: flex;
    gap: 5px;
    align-items: center;
    min-width: 38px;
}
.bot-thinking-pulse span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #0aa18e;
    animation: bot-thinking 1.05s infinite ease-in-out;
}
.bot-thinking-pulse span:nth-child(2) {
    animation-delay: .14s;
}
.bot-thinking-pulse span:nth-child(3) {
    animation-delay: .28s;
}
.bot-dart-reveal {
    display: flex;
    gap: 7px;
}
.bot-dart-reveal span {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid #cbdce8;
    border-radius: 14px;
    background: #fff;
    color: #23425e;
    font-weight: 950;
    box-shadow: 0 5px 12px rgba(7, 29, 58, .07);
    transition: transform .22s ease, background .22s ease, color .22s ease;
}
.bot-dart-reveal span.is-thrown {
    transform: translateY(-3px) scale(1.04);
    background: #0b766b;
    color: #fff;
}
@keyframes bot-thinking {
    0%, 70%, 100% { transform: translateY(0); opacity: .4; }
    35% { transform: translateY(-6px); opacity: 1; }
}
.bot-coaching-card {
    margin-top: 22px;
    border-color: #bde6dc;
    background: linear-gradient(145deg, #fff, #f0fbf8);
}
.bot-coaching-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}
.bot-coaching-stats > div {
    min-width: 0;
    padding: 15px;
    border: 1px solid #d9e8e5;
    border-radius: 15px;
    background: rgba(255, 255, 255, .9);
}
.bot-coaching-stats span,
.bot-coaching-stats strong {
    display: block;
    overflow-wrap: anywhere;
}
.bot-coaching-stats span {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 750;
}
.bot-coaching-stats strong {
    margin-top: 6px;
    font-size: 1.2rem;
}
.bot-coaching-tips {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}
.bot-coaching-tips > div {
    display: grid;
    grid-template-columns: 27px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
}
.bot-coaching-tips span {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #0aa18e;
    color: #fff;
    font-weight: 900;
}
.bot-coaching-tips p {
    margin: 2px 0 0;
}
.bot-report-profile {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    margin-bottom: 22px;
}
.bot-report-profile h2 {
    margin: 3px 0;
}

@media (max-width: 1150px) {
    .my-darts-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .bot-coaching-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .bot-opponent-banner,
    .bot-report-profile {
        grid-template-columns: 50px minmax(0, 1fr);
        padding: 14px;
    }
    .bot-opponent-banner > .badge,
    .bot-report-profile > .badge {
        grid-column: 1 / -1;
        justify-self: start;
    }
    .bot-opponent-avatar {
        width: 48px;
        height: 48px;
        border-radius: 15px;
    }
    .bot-throw-stage {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 12px;
        padding: 15px;
    }
    .bot-dart-reveal {
        grid-column: 1 / -1;
        justify-content: center;
    }
    .bot-dart-reveal span {
        width: min(25vw, 78px);
        height: 50px;
    }
}

@media (max-width: 600px) {
    .bot-selection-options,
    .bot-coaching-stats,
    .my-darts-category-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .bot-setup-intro {
        grid-template-columns: 48px minmax(0, 1fr);
        padding: 13px;
    }
    .bot-setup-avatar {
        width: 46px;
        height: 46px;
        border-radius: 14px;
        font-size: .74rem;
    }
    .bot-match-average-note {
        display: grid;
    }
    .bot-match-average-note span {
        text-align: left;
    }
    .bot-coaching-card .card-header {
        display: grid;
    }
    .bot-coaching-card .btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bot-thinking-pulse span {
        animation: none;
    }
    .bot-dart-reveal span {
        transition: none;
    }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--surface-soft);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}
body.marketing-body { background: #fff; }
img { max-width: 100%; display: block; }
a { color: var(--navy-700); text-decoration: none; }
a:hover { color: var(--teal-700); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }

.container { width: min(calc(100% - 32px), var(--content)); margin-inline: auto; }
.narrow { width: min(calc(100% - 32px), 760px); margin-inline: auto; }
.stack { display: grid; gap: 16px; }
.stack-lg { display: grid; gap: 28px; }
.cluster { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.cluster-between { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.muted { color: var(--muted); }
.small { font-size: .875rem; }
.tiny { font-size: .76rem; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.nowrap { white-space: nowrap; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

h1, h2, h3, h4 { color: var(--navy-950); line-height: 1.14; margin: 0 0 .65em; letter-spacing: -.025em; }
h1 { font-size: clamp(2rem, 5vw, 4.4rem); }
h2 { font-size: clamp(1.55rem, 3vw, 2.6rem); }
h3 { font-size: 1.18rem; }
p { margin: 0 0 1em; }
.lead { color: #46556b; font-size: clamp(1.03rem, 2vw, 1.26rem); max-width: 720px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--teal-700); font-weight: 800; text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; margin-bottom: 14px; }
.eyebrow::before { content: ""; width: 24px; height: 3px; border-radius: 10px; background: var(--teal-500); }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 17px;
    border: 1px solid transparent;
    border-radius: 11px;
    font-weight: 750;
    line-height: 1.15;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: 3px solid rgba(20, 184, 157, .32); outline-offset: 2px; }
.btn-primary { color: #fff; background: linear-gradient(135deg, var(--navy-700), var(--navy-900)); box-shadow: 0 8px 18px rgba(7, 29, 58, .2); }
.btn-primary:hover { color: #fff; box-shadow: 0 12px 25px rgba(7, 29, 58, .25); }
.btn-teal { color: #fff; background: linear-gradient(135deg, var(--teal-600), var(--teal-700)); box-shadow: 0 8px 18px rgba(8, 127, 114, .2); }
.btn-teal:hover { color: #fff; }
.btn-secondary { color: var(--navy-800); background: #fff; border-color: var(--line); box-shadow: var(--shadow-sm); }
.btn-secondary:hover { background: var(--blue-100); color: var(--navy-900); }
.btn-ghost { color: var(--navy-800); background: transparent; border-color: transparent; }
.btn-danger { color: #fff; background: var(--danger); }
.btn-soft-danger { color: var(--danger); background: var(--danger-soft); border-color: #f7c5c0; }
.btn-sm { min-height: 36px; padding: 7px 11px; border-radius: 9px; font-size: .86rem; }
.btn-lg { min-height: 52px; padding: 14px 22px; border-radius: 13px; }
.btn-block { width: 100%; }
.btn[disabled] { opacity: .62; cursor: wait; transform: none; }

.marketing-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid rgba(220, 228, 237, .75); background: rgba(255, 255, 255, .92); backdrop-filter: blur(16px); }
.marketing-nav { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: inline-flex; align-items: center; min-width: 190px; }
.brand img { width: 238px; height: auto; }
.marketing-links { display: flex; align-items: center; gap: 24px; font-weight: 680; font-size: .94rem; }
.mobile-menu-button { display: none; border: 0; background: var(--surface-soft); border-radius: 10px; width: 44px; height: 44px; }

.hero { position: relative; overflow: hidden; padding: 88px 0 72px; background: radial-gradient(circle at 85% 12%, rgba(20, 184, 157, .18), transparent 28%), linear-gradient(180deg, #fff 0%, #f5f9fc 100%); }
.hero::after { content: ""; position: absolute; inset: auto -12% -46% 38%; height: 620px; border-radius: 50%; background: rgba(10, 44, 86, .04); transform: rotate(-8deg); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .92fr; gap: 54px; align-items: center; }
.hero-copy h1 span { color: var(--teal-700); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; color: #53647a; font-size: .9rem; font-weight: 650; }
.trust-row span::before { content: "✓"; display: inline-grid; place-items: center; width: 21px; height: 21px; margin-right: 7px; color: #fff; background: var(--teal-600); border-radius: 50%; font-size: .72rem; }
.hero-demo { position: relative; background: var(--navy-950); color: #fff; border-radius: 28px; padding: 20px; box-shadow: 0 30px 70px rgba(3, 19, 41, .28); transform: rotate(1.2deg); }
.hero-demo::before { content: "LIVE LEAGUE"; position: absolute; top: -13px; right: 24px; padding: 7px 11px; border-radius: 99px; background: var(--teal-500); color: var(--navy-950); font-size: .7rem; font-weight: 900; letter-spacing: .08em; }
.demo-head { display: flex; justify-content: space-between; align-items: center; padding: 4px 2px 16px; }
.demo-head strong { font-size: 1.05rem; }
.demo-card { background: #fff; color: var(--ink); border-radius: 18px; padding: 18px; }
.demo-score { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; text-align: center; }
.demo-player { font-weight: 800; }
.demo-player small { display: block; color: var(--muted); font-weight: 600; }
.demo-number { display: grid; place-items: center; min-width: 58px; height: 58px; border-radius: 14px; background: var(--navy-900); color: #fff; font-size: 1.7rem; font-weight: 900; }
.demo-vs { color: var(--muted); font-size: .74rem; font-weight: 900; }
.demo-confirm { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 16px; padding: 13px 14px; border-radius: 12px; background: var(--success-soft); color: var(--success); font-weight: 750; font-size: .9rem; }

.section { padding: 78px 0; }
.section-soft { background: var(--surface-soft); }
.section-dark { color: #d9e5f3; background: var(--navy-950); }
.section-dark h2, .section-dark h3 { color: #fff; }
.section-heading { max-width: 750px; margin-bottom: 36px; }
.feature-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.feature-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; margin-bottom: 18px; color: #fff; background: linear-gradient(135deg, var(--navy-700), var(--teal-600)); font-weight: 900; }
.step { position: relative; padding: 25px 24px 24px 76px; border-radius: var(--radius); background: #fff; border: 1px solid var(--line); }
.step-number { position: absolute; left: 22px; top: 23px; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--teal-100); color: var(--teal-700); font-weight: 900; }
.stat-band { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border-radius: var(--radius-lg); background: rgba(255,255,255,.14); }
.stat-band > div { padding: 28px; text-align: center; background: rgba(255,255,255,.06); }
.stat-band strong { display: block; color: #fff; font-size: 2rem; }
.cta-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; padding: 42px; border-radius: var(--radius-lg); color: #fff; background: radial-gradient(circle at 100% 0, rgba(20,184,157,.35), transparent 35%), linear-gradient(135deg, var(--navy-950), var(--navy-700)); box-shadow: var(--shadow); }
.cta-panel h2 { color: #fff; margin-bottom: 8px; }
.site-footer { padding: 44px 0; border-top: 1px solid var(--line); background: #fff; }
.footer-grid { display: flex; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.footer-brand img { width: 220px; margin-bottom: 12px; }
.footer-links { display: flex; gap: 20px; flex-wrap: wrap; font-weight: 650; }

.auth-page { min-height: 100vh; display: grid; grid-template-columns: minmax(0, .86fr) minmax(560px, 1.14fr); background: #fff; }
.auth-side { display: flex; flex-direction: column; justify-content: space-between; padding: 38px clamp(28px, 5vw, 70px); color: #fff; background: radial-gradient(circle at 70% 15%, rgba(20,184,157,.32), transparent 30%), linear-gradient(145deg, var(--navy-950), var(--navy-700)); }
.auth-side .brand img { filter: brightness(0) invert(1); width: 260px; }
.auth-side h1 { color: #fff; font-size: clamp(2rem, 4vw, 3.5rem); }
.auth-side p { color: #d5e2ef; }
.auth-main { display: grid; place-items: center; padding: 44px 24px; }
.auth-card { width: min(100%, 520px); }
.auth-card h1 { font-size: 2rem; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.choice-card { position: relative; display: block; padding: 17px; border: 2px solid var(--line); border-radius: 13px; cursor: pointer; transition: border .15s, background .15s; }
.choice-card:has(input:checked) { border-color: var(--teal-600); background: var(--teal-100); }
.choice-card input { position: absolute; opacity: 0; }
.choice-card strong { display: block; color: var(--navy-900); }
.choice-card small { display: block; color: var(--muted); margin-top: 3px; }

.app-body { background: var(--surface-soft); }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 250px minmax(0, 1fr); }
.app-sidebar { position: sticky; top: 0; height: 100vh; height: 100dvh; display: flex; flex-direction: column; overflow: hidden; padding: 22px 16px; color: #d8e4f0; background: var(--navy-950); z-index: 30; }
.app-sidebar .brand { flex: 0 0 auto; padding: 2px 8px 20px; }
.app-sidebar .brand img { width: 205px; filter: brightness(0) invert(1); }
.sidebar-scroll { min-height: 0; flex: 1 1 auto; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding-right: 4px; }
.sidebar-scroll:focus-visible { outline: 2px solid var(--teal-500); outline-offset: 3px; border-radius: 10px; }
.sidebar-scroll::-webkit-scrollbar { width: 8px; }
.sidebar-scroll::-webkit-scrollbar-track { background: transparent; }
.sidebar-scroll::-webkit-scrollbar-thumb { border: 2px solid var(--navy-950); border-radius: 999px; background: #526c86; }
.side-nav { display: grid; gap: 5px; }
.side-nav a { display: flex; align-items: center; gap: 11px; padding: 11px 12px; border-radius: 10px; color: #b9c9da; font-weight: 680; font-size: .92rem; }
.side-nav a:hover, .side-nav a.active { color: #fff; background: rgba(255,255,255,.1); }
.nav-icon { width: 22px; text-align: center; opacity: .9; }
.side-heading { margin: 22px 12px 7px; color: #7890a9; font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.sidebar-bottom { flex: 0 0 auto; margin-top: 0; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); background: var(--navy-950); }
.user-chip { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; background: rgba(255,255,255,.08); }
.avatar { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; color: var(--navy-950); background: var(--teal-500); font-weight: 900; text-transform: uppercase; }
.user-chip strong, .user-chip small { display: block; }
.user-chip small { color: #9fb2c5; overflow: hidden; text-overflow: ellipsis; max-width: 150px; }
.app-content { min-width: 0; }
.app-topbar { position: sticky; top: 0; z-index: 60; min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px clamp(18px, 3vw, 38px); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); backdrop-filter: blur(14px); }
.app-topbar .mobile-brand { display: none; }
.topbar-actions { display: flex; align-items: center; gap: 8px; }
.icon-button { position: relative; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--navy-800); }
.notification-dot { position: absolute; top: 7px; right: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--teal-500); box-shadow: 0 0 0 2px #fff; }
.app-main { padding: 30px clamp(18px, 3vw, 38px) 90px; }
.page-head { margin-bottom: 24px; }
.page-head h1 { font-size: clamp(1.8rem, 3vw, 2.55rem); margin-bottom: 7px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; color: var(--muted); font-size: .85rem; }
.breadcrumbs span::after { content: "/"; margin-left: 8px; color: #aab5c2; }
.breadcrumbs span:last-child::after { content: ""; }
.bottom-nav { display: none; }

.card { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.card-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 18px; }
.card-header h2, .card-header h3 { margin: 0; }
.card-subtle { background: #f9fbfd; box-shadow: none; }
.card-accent { color: #fff; border-color: transparent; background: radial-gradient(circle at 100% 0, rgba(20,184,157,.35), transparent 34%), linear-gradient(135deg, var(--navy-950), var(--navy-700)); }
.card-accent h2, .card-accent h3 { color: #fff; }
.card-accent .muted { color: #c4d4e4; }
.stat-card { min-height: 126px; display: flex; flex-direction: column; justify-content: space-between; }
.stat-card strong { color: var(--navy-950); font-size: 2rem; line-height: 1; }
.stat-label { color: var(--muted); font-size: .84rem; font-weight: 720; }
.quick-actions { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.quick-action { display: flex; flex-direction: column; justify-content: space-between; min-height: 128px; padding: 17px; border: 1px solid var(--line); border-radius: 14px; color: var(--navy-900); background: #fff; font-weight: 800; }
.quick-action:hover { color: var(--navy-900); border-color: #acc8df; box-shadow: var(--shadow-sm); }
.quick-action span { font-size: 1.55rem; }

.alert { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; margin-bottom: 18px; border-radius: 12px; border: 1px solid transparent; }
.alert-success { color: #0d6847; background: var(--success-soft); border-color: #b9e8d4; }
.alert-danger { color: #8b1c14; background: var(--danger-soft); border-color: #f5c4be; }
.alert-warning { color: #875100; background: var(--warning-soft); border-color: #f4d395; }
.alert-info { color: #174e79; background: var(--blue-100); border-color: #c6dced; }
.alert ul { margin: 3px 0 0; padding-left: 18px; }

.badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border-radius: 99px; font-size: .72rem; font-weight: 850; letter-spacing: .02em; white-space: nowrap; }
.badge-success { color: #0e6b49; background: var(--success-soft); }
.badge-warning { color: #885100; background: var(--warning-soft); }
.badge-danger { color: #912219; background: var(--danger-soft); }
.badge-info { color: #174e79; background: var(--blue-100); }
.badge-neutral { color: #526176; background: #edf1f5; }
.badge-navy { color: #fff; background: var(--navy-800); }

.form-group { margin-bottom: 17px; }
label, .form-label { display: block; margin-bottom: 7px; color: var(--navy-900); font-size: .88rem; font-weight: 780; }
input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="datetime-local"], select, textarea {
    width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #cbd6e2; border-radius: 10px; color: var(--ink); background: #fff; transition: border-color .15s, box-shadow .15s;
}
textarea { min-height: 110px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--teal-600); box-shadow: 0 0 0 4px rgba(20,184,157,.12); outline: 0; }
.input-error { border-color: var(--danger) !important; }
.field-error { display: block; margin-top: 5px; color: var(--danger); font-size: .8rem; }
.help { display: block; margin-top: 5px; color: var(--muted); font-size: .8rem; }
.checkbox-row { display: flex; align-items: flex-start; gap: 9px; }
.checkbox-row input { margin-top: 4px; width: 17px; height: 17px; accent-color: var(--teal-600); }
.form-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.input-group { display: flex; }
.input-group input { border-radius: 10px 0 0 10px; }
.input-group .btn { border-radius: 0 10px 10px 0; }

.table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 13px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
th { color: #536278; background: #f7f9fb; font-size: .73rem; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
td { font-size: .91rem; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fbfdff; }
.position-cell { width: 50px; text-align: center; font-weight: 900; }
.points-cell { color: var(--navy-900); font-size: 1.02rem; font-weight: 900; }
.table-player { display: flex; align-items: center; gap: 10px; min-width: 170px; }
.player-dot { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--blue-100); color: var(--navy-700); font-weight: 900; }

.score-panel { overflow: hidden; padding: 0; }
.score-head { padding: 19px 22px; color: #fff; background: linear-gradient(135deg, var(--navy-950), var(--navy-700)); }
.score-head h2 { color: #fff; margin: 0; }
.score-body { padding: 24px; }
.score-grid { display: grid; grid-template-columns: minmax(0,1fr) 72px minmax(0,1fr); gap: 18px; align-items: start; }
.score-player { text-align: center; }
.score-player h3 { min-height: 2.4em; display: grid; place-items: center; }
.score-input { width: 100% !important; height: 92px; text-align: center; font-size: 2.7rem !important; font-weight: 900; border-radius: 17px !important; }
.score-divider { display: grid; place-items: center; height: 145px; color: var(--muted); font-size: .8rem; font-weight: 900; }
.stat-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 13px; }
.stat-inputs label { font-size: .75rem; text-align: left; }
.result-summary { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding: 25px; border-radius: 16px; background: var(--surface-soft); text-align: center; }
.result-summary strong { display: block; color: var(--navy-950); font-size: 1.12rem; }
.result-score { color: var(--navy-950); font-size: 2.6rem; font-weight: 950; letter-spacing: .05em; }
.confirm-box { padding: 20px; border: 2px solid #b7e7d3; border-radius: 15px; background: var(--success-soft); }
.dispute-box { padding: 20px; border: 2px solid #f1c1bb; border-radius: 15px; background: var(--danger-soft); }

.list { display: grid; gap: 10px; }
.list-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.list-main { min-width: 0; }
.list-main strong { display: block; color: var(--navy-900); }
.list-main small { display: block; color: var(--muted); }
.empty-state { padding: 36px 22px; border: 1px dashed #bbc8d6; border-radius: 14px; text-align: center; background: #fbfcfe; }
.empty-icon { display: grid; place-items: center; width: 60px; height: 60px; margin: 0 auto 14px; border-radius: 50%; background: var(--blue-100); font-size: 1.7rem; }
.timeline { position: relative; display: grid; gap: 16px; margin-left: 8px; padding-left: 24px; }
.timeline::before { content: ""; position: absolute; top: 5px; bottom: 5px; left: 6px; width: 2px; background: var(--line); }
.timeline-item { position: relative; }
.timeline-item::before { content: ""; position: absolute; left: -23px; top: 6px; width: 11px; height: 11px; border-radius: 50%; background: var(--teal-600); box-shadow: 0 0 0 4px #fff; }
.timeline-item strong { display: block; }

.tabs { display: flex; gap: 7px; overflow-x: auto; margin-bottom: 20px; padding-bottom: 2px; }
.tab { padding: 9px 13px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: #fff; font-weight: 750; white-space: nowrap; }
.tab.active { color: #fff; border-color: var(--navy-800); background: var(--navy-800); }

.plan-card { position: relative; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; }
.plan-card.featured { border: 2px solid var(--teal-600); box-shadow: var(--shadow); }
.plan-price { color: var(--navy-950); font-size: 2.4rem; font-weight: 950; }
.plan-price small { color: var(--muted); font-size: .9rem; font-weight: 600; }
.check-list { display: grid; gap: 10px; margin: 20px 0; padding: 0; list-style: none; }
.check-list li::before { content: "✓"; margin-right: 9px; color: var(--teal-700); font-weight: 900; }

.pagination { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 22px; padding: 0; list-style: none; }
.page-link { display: grid; place-items: center; min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.active > .page-link { color: #fff; background: var(--navy-800); border-color: var(--navy-800); }
.disabled > .page-link { opacity: .5; }

.offline-banner { position: fixed; z-index: 100; left: 50%; bottom: 18px; transform: translateX(-50%); padding: 9px 14px; border-radius: 99px; color: #fff; background: var(--navy-950); box-shadow: var(--shadow); font-size: .84rem; font-weight: 750; }
.install-toast { position: fixed; z-index: 80; right: 18px; bottom: 18px; max-width: 360px; padding: 17px; border-radius: 15px; color: #fff; background: var(--navy-950); box-shadow: var(--shadow); }
.install-toast strong { display: block; margin-bottom: 3px; }
.install-toast p { color: #c4d3e1; font-size: .87rem; }

@media (max-width: 1000px) {
    .marketing-links .desktop-link { display: none; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-copy { max-width: 760px; }
    .hero-demo { max-width: 650px; transform: none; }
    .grid-4, .quick-actions { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .auth-page { grid-template-columns: 1fr; }
    .auth-side { display: none; }
    .app-shell { grid-template-columns: 1fr; }
    .app-sidebar { display: none; }
    .app-topbar .mobile-brand { display: block; }
    .app-topbar .mobile-brand img { width: 188px; }
    .bottom-nav { position: fixed; z-index: 50; left: 10px; right: 10px; bottom: 10px; display: grid; grid-template-columns: repeat(4, 1fr); padding: 7px; border: 1px solid rgba(220,228,237,.9); border-radius: 17px; background: rgba(255,255,255,.95); box-shadow: 0 12px 35px rgba(3,19,41,.2); backdrop-filter: blur(14px); }
    .bottom-nav a { display: grid; place-items: center; gap: 2px; min-height: 48px; border-radius: 11px; color: var(--muted); font-size: .67rem; font-weight: 760; }
    .bottom-nav a span { font-size: 1.12rem; line-height: 1; }
    .bottom-nav a.active { color: var(--navy-900); background: var(--blue-100); }
}

@media (max-width: 760px) {
    .container, .narrow { width: min(calc(100% - 24px), var(--content)); }
    .marketing-nav { min-height: 64px; }
    .brand img { width: 195px; }
    .marketing-links .btn-secondary { display: none; }
    .hero { padding: 58px 0 50px; }
    .hero-grid { gap: 38px; }
    .section { padding: 58px 0; }
    .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
    .stat-band { grid-template-columns: 1fr; }
    .cta-panel { grid-template-columns: 1fr; padding: 28px; }
    .app-topbar { min-height: 61px; padding: 8px 13px; }
    .app-topbar .mobile-brand img { width: 168px; }
    .app-main { padding: 22px 13px 90px; }
    .card { padding: 17px; border-radius: 14px; }
    .quick-actions { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .quick-action { min-height: 110px; }
    .score-body { padding: 16px; }
    .score-grid { grid-template-columns: 1fr 36px 1fr; gap: 8px; }
    .score-input { height: 75px; font-size: 2rem !important; }
    .score-divider { height: 126px; }
    .stat-inputs { grid-template-columns: 1fr; }
    .result-summary { padding: 18px 10px; gap: 7px; }
    .result-score { font-size: 2rem; }
    .table-wrap.mobile-cards { border: 0; background: transparent; overflow: visible; }
    .mobile-cards table, .mobile-cards tbody, .mobile-cards tr, .mobile-cards td { display: block; width: 100%; }
    .mobile-cards thead { display: none; }
    .mobile-cards tr { margin-bottom: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
    .mobile-cards td { display: flex; justify-content: space-between; gap: 12px; padding: 7px 2px; border: 0; }
    .mobile-cards td::before { content: attr(data-label); color: var(--muted); font-size: .76rem; font-weight: 800; text-transform: uppercase; }
    .mobile-cards .table-player { min-width: 0; }
    .choice-grid { grid-template-columns: 1fr; }
    .form-actions { justify-content: stretch; }
    .form-actions .btn { flex: 1; }
}

@media (max-width: 420px) {
    .marketing-links .btn-primary { padding-inline: 12px; font-size: .82rem; }
    .brand img { width: 173px; }
    .hero-actions .btn { width: 100%; }
    .quick-actions { grid-template-columns: 1fr 1fr; }
    .score-player h3 { font-size: .92rem; }
    .app-topbar .mobile-brand img { width: 150px; }
}

@media print {
    .app-sidebar, .app-topbar, .bottom-nav, .btn, .marketing-header, .site-footer { display: none !important; }
    .app-shell { display: block; }
    .app-main { padding: 0; }
    .card, .table-wrap { box-shadow: none; border-color: #bbb; }
}

/* Dartscores 1.1: tiered pricing, custom rules and league-night planning */
.url-prefix { border-radius: 10px 0 0 10px !important; pointer-events: none; white-space: nowrap; }
.url-prefix + input { border-radius: 0 10px 10px 0 !important; }
.slug-status { display: flex; align-items: center; gap: 8px; min-height: 25px; margin-top: 8px; color: var(--muted); font-size: .83rem; font-weight: 680; }
.slug-status-dot { flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; background: #aab6c4; }
.slug-status.is-pending .slug-status-dot { background: var(--warning); animation: slugPulse 1s ease-in-out infinite; }
.slug-status.is-available { color: var(--success); }
.slug-status.is-available .slug-status-dot { background: var(--success); box-shadow: 0 0 0 4px var(--success-soft); }
.slug-status.is-unavailable { color: var(--danger); }
.slug-status.is-unavailable .slug-status-dot { background: var(--danger); box-shadow: 0 0 0 4px var(--danger-soft); }
.slug-status.is-warning { color: var(--warning); }
.slug-status.is-warning .slug-status-dot { background: var(--warning); }
.slug-suggestion { margin-top: 5px; padding: 0; border: 0; color: var(--teal-700); background: transparent; font-size: .82rem; font-weight: 800; }
@keyframes slugPulse { 50% { opacity: .35; transform: scale(.8); } }

.form-section { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.form-section-plain { padding: 0; border: 0; box-shadow: none; }
.form-section-head { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 20px; }
.form-section-head > span { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 12px; color: #fff; background: linear-gradient(135deg, var(--navy-700), var(--teal-600)); font-weight: 900; }
.form-section-head h2 { margin: 0 0 3px; font-size: 1.35rem; }
.form-section-head p { margin: 0; }
.form-submit-card { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.form-submit-card .help { max-width: 680px; }
.custom-scoring-panel { margin: 16px 0 18px; padding: 19px; border: 1px solid #9fdccb; border-radius: 14px; background: linear-gradient(180deg, #f4fcfa, #fff); }
.custom-scoring-intro { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.custom-scoring-intro strong { color: var(--navy-900); }
.custom-scoring-intro span { max-width: 650px; color: var(--muted); font-size: .84rem; }
.input-suffix { display: flex; }
.input-suffix input { border-radius: 10px 0 0 10px; }
.input-suffix span { display: grid; place-items: center; padding: 0 12px; border: 1px solid var(--line); border-left: 0; border-radius: 0 10px 10px 0; color: var(--muted); background: var(--surface-soft); font-size: .82rem; font-weight: 750; white-space: nowrap; }
.scoring-options-row { align-items: stretch; }
.scoring-preview { display: grid; align-content: center; gap: 10px; min-height: 126px; padding: 16px; border-radius: 13px; color: #dbe8f4; background: linear-gradient(135deg, var(--navy-950), var(--navy-700)); }
.scoring-preview > div { display: flex; justify-content: space-between; gap: 15px; }
.scoring-preview strong { color: #fff; }
.scoring-preview small { color: #bcd0e2; }
.rules-summary-card { padding: 17px; border: 1px solid rgba(255,255,255,.18); border-radius: 13px; background: rgba(255,255,255,.08); }
.rules-summary-card p strong { color: #fff; }

.pricing-home-section { background: linear-gradient(180deg, #fff, #f5f9fc); }
.pricing-hero { padding: 82px 0 68px; background: radial-gradient(circle at 50% 0, rgba(20,184,157,.2), transparent 38%), linear-gradient(180deg, #fff, #f4f8fb); }
.pricing-hero h1 span { color: var(--teal-700); }
.pricing-hero .lead { margin: 0 auto; }
.pricing-tier-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.pricing-tier-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 23px 20px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); }
.pricing-tier-card.featured { border: 2px solid var(--teal-600); box-shadow: 0 18px 42px rgba(8,127,114,.16); transform: translateY(-7px); }
.pricing-popular { position: absolute; top: -13px; left: 18px; padding: 6px 10px; border-radius: 99px; color: var(--navy-950); background: var(--teal-500); font-size: .68rem; font-weight: 900; letter-spacing: .03em; white-space: nowrap; }
.plan-range { color: var(--teal-700); font-size: .73rem; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.pricing-tier-card h2, .pricing-tier-card h3 { margin-top: 9px; }
.tier-price { display: flex; align-items: flex-start; margin: 2px 0 13px; color: var(--navy-950); font-size: clamp(1.9rem, 3vw, 2.65rem); line-height: 1; font-weight: 950; letter-spacing: -.05em; }
.tier-price > span { margin: 2px 2px 0 0; font-size: 1.1rem; }
.tier-price small { align-self: flex-end; margin: 0 0 3px 5px; color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: 0; }
.mini-check-list, .compact-check-list { display: grid; gap: 8px; margin: 16px 0 20px; padding: 0; list-style: none; }
.mini-check-list { margin-top: auto; padding-top: 8px; font-size: .82rem; }
.mini-check-list li::before, .compact-check-list li::before { content: "✓"; margin-right: 7px; color: var(--teal-700); font-weight: 900; }
.pricing-tier-card .btn { margin-top: auto; }
.pricing-assurance { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 24px; margin-top: 28px; color: var(--muted); font-size: .87rem; font-weight: 700; }
.pricing-note-card { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 30px; padding: 32px; border-radius: var(--radius-lg); color: #d8e5f2; background: radial-gradient(circle at 100% 0, rgba(20,184,157,.35), transparent 35%), linear-gradient(135deg, var(--navy-950), var(--navy-700)); }
.pricing-note-card h2 { color: #fff; }
.pricing-note-card .muted { color: #c3d3e2; }
.pricing-faq-grid { margin-top: 30px; }
.billing-tier-grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
.billing-summary { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)) auto; align-items: center; gap: 18px; }
.billing-summary span, .billing-summary strong { display: block; }
.billing-summary strong { margin-top: 3px; color: var(--navy-950); font-size: 1.25rem; }

.event-create-layout { grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr); }
.event-planner-explainer { position: sticky; top: 92px; }
.event-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.event-summary-card { display: flex; flex-direction: column; min-height: 190px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); background: #fff; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.event-summary-card:hover { color: var(--ink); transform: translateY(-2px); border-color: #9ecabd; box-shadow: var(--shadow-sm); }
.event-summary-card h3 { margin: 14px 0 8px; }
.event-summary-card p { margin-bottom: 15px; }
.event-summary-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 7px; margin-top: auto; color: var(--muted); font-size: .76rem; font-weight: 750; }
.event-key-stats { display: grid; grid-template-columns: repeat(3, minmax(90px,1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: var(--shadow-sm); }
.event-key-stats > div { padding: 16px 19px; text-align: center; border-right: 1px solid var(--line); }
.event-key-stats > div:last-child { border-right: 0; }
.event-key-stats strong, .event-key-stats span { display: block; }
.event-key-stats strong { color: var(--navy-950); font-size: 1.55rem; }
.event-key-stats span { color: var(--muted); font-size: .72rem; font-weight: 750; }
.check-in-hero { display: flex; align-items: center; justify-content: space-between; gap: 25px; border-left: 5px solid var(--teal-600); }
.check-in-hero.check-in-success { border-color: var(--success); background: linear-gradient(90deg, var(--success-soft), #fff 38%); }
.manager-event-controls .event-control-card { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; min-height: 155px; padding: 16px; border: 1px solid rgba(255,255,255,.17); border-radius: 13px; background: rgba(255,255,255,.08); }
.manager-event-controls .event-control-card > span { color: #c5d5e4; font-size: .83rem; }
.manager-event-controls .event-control-card .btn, .manager-event-controls .event-control-card form { margin-top: auto; }
.manager-details { border-top: 1px solid rgba(255,255,255,.18); padding-top: 14px; }
.manager-details summary { cursor: pointer; color: #fff; font-weight: 800; }
.manager-details input, .manager-details select, .manager-details textarea { color: var(--ink); background: #fff; }
.manager-details label { color: #e6eef6; }
.event-schedule { display: grid; gap: 18px; }
.schedule-slot { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-soft); }
.schedule-slot-head { display: flex; justify-content: space-between; align-items: center; padding: 11px 15px; color: #fff; background: var(--navy-900); }
.schedule-slot-head span { font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.board-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; padding: 12px; }
.board-match-card { display: grid; gap: 13px; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.board-label { color: var(--teal-700); font-size: .76rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.board-player { display: grid; gap: 4px; }
.board-player strong { color: var(--navy-900); }
.board-player span { color: var(--muted); font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.board-result { color: var(--navy-950); font-size: 1.75rem; font-weight: 950; }
.attendance-select { width: auto; min-width: 130px; }
.manager-attendance-list .list-item { flex-wrap: wrap; }

@media (max-width: 1120px) {
    .pricing-tier-grid, .billing-tier-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .pricing-tier-card.featured { transform: none; }
    .board-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .event-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 860px) {
    .event-create-layout { grid-template-columns: 1fr; }
    .event-planner-explainer { position: static; }
    .billing-summary { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .billing-summary .btn { grid-column: 1 / -1; }
    .form-submit-card, .check-in-hero, .pricing-note-card { align-items: stretch; flex-direction: column; }
    .event-key-stats { width: 100%; }
}

@media (max-width: 760px) {
    .pricing-tier-grid, .billing-tier-grid, .event-card-grid, .board-grid { grid-template-columns: 1fr; }
    .custom-scoring-intro { flex-direction: column; }
    .scoring-preview > div { flex-direction: column; gap: 3px; }
    .event-key-stats { grid-template-columns: 1fr; }
    .event-key-stats > div { border-right: 0; border-bottom: 1px solid var(--line); }
    .event-key-stats > div:last-child { border-bottom: 0; }
    .billing-summary { grid-template-columns: 1fr; }
    .url-prefix { padding-inline: 10px; font-size: .78rem; }
    .form-section { padding: 17px; }
    .pricing-note-card { padding: 24px; }
}

/* Dartscores 1.2 pricing, Stripe and safe role-preview interface */
.pricing-section-heading { max-width: 820px; margin-inline: auto; text-align: center; }
.pricing-page-section { padding-top: 42px; }
.hero-saving-pill { display: inline-flex; margin-top: 22px; padding: 9px 14px; border: 1px solid rgba(8,127,114,.22); border-radius: 999px; color: var(--teal-800); background: rgba(255,255,255,.88); box-shadow: var(--shadow-sm); font-size: .84rem; font-weight: 900; }
.pricing-controls { display: grid; justify-items: center; gap: 9px; margin: 4px 0 30px; }
.billing-toggle { display: inline-flex; gap: 4px; padding: 5px; border: 1px solid #cddbe7; border-radius: 999px; background: #eaf1f6; box-shadow: inset 0 1px 2px rgba(6,26,53,.06); }
.billing-toggle-button { appearance: none; border: 0; border-radius: 999px; padding: 10px 16px; color: var(--muted); background: transparent; cursor: pointer; font: inherit; font-size: .84rem; font-weight: 850; transition: background .16s ease, color .16s ease, box-shadow .16s ease; }
.billing-toggle-button span { display: inline-flex; margin-left: 5px; padding: 3px 7px; border-radius: 999px; color: #075f50; background: #c9f3e9; font-size: .68rem; font-weight: 950; }
.billing-toggle-button.active { color: #fff; background: var(--navy-900); box-shadow: 0 6px 15px rgba(6,26,53,.18); }
.billing-toggle-button.active span { color: var(--navy-950); background: var(--teal-400); }
.pricing-control-note { margin: 0; color: var(--muted); font-size: .82rem; text-align: center; }
.pricing-card-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.price-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 24px 20px 20px; overflow: hidden; border: 1px solid #d6e1ea; border-radius: 21px; background: linear-gradient(180deg, #fff 0%, #fbfdff 100%); box-shadow: 0 13px 34px rgba(6,26,53,.08); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.price-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--navy-700), var(--teal-500)); opacity: .24; }
.price-card:hover { transform: translateY(-4px); border-color: #9fc8be; box-shadow: 0 20px 46px rgba(6,26,53,.13); }
.price-card-featured { border: 2px solid var(--teal-600); background: radial-gradient(circle at 100% 0, rgba(20,184,157,.15), transparent 32%), #fff; box-shadow: 0 23px 54px rgba(8,127,114,.18); transform: translateY(-8px); }
.price-card-featured::before { height: 6px; opacity: 1; }
.price-card-topline { display: flex; align-items: center; justify-content: space-between; gap: 7px; min-height: 30px; }
.plan-pill, .popular-pill { display: inline-flex; align-items: center; width: max-content; max-width: 100%; padding: 6px 9px; border-radius: 999px; font-size: .67rem; font-weight: 950; line-height: 1.15; letter-spacing: .025em; }
.plan-pill { color: var(--navy-800); background: #eaf1f7; }
.popular-pill { color: #064e43; background: #c9f4e8; }
.price-card h2, .price-card h3 { margin: 16px 0 5px; color: var(--navy-950); font-size: 1.4rem; }
.price-card-strapline { min-height: 42px; margin: 0 0 18px; color: var(--muted); font-size: .8rem; }
.price-display { display: flex; align-items: flex-start; min-height: 55px; color: var(--navy-950); }
.price-currency { margin: 5px 3px 0 0; font-size: 1rem; font-weight: 900; }
.price-display strong { font-size: clamp(2rem, 3.2vw, 2.8rem); line-height: 1; letter-spacing: -.055em; }
.price-period { align-self: flex-end; margin: 0 0 5px 6px; color: var(--muted); font-size: .73rem; font-weight: 800; }
.annual-value { min-height: 32px; margin-top: 5px; padding: 7px 9px; border-radius: 9px; color: #08705e; background: #e9f8f4; font-size: .69rem; font-weight: 800; }
.annual-value[hidden] { display: block; visibility: hidden; }
.price-feature-list { display: grid; gap: 9px; margin: 20px 0 22px; padding: 18px 0 0; border-top: 1px solid var(--line); list-style: none; color: #35445a; font-size: .77rem; }
.price-feature-list li { position: relative; padding-left: 21px; }
.price-feature-list li::before { content: "✓"; position: absolute; left: 0; color: var(--teal-700); font-weight: 950; }
.price-buy-button, .price-card form { margin-top: auto; }
.price-card-footnote { margin: 10px 0 0; color: var(--muted); font-size: .65rem; text-align: center; }
.price-config-note { min-height: 18px; margin: 8px 0 0; text-align: center; }
.billing-price-grid { margin-top: 0; }
.billing-summary { grid-template-columns: repeat(4, minmax(0,1fr)) auto; }
.role-preview-banner { display: flex; align-items: center; justify-content: center; gap: 22px; padding: 10px 18px; color: #e7f0f8; background: linear-gradient(90deg, #75220f, #a44022); box-shadow: 0 8px 22px rgba(83,24,11,.2); }
.role-preview-banner > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px 13px; }
.role-preview-banner strong { color: #fff; }
.role-preview-banner span { font-size: .8rem; }
.role-preview-banner form { margin: 0; }
.stripe-diagnostic-panel { display: flex; align-items: center; justify-content: space-between; gap: 28px; background: radial-gradient(circle at 100% 0, rgba(20,184,157,.13), transparent 36%), #fff; }
.stripe-diagnostic-panel h2 { margin: 4px 0 7px; }
.stripe-diagnostic-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.stripe-diagnostic-actions form { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin: 0; }
.live-charge-confirm { padding: 8px 10px; border: 1px solid #efc6bf; border-radius: 10px; color: #8d2618; background: #fff5f3; font-size: .74rem; }
.stripe-health-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.stripe-health-card { display: grid; align-content: start; gap: 8px; min-height: 120px; }
.stripe-health-card .badge { justify-self: start; }
.stripe-health-card strong { color: var(--navy-950); }
.stripe-health-card small { color: var(--muted); }
.admin-plan-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 14px; }
.admin-plan-card { display: grid; align-content: start; gap: 12px; min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-soft); }
.admin-plan-card label { margin: 0; font-size: .75rem; }
.admin-plan-card input { padding: 9px 10px; font-size: .82rem; }
.compact-grid { gap: 9px; }
.derived-price { display: grid; gap: 2px; padding: 11px; border-radius: 11px; color: #d8e8f5; background: linear-gradient(135deg, var(--navy-950), var(--navy-700)); }
.derived-price span, .derived-price small { font-size: .67rem; }
.derived-price strong { color: #fff; }
.mini-check { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.mini-check input { width: auto; }
.copy-field { display: flex; align-items: center; gap: 10px; padding: 10px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-soft); }
.copy-field code { flex: 1; overflow: auto; white-space: nowrap; }
.webhook-event-pills { display: flex; flex-wrap: wrap; gap: 7px; }
.webhook-event-pills span { padding: 6px 8px; border-radius: 8px; color: var(--navy-800); background: #eaf1f7; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem; }
.stripe-log-list { max-height: 510px; overflow: auto; }

@media (max-width: 1260px) {
    .pricing-card-grid, .admin-plan-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .price-card-featured { transform: none; }
    .stripe-health-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 900px) {
    .pricing-card-grid, .admin-plan-grid, .stripe-health-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .stripe-diagnostic-panel { align-items: stretch; flex-direction: column; }
    .stripe-diagnostic-actions { justify-content: flex-start; }
    .billing-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .billing-summary .btn { grid-column: 1 / -1; }
    .role-preview-banner { align-items: stretch; flex-direction: column; gap: 8px; }
}
@media (max-width: 650px) {
    .pricing-card-grid, .admin-plan-grid, .stripe-health-grid, .billing-summary { grid-template-columns: 1fr; }
    .billing-toggle { width: 100%; }
    .billing-toggle-button { flex: 1; padding-inline: 10px; }
    .price-card { padding: 22px 18px 18px; }
    .price-card-strapline { min-height: 0; }
    .copy-field { align-items: stretch; flex-direction: column; }
    .copy-field .btn { width: 100%; }
}

/* Dartscores 1.3: clubs, permanent team rosters and team competitions */
.competition-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.competition-choice-grid.compact { gap: 10px; }
.competition-choice { position: relative; display: flex; align-items: center; gap: 13px; min-height: 96px; padding: 17px; border: 2px solid var(--line); border-radius: 15px; background: #fff; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease; }
.competition-choice:hover { transform: translateY(-1px); border-color: #a9bdcf; box-shadow: var(--shadow-sm); }
.competition-choice:has(input:checked), .competition-choice.selected { border-color: var(--teal-600); background: linear-gradient(180deg, #f0fcf9, #fff); box-shadow: 0 0 0 3px rgba(20,184,157,.12); }
.competition-choice input { position: absolute; opacity: 0; pointer-events: none; }
.competition-choice .choice-icon { display: grid; place-items: center; flex: 0 0 auto; width: 45px; height: 45px; border-radius: 13px; color: #fff; background: linear-gradient(135deg, var(--navy-700), var(--teal-600)); font-size: 1.08rem; font-weight: 950; }
.competition-choice strong, .competition-choice small { display: block; }
.competition-choice small { margin-top: 4px; color: var(--muted); font-size: .82rem; line-height: 1.4; }
.card-subtle .rules-summary-card { border-color: #cbd8e5; color: var(--ink); background: linear-gradient(180deg, #fff, #f1f6fa); }
.card-subtle .rules-summary-card h3, .card-subtle .rules-summary-card p strong { color: var(--navy-950); }
.card-subtle .rules-summary-card .muted { color: var(--muted); }
.season-manager-grid { align-items: stretch; }

.team-management-callout { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; padding: 20px; border: 1px solid #a9ddd2; border-radius: 16px; background: linear-gradient(135deg, #f3fcfa, #fff); }
.team-management-callout .team-monogram { margin: 0; }
.metric-pill { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border-radius: 99px; color: var(--navy-800); background: var(--blue-100); font-size: .78rem; font-weight: 800; }

.team-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.team-directory-card { display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 17px; color: var(--ink); background: linear-gradient(180deg, #fff, #f9fbfd); box-shadow: var(--shadow-sm); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.team-directory-card:hover { color: var(--ink); transform: translateY(-3px); border-color: #a9c7c0; box-shadow: var(--shadow); }
.team-directory-card h3 { margin: 12px 0 4px; }
.team-directory-card > p { margin-bottom: 15px; color: var(--muted); }
.team-directory-card .btn { margin-top: auto; }
.team-monogram { display: grid; place-items: center; width: 58px; height: 58px; margin-top: 17px; border-radius: 17px; color: #fff; background: linear-gradient(145deg, var(--navy-800), var(--teal-600)); box-shadow: 0 10px 20px rgba(7,29,58,.16); font-size: 1.2rem; font-weight: 950; text-transform: uppercase; }
.team-monogram.large { width: 76px; height: 76px; margin: 0 auto 12px; border-radius: 22px; font-size: 1.55rem; }
.team-card-meta { display: grid; gap: 9px; margin: 0 0 18px; }
.team-card-meta div { display: grid; grid-template-columns: 82px 1fr; gap: 8px; }
.team-card-meta dt { color: var(--muted); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.team-card-meta dd { min-width: 0; margin: 0; font-size: .86rem; overflow-wrap: anywhere; }

.fixture-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.fixture-choice-grid.compact { gap: 9px; }
.fixture-choice-card { position: relative; display: flex; align-items: center; gap: 12px; min-height: 108px; padding: 15px; border: 2px solid var(--line); border-radius: 14px; background: #fff; cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.fixture-choice-grid.compact .fixture-choice-card { min-height: 82px; }
.fixture-choice-card:hover { transform: translateY(-1px); border-color: #abc0d2; }
.fixture-choice-card:has(input:checked) { border-color: var(--teal-600); background: var(--teal-100); }
.fixture-choice-card input { position: absolute; opacity: 0; }
.fixture-choice-tick { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; border: 2px solid #aec0d2; border-radius: 8px; color: transparent; background: #fff; font-weight: 950; }
.fixture-choice-card:has(input:checked) .fixture-choice-tick { color: #fff; border-color: var(--teal-700); background: var(--teal-700); }
.fixture-choice-main { display: grid; min-width: 0; gap: 3px; }
.fixture-choice-main small, .fixture-choice-main span { color: var(--muted); font-size: .78rem; }
.fixture-choice-main strong { color: var(--navy-950); line-height: 1.35; }
.fixture-choice-main em { color: var(--muted); font-size: .78rem; font-style: normal; text-transform: uppercase; }

.team-night-fixture-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.team-night-fixture-card { display: grid; gap: 5px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; color: var(--ink); background: #fff; }
.team-night-fixture-card:hover { color: var(--ink); border-color: var(--teal-600); background: #f4fcfa; }
.team-night-fixture-card strong { color: var(--navy-950); }
.team-night-fixture-card em { color: var(--muted); font-size: .75rem; font-style: normal; text-transform: uppercase; }
.team-night-fixture-card > span:last-child { color: var(--teal-700); font-size: .78rem; font-weight: 800; }
.team-game-context { margin: 10px 0 2px; padding: 7px 9px; border-radius: 8px; color: var(--teal-700); background: var(--teal-100); font-size: .76rem; font-weight: 800; }

.team-scoreboard { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 24px; padding: 28px; text-align: center; background: radial-gradient(circle at 50% -20%, rgba(20,184,157,.17), transparent 40%), #fff; }
.team-score-side { display: grid; justify-items: center; gap: 7px; min-width: 0; }
.team-score-side h2 { margin: 0; font-size: clamp(1.25rem,2.4vw,2rem); overflow-wrap: anywhere; }
.team-score-side > strong { color: var(--navy-950); font-size: 3rem; line-height: 1; }
.team-score-side small { color: var(--muted); }
.team-score-middle { display: grid; min-width: 145px; gap: 4px; padding: 18px; border-radius: 18px; color: #dce9f5; background: var(--navy-950); }
.team-score-middle span { font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.team-score-middle strong { color: #fff; font-size: 2rem; }
.team-score-middle small { color: #a9bfd2; }
.team-match-card-list { display: grid; gap: 10px; }
.team-game-row { display: grid; grid-template-columns: 42px minmax(130px,1fr) 100px minmax(130px,1fr) auto; align-items: center; gap: 14px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.team-game-number { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; color: var(--navy-900); background: var(--blue-100); font-weight: 900; }
.team-game-player { min-width: 0; }
.team-game-player strong, .team-game-player small { display: block; overflow-wrap: anywhere; }
.team-game-player small { color: var(--muted); }
.team-game-player.away { text-align: right; }
.team-game-score { display: grid; justify-items: center; }
.team-game-score strong { color: var(--navy-950); font-size: 1.35rem; }
.team-game-score span { color: var(--muted); font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.team-game-score small { color: var(--muted); font-size: .7rem; }
.confirmation-card { display: grid; gap: 8px; align-content: start; }

.team-game-banner { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; padding: 17px 19px; border: 1px solid #9fdccb; border-radius: 15px; background: linear-gradient(135deg, #ecfaf7, #fff); box-shadow: var(--shadow-sm); }
.team-game-banner > div { display: grid; gap: 5px; }
.team-game-banner strong { color: var(--navy-950); font-size: 1.05rem; }
.team-game-banner small { color: var(--muted); }

.division-standings-stack { display: grid; gap: 24px; }
.division-table-block { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; }
.division-table-block .table-wrap { border: 0; border-radius: 0; }
.division-table-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; color: #fff; background: linear-gradient(135deg, var(--navy-900), var(--navy-700)); }
.division-table-head strong { font-size: 1.02rem; }
.division-table-head span { color: #c4d5e5; font-size: .78rem; }

@media (max-width: 1100px) {
    .team-directory-grid, .team-night-fixture-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .team-game-row { grid-template-columns: 38px minmax(120px,1fr) 84px minmax(120px,1fr); }
    .team-game-row > .cluster { grid-column: 2 / -1; justify-content: flex-end; }
}

@media (max-width: 760px) {
    .competition-choice-grid, .fixture-choice-grid, .team-directory-grid, .team-night-fixture-grid { grid-template-columns: 1fr; }
    .team-management-callout { grid-template-columns: auto 1fr; }
    .team-management-callout > .btn { grid-column: 1 / -1; width: 100%; }
    .team-scoreboard { grid-template-columns: 1fr; gap: 16px; }
    .team-score-middle { width: min(100%,280px); margin: 0 auto; }
    .team-game-row { grid-template-columns: 34px 1fr auto; }
    .team-game-player.home { grid-column: 2; }
    .team-game-score { grid-column: 3; grid-row: 1 / span 2; }
    .team-game-player.away { grid-column: 2; text-align: left; }
    .team-game-row > .cluster { grid-column: 1 / -1; justify-content: stretch; }
    .team-game-row > .cluster .btn { flex: 1; }
    .team-game-banner { align-items: stretch; flex-direction: column; }
    .team-game-banner .btn { width: 100%; }
}
.section-divider { height: 1px; margin: 24px 0; background: var(--line); }

/* Dartscores v1.4 organiser products, leaderboards and live scorer */
.pricing-product-switch { display:flex; width:min(760px,100%); margin:0 auto 18px; padding:6px; gap:6px; border:1px solid #cbd9e5; border-radius:18px; background:#edf3f8; }
.pricing-product-button { flex:1; display:grid; gap:2px; padding:13px 16px; border:0; border-radius:13px; color:var(--navy-800); background:transparent; cursor:pointer; text-align:left; }
.pricing-product-button span { font-weight:900; }
.pricing-product-button small { color:var(--muted); }
.pricing-product-button.active { color:#fff; background:linear-gradient(135deg,var(--navy-900),var(--teal-700)); box-shadow:0 8px 22px rgba(6,26,53,.18); }
.pricing-product-button.active small { color:#d5eee8; }
.pricing-product-panel[hidden] { display:none!important; }
.pricing-product-intro { max-width:760px; margin:0 auto 24px; text-align:center; }
.pricing-product-intro h3 { margin:10px 0 5px; font-size:1.35rem; }
.pricing-product-intro p { margin:0; color:var(--muted); }
.pricing-card-grid-team { grid-template-columns:repeat(2,minmax(0,390px)); justify-content:center; }
.admin-plan-section + .admin-plan-section { margin-top:30px; padding-top:26px; border-top:1px solid var(--line); }
.admin-plan-section-head { margin-bottom:15px; }
.admin-plan-section-head h3 { margin:8px 0 3px; }
.admin-plan-grid-team { grid-template-columns:repeat(2,minmax(0,1fr)); }
.inline-product-form { display:flex; align-items:center; gap:7px; min-width:220px; }
.inline-product-form select { min-width:135px; }
.product-lock-card { display:flex; align-items:center; gap:13px; padding:14px 16px; border:1px solid #9fdccb; border-radius:14px; background:#f2fcf9; }
.product-lock-card strong,.product-lock-card span { display:block; }
.product-lock-card span { color:var(--muted); font-size:.8rem; }
.leader-highlight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.leader-highlight { display:grid; gap:4px; padding:17px; border:1px solid #c9dce8; border-radius:15px; background:linear-gradient(145deg,#fff,#f3f8fc); box-shadow:var(--shadow-sm); }
.leader-highlight span { color:var(--teal-700); font-size:.72rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.leader-highlight strong { color:var(--navy-950); font-size:1.25rem; }
.leader-highlight small { color:var(--muted); }
.withdraw-attendance-form { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.withdraw-attendance-form input { width:min(230px,100%); }
.live-option-banner { display:flex; align-items:center; justify-content:space-between; gap:22px; background:radial-gradient(circle at 100% 0,rgba(20,184,157,.14),transparent 42%),#fff; }
.live-option-banner h2 { margin:8px 0 4px; }
.live-option-banner p { margin:0; }
.live-start-card { max-width:760px; margin:0 auto; }
.live-rule-pills { display:flex; flex-wrap:wrap; gap:8px; }
.live-rule-pills span { padding:7px 11px; border-radius:999px; color:var(--teal-800); background:var(--teal-100); font-size:.78rem; font-weight:850; }
.live-score-shell { display:grid; gap:20px; max-width:1050px; margin:0 auto; }
.offline-score-notice { position:sticky; top:74px; z-index:25; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 15px; border:1px solid #f3c667; border-radius:13px; color:#6d4800; background:#fff8df; box-shadow:var(--shadow-sm); }
.live-scoreboard { padding:0; overflow:hidden; border:0; color:#fff; background:linear-gradient(145deg,#061a35,#0a3764 58%,#087f72); }
.live-scoreboard.is-complete { background:linear-gradient(145deg,#062d28,#0a645b); }
.live-score-meta { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; padding:13px; border-bottom:1px solid rgba(255,255,255,.14); }
.live-score-meta span { padding:5px 9px; border-radius:999px; color:#d7e7f4; background:rgba(255,255,255,.09); font-size:.72rem; font-weight:850; }
.live-player-grid { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:stretch; }
.live-player { position:relative; display:grid; place-items:center; align-content:center; min-height:285px; padding:30px 20px; text-align:center; opacity:.72; transition:opacity .18s,background .18s; }
.live-player.is-throwing { opacity:1; background:rgba(20,184,157,.12); }
.live-player h2 { margin:7px 0 0; color:#fff; font-size:clamp(1.15rem,2.6vw,1.8rem); }
.live-player small { min-height:20px; color:#b8ccdc; }
.live-throw-marker { visibility:hidden; padding:5px 9px; border-radius:999px; color:#052e2a; background:#56e1c7; font-size:.66rem; font-weight:950; letter-spacing:.08em; }
.live-player.is-throwing .live-throw-marker { visibility:visible; }
.live-remaining { color:#fff; font-size:clamp(4.7rem,12vw,8rem); line-height:.92; letter-spacing:-.06em; text-shadow:0 8px 30px rgba(0,0,0,.24); }
.live-player-stats { display:flex; justify-content:center; flex-wrap:wrap; gap:7px; margin-top:17px; }
.live-player-stats span { padding:6px 9px; border-radius:9px; color:#e7f2fa; background:rgba(255,255,255,.1); font-size:.72rem; }
.live-versus { display:grid; place-items:center; align-content:center; gap:4px; padding:15px; }
.live-versus span { color:#9db5c8; font-size:.7rem; font-weight:900; letter-spacing:.12em; }
.live-versus strong { font-size:1.5rem; }
.checkout-advice { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:15px 20px; color:#052e2a; background:#62e4cb; }
.checkout-advice span { font-size:.8rem; font-weight:800; }
.checkout-advice strong { font-size:1.05rem; }
.checkout-advice.completed { color:#fff; background:rgba(255,255,255,.12); }
.live-control-card { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.live-control-card p { margin:3px 0 0; }
.live-entry-grid { display:grid; grid-template-columns:minmax(170px,.7fr) minmax(145px,.5fr) minmax(240px,1fr); gap:14px; align-items:end; }
.live-score-input input { height:72px; font-size:2.4rem; font-weight:950; text-align:center; }
.live-checkout-check { min-height:72px; padding:12px; border:1px solid #b7cbd8; border-radius:12px; }
.live-quick-scores { display:flex; flex-wrap:wrap; gap:7px; margin:15px 0; }
.live-quick-scores button { min-width:48px; padding:8px 10px; border:1px solid #b8cad7; border-radius:9px; color:var(--navy-900); background:#f5f9fc; cursor:pointer; font-weight:850; }
.live-quick-scores button:hover { color:#fff; border-color:var(--teal-700); background:var(--teal-700); }
.live-visit-list { display:grid; gap:7px; }
.live-visit-row { display:grid; grid-template-columns:45px minmax(130px,1fr) 55px minmax(160px,1fr); align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; }
.live-visit-row > span { color:var(--muted); font-size:.75rem; }
.live-visit-row > b { color:var(--navy-950); font-size:1.2rem; }
.live-visit-row > small { color:var(--muted); text-align:right; }

@media (max-width:900px){.leader-highlight-grid{grid-template-columns:1fr}.live-entry-grid{grid-template-columns:1fr 1fr}.live-checkout-check{grid-column:1/-1}.admin-plan-grid-team{grid-template-columns:1fr}}
@media (max-width:700px){.pricing-product-switch{flex-direction:column}.pricing-card-grid-team{grid-template-columns:1fr}.live-player-grid{grid-template-columns:1fr}.live-versus{padding:7px}.live-player{min-height:220px;padding:22px 14px}.live-remaining{font-size:5rem}.checkout-advice,.live-control-card,.live-option-banner{align-items:stretch;flex-direction:column}.live-entry-grid{grid-template-columns:1fr}.live-checkout-check{grid-column:auto}.live-visit-row{grid-template-columns:34px 1fr 48px}.live-visit-row small{grid-column:2/-1;text-align:left}.withdraw-attendance-form{width:100%}.withdraw-attendance-form input,.withdraw-attendance-form .btn{width:100%}}

/* Dartscores v1.5 rolling board queue and marketing showcase */
.rolling-live-notice { align-items:center; justify-content:space-between; }
.rolling-board-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; }
.rolling-board-card { min-height:230px; display:flex; flex-direction:column; gap:14px; padding:18px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow-sm); }
.rolling-board-card.is-busy { border-color:#b8d9d2; background:linear-gradient(145deg,#fff,#f1fbf8); }
.rolling-board-card.is-open { border-style:dashed; background:#f8fbfd; }
.rolling-board-head { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.rolling-board-head > span:first-child { color:var(--navy-900); font-size:.78rem; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.rolling-board-players { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:9px; text-align:center; }
.rolling-board-players strong { color:var(--navy-950); font-size:1.08rem; }
.rolling-board-players span { color:var(--muted); font-size:.72rem; font-weight:900; text-transform:uppercase; }
.rolling-live-score { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:12px; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--navy-900),var(--teal-700)); text-align:center; }
.rolling-live-score b { font-size:1.75rem; }
.rolling-live-score span { color:#c7e7e2; font-size:.68rem; text-transform:uppercase; }
.rolling-open-state { display:grid; place-items:center; align-content:center; flex:1; min-height:135px; text-align:center; }
.rolling-open-state strong { color:var(--teal-700); }
.rolling-open-state p { max-width:230px; margin:6px auto 0; }
.rolling-waiting-list .list-item { gap:12px; }
.queue-number { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:50%; color:var(--navy-900); background:var(--blue-100); font-size:.78rem; font-weight:900; }
.rolling-example { display:grid; gap:9px; }
.rolling-example > div { display:grid; grid-template-columns:70px 1fr; gap:2px 10px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.rolling-example span { color:var(--teal-700); font-size:.72rem; font-weight:900; text-transform:uppercase; }
.rolling-example strong { color:var(--navy-950); }
.rolling-example small { grid-column:2; color:var(--muted); }
.rolling-example .is-open { border-style:dashed; background:#f4faf8; }

.rolling-home-hero { padding-bottom:48px; }
.home-journey-section { padding-top:52px; }
.rolling-hero-demo { transform:rotate(.6deg); }
.home-live-board { padding:17px; border-radius:17px; color:#fff; background:linear-gradient(145deg,#0a315d,#087f72); }
.home-board-title { display:flex; justify-content:space-between; align-items:center; }
.home-board-title span { font-size:.75rem; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.home-board-title b { padding:4px 8px; border-radius:999px; color:#06463e; background:#6be4cf; font-size:.68rem; text-transform:uppercase; }
.home-score-pair { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:18px 0 13px; text-align:center; }
.home-score-pair div { display:grid; gap:3px; }
.home-score-pair strong { color:#d7ebe7; }
.home-score-pair span { color:#fff; font-size:3.2rem; font-weight:950; line-height:1; }
.home-score-pair em { color:#a8c8c1; font-size:.72rem; font-style:normal; font-weight:900; }
.home-checkout-tip { padding:10px 12px; border-radius:10px; color:#063c35; background:#70e7d1; font-size:.82rem; }
.home-board-queue { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:10px; }
.home-board-queue > div { display:grid; gap:2px; padding:11px; border-radius:12px; color:var(--ink); background:#fff; }
.home-board-queue span { color:var(--teal-700); font-size:.68rem; font-weight:900; text-transform:uppercase; }
.home-board-queue small { color:var(--muted); }
.home-board-queue .available { background:#eaf8f4; }
.home-flow-grid .step { padding-left:70px; }
.home-showcase-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.home-showcase-card { overflow:hidden; padding:28px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:var(--shadow-sm); }
.home-showcase-wide { grid-column:1/-1; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:34px; }
.feature-pill { display:inline-flex; padding:6px 10px; margin-bottom:14px; border-radius:999px; color:var(--teal-800); background:var(--teal-100); font-size:.72rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.feature-check-list { display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; margin:20px 0 0; padding:0; list-style:none; }
.feature-check-list li { position:relative; padding-left:22px; color:#43536a; }
.feature-check-list li::before { content:'✓'; position:absolute; left:0; color:var(--teal-700); font-weight:950; }
.mini-night-dashboard { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:16px; border-radius:20px; background:linear-gradient(145deg,var(--navy-950),var(--navy-700)); }
.mini-board,.mini-waiting { display:grid; gap:3px; padding:13px; border-radius:12px; background:#fff; }
.mini-board span,.mini-waiting b { color:var(--teal-700); font-size:.68rem; font-weight:900; text-transform:uppercase; }
.mini-board small,.mini-waiting span { color:var(--muted); font-size:.75rem; }
.mini-board.open { border:1px dashed #79cdbc; background:#eefbf7; }
.mini-waiting { grid-row:1/3; grid-column:2; align-content:start; }
.mini-scorer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:18px; border-radius:16px; color:#fff; background:linear-gradient(145deg,var(--navy-950),var(--teal-700)); text-align:center; }
.mini-scorer div { display:grid; gap:4px; }
.mini-scorer small { color:#c6ded9; }
.mini-scorer strong { font-size:3rem; line-height:1; }
.mini-scorer > span { color:#a7c8c1; font-size:.68rem; font-weight:900; }
.mini-checkout { display:flex; justify-content:space-between; gap:12px; margin:10px 0 16px; padding:10px 12px; border-radius:11px; color:#06483f; background:#d7f7f0; }
.mini-player-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:18px 0; }
.mini-player-stats div { padding:14px 8px; border-radius:12px; background:#f1f6fa; text-align:center; }
.mini-player-stats strong,.mini-player-stats span { display:block; }
.mini-player-stats strong { color:var(--navy-950); font-size:1.45rem; }
.mini-player-stats span { color:var(--muted); font-size:.7rem; }
.competition-choice-card { padding:28px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(145deg,#fff,#f6f9fc); box-shadow:var(--shadow-sm); }
.competition-choice-card.team-card { background:linear-gradient(145deg,#fff,#eefaf7); }
.mock-table { display:grid; gap:7px; margin-top:22px; }
.mock-table > div { display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:10px; padding:11px 12px; border-radius:11px; background:#fff; border:1px solid var(--line); }
.mock-table b { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:#fff; background:var(--navy-800); }
.mock-table span { color:var(--teal-700); font-weight:850; }

@media (max-width:900px){.home-showcase-wide{grid-template-columns:1fr}.home-flow-grid{grid-template-columns:1fr 1fr}.rolling-board-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.rolling-live-notice{align-items:flex-start;flex-direction:column}.rolling-board-grid,.home-showcase-grid,.home-flow-grid{grid-template-columns:1fr}.home-showcase-wide{grid-column:auto}.home-board-queue,.feature-check-list,.mini-night-dashboard{grid-template-columns:1fr}.mini-waiting{grid-row:auto;grid-column:auto}.mini-player-stats{grid-template-columns:1fr 1fr}.rolling-board-players{grid-template-columns:1fr}.rolling-board-players span{padding:2px}.rolling-live-score{grid-template-columns:1fr}.rolling-live-score span{order:3}.rolling-waiting-list .list-item{align-items:flex-start;flex-wrap:wrap}.rolling-waiting-list .badge{margin-left:42px}}

/* Dartscores v1.6 complete league operations */
.external-result-strip { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border:1px solid #b9d8e8; border-radius:14px; background:#f2f9fd; }
.external-result-strip > div:first-child { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:4px 10px; }
.external-result-strip small { grid-column:1/-1; color:var(--muted); }
.stat-detail-card { padding:16px; border:1px solid var(--line); border-radius:15px; background:linear-gradient(145deg,#fff,#f5f9fc); }
.mini-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:12px; }
.mini-stat-grid span { display:grid; gap:2px; padding:10px 6px; border-radius:10px; background:#edf4f8; text-align:center; }
.mini-stat-grid b { color:var(--navy-950); font-size:1.05rem; }
.mini-stat-grid small { color:var(--muted); font-size:.67rem; }
.settings-details { border:1px solid var(--line); border-radius:13px; background:#fff; }
.settings-details > summary { cursor:pointer; padding:13px 15px; color:var(--navy-900); font-weight:850; }
.settings-details[open] { padding:0 15px 15px; }
.settings-details[open] > summary { margin:0 -15px 14px; border-bottom:1px solid var(--line); }
.exception-manager-card { border-color:#e8c7c7; background:linear-gradient(145deg,#fff,#fff8f8); }
.team-card-section-label { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; padding:10px 14px; border-radius:11px; color:#fff; background:linear-gradient(135deg,var(--navy-900),var(--teal-800)); }
.team-card-section-label:first-child { margin-top:0; }
.team-card-section-label span { color:#d5ebe7; font-size:.78rem; }
.team-game-row-rich { margin-top:8px; }
.substitution-panel { margin:7px 0 12px 45px; padding:10px 12px; border:1px dashed #b7cbd8; border-radius:11px; background:#f8fbfd; }
.substitution-panel > summary { cursor:pointer; color:var(--navy-800); font-size:.8rem; font-weight:800; }
.manager-reports-card { border-color:#c3ddd7; background:linear-gradient(145deg,#fff,#f2fbf8); }
.report-link-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:11px; }
.report-link { display:grid; gap:4px; padding:15px; border:1px solid var(--line); border-radius:13px; color:var(--ink); background:#fff; transition:.18s ease; }
.report-link:hover { transform:translateY(-2px); border-color:var(--teal-600); box-shadow:var(--shadow-sm); }
.report-link strong { color:var(--navy-900); }
.report-link span { color:var(--muted); font-size:.78rem; }
.season-honours-card { display:grid; grid-template-columns:minmax(220px,.7fr) 1.3fr; gap:24px; padding:25px; border-radius:22px; color:#fff; background:linear-gradient(135deg,var(--navy-950),#0a4a72 62%,var(--teal-800)); box-shadow:var(--shadow-md); }
.season-honours-card h2 { color:#fff; margin:10px 0 5px; }
.season-honours-card p { color:#c7dfdd; }
.season-honours-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; }
.season-honours-grid article { display:grid; gap:3px; padding:14px; border:1px solid rgba(255,255,255,.18); border-radius:13px; background:rgba(255,255,255,.08); }
.season-honours-grid small { color:#9de0d5; text-transform:uppercase; letter-spacing:.04em; }
.season-honours-grid strong { color:#fff; }
.season-honours-grid span { color:#d9eeee; font-size:.78rem; }
.performance-board-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:13px; }
.performance-board { padding:16px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.performance-board h3 { margin-bottom:10px; }
.performance-board ol { display:grid; gap:6px; margin:0; padding:0; list-style:none; counter-reset:rank; }
.performance-board li { counter-increment:rank; display:grid; grid-template-columns:26px 1fr auto; align-items:center; gap:8px; padding:8px; border-radius:9px; background:#f3f7fa; }
.performance-board li::before { content:counter(rank); display:grid; place-items:center; width:24px; height:24px; border-radius:50%; color:#fff; background:var(--navy-800); font-size:.7rem; font-weight:900; }
.performance-board li span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.performance-board li strong { color:var(--teal-800); font-size:.8rem; }
.home-online-section { background:#fff; }
.home-online-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.home-online-card { padding:28px; border:1px solid var(--line); border-radius:23px; background:linear-gradient(145deg,#fff,#f5f9fc); box-shadow:var(--shadow-sm); }
.home-online-card.online-card { background:linear-gradient(145deg,#fff,#effbf7); }
.status-dot { display:inline-flex; align-items:center; gap:7px; color:var(--muted); font-size:.75rem; font-weight:850; }
.status-dot::before { content:''; width:9px; height:9px; border-radius:50%; background:#8a98a9; box-shadow:0 0 0 4px rgba(138,152,169,.13); }
.status-dot.is-live::before { background:#27a56d; box-shadow:0 0 0 4px rgba(39,165,109,.15); }
.status-dot.is-online::before { background:#1f91c9; box-shadow:0 0 0 4px rgba(31,145,201,.15); }
.online-flow-list { display:grid; grid-template-columns:34px 1fr; gap:10px 12px; margin-top:20px; }
.online-flow-list > span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:#fff; background:var(--navy-800); font-weight:900; }
.online-flow-list p { display:grid; gap:2px; margin:0; }
.online-flow-list small { color:var(--muted); }
.external-result-mock { margin:18px 0; padding:17px; border-radius:17px; color:#fff; background:linear-gradient(145deg,var(--navy-950),var(--teal-800)); }
.external-mock-head { display:flex; justify-content:space-between; gap:12px; }
.external-mock-head span { color:#8ce2d2; font-size:.75rem; font-weight:850; }
.external-score-row { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; margin:17px 0; text-align:center; }
.external-score-row div { display:grid; gap:4px; }
.external-score-row small { color:#c3dcd8; }
.external-score-row b { font-size:3.1rem; line-height:1; }
.external-score-row em { color:#8fbab3; font-style:normal; }
.external-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.external-facts span { padding:8px; border-radius:9px; color:#d9eeee; background:rgba(255,255,255,.08); font-size:.7rem; text-align:center; }
.external-facts b { display:block; color:#fff; font-size:1.05rem; }
.external-result-mock button { width:100%; margin-top:12px; padding:10px; border:0; border-radius:10px; color:#063f38; background:#77e6d2; font-weight:900; }
.home-operations-section { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.operations-card { position:relative; overflow:hidden; padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }
.operations-card > span { position:absolute; top:10px; right:15px; color:#d9e7ef; font-size:2.5rem; font-weight:950; }
.operations-card h3 { position:relative; margin:5px 0 9px; }
.operations-card p { position:relative; margin:0; color:var(--muted); }

@media (max-width:900px) {
    .season-honours-card { grid-template-columns:1fr; }
    .home-online-grid { grid-template-columns:1fr; }
    .team-game-row-rich { grid-template-columns:36px 1fr; }
    .team-game-row-rich .team-game-score,.team-game-row-rich .team-game-player.away,.team-game-row-rich .cluster { grid-column:2; text-align:left; }
}
@media (max-width:700px) {
    .external-result-strip { align-items:stretch; flex-direction:column; }
    .mini-stat-grid,.external-facts { grid-template-columns:1fr 1fr; }
    .team-card-section-label { align-items:flex-start; flex-direction:column; }
    .substitution-panel { margin-left:0; }
    .season-honours-card { padding:20px; }
}

/* Dartscores v1.6 tie-break ordering and notification polish */
.tiebreak-order-list { display:grid; gap:8px; margin-top:8px; }
.tiebreak-order-list > label { display:grid; grid-template-columns:30px 1fr; align-items:center; gap:9px; }
.tiebreak-order-list > label > span { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; color:#fff; background:var(--navy-800); font-size:.75rem; font-weight:900; }
.tiebreak-order-list select { min-width:0; }
.notification-count { display:inline-grid; place-items:center; min-width:19px; height:19px; padding:0 5px; margin-left:5px; border-radius:99px; color:#fff; background:#d94242; font-size:.65rem; font-weight:950; line-height:1; box-shadow:0 0 0 2px rgba(255,255,255,.9); }
.notification-count[hidden] { display:none!important; }
@media (max-width:700px) { .tiebreak-config-grid { grid-template-columns:1fr; } }
.public-scoreboard-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
.public-scoreboard-summary div { display:grid; gap:2px; padding:17px; border:1px solid var(--line); border-radius:15px; background:#fff; text-align:center; box-shadow:var(--shadow-sm); }
.public-scoreboard-summary strong { color:var(--navy-950); font-size:1.8rem; }
.public-scoreboard-summary span { color:var(--muted); font-size:.76rem; font-weight:800; text-transform:uppercase; }
.public-board-note { margin:18px 0 0; color:var(--muted); font-size:.8rem; text-align:center; }
@media (max-width:700px) { .public-scoreboard-summary { grid-template-columns:1fr; } }

/* Dartscores v1.6 result source and external match entry */
.result-source-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:12px 0 20px; }
.result-source-card { position:relative; display:grid; gap:5px; min-height:116px; padding:18px; border:2px solid var(--line); border-radius:16px; background:#fff; cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.result-source-card:hover { transform:translateY(-1px); border-color:#90cfc2; box-shadow:var(--shadow-sm); }
.result-source-card.selected { border-color:var(--teal-600); background:linear-gradient(145deg,#fff,#edfaf7); box-shadow:0 0 0 3px rgba(28,157,132,.1); }
.result-source-card input { position:absolute; top:15px; right:15px; width:auto; }
.result-source-card strong { padding-right:28px; color:var(--navy-950); font-size:1rem; }
.result-source-card span { color:var(--muted); font-size:.8rem; line-height:1.45; }
.external-result-panel { margin:0 0 20px; padding:20px; border:1px solid #b9d8e8; border-radius:16px; background:linear-gradient(145deg,#fff,#f1f9fd); }
.external-result-panel[hidden] { display:none!important; }
.external-result-panel h3 { margin:0 0 5px; }
.external-result-panel > p { margin:0 0 17px; color:var(--muted); }
.required-marker { display:inline-flex; align-items:center; padding:3px 7px; margin-left:5px; border-radius:99px; color:#7b2e2e; background:#fff0f0; font-size:.65rem; font-weight:900; text-transform:uppercase; }
.split-inputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.optional-match-stats { margin:17px 0; border:1px solid var(--line); border-radius:14px; background:#fff; }
.optional-match-stats > summary { cursor:pointer; padding:14px 16px; color:var(--navy-900); font-weight:850; }
.optional-match-stats[open] { padding:0 16px 16px; }
.optional-match-stats[open] > summary { margin:0 -16px 15px; border-bottom:1px solid var(--line); }
@media (max-width:700px) { .result-source-picker,.split-inputs { grid-template-columns:1fr; } }
.result-source-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:#fff!important; background:var(--navy-800); font-size:1rem!important; font-weight:950; }
.result-source-card.selected .result-source-icon { background:var(--teal-700); }
.result-source-card > span:last-child { display:grid; gap:4px; }
.result-source-card small { color:var(--muted); line-height:1.45; }


/* Dartscores v1.9.7 homepage signup, trial messaging and online-score contrast */
.home-trial-banner {
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin:0 0 17px;
    padding:9px 13px;
    border:1px solid rgba(20,184,157,.34);
    border-radius:999px;
    color:#dffbf5;
    background:rgba(5,42,70,.58);
    font-size:.82rem;
    font-weight:900;
}
.home-trial-banner::before {
    content:'30';
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    border-radius:50%;
    color:#063f38;
    background:#77e6d2;
    font-size:.72rem;
}
.home-quick-signup {
    display:grid;
    gap:12px;
    max-width:690px;
    margin:25px 0 15px;
    padding:18px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:19px;
    background:rgba(255,255,255,.1);
    box-shadow:0 14px 36px rgba(1,17,36,.2);
    backdrop-filter:blur(8px);
}
.home-quick-signup-title { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
.home-quick-signup-title strong { color:#fff; font-size:1.02rem; }
.home-quick-signup-title span { color:#bfe8e1; font-size:.76rem; font-weight:750; }
.home-quick-signup-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.home-quick-signup label { display:grid; gap:5px; color:#e8f6f4; font-size:.76rem; font-weight:850; }
.home-quick-signup input {
    width:100%;
    min-height:45px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.42);
    border-radius:11px;
    color:#10243d;
    background:#fff;
    box-shadow:none;
}
.home-quick-signup input:focus { outline:3px solid rgba(119,230,210,.25); border-color:#77e6d2; }
.home-quick-signup-actions { display:grid; grid-template-columns:1.25fr .9fr; gap:10px; }
.home-quick-signup-actions .btn { min-height:47px; justify-content:center; }
.home-quick-signup-note { margin:0; color:#d1e8e5; font-size:.76rem; line-height:1.45; }
.home-quick-signup-note strong { color:#fff; }
.home-quick-signup-login { color:#d1e8e5; font-size:.78rem; }
.home-quick-signup-login a { color:#fff; font-weight:900; text-decoration:underline; text-underline-offset:3px; }

.external-result-mock {
    color:#ffffff;
    background:linear-gradient(145deg,#031329 0%,#075e57 100%);
    box-shadow:0 14px 30px rgba(3,19,41,.2);
}
.external-result-mock strong,
.external-result-mock b { color:#ffffff; }
.external-mock-head span { color:#9ff2e2; }
.external-score-row small { color:#d9f4ef; font-weight:800; }
.external-score-row em { color:#b8e7df; }
.external-facts span { color:#e9fbf7; background:rgba(255,255,255,.13); }
.external-facts b { color:#ffffff; }
.external-result-mock button { color:#042f2b; background:#7fe8d5; }

.verification-benefits {
    display:grid;
    gap:9px;
    margin:18px 0;
    text-align:left;
}
.verification-benefits div {
    padding:11px 13px;
    border:1px solid var(--line);
    border-radius:11px;
    background:var(--surface-soft);
}
.verification-benefits strong { display:block; color:var(--navy-900); }
.verification-benefits span { color:var(--muted); font-size:.78rem; }

@media (max-width:760px) {
    .home-quick-signup-fields,
    .home-quick-signup-actions { grid-template-columns:1fr; }
    .home-quick-signup-title { align-items:flex-start; flex-direction:column; gap:4px; }
}

/* Dartscores v1.9.8 homepage signup visibility hotfix */
.home-quick-signup {
    color:#071d3a;
    background:#ffffff;
    border:1px solid #c4d3e3;
    box-shadow:0 18px 44px rgba(1,17,36,.24);
    backdrop-filter:none;
}
.home-quick-signup-title strong {
    color:#071d3a;
}
.home-quick-signup-title span {
    color:#3f5873;
}
.home-quick-signup label {
    color:#102b4b;
}
.home-quick-signup input {
    color:#071d3a;
    background:#ffffff;
    border:2px solid #aebfd2;
    box-shadow:inset 0 1px 2px rgba(1,17,36,.04);
}
.home-quick-signup input::placeholder {
    color:#607287;
    opacity:1;
}
.home-quick-signup input:-webkit-autofill,
.home-quick-signup input:-webkit-autofill:hover,
.home-quick-signup input:-webkit-autofill:focus {
    -webkit-text-fill-color:#071d3a;
    box-shadow:0 0 0 1000px #ffffff inset;
}
.home-quick-signup-actions .btn-secondary {
    color:#073b70;
    background:#eaf4ff;
    border:2px solid #79a6d2;
    box-shadow:none;
}
.home-quick-signup-actions .btn-secondary:hover {
    color:#052b52;
    background:#d9edff;
    border-color:#4f87bd;
}
.home-quick-signup-note {
    color:#3f5873;
}
.home-quick-signup-note strong {
    color:#071d3a;
}
.home-quick-signup-login {
    color:#3f5873;
}
.home-quick-signup-login a {
    color:#075da8;
}
@media (max-width:760px) {
    .home-quick-signup {
        padding:16px;
    }
    .home-quick-signup-actions .btn {
        width:100%;
        white-space:normal;
        text-align:center;
    }
}

/* Dartscores v1.9.9 hero layout and signup placement */
.rolling-home-hero .hero-grid {
    grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);
    align-items:start;
    gap:56px;
}
.rolling-home-hero .hero-copy {
    padding-top:12px;
}
.hero-demo-stack {
    display:grid;
    gap:18px;
    width:100%;
    align-self:start;
}
.hero-demo-stack .rolling-hero-demo {
    width:100%;
    margin:0;
    transform:none;
}
.hero-demo-stack .home-quick-signup {
    width:100%;
    max-width:none;
    margin:0;
    padding:20px;
    gap:13px;
}
.hero-demo-stack .home-quick-signup-title {
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
}
.hero-demo-stack .home-quick-signup-title strong {
    font-size:1.06rem;
}
.hero-demo-stack .home-quick-signup-fields,
.hero-demo-stack .home-quick-signup-actions {
    grid-template-columns:1fr;
}
.hero-demo-stack .home-quick-signup-actions .btn {
    width:100%;
    white-space:normal;
    text-align:center;
}
.rolling-home-hero .trust-row {
    margin-top:26px;
}
.hero-compact-cta {
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:24px;
    width:100%;
    min-height:330px;
    margin-top:30px;
    padding:28px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:26px;
    color:#fff;
    background:radial-gradient(circle at 100% 0,rgba(20,184,157,.42),transparent 42%),linear-gradient(145deg,var(--navy-950),var(--navy-700));
    box-shadow:0 20px 42px rgba(3,19,41,.2);
}
.hero-compact-cta-label {
    display:block;
    margin-bottom:12px;
    color:#72e8d2;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.hero-compact-cta h2 {
    margin:0 0 12px;
    color:#fff;
    font-size:1.65rem;
    line-height:1.12;
}
.hero-compact-cta p {
    margin:0;
    color:#c7d6e5;
    font-size:.9rem;
}
.hero-compact-cta .btn {
    width:100%;
    text-align:center;
}
@media (max-width:1000px) {
    .rolling-home-hero .hero-grid {
        grid-template-columns:1fr;
        gap:34px;
    }
    .rolling-home-hero .hero-copy {
        max-width:760px;
        padding-top:0;
    }
    .hero-demo-stack {
        max-width:650px;
    }
    .hero-compact-cta {
        min-height:0;
    }
}
@media (max-width:760px) {
    .rolling-home-hero {
        padding-bottom:36px;
    }
    .home-journey-section {
        padding-top:46px;
    }
    .hero-demo-stack {
        gap:15px;
    }
    .hero-demo-stack .home-quick-signup {
        padding:16px;
    }
    .hero-compact-cta {
        margin-top:24px;
        padding:22px;
        border-radius:21px;
    }
    .hero-compact-cta h2 {
        font-size:1.45rem;
    }
}

/* Dartscores v1.11.0 player dashboards, personal scorer and statistics */
.dashboard-player-launch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-launch-card{display:block;text-decoration:none;color:var(--ink);position:relative;overflow:hidden;min-height:190px;padding:26px}.dashboard-launch-card h2{font-size:1.7rem;margin:10px 0 8px}.dashboard-launch-card p{max-width:620px}.dashboard-launch-primary{background:linear-gradient(135deg,#071d3a,#123e70);color:#fff}.dashboard-launch-primary .eyebrow,.dashboard-launch-primary p{color:#d7e7f7}.dashboard-launch-score{background:linear-gradient(135deg,#e8fbf7,#fff);border-color:#8adccc}
.my-darts-hero{background:linear-gradient(120deg,#071d3a 0%,#0b315b 65%,#0a8c7d 100%);color:#fff;padding:30px;border-radius:24px;box-shadow:0 22px 45px rgba(7,29,58,.18)}.my-darts-hero .muted,.my-darts-hero .eyebrow{color:#d5ece8}.my-darts-actions{margin:22px 0}.my-darts-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.my-darts-category{text-decoration:none;color:var(--ink);transition:.2s transform,.2s box-shadow}.my-darts-category:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(7,29,58,.12)}.my-darts-category>strong{display:block;font-size:2.3rem;margin:15px 0 4px}.my-darts-category h3{margin:0}.my-darts-category p{color:var(--muted);margin-bottom:0}.my-darts-dashboard-grid{align-items:stretch}.rolling-average-pills{display:flex;gap:8px;flex-wrap:wrap}.rolling-average-pills span{background:#eef5fb;border-radius:999px;padding:7px 11px;font-size:.76rem}.rolling-average-pills b{margin-left:4px;color:#083b69}.large-form-strip{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.form-pill{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-weight:900}.form-w{background:#d9f7ec;color:#08705f}.form-d{background:#fff1bd;color:#7b5900}.form-l{background:#ffe0df;color:#9a2727}.profile-record-list{display:grid;gap:0}.profile-record-list>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #e8edf3}.profile-record-list>div:last-child{border-bottom:0}.profile-record-list span{color:var(--muted)}.profile-record-list strong{text-align:right}.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:22px 0}.dashboard-stat-grid>div,.compact-stats>div{background:#fff;border:1px solid #dce6ef;border-radius:16px;padding:18px}.dashboard-stat-grid span,.compact-stats span{display:block;color:var(--muted);font-size:.78rem;font-weight:750}.dashboard-stat-grid strong,.compact-stats strong{display:block;font-size:1.55rem;margin-top:7px}.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.my-darts-filter{margin-bottom:20px}.my-darts-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.match-result-badge{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;font-weight:900}.match-result-badge.w{background:#d9f7ec;color:#08705f}.match-result-badge.d{background:#fff1bd;color:#7b5900}.match-result-badge.l{background:#ffe0df;color:#9a2727}.trend-chart{min-height:240px;display:flex;align-items:flex-end;gap:7px;padding:26px 8px 12px;border-bottom:1px solid #dbe5ed}.trend-bar{flex:1;min-width:8px;position:relative;background:linear-gradient(180deg,#16b9a7,#0a6c95);border-radius:7px 7px 2px 2px;min-height:4px}.trend-bar span{position:absolute;bottom:100%;left:50%;transform:translate(-50%,-5px);font-size:.67rem;font-weight:800;white-space:nowrap}.trend-bar small{position:absolute;top:100%;left:50%;transform:translate(-50%,7px);font-size:.6rem;white-space:nowrap;color:var(--muted)}
.report-score-card{display:flex;align-items:center;justify-content:center;gap:28px;background:linear-gradient(125deg,#071d3a,#0f416f);color:#fff;margin-bottom:22px}.report-score-side{text-align:center;min-width:180px}.report-score-side span,.report-score-side small{display:block}.report-score-side span{font-weight:800}.report-score-side strong{display:block;font-size:4rem;line-height:1;margin:12px}.report-score-side small{color:#d7e7f7}.report-score-divider{font-size:2.5rem;color:#5ce0cc}.report-stat-grid{align-items:start}.report-leg{border:1px solid #dce6ef;border-radius:14px;margin:12px 0;overflow:hidden}.report-leg summary{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:16px 18px;background:#f7fafc;cursor:pointer}.report-leg summary strong{justify-self:start}.report-leg summary small{color:var(--muted)}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:140px 1fr;gap:4px 18px;padding:14px 0;border-bottom:1px solid #e8edf3}.timeline-item span{grid-row:1/3;color:var(--muted);font-size:.8rem}.timeline-item small{color:var(--muted)}.stats-tabs{display:flex;gap:8px;overflow:auto;padding:8px 0}.stats-tabs a{white-space:nowrap;border:1px solid #cddbe7;border-radius:999px;padding:9px 14px;text-decoration:none;color:#0a3158;font-weight:800}.club-dashboard-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.club-dashboard-links>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid #dce6ef;border-radius:16px;text-decoration:none;color:var(--ink)}.club-dashboard-links small{display:block;color:var(--muted)}.club-dashboard-links b{font-size:.78rem;color:#087f70}

/* Dartscores-branded personal and official mobile scorer */
.ds-scorer-shell,.ds-official-scorer{max-width:1040px;margin:0 auto;display:grid;gap:18px}.ds-scorer-topbar,.ds-official-topbar{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;background:#091c1a;color:#fff;border-radius:22px 22px 10px 10px;padding:16px 18px;box-shadow:0 18px 38px rgba(4,22,20,.2)}.ds-scorer-topbar a,.ds-official-topbar a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#17322f;color:#fff;text-decoration:none;font-size:1.35rem}.ds-scorer-topbar div,.ds-official-topbar div{display:grid;text-align:center}.ds-scorer-topbar strong,.ds-official-topbar strong{font-size:1.25rem;letter-spacing:.04em}.ds-scorer-topbar small,.ds-official-topbar small{color:#a9c7c2}.ds-scorer-brand,.ds-official-topbar div>span{font-size:.7rem;color:#62dfbd;font-weight:900;letter-spacing:.13em}.ds-official-live{background:#63dfbd;color:#05231f;padding:7px 9px;border-radius:999px;font-size:.68rem;font-weight:900}.ds-scoreboard,.ds-official-scorer .live-scoreboard{padding:0;overflow:hidden;background:#0f211d;border:0;color:#fff}.ds-player-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ds-player-panels.is-practice{grid-template-columns:1fr}.ds-player-panel{position:relative;padding:24px;background:linear-gradient(145deg,#f26849,#d54e38);min-height:330px}.ds-player-two{background:linear-gradient(145deg,#f8a940,#df7f2b)}.ds-player-panel.is-throwing{box-shadow:inset 0 0 0 5px rgba(255,255,255,.7)}.ds-turn-dot{position:absolute;top:22px;left:22px;width:13px;height:13px;border-radius:50%;background:#1e2c29;opacity:.35}.is-throwing .ds-turn-dot{opacity:1}.ds-player-name{padding-left:26px}.ds-player-name strong,.ds-player-name small{display:block}.ds-player-name strong{font-size:1.15rem}.ds-player-name small{opacity:.75}.ds-remaining{font-size:5.3rem;font-weight:950;line-height:1;margin:28px 0}.ds-leg-count{position:absolute;right:22px;top:120px;background:#132b28;padding:8px 11px;border-radius:9px}.ds-live-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ds-live-metrics span{font-size:.72rem}.ds-live-metrics b{display:block;font-size:1.15rem}.ds-checkout-strip,.ds-official-scorer .checkout-advice{background:#6ee1c3;color:#082720;padding:14px 18px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.personal-entry-card{border-radius:22px}.personal-score-input{font-size:2.1rem!important;font-weight:900;text-align:center}.personal-keypad,.official-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#31433f;border-radius:18px;overflow:hidden;margin-top:14px}.personal-keypad button,.official-keypad button{border:0;border-radius:0;background:#122824;color:#fff;min-height:64px;font-size:1.45rem;font-weight:850}.personal-keypad button:hover,.official-keypad button:hover{background:#1b3c36}.personal-keypad .key-submit,.official-keypad-submit{background:#65d08d!important;color:#062c1b!important;font-size:1rem!important}.detailed-dart-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.detailed-dart-buttons button{border:1px solid #cfdde6;background:#fff;border-radius:10px;padding:10px;font-weight:800}.detailed-dart-buttons button.active{background:#092b4f;color:#fff}.personal-waiting-card{text-align:center;max-width:680px;margin:40px auto}.personal-recent-visits{display:grid;gap:8px}.personal-visit-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;border-bottom:1px solid #e8edf3;padding:10px 0}.personal-visit-row small{grid-column:2/4;color:var(--muted)}
.ds-official-topbar{margin-bottom:-8px}.ds-official-scorer .live-scoreboard{border-radius:10px}.ds-official-scorer .live-score-meta{background:#0b1d1a;color:#b7d3ce}.ds-official-scorer .live-player-grid{gap:0}.ds-official-scorer .live-player{border-radius:0;min-height:290px;padding:26px;background:linear-gradient(145deg,#f16345,#d64d36);color:#fff}.ds-official-scorer .live-player:last-child{background:linear-gradient(145deg,#f9a63a,#dc812c)}.ds-official-scorer .live-player.is-throwing{box-shadow:inset 0 0 0 5px rgba(255,255,255,.72)}.ds-official-scorer .live-remaining{font-size:5rem}.ds-official-scorer .live-versus{background:#0d2420;color:#fff;border-radius:0}.ds-official-scorer .live-player-stats{grid-template-columns:repeat(2,1fr)}.ds-official-scorer .live-entry-card{background:#0e211d;color:#fff;border:0;border-radius:22px}.ds-official-scorer .live-entry-card .muted{color:#b7ccc8}.ds-official-scorer .score-entry-mode-tabs span{background:#18332e;color:#fff;border-color:#2c4b45}.ds-official-scorer .score-entry-mode-tabs input:checked+span{background:#67dfc0;color:#062c25}.ds-official-scorer input,.ds-official-scorer select{background:#fff;color:#081d18}.live-entry-console{max-width:560px;margin:14px auto}.official-number-display{display:grid;grid-template-columns:auto 1fr auto;align-items:center;background:#fff;color:#0b221d;border-radius:999px;overflow:hidden;min-height:74px}.official-number-display span{padding-left:22px;font-size:.76rem;font-weight:800}.official-number-display strong{font-size:2.8rem;text-align:center}.official-number-display button{border:0;background:#ff6856;color:#fff;width:54px;height:54px;border-radius:50%;margin-right:10px}.official-keypad{margin-top:18px}.ds-official-scorer .live-quick-scores{justify-content:center}.ds-official-scorer .live-quick-scores button{background:#18332e;color:#fff;border-color:#31544d}.bottom-nav-five{grid-template-columns:repeat(5,1fr)}.bottom-score-action span{background:#0ea28f!important;color:#fff!important;border-radius:50%;width:38px;height:38px;display:grid!important;place-items:center;margin-top:-18px;box-shadow:0 8px 18px rgba(14,162,143,.28)}

@media(max-width:900px){.dashboard-stat-grid,.compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.my-darts-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.club-dashboard-links{grid-template-columns:1fr}.ds-official-scorer .live-player-grid{grid-template-columns:1fr 58px 1fr}.ds-official-scorer .live-remaining{font-size:4rem}}
@media(max-width:760px){.dashboard-player-launch,.my-darts-category-grid,.report-stat-grid{grid-template-columns:1fr}.my-darts-hero{padding:22px}.dashboard-stat-grid,.compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.my-darts-filter-grid{grid-template-columns:1fr}.report-score-card{gap:12px;padding:18px 8px}.report-score-side{min-width:0;flex:1}.report-score-side strong{font-size:3.2rem}.report-score-divider{font-size:1.8rem}.report-leg summary{grid-template-columns:1fr}.report-leg summary small{justify-self:start}.timeline-item{grid-template-columns:1fr}.timeline-item span{grid-row:auto}.ds-scorer-shell,.ds-official-scorer{margin:-10px -10px 0}.ds-scorer-topbar,.ds-official-topbar{border-radius:0;padding:13px}.ds-player-panel{padding:18px;min-height:300px}.ds-remaining{font-size:4rem}.ds-live-metrics{grid-template-columns:1fr 1fr}.ds-official-scorer .live-player-grid{grid-template-columns:1fr 36px 1fr}.ds-official-scorer .live-player{padding:15px 10px;min-width:0}.ds-official-scorer .live-player h2{font-size:.95rem}.ds-official-scorer .live-remaining{font-size:3.5rem}.ds-official-scorer .live-player-stats{font-size:.66rem}.ds-official-scorer .live-entry-card{border-radius:0}.official-number-display strong{font-size:2.2rem}.official-keypad button{min-height:58px}.bottom-nav-five a{font-size:.62rem}.bottom-nav-five a span{font-size:1.05rem}}
@media(max-width:480px){.dashboard-stat-grid,.compact-stats{grid-template-columns:1fr 1fr}.ds-player-panels{grid-template-columns:1fr}.ds-player-panel{min-height:260px}.ds-official-scorer .live-player-grid{grid-template-columns:1fr 26px 1fr}.ds-official-scorer .live-player{padding:12px 7px;min-height:235px}.ds-official-scorer .live-remaining{font-size:2.8rem}.ds-official-scorer .live-player-stats{grid-template-columns:1fr}.ds-official-scorer .live-versus{font-size:.65rem}.bottom-nav-five a{padding-left:2px;padding-right:2px}}
.personal-setup-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;align-items:start}.personal-mode-options{display:grid;gap:10px;margin-bottom:18px}.personal-mode-options label{display:block;cursor:pointer}.personal-mode-options input{position:absolute;opacity:0}.personal-mode-options span{display:block;border:2px solid #dbe5ed;border-radius:16px;padding:16px;background:#fff;transition:.18s}.personal-mode-options b,.personal-mode-options small{display:block}.personal-mode-options small{color:var(--muted);margin-top:4px}.personal-mode-options input:checked+span{border-color:#0aa18e;background:#eafaf6;box-shadow:0 0 0 3px rgba(10,161,142,.08)}.personal-save-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0;color:var(--muted)}.player-darts-head{max-width:780px}.ds-score-entry{background:#0f211d;color:#fff;border:0;border-radius:22px}.ds-entry-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.ds-entry-heading .eyebrow,.ds-score-entry .muted{color:#add0c9}.ds-score-input-row{display:grid;grid-template-columns:1fr 54px minmax(130px,auto);gap:9px;background:#fff;border-radius:999px;padding:7px;overflow:hidden}.ds-score-input-row input{border:0!important;background:transparent!important;font-size:2.8rem!important;font-weight:950;text-align:center;box-shadow:none!important}.ds-score-input-row button{border-radius:999px}.ds-delete-score{border:0;background:#ff6754;color:#fff;font-size:1.3rem}.ds-submit-score{min-height:58px}.ds-entry-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.ds-entry-options label{color:#d9ebe7}.ds-number-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#31443f;border-radius:18px;overflow:hidden}.ds-number-pad button{min-height:64px;border:0;border-radius:0;background:#132a25;color:#fff;font-size:1.45rem;font-weight:900}.ds-number-pad button:hover{background:#1d3c35}.ds-quick-scores{justify-content:center}.ds-dart-display{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}.ds-dart-display input{text-align:center;font-weight:900}.ds-multiplier-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.ds-multiplier-tabs button{border:1px solid #4a645e;background:#17332d;color:#fff;border-radius:12px;padding:12px;font-weight:850}.ds-multiplier-tabs button.active{background:#69dfc1;color:#062b24}.ds-dartboard-pad{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.ds-dartboard-pad button{border:0;background:#fff;color:#0b241f;border-radius:10px;padding:11px 5px;font-weight:900}.personal-confirm-card{display:flex;justify-content:space-between;align-items:center;gap:20px}.personal-confirm-card form.cluster{flex-wrap:nowrap}.personal-undo-form{text-align:center}.my-darts-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin:22px 0}.my-darts-summary-grid .stat-card{min-height:135px}.stat-card-featured{background:linear-gradient(145deg,#071d3a,#0f4f6e);color:#fff}.stat-card-featured .stat-label,.stat-card-featured .muted{color:#cce5e7}.table-subline{display:block;color:var(--muted);font-size:.68rem;margin-top:3px;white-space:nowrap}.bar-chart-list{display:grid;gap:12px;padding-top:12px}.bar-chart-list>div{display:grid;grid-template-columns:68px 1fr 28px;gap:10px;align-items:center}.bar-chart-list i{display:block;height:11px;border-radius:999px;background:linear-gradient(90deg,#0aa18e var(--bar),#e7eef3 var(--bar))}.performance-group-grid{margin-top:22px}.team-dashboard-card .text-link{display:block;margin-top:16px}.player-profile-hero{display:flex;align-items:center;gap:18px}.player-profile-avatar{display:grid;place-items:center;width:76px;height:76px;border-radius:22px;background:#071d3a;color:#fff;font-size:1.55rem;font-weight:900}
@media(max-width:1100px){.my-darts-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.personal-setup-grid{grid-template-columns:1fr}.ds-entry-options{grid-template-columns:1fr 1fr}.performance-group-grid{grid-template-columns:1fr}.my-darts-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ds-entry-heading,.personal-confirm-card{display:block}.score-entry-mode-tabs{margin-top:12px}.ds-score-input-row{grid-template-columns:1fr 48px}.ds-submit-score{grid-column:1/3}.ds-entry-options{grid-template-columns:1fr}.ds-dartboard-pad{grid-template-columns:repeat(4,1fr)}.my-darts-summary-grid{grid-template-columns:1fr 1fr}.personal-confirm-card form.cluster{display:grid;grid-template-columns:1fr}.personal-confirm-card form.cluster input{width:100%}}

/* My Darts account navigation */
.my-darts-section-nav{display:flex;gap:8px;overflow-x:auto;padding:7px;margin:-4px 0 22px;border:1px solid #d9e4ef;border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(8,34,67,.06);scrollbar-width:thin}
.my-darts-section-nav a{flex:0 0 auto;padding:10px 14px;border-radius:11px;color:#24405c;font-size:.85rem;font-weight:800;text-decoration:none;white-space:nowrap}
.my-darts-section-nav a:hover{background:#edf7f7;color:#046f68}
.my-darts-section-nav a.is-active{background:#062f61;color:#fff;box-shadow:0 5px 12px rgba(6,47,97,.18)}
@media(max-width:720px){.my-darts-section-nav{margin-top:-10px;border-radius:13px}.my-darts-section-nav a{padding:9px 12px;font-size:.78rem}}
.report-leg-summary{display:flex;gap:10px;flex-wrap:wrap;padding:12px 16px;background:#f3f8fb;border-bottom:1px solid #dbe7ef}
.report-leg-summary span{padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #d9e5ed;font-size:.82rem;color:#365069}

/* Dartscores v1.12.0 scorer, opponent selector and standalone PWA fixes */
.my-darts-hero h1,
.my-darts-hero h2,
.my-darts-hero > div > strong {
    color: #fff !important;
}
.my-darts-hero .muted,
.my-darts-hero p {
    color: #d7ebe9 !important;
}

.ds-score-entry .ds-entry-heading h2,
.ds-official-scorer .live-entry-card h2,
.ds-official-scorer [data-live-current-name] {
    color: #fff !important;
}
.ds-score-entry .ds-entry-heading .eyebrow,
.ds-official-scorer .live-entry-card .eyebrow {
    color: #65e3c2 !important;
}

.score-entry-mode-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    min-width: 260px;
    padding: 5px;
    border: 1px solid #38564f;
    border-radius: 15px;
    background: #132c27;
}
.score-entry-mode-tabs label {
    display: block;
    cursor: pointer;
    margin: 0;
}
.score-entry-mode-tabs input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none;
}
.score-entry-mode-tabs span {
    display: grid;
    place-items: center;
    min-height: 42px;
    padding: 8px 12px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #fff !important;
    background: transparent !important;
    font-size: .82rem;
    font-weight: 850;
    text-align: center;
    transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}
.score-entry-mode-tabs input:checked + span,
.score-entry-mode-tabs label.is-selected span {
    color: #062b24 !important;
    background: #69dfc1 !important;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .16);
}
.score-entry-mode-tabs input:focus-visible + span {
    outline: 3px solid #fff;
    outline-offset: 2px;
}

.ds-score-error,
.personal-setup-error {
    margin: 0 0 14px;
    padding: 11px 14px;
    border: 1px solid #ff9e92;
    border-radius: 12px;
    color: #8a2018;
    background: #fff0ed;
    font-weight: 800;
}
.ds-score-input-row input.is-invalid {
    color: #a8241c !important;
}
.ds-entry-options .check-row {
    align-items: center;
    min-height: 58px;
    padding: 9px 11px;
    border: 1px solid #3b5a53;
    border-radius: 12px;
    background: #17322d;
}
.ds-entry-options .check-row span,
.ds-entry-options .check-row strong,
.ds-entry-options .check-row small {
    display: block;
}
.ds-entry-options .check-row small {
    color: #acd0c8;
    margin-top: 2px;
}
.ds-score-entry input,
.ds-score-entry select {
    color: #09231e;
}
.ds-number-pad button,
.official-keypad button,
.ds-quick-scores button,
.live-quick-scores button {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
.ds-number-pad button:active,
.official-keypad button:active {
    transform: scale(.97);
    background: #275047;
}
.ds-score-input-row {
    max-width: 760px;
    margin: 0 auto;
}
.ds-number-pad,
.ds-quick-scores,
.ds-entry-options,
.ds-dart-display,
.ds-multiplier-tabs,
.ds-dartboard-pad {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.personal-mode-options span {
    position: relative;
    padding-right: 52px;
}
.personal-mode-options span i {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: transparent;
    background: #edf2f6;
    font-style: normal;
    transform: translateY(-50%);
}
.personal-mode-options input:checked + span i,
.personal-mode-options label.is-selected span i {
    color: #fff;
    background: #079b87;
}
.personal-mode-options input:focus-visible + span {
    outline: 3px solid #0b6fa4;
    outline-offset: 3px;
}
.personal-opponent-panel {
    margin-top: 16px;
    padding: 17px;
    border: 1px solid #cfe1e8;
    border-radius: 16px;
    background: #f8fbfd;
}
.field-heading {
    display: grid;
    gap: 3px;
    margin-bottom: 12px;
}
.field-heading span {
    color: var(--muted);
    font-size: .78rem;
}
.player-search-field input {
    margin-top: 6px;
}
.player-search-results {
    display: grid;
    gap: 6px;
    max-height: 285px;
    margin: 8px 0;
    overflow-y: auto;
    border: 1px solid #d5e2eb;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 25px rgba(6, 40, 67, .11);
}
.player-search-result {
    display: grid;
    gap: 3px;
    width: 100%;
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid #e6edf2;
    color: #092744;
    background: #fff;
    text-align: left;
    cursor: pointer;
}
.player-search-result:last-child {
    border-bottom: 0;
}
.player-search-result:hover,
.player-search-result:focus-visible {
    background: #eaf8f5;
    outline: none;
}
.player-search-result small,
.player-search-empty {
    color: var(--muted);
}
.player-search-empty {
    padding: 13px 14px;
    font-size: .82rem;
}
.selected-player-card {
    display: grid;
    grid-template-columns: 44px 1fr auto;
    gap: 11px;
    align-items: center;
    margin: 11px 0;
    padding: 12px;
    border: 2px solid #0ba18e;
    border-radius: 14px;
    background: #e9faf6;
}
.selected-player-avatar {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 13px;
    color: #fff;
    background: #073864;
    font-weight: 900;
}
.selected-player-card strong,
.selected-player-card small {
    display: block;
}
.selected-player-card small {
    color: #456276;
    margin-top: 2px;
}
.selected-player-card button {
    border: 1px solid #9bcfc5;
    border-radius: 9px;
    padding: 8px 10px;
    color: #075f56;
    background: #fff;
    font-weight: 800;
}
.setup-step-number {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-right: 7px;
    border-radius: 50%;
    color: #fff;
    background: #073864;
    font-size: .95rem;
    vertical-align: middle;
}
.personal-start-step {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 18px 0 10px;
}
.personal-start-step strong,
.personal-start-step small {
    display: block;
}
.personal-start-step small {
    color: var(--muted);
    margin-top: 2px;
}
.pwa-browser-guide {
    position: relative;
    display: grid;
    gap: 3px;
    margin: 0 0 18px;
    padding: 14px 48px 14px 16px;
    border: 1px solid #8acfc5;
    border-radius: 14px;
    color: #073a34;
    background: #e8faf6;
}
.pwa-browser-guide span {
    font-size: .82rem;
}
.pwa-browser-guide-close {
    position: absolute;
    top: 8px;
    right: 9px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    color: #075f56;
    background: transparent;
    font-size: 1.4rem;
}

body.scoring-page {
    background: #081c18;
}
body.scoring-page .app-shell {
    display: block;
    min-height: 100dvh;
}
body.scoring-page .app-sidebar,
body.scoring-page .app-topbar,
body.scoring-page .bottom-nav,
body.scoring-page .install-toast {
    display: none !important;
}
body.scoring-page .app-content {
    width: 100%;
}
body.scoring-page .app-main {
    min-height: 100dvh;
    padding: 14px max(14px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
}
body.scoring-page .ds-scorer-shell,
body.scoring-page .ds-official-scorer {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}
body.scoring-page .ds-scorer-topbar,
body.scoring-page .ds-official-topbar {
    position: sticky;
    top: 0;
    z-index: 35;
}

@media (display-mode: standalone) {
    body {
        min-height: 100dvh;
    }
    body.scoring-page .app-main {
        padding-top: max(8px, env(safe-area-inset-top));
    }
    body.scoring-page .ds-scorer-topbar,
    body.scoring-page .ds-official-topbar {
        top: env(safe-area-inset-top);
    }
}

@media (max-width: 760px) {
    .personal-setup-grid {
        gap: 14px;
    }
    .personal-mode-card,
    .personal-rules-card {
        padding: 17px;
    }
    .personal-mode-card .card-header h2,
    .personal-rules-card .card-header h2 {
        font-size: 1.35rem;
    }
    .personal-rules-grid {
        grid-template-columns: 1fr;
    }
    .pwa-browser-guide {
        margin-top: -8px;
    }

    body.scoring-page .app-main {
        padding: 0 0 calc(14px + env(safe-area-inset-bottom));
    }
    body.scoring-page .alert {
        margin: 10px;
    }
    body.scoring-page .ds-scorer-shell,
    body.scoring-page .ds-official-scorer {
        gap: 8px;
        margin: 0;
    }
    body.scoring-page .ds-scorer-topbar,
    body.scoring-page .ds-official-topbar {
        border-radius: 0;
        padding: max(10px, env(safe-area-inset-top)) 11px 10px;
    }
    .ds-scorer-topbar strong,
    .ds-official-topbar strong {
        font-size: 1rem;
    }
    .ds-scorer-topbar small,
    .ds-official-topbar small {
        font-size: .68rem;
    }
    .ds-player-panels {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ds-player-panels.is-practice {
        grid-template-columns: 1fr;
    }
    .ds-player-panel {
        min-height: 220px;
        padding: 15px 12px;
    }
    .ds-player-name {
        padding-left: 20px;
    }
    .ds-player-name strong {
        font-size: .95rem;
    }
    .ds-player-name small {
        font-size: .65rem;
    }
    .ds-remaining {
        margin: 18px 0;
        font-size: 3.25rem;
    }
    .ds-leg-count {
        top: 78px;
        right: 10px;
        padding: 6px 8px;
        font-size: .7rem;
    }
    .ds-live-metrics {
        gap: 6px;
    }
    .ds-live-metrics span {
        font-size: .62rem;
    }
    .ds-live-metrics b {
        font-size: .9rem;
    }
    .ds-checkout-strip,
    .ds-official-scorer .checkout-advice {
        padding: 10px 12px;
        font-size: .76rem;
    }
    .ds-score-entry,
    .ds-official-scorer .live-entry-card {
        border-radius: 0;
        padding: 13px 11px 16px;
    }
    .ds-entry-heading {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 9px;
        margin-bottom: 10px;
    }
    .ds-entry-heading h2 {
        margin: 2px 0 0;
        font-size: 1.25rem;
    }
    .score-entry-mode-tabs {
        min-width: 0;
        width: min(47vw, 280px);
        margin: 0;
    }
    .score-entry-mode-tabs span {
        min-height: 38px;
        padding: 6px 7px;
        font-size: .7rem;
    }
    .ds-score-input-row {
        grid-template-columns: minmax(0, 1fr) 48px minmax(100px, 31%);
        gap: 5px;
        padding: 5px;
    }
    .ds-score-input-row input {
        min-width: 0;
        font-size: 2.2rem !important;
    }
    .ds-submit-score {
        grid-column: auto !important;
        min-height: 50px;
        padding: 8px 10px;
    }
    .ds-entry-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin: 10px 0;
    }
    .ds-entry-options .check-row {
        grid-column: 1 / -1;
    }
    .ds-number-pad button,
    .official-keypad button {
        min-height: 53px;
        font-size: 1.3rem;
    }
    .ds-quick-scores,
    .live-quick-scores {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
        margin-top: 9px;
    }
    .ds-quick-scores button,
    .live-quick-scores button {
        min-width: 0;
        padding: 9px 3px;
    }
    .ds-dartboard-pad {
        grid-template-columns: repeat(5, 1fr);
    }
    .ds-dartboard-pad button {
        min-height: 44px;
    }
    .ds-visit-history,
    .personal-confirm-card,
    .personal-waiting-card,
    .personal-undo-form {
        margin-left: 10px;
        margin-right: 10px;
    }
}

@media (max-width: 430px) {
    .ds-scorer-topbar,
    .ds-official-topbar {
        grid-template-columns: 38px 1fr 38px;
        gap: 7px;
    }
    .ds-scorer-topbar a,
    .ds-official-topbar a {
        width: 36px;
        height: 36px;
    }
    .ds-scorer-brand,
    .ds-official-topbar div > span {
        font-size: .58rem;
    }
    .ds-entry-heading {
        grid-template-columns: 1fr;
    }
    .score-entry-mode-tabs {
        width: 100%;
    }
    .ds-player-panel {
        min-height: 205px;
    }
    .ds-remaining {
        font-size: 2.85rem;
    }
    .ds-entry-options {
        grid-template-columns: 1fr 1fr;
    }
    .ds-dartboard-pad {
        grid-template-columns: repeat(4, 1fr);
    }
    .selected-player-card {
        grid-template-columns: 40px 1fr;
    }
    .selected-player-card button {
        grid-column: 1 / -1;
    }
}


/* Dartscores v1.12.1 dashboard contrast, PWA launch and score-row alignment hotfix */
.dashboard-launch-primary h1,
.dashboard-launch-primary h2,
.dashboard-launch-primary h3,
.dashboard-launch-primary strong {
    color: #fff !important;
}
.dashboard-launch-primary .btn {
    color: #072544 !important;
    background: #fff !important;
    border-color: #fff !important;
}

.ds-score-input-row {
    align-items: stretch;
    grid-template-columns: minmax(0, 1fr) 58px minmax(132px, .34fr);
    gap: 7px;
    padding: 6px;
    border-radius: 25px;
}
.ds-score-input-row input,
.ds-score-input-row button {
    min-height: 60px;
}
.ds-delete-score {
    display: grid;
    place-items: center;
    width: 58px;
    min-width: 58px;
    padding: 0;
    border: 0;
    border-radius: 18px !important;
    line-height: 1;
    background: #ff6754;
    color: #fff;
    box-shadow: none;
}
.ds-delete-score svg {
    display: block;
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ds-delete-score:hover,
.ds-delete-score:focus-visible {
    background: #e84f3d;
}
.ds-delete-score:focus-visible,
.ds-submit-score:focus-visible {
    outline: 3px solid #9cebd8;
    outline-offset: 2px;
}
.ds-submit-score {
    min-width: 132px;
    border-radius: 18px !important;
}

.pwa-install-sheet[hidden] {
    display: none !important;
}
.pwa-install-sheet {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: end center;
    padding: 18px max(16px, env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
    background: rgba(2, 19, 34, .72);
    backdrop-filter: blur(8px);
}
.pwa-install-sheet-card {
    position: relative;
    width: min(520px, 100%);
    padding: 24px;
    border-radius: 24px;
    color: #08233e;
    background: #fff;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
}
.pwa-install-sheet-card h2 {
    margin: 7px 42px 12px 0;
    color: #071d3a !important;
    font-size: 1.45rem;
}
.pwa-install-sheet-card p,
.pwa-install-sheet-card li {
    color: #334f68;
}
.pwa-install-sheet-card ol {
    display: grid;
    gap: 8px;
    margin: 14px 0 16px;
    padding-left: 23px;
}
.pwa-install-sheet-close {
    position: absolute;
    top: 13px;
    right: 13px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    color: #123d5d;
    background: #edf4f8;
    font-size: 1.55rem;
}

html.is-standalone,
html.is-standalone body {
    min-height: 100%;
    overscroll-behavior-y: none;
}
html.is-standalone body {
    padding-top: env(safe-area-inset-top);
}
html.is-standalone body.scoring-page {
    padding-top: 0;
}
html.is-standalone .pwa-browser-guide,
html.is-standalone .pwa-install-sheet,
html.is-standalone .js-install-pwa,
html.is-standalone .js-install-toast {
    display: none !important;
}

@media (max-width: 600px) {
    .ds-score-input-row {
        grid-template-columns: minmax(0, 1fr) 52px minmax(108px, 33%);
        gap: 5px;
        padding: 5px;
        border-radius: 22px;
    }
    .ds-score-input-row input,
    .ds-score-input-row button {
        min-height: 54px;
    }
    .ds-delete-score {
        width: 52px;
        min-width: 52px;
        border-radius: 16px !important;
    }
    .ds-submit-score {
        min-width: 0;
        padding-inline: 10px;
        border-radius: 16px !important;
    }
    .pwa-install-sheet-card {
        padding: 22px 19px;
        border-radius: 22px;
    }
}

/* Dartscores 1.14: guided setup, CSV migration and unified calendar */
.setup-steps { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin-bottom:22px; overflow-x:auto; }
.setup-step { min-width:128px; display:flex; align-items:center; gap:8px; padding:11px; border:1px solid var(--line); border-radius:12px; color:var(--muted); background:#fff; font-size:.78rem; }
.setup-step span { display:grid; place-items:center; flex:0 0 27px; width:27px; height:27px; border-radius:50%; background:#edf2f7; font-weight:900; }
.setup-step.active { color:var(--navy-900); border-color:var(--teal-600); box-shadow:0 0 0 3px rgba(20,184,157,.1); }
.setup-step.complete span { color:#fff; background:var(--teal-700); }
.calendar-toolbar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:15px; }
.calendar-toolbar form { margin-left:auto; }
.calendar-shell { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow-sm); }
.calendar-weekdays,.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays strong { padding:11px; border-right:1px solid var(--line); color:var(--muted); background:#f5f8fb; text-align:center; font-size:.75rem; text-transform:uppercase; }
.calendar-day { min-height:145px; padding:8px; border-top:1px solid var(--line); border-right:1px solid var(--line); background:#fff; transition:background .15s; }
.calendar-day:nth-child(7n),.calendar-weekdays strong:last-child { border-right:0; }
.calendar-day.outside { background:#f7f9fb; opacity:.66; }
.calendar-day.drop-target { background:#dff8f1; box-shadow:inset 0 0 0 2px var(--teal-600); }
.calendar-day-number { display:block; margin-bottom:6px; color:var(--muted); font-size:.76rem; font-weight:900; }
.calendar-day-events { display:grid; gap:5px; }
.calendar-event { display:grid; gap:1px; padding:6px 7px; border-left:3px solid var(--teal-600); border-radius:7px; color:var(--navy-900); background:#eaf7f4; font-size:.69rem; line-height:1.2; cursor:pointer; }
.calendar-event.team_fixture { border-left-color:#2672b8; background:#eaf2fb; }
.calendar-event[draggable="true"] { cursor:grab; }
.calendar-event span,.calendar-event small { color:var(--muted); font-size:.63rem; }
.calendar-event strong { overflow:hidden; text-overflow:ellipsis; }
.tournament-entry-picker { max-height:520px; overflow:auto; }
.seed-input { width:82px !important; min-height:38px !important; }
.tournament-board { overflow-x:auto; padding:20px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,#061a34,#103c68); }
.tournament-rounds { display:flex; gap:26px; min-width:max-content; align-items:stretch; }
.tournament-round { width:240px; display:flex; flex-direction:column; justify-content:space-around; gap:16px; }
.tournament-round h2 { color:#fff; text-align:center; font-size:1rem; }
.tournament-tie { overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:12px; background:#fff; box-shadow:0 8px 22px rgba(0,0,0,.18); }
.tournament-tie > div { min-height:39px; display:flex; align-items:center; padding:8px 10px; border-bottom:1px solid var(--line); color:var(--navy-900); font-weight:750; }
.tournament-tie > div.winner { color:#075f4d; background:#dff8ef; font-weight:900; }
.tournament-tie footer { display:flex; justify-content:space-between; gap:8px; padding:6px 9px; color:var(--muted); background:#f4f7fa; font-size:.68rem; }
.tv-mode { min-height:calc(100vh - 180px); border-radius:0; }
@media (max-width:800px) {
    .setup-steps { grid-template-columns:repeat(6,140px); }
    .calendar-shell { overflow-x:auto; }
    .calendar-weekdays,.calendar-grid { min-width:850px; }
    .calendar-toolbar form { width:100%; margin-left:0; }
}

/* Google account sign-in and one-time setup */
.google-auth-block {
    display: grid;
    gap: 18px;
}
.google-auth-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    padding: 12px 18px;
    border: 1px solid #b8c8d6;
    border-radius: 12px;
    color: #102d47;
    background: #fff;
    box-shadow: 0 3px 10px rgba(7, 29, 58, .07);
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.google-auth-button:hover,
.google-auth-button:focus-visible {
    border-color: #6e8aa2;
    color: #071d3a;
    box-shadow: 0 7px 18px rgba(7, 29, 58, .12);
    transform: translateY(-1px);
}
.google-auth-mark {
    display: grid;
    place-items: center;
    flex: 0 0 24px;
}
.google-auth-divider {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    color: #62788c;
    font-size: .82rem;
    font-weight: 700;
    text-align: center;
}
.google-auth-divider::before,
.google-auth-divider::after {
    height: 1px;
    background: #d8e2ea;
    content: '';
}
.home-quick-signup .google-auth-block {
    gap: 13px;
}
.home-quick-signup .google-auth-button {
    min-height: 48px;
    border-width: 2px;
}
.home-quick-signup .google-auth-divider {
    color: #526a7d;
    font-size: .76rem;
}
.google-setup-status {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 22px;
}
.google-setup-status > div {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 10px;
    align-items: center;
    padding: 13px;
    border: 1px solid #d6e1e9;
    border-radius: 12px;
    background: #fff;
}
.google-setup-status .setup-check {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #fff;
    background: #b16a15;
    font-weight: 900;
}
.google-setup-status .is-ready .setup-check {
    background: #087a68;
}
.google-setup-status strong,
.google-setup-status small {
    min-width: 0;
}
.google-setup-status small {
    color: var(--muted);
}
.google-account-summary {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px;
    border: 1px solid #cfe0e9;
    border-radius: 14px;
    background: #f4f9fb;
}
.google-account-avatar {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: #fff;
    background: #177f6a;
    font-size: 1.05rem;
    font-weight: 900;
}
.google-account-summary div {
    display: grid;
    min-width: 0;
}
.google-account-summary span:not(.google-account-avatar) {
    overflow: hidden;
    color: #526a7d;
    font-size: .88rem;
    text-overflow: ellipsis;
}
.copy-value {
    display: flex;
    align-items: center;
    gap: 9px;
}
.copy-value code {
    flex: 1;
    overflow-wrap: anywhere;
    padding: 11px 12px;
    border: 1px solid #d1dee7;
    border-radius: 9px;
    color: #143650;
    background: #f5f8fa;
}
@media (max-width: 600px) {
    .google-auth-divider {
        gap: 8px;
    }
    .copy-value {
        align-items: stretch;
        flex-direction: column;
    }
}
@media (max-width: 1100px) {
    .google-setup-status {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 600px) {
    .google-setup-status {
        grid-template-columns: 1fr;
    }
}

/* Dartscores 1.14.1: mobile layout and overflow hardening */
.app-content,
.app-main,
.app-main > *,
.page-head,
.card,
.card-header,
.alert,
.table-wrap,
.list-item,
.cluster,
.cluster-between,
.form-actions,
.input-group {
    min-width: 0;
    max-width: 100%;
}
.page-head > div,
.card-header > div,
.alert > div,
.list-main,
.topbar-context {
    min-width: 0;
}
.app-main p,
.app-main li,
.app-main small,
.app-main span,
.app-main strong,
.app-main a,
.app-main code,
.app-main td,
.app-main th {
    overflow-wrap: anywhere;
}
.table-wrap {
    max-width: 100%;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}
.table-wrap table {
    max-width: 100%;
}
.app-main img,
.app-main svg,
.app-main video,
.app-main canvas {
    max-width: 100%;
    height: auto;
}
.app-main input,
.app-main select,
.app-main textarea,
.app-main button,
.app-main form {
    min-width: 0;
    max-width: 100%;
}
.admin-users-search {
    width: min(100%, 360px);
}
.admin-users-table td > *,
.admin-users-table td form,
.admin-users-table td details {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 1000px) {
    .app-main {
        padding-bottom: calc(112px + env(safe-area-inset-bottom));
    }
    .bottom-nav {
        bottom: max(8px, env(safe-area-inset-bottom));
    }
}

@media (max-width: 760px) {
    html,
    body {
        max-width: 100%;
        overflow-x: clip;
    }
    .app-shell,
    .app-content {
        width: 100%;
        max-width: 100vw;
    }
    .app-topbar {
        min-height: 60px;
        gap: 7px;
        padding: 7px 10px;
        background: #fff;
        backdrop-filter: none;
    }
    .app-topbar .mobile-brand {
        flex: 0 1 auto;
        min-width: 0;
    }
    .app-topbar .mobile-brand img {
        display: block;
        width: min(42vw, 158px);
        max-height: 42px;
        object-fit: contain;
    }
    .topbar-context {
        display: none;
    }
    .topbar-actions {
        flex: 0 0 auto;
        gap: 5px;
        margin-left: auto;
    }
    .icon-button {
        width: 40px;
        height: 40px;
        border-radius: 10px;
    }
    .app-main {
        width: 100%;
        padding: 18px 12px calc(112px + env(safe-area-inset-bottom));
    }
    .page-head {
        margin-bottom: 18px;
    }
    .page-head.cluster-between,
    .card-header,
    .alert,
    .list-item {
        align-items: stretch;
    }
    .page-head > form,
    .page-head > .cluster,
    .page-head > .btn,
    .card-header > form {
        width: 100%;
    }
    .page-head > form.cluster > .form-group {
        flex: 1 1 180px;
        min-width: 0 !important;
    }
    .page-head > .btn,
    .card-header > form > .btn {
        width: 100%;
    }
    .card {
        width: 100%;
        padding: 15px;
    }
    .table-wrap.mobile-cards {
        width: 100%;
        max-width: 100%;
    }
    .mobile-cards tr {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }
    .mobile-cards td {
        align-items: flex-start;
        min-width: 0;
    }
    .mobile-cards td::before {
        flex: 0 0 min(31%, 118px);
    }
    .mobile-cards td > * {
        min-width: 0;
        max-width: 100%;
    }
    .mobile-cards .badge {
        max-width: 100%;
        white-space: normal;
        text-align: left;
    }
    .mobile-cards .cluster {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .inline-product-form {
        flex-wrap: wrap;
        min-width: 0;
        width: 100%;
    }
    .inline-product-form select {
        flex: 1 1 150px;
        min-width: 0;
    }
    .calendar-shell,
    .tournament-board,
    .setup-steps,
    .tabs {
        width: 100%;
        max-width: 100%;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }
    .install-toast,
    .offline-banner {
        max-width: calc(100vw - 24px);
    }
    .install-toast {
        right: 12px;
        bottom: calc(96px + env(safe-area-inset-bottom));
    }
    .offline-banner {
        bottom: calc(96px + env(safe-area-inset-bottom));
        text-align: center;
    }
}

@media (max-width: 540px) {
    .page-head.cluster-between,
    .card-header,
    .list-item {
        flex-direction: column;
    }
    .input-group {
        width: 100%;
    }
    .input-group input {
        flex: 1 1 auto;
        width: 1%;
    }
    .mobile-cards td,
    .admin-users-table td {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        justify-content: stretch;
        gap: 5px;
        padding: 10px 2px;
    }
    .mobile-cards td + td {
        border-top: 1px solid #edf1f5;
    }
    .mobile-cards td::before {
        width: auto;
        max-width: 100%;
    }
    .mobile-cards td > *,
    .mobile-cards td > form,
    .mobile-cards td > details,
    .admin-users-table select,
    .admin-users-table textarea,
    .admin-users-table input,
    .admin-users-table button,
    .admin-users-table .btn {
        width: 100%;
        max-width: 100%;
    }
    .admin-users-card {
        padding: 10px;
    }
    .admin-users-table tr {
        padding: 12px;
    }
    .admin-users-table .inline-product-form {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }
    .admin-users-table .help,
    .admin-users-table .muted,
    .admin-users-table .tiny,
    .admin-users-table .small {
        width: auto;
    }
    .admin-users-table .admin-access-details {
        width: 100%;
    }
    .bottom-nav {
        left: 7px;
        right: 7px;
        padding: 6px 3px;
    }
    .bottom-nav-five a {
        min-width: 0;
        padding-inline: 2px;
        font-size: .6rem;
    }
    .bottom-nav-five a span {
        font-size: 1rem;
    }
}

@media (max-width: 370px) {
    .app-topbar .mobile-brand img {
        width: 128px;
    }
    .icon-button {
        width: 37px;
        height: 37px;
    }
    .app-main {
        padding-inline: 9px;
    }
    .card {
        padding-inline: 12px;
    }
    .bottom-nav-five a {
        font-size: .56rem;
    }
}

/* Dartscores v1.15.0 free standalone tournaments */
.standalone-page {
    min-width: 0;
}
.standalone-hero {
    overflow: hidden;
    position: relative;
    margin-bottom: 24px;
    padding: 28px;
    border-radius: 22px;
    background: linear-gradient(120deg, #071d3a 0%, #0b315b 62%, #0a8c7d 100%);
    color: #fff;
}
.standalone-hero::after {
    content: "";
    position: absolute;
    right: -50px;
    bottom: -90px;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background: rgba(34, 225, 204, .13);
}
.standalone-hero > * {
    position: relative;
    z-index: 1;
}
.standalone-hero .eyebrow,
.standalone-hero .lead {
    color: #d8f5f1;
}
.standalone-hero h1 {
    margin-bottom: 8px;
}
.tournament-search-grid {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(135px, 1fr)) auto;
    gap: 12px;
    align-items: end;
}
.tournament-search-grid .form-group {
    min-width: 0;
}
.tournament-public-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.tournament-public-card {
    display: flex;
    min-width: 0;
    min-height: 280px;
    flex-direction: column;
    padding: 22px;
    border: 1px solid #d8e4ee;
    border-radius: 20px;
    background: #fff;
    color: var(--ink);
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(7, 29, 58, .07);
    transition: transform .18s ease, box-shadow .18s ease;
}
.tournament-public-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 19px 38px rgba(7, 29, 58, .12);
}
.tournament-public-card h2 {
    margin: 20px 0 8px;
    overflow-wrap: anywhere;
}
.tournament-public-card p {
    margin: 0 0 18px;
    color: var(--muted);
}
.tournament-public-card footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid #e6edf3;
    font-size: .8rem;
}
.tournament-public-card footer strong {
    color: #087f72;
    text-align: right;
}
.tournament-card-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 20px;
}
.tournament-card-stats span {
    padding: 10px 7px;
    border-radius: 12px;
    background: #f1f6fa;
    color: var(--muted);
    font-size: .68rem;
    text-align: center;
}
.tournament-card-stats b {
    display: block;
    margin-bottom: 2px;
    color: var(--ink);
    font-size: 1.1rem;
}
.standalone-tournament-head {
    gap: 20px;
}
.standalone-tournament-head h1 {
    overflow-wrap: anywhere;
}
.standalone-tournament-overview {
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    align-items: start;
}
.tournament-registration-card {
    position: sticky;
    top: 88px;
}
.tournament-fact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 20px 0;
}
.tournament-fact-grid > div {
    min-width: 0;
    padding: 14px;
    border-radius: 14px;
    background: #f2f7fa;
}
.tournament-fact-grid span {
    display: block;
    color: var(--muted);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
}
.tournament-fact-grid strong {
    display: block;
    margin-top: 5px;
    overflow-wrap: anywhere;
}
.prize-public-grid,
.approved-entry-grid,
.tournament-history-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.prize-public-grid > *,
.approved-entry-grid > *,
.tournament-history-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid #dfe8ef;
    border-radius: 15px;
    background: #fff;
}
.prize-public-grid > * strong,
.approved-entry-grid > * strong,
.tournament-history-card strong {
    overflow-wrap: anywhere;
}
.prize-public-grid > *:first-child {
    border-color: #e3c255;
    background: #fff9df;
}
.prize-public-grid > * {
    display: grid;
    gap: 5px;
}
.prize-public-grid > * span,
.prize-public-grid > * small {
    color: var(--muted);
}
.prize-public-grid > * strong:empty,
.prize-public-grid > * small:empty {
    display: none;
}
.approved-entry-grid > * {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}
.tournament-history-card {
    display: grid;
    gap: 8px;
    color: var(--ink);
    text-decoration: none;
}
.standalone-bracket {
    max-width: 100%;
    overflow-x: auto;
    padding: 4px 2px 16px;
    overscroll-behavior-inline: contain;
}
.standalone-bracket-rounds {
    display: flex;
    width: max-content;
    min-width: 100%;
    gap: 16px;
    align-items: flex-start;
}
.standalone-bracket-round {
    width: 250px;
    flex: 0 0 250px;
}
.standalone-bracket-round > h3 {
    margin: 0 0 12px;
    color: #53657a;
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.standalone-match-card {
    overflow: hidden;
    border: 1px solid #dbe5ed;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(7, 29, 58, .06);
}
.standalone-match-card + .standalone-match-card {
    margin-top: 12px;
}
.standalone-match-meta {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 11px;
    background: #eef5f8;
    color: var(--muted);
    font-size: .66rem;
    font-weight: 800;
}
.standalone-match-player {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 10px 12px;
    border-top: 1px solid #edf1f5;
}
.standalone-match-player span {
    overflow-wrap: anywhere;
}
.standalone-match-player.winner {
    background: #e2f7ef;
    color: #086a5d;
    font-weight: 850;
}
.standalone-match-card form {
    padding: 9px;
    border-top: 1px solid #edf1f5;
}
.standalone-match-card > .badge {
    margin: 9px 10px 0;
}
.standalone-match-card > footer {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 11px;
    border-top: 1px solid #edf1f5;
    color: var(--muted);
    font-size: .66rem;
    font-weight: 750;
}
.tournament-share-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr);
    gap: 20px;
    align-items: center;
    margin-bottom: 22px;
}
.copy-value {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
}
.copy-value code {
    min-width: 0;
    padding: 11px;
    overflow: hidden;
    border-radius: 10px;
    background: #eef4f8;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.registration-manager-grid,
.result-manager-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.registration-manager-card,
.result-manager-card {
    min-width: 0;
    padding: 17px;
    border: 1px solid #dce6ee;
    border-radius: 16px;
    background: #fff;
}
.registration-manager-card .cluster-between > div {
    min-width: 0;
}
.registration-manager-card .cluster-between span {
    display: block;
    overflow-wrap: anywhere;
}
.registration-edit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
    margin-top: 14px;
}
.registration-edit-grid .btn {
    grid-column: 1 / -1;
}
.result-manager-card h3 {
    overflow-wrap: anywhere;
}
.result-score-entry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 10px;
    align-items: end;
    margin: 14px 0;
}
.result-score-entry label {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: .76rem;
    font-weight: 800;
}
.result-score-entry input {
    margin-top: 5px;
    text-align: center;
}
.result-score-entry b {
    padding-bottom: 13px;
}
.placement-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.placement-grid label {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 90px;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid #e0e8ef;
    border-radius: 12px;
}
.placement-grid span {
    overflow-wrap: anywhere;
    font-size: .8rem;
    font-weight: 800;
}
.prize-row-list {
    display: grid;
    gap: 10px;
}
.prize-edit-row {
    display: grid;
    grid-template-columns: 82px 145px minmax(180px, 1fr) auto auto;
    gap: 10px;
    align-items: end;
    padding: 12px;
    border: 1px solid #dfe7ee;
    border-radius: 14px;
    background: #f9fbfc;
}
.prize-edit-row .form-group {
    min-width: 0;
}
.my-darts-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {
    .tournament-search-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .tournament-search-grid .btn {
        min-height: 45px;
    }
    .tournament-public-grid,
    .tournament-history-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .my-darts-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .standalone-hero,
    .standalone-tournament-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        justify-items: stretch;
    }
    .standalone-hero .btn,
    .standalone-tournament-head > .btn {
        width: 100%;
    }
    .standalone-tournament-overview,
    .tournament-share-card,
    .registration-manager-grid,
    .result-manager-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .tournament-registration-card {
        position: static;
    }
    .tournament-fact-grid,
    .prize-public-grid,
    .approved-entry-grid,
    .placement-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .prize-edit-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .prize-edit-row > *:nth-child(3) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .standalone-hero {
        margin-inline: 0;
        padding: 21px 18px;
        border-radius: 18px;
    }
    .standalone-hero h1,
    .standalone-tournament-head h1 {
        font-size: clamp(1.65rem, 9vw, 2.35rem);
    }
    .tournament-search-grid,
    .tournament-public-grid,
    .tournament-history-grid,
    .tournament-fact-grid,
    .prize-public-grid,
    .approved-entry-grid,
    .placement-grid,
    .my-darts-category-grid,
    .registration-edit-grid,
    .prize-edit-row {
        grid-template-columns: minmax(0, 1fr);
    }
    .tournament-public-card {
        min-height: 0;
        padding: 18px;
    }
    .tournament-card-stats {
        gap: 5px;
    }
    .tournament-card-stats span {
        padding-inline: 4px;
        font-size: .61rem;
    }
    .copy-value {
        grid-template-columns: minmax(0, 1fr);
    }
    .copy-value .btn {
        width: 100%;
    }
    .registration-manager-card,
    .result-manager-card {
        padding: 13px;
    }
    .registration-edit-grid .btn,
    .prize-edit-row > *:nth-child(3) {
        grid-column: auto;
    }
    .result-score-entry {
        gap: 6px;
    }
    .placement-grid label {
        grid-template-columns: minmax(0, 1fr) 78px;
    }
    .standalone-bracket-round {
        width: 225px;
        flex-basis: 225px;
    }
}

@media (min-width: 1101px) {
    .my-darts-category-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

/* V1.17 Cricket setup, scorer and reports */
.personal-game-card {
    grid-column: 1 / -1;
}
.personal-game-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.personal-game-options label {
    min-width: 0;
    cursor: pointer;
}
.personal-game-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.personal-game-options span {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 102px;
    padding: 17px;
    border: 2px solid #dbe5ed;
    border-radius: 18px;
    background: #fff;
}
.personal-game-options span > b:first-child {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 15px;
    color: #fff;
    background: #073864;
    font-size: .8rem;
    letter-spacing: .05em;
}
.personal-game-options span > i {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: transparent;
    background: #edf2f6;
    font-style: normal;
}
.personal-game-options strong,
.personal-game-options small {
    display: block;
    overflow-wrap: anywhere;
}
.personal-game-options small {
    margin-top: 4px;
    color: var(--muted);
}
.personal-game-options input:checked + span,
.personal-game-options label.is-selected span {
    border-color: #0aa18e;
    background: #eafaf6;
    box-shadow: 0 0 0 3px rgba(10, 161, 142, .08);
}
.personal-game-options input:checked + span > i,
.personal-game-options label.is-selected span > i {
    color: #fff;
    background: #079b87;
}
.personal-game-options input:focus-visible + span {
    outline: 3px solid #0b6fa4;
    outline-offset: 3px;
}
.cricket-rules-summary {
    display: grid;
    gap: 9px;
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid #bde6dc;
    border-radius: 16px;
    background: #edf9f6;
}
.cricket-rules-summary p {
    margin: 0;
}
.badge-cricket {
    color: #075b50;
    background: #d9f5ed;
}
.cricket-scorer-shell {
    max-width: 920px;
}
.cricket-scorer-topbar {
    background: linear-gradient(120deg, #081c35, #0a443e);
}
.cricket-bot-banner {
    margin: 0;
}
.cricket-scoreboard {
    overflow: hidden;
    border: 1px solid #244c48;
    border-radius: 24px;
    color: #fff;
    background: linear-gradient(145deg, #071a31, #0b2c33);
    box-shadow: 0 18px 40px rgba(3, 18, 33, .25);
}
.cricket-turn-bar {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 17px;
    color: #d6f1eb;
    background: rgba(0, 0, 0, .2);
    font-size: .76rem;
}
.cricket-turn-bar strong {
    color: #67e1c5;
    white-space: nowrap;
}
.cricket-player-heads {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: #294641;
}
.cricket-player-heads.is-solo {
    grid-template-columns: minmax(0, 1fr);
}
.cricket-player-heads article {
    min-width: 0;
    padding: 18px;
    background: #0d292e;
    text-align: center;
}
.cricket-player-heads article.is-throwing {
    background: linear-gradient(135deg, #0a4b45, #0b5c54);
    box-shadow: inset 0 -4px #68e2c5;
}
.cricket-player-heads small,
.cricket-player-heads strong,
.cricket-player-heads span {
    display: block;
    overflow-wrap: anywhere;
}
.cricket-player-heads small {
    color: #85b9b1;
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .09em;
}
.cricket-player-heads strong {
    margin: 4px 0 7px;
    font-size: 1.1rem;
}
.cricket-player-heads span {
    color: #c5dfdc;
    font-size: .76rem;
}
.cricket-mark-board {
    width: min(100%, 650px);
    margin: 0 auto;
    padding: 14px 20px 17px;
}
.cricket-mark-heading,
.cricket-mark-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 82px minmax(0, 1fr);
    align-items: center;
    text-align: center;
}
.cricket-mark-board.is-solo .cricket-mark-heading,
.cricket-mark-board.is-solo .cricket-mark-row {
    grid-template-columns: minmax(0, 1fr) 82px;
}
.cricket-mark-heading {
    padding: 4px 0 8px;
    color: #84afa9;
    font-size: .68rem;
    font-weight: 850;
}
.cricket-mark-heading span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cricket-mark-row {
    min-height: 53px;
    border-top: 1px solid rgba(255, 255, 255, .09);
}
.cricket-mark-row > b {
    color: #69e1c4;
    font-size: 1.08rem;
}
.cricket-mark-row.is-dead {
    opacity: .46;
}
.cricket-mark {
    color: #fff;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
}
.cricket-score-foot {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 13px 18px;
    color: #c4ddda;
    background: rgba(0, 0, 0, .22);
    text-align: center;
    font-size: .72rem;
}
.cricket-score-foot strong {
    color: #fff;
}
.cricket-entry-card {
    border: 0;
    border-radius: 22px;
    color: #fff;
    background: #0e2824;
}
.cricket-entry-card .muted,
.cricket-entry-card .eyebrow {
    color: #add0c9;
}
.cricket-dart-display {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 13px;
}
.cricket-dart-display > span {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 11px;
    border: 1px solid #42605a;
    border-radius: 13px;
    background: #17352f;
    text-align: center;
}
.cricket-dart-display b {
    color: #a6c9c2;
    font-size: .65rem;
}
.cricket-dart-display strong {
    min-height: 28px;
    font-size: 1.2rem;
}
.cricket-dart-display strong.is-set {
    color: #6fe1c5;
}
.cricket-multiplier-tabs,
.cricket-target-pad,
.cricket-special-pad,
.cricket-entry-actions {
    display: grid;
    gap: 8px;
}
.cricket-multiplier-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 10px;
}
.cricket-multiplier-tabs button,
.cricket-target-pad button,
.cricket-special-pad button {
    min-width: 0;
    min-height: 52px;
    border: 1px solid #49655f;
    border-radius: 12px;
    color: #fff;
    background: #183832;
    font-weight: 900;
    touch-action: manipulation;
}
.cricket-multiplier-tabs button.active {
    color: #052b24;
    background: #69dfc1;
}
.cricket-target-pad {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-bottom: 8px;
}
.cricket-target-pad button {
    min-height: 66px;
    color: #082720;
    background: #fff;
    font-size: 1.3rem;
}
.cricket-special-pad {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cricket-special-pad small {
    display: block;
    margin-top: 3px;
    color: #a9cbc4;
    font-weight: 650;
}
.cricket-entry-actions {
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
    margin-top: 13px;
}
.cricket-entry-actions .btn {
    width: 100%;
}
.cricket-history .live-visit-row {
    grid-template-columns: 52px minmax(130px, .8fr) minmax(90px, auto) minmax(220px, 1.5fr);
}
.cricket-report-hero {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    margin-bottom: 18px;
    color: #fff;
    background: linear-gradient(125deg, #071d3a, #0a5149);
}
.cricket-report-player {
    flex: 1;
    min-width: 0;
    max-width: 360px;
    text-align: center;
}
.cricket-report-player span,
.cricket-report-player strong,
.cricket-report-player small {
    display: block;
    overflow-wrap: anywhere;
}
.cricket-report-player strong {
    margin: 8px;
    font-size: 3.8rem;
    line-height: 1;
}
.cricket-report-player small {
    color: #cce5e1;
}
.cricket-game-report {
    margin-top: 22px;
}
.cricket-report-targets {
    width: min(100%, 600px);
    margin: 16px auto;
    overflow: hidden;
    border: 1px solid #dce6ef;
    border-radius: 16px;
}
.cricket-report-targets > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 82px minmax(0, 1fr);
    align-items: center;
    min-height: 45px;
    border-top: 1px solid #e8edf3;
    text-align: center;
}
.cricket-report-targets > div:first-child {
    border-top: 0;
    background: #f4f8fb;
    font-size: .72rem;
}
.cricket-report-targets.is-solo > div {
    grid-template-columns: minmax(0, 1fr) 82px;
}
.cricket-report-targets span {
    color: #0b766b;
    font-size: 1.65rem;
}

@media (max-width: 760px) {
    .personal-game-options {
        grid-template-columns: minmax(0, 1fr);
    }
    .personal-game-options span {
        min-height: 88px;
        padding: 14px;
    }
    .cricket-scorer-shell {
        overflow-x: hidden;
    }
    .cricket-bot-banner {
        margin: 8px;
    }
    .cricket-scoreboard,
    .cricket-entry-card,
    .cricket-history {
        margin-inline: 8px;
        border-radius: 17px;
    }
    .cricket-turn-bar {
        display: grid;
        gap: 3px;
        text-align: center;
    }
    .cricket-turn-bar strong {
        white-space: normal;
    }
    .cricket-player-heads article {
        padding: 14px 9px;
    }
    .cricket-player-heads strong {
        font-size: .9rem;
    }
    .cricket-mark-board {
        padding: 8px 11px 12px;
    }
    .cricket-mark-heading,
    .cricket-mark-row {
        grid-template-columns: minmax(0, 1fr) 62px minmax(0, 1fr);
    }
    .cricket-mark-board.is-solo .cricket-mark-heading,
    .cricket-mark-board.is-solo .cricket-mark-row {
        grid-template-columns: minmax(0, 1fr) 62px;
    }
    .cricket-mark-row {
        min-height: 47px;
    }
    .cricket-mark {
        font-size: 1.7rem;
    }
    .cricket-score-foot {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 11px;
    }
    .cricket-score-foot strong {
        grid-row: 2;
        grid-column: 1 / -1;
    }
    .cricket-score-foot span:last-child {
        grid-column: 2;
    }
    .cricket-entry-card {
        padding: 15px;
    }
    .cricket-target-pad {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .cricket-target-pad button {
        min-height: 58px;
    }
    .cricket-special-pad {
        grid-template-columns: minmax(0, 1fr);
    }
    .cricket-entry-actions {
        grid-template-columns: minmax(0, 1fr);
    }
    .cricket-history .live-visit-row {
        grid-template-columns: 42px minmax(0, 1fr) auto;
    }
    .cricket-history .live-visit-row small {
        grid-column: 2 / -1;
        min-width: 0;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .cricket-report-hero {
        gap: 10px;
        padding: 18px 10px;
    }
    .cricket-report-player strong {
        font-size: 3rem;
    }
    .cricket-report-targets > div {
        grid-template-columns: minmax(0, 1fr) 60px minmax(0, 1fr);
    }
    .cricket-report-targets.is-solo > div {
        grid-template-columns: minmax(0, 1fr) 60px;
    }
}

@media (max-width: 430px) {
    .personal-game-options span {
        grid-template-columns: 42px minmax(0, 1fr) 24px;
        gap: 9px;
    }
    .personal-game-options span > b:first-child {
        width: 42px;
        height: 42px;
    }
    .cricket-scorer-topbar {
        grid-template-columns: 37px minmax(0, 1fr) 37px;
        gap: 7px;
    }
    .cricket-scorer-topbar a {
        width: 36px;
        height: 36px;
    }
    .cricket-scorer-topbar small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .cricket-dart-display > span {
        padding: 8px 4px;
    }
    .cricket-multiplier-tabs button {
        padding-inline: 5px;
        font-size: .72rem;
    }
    .cricket-report-player small {
        font-size: .68rem;
    }
}

.cricket-record-card {
    background: linear-gradient(150deg, #fff 42%, #e5f8f3);
    border-color: #bde6dc;
}
@media (min-width: 1101px) {
    .my-darts-category-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

/* V1.18 Round the Board setup, timed scorer and records */
.personal-game-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.personal-mode-options label.is-unavailable {
    cursor: not-allowed;
    opacity: .48;
}
.round-board-rules-setup {
    display: grid;
    gap: 16px;
}
.round-board-rules-intro {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: flex-start;
    padding: 16px;
    border: 1px solid #bde6dc;
    border-radius: 16px;
    background: #edf9f6;
}
.round-board-rules-intro p {
    margin: 4px 0 0;
    color: var(--muted);
}
.round-variant-list {
    display: grid;
    gap: 9px;
}
.round-variant-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 8px;
    align-items: stretch;
}
.round-variant-row label {
    min-width: 0;
    cursor: pointer;
}
.round-variant-row label > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.round-variant-row label > span {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 12px;
    height: 100%;
    padding: 13px 15px;
    border: 2px solid #dbe5ed;
    border-radius: 14px;
    background: #fff;
}
.round-variant-row label b,
.round-variant-row label small {
    min-width: 0;
    overflow-wrap: anywhere;
}
.round-variant-row label small {
    grid-column: 1 / -1;
    color: var(--muted);
}
.round-variant-row label em {
    color: #087f70;
    font-size: .72rem;
    font-style: normal;
    font-weight: 850;
    white-space: nowrap;
}
.round-variant-row input:checked + span {
    border-color: #0aa18e;
    background: #eafaf6;
    box-shadow: 0 0 0 3px rgba(10, 161, 142, .08);
}
.round-variant-row input:focus-visible + span {
    outline: 3px solid #0b6fa4;
    outline-offset: 2px;
}
.round-info-button,
.round-header-info,
.round-info-close {
    border: 0;
    font: inherit;
    font-weight: 950;
    cursor: pointer;
}
.round-info-button {
    border-radius: 13px;
    color: #fff;
    background: #073864;
    font-size: 1.25rem;
}
.round-extra-turn-option {
    margin: 0;
}
.round-info-modal[hidden],
.round-countdown[hidden] {
    display: none !important;
}
.round-info-modal {
    position: fixed;
    z-index: 10000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 18px;
}
.round-info-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(1, 13, 29, .76);
    cursor: pointer;
}
.round-info-sheet {
    position: relative;
    z-index: 1;
    width: min(580px, 100%);
    max-height: min(760px, calc(100dvh - 36px));
    overflow: auto;
    padding: 28px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .34);
}
.round-info-sheet h2,
.round-info-sheet h3 {
    margin: 7px 0;
}
.round-info-sheet ol,
.round-report-rules ol {
    display: grid;
    gap: 9px;
    padding-left: 22px;
}
.round-info-close {
    position: sticky;
    float: right;
    top: 0;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    color: #fff;
    background: #073864;
    font-size: 1.45rem;
}
body.modal-open {
    overflow: hidden;
}
.badge-round {
    color: #133e75;
    background: #dcecff;
}
.round-board-shell {
    max-width: 980px;
}
.round-board-topbar {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    background: linear-gradient(120deg, #071b38, #0b5b75);
}
.round-header-info {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    color: #062f42;
    background: #71e6d2;
    font-size: 1.25rem;
}
.round-board-scoreboard {
    overflow: hidden;
    margin-bottom: 18px;
    border: 1px solid #214d62;
    border-radius: 24px;
    color: #fff;
    background: linear-gradient(145deg, #071a31, #0b3544);
    box-shadow: 0 18px 40px rgba(3, 18, 33, .25);
}
.round-timer {
    display: grid;
    justify-items: center;
    padding: 19px;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
    background: rgba(0, 0, 0, .18);
}
.round-timer span,
.round-current-target span {
    color: #8ee9db;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .1em;
}
.round-timer strong {
    margin: 4px 0;
    font-size: clamp(2.5rem, 7vw, 4.3rem);
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.round-timer small {
    color: #c5dce4;
}
.round-player-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
}
.round-player-grid.is-solo {
    grid-template-columns: minmax(0, 1fr);
}
.round-player-grid article {
    min-width: 0;
    padding: 18px;
    border: 2px solid transparent;
    border-radius: 18px;
    background: rgba(255, 255, 255, .08);
}
.round-player-grid article.is-throwing {
    border-color: #64dfca;
    background: rgba(41, 185, 163, .16);
}
.round-player-grid article.is-complete {
    border-color: #8ee9a6;
}
.round-player-grid h2 {
    margin: 4px 0 13px;
    overflow-wrap: anywhere;
}
.round-current-target {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 12px;
}
.round-current-target strong {
    font-size: 2.25rem;
    line-height: 1;
}
.round-progress-track {
    overflow: hidden;
    height: 8px;
    margin: 12px 0;
    border-radius: 99px;
    background: rgba(255, 255, 255, .13);
}
.round-progress-track i {
    display: block;
    width: var(--progress);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #37cbb4, #8ee9a6);
}
.round-player-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    color: #c5dce4;
    text-align: center;
    font-size: .7rem;
}
.round-player-stats b {
    display: block;
    color: #fff;
    font-size: 1.2rem;
}
.round-board-foot {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 18px;
    color: #c5dce4;
    background: rgba(0, 0, 0, .14);
    font-size: .72rem;
}
.round-board-foot strong {
    color: #71e6d2;
    text-align: center;
}
.round-start-card,
.round-finish-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    margin: 18px 0;
}
.round-start-icon,
.round-finish-trophy {
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    border-radius: 18px;
    color: #fff;
    background: #073864;
    font-size: 1.7rem;
}
.round-entry-card,
.round-history {
    margin-top: 18px;
}
.round-entry-head {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: flex-start;
}
.round-entry-head h2 b {
    color: #078d7b;
}
.round-dart-slots {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0;
}
.round-dart-slots > span {
    min-width: 0;
    padding: 13px 9px;
    border: 1px solid #dce6ef;
    border-radius: 14px;
    background: #f5f8fb;
    text-align: center;
}
.round-dart-slots small,
.round-dart-slots strong {
    display: block;
}
.round-dart-slots strong {
    margin-top: 4px;
    overflow-wrap: anywhere;
    font-size: 1.2rem;
}
.round-dart-slots strong.is-set {
    color: #087f70;
}
.round-hit-buttons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}
.round-hit-buttons button,
.round-miss-actions button {
    min-height: 54px;
    border-radius: 13px;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}
.round-hit-buttons button {
    border: 0;
    color: #fff;
    background: #087f70;
}
.round-miss-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 10px;
}
.round-miss-actions button {
    border: 1px solid #efb1aa;
    color: #8d251a;
    background: #fff2f0;
}
.round-hit-buttons button:disabled,
.round-miss-actions button:disabled {
    cursor: not-allowed;
    opacity: .45;
}
.round-entry-actions {
    display: grid;
    grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr);
    gap: 10px;
    margin-top: 14px;
}
.round-history .live-visit-row {
    grid-template-columns: 44px minmax(110px, .8fr) auto minmax(180px, 1.5fr);
}
.round-countdown {
    position: fixed;
    z-index: 11000;
    inset: 0;
    display: grid;
    place-content: center;
    color: #fff;
    background: rgba(2, 18, 39, .94);
    text-align: center;
}
.round-countdown strong {
    font-size: clamp(7rem, 28vw, 15rem);
    line-height: .9;
}
.round-countdown span {
    margin-top: 20px;
    color: #71e6d2;
    font-size: 1.25rem;
    font-weight: 900;
}
.round-report-hero {
    display: grid;
    grid-template-columns: minmax(180px, .65fr) minmax(0, 1.35fr) auto;
    gap: 24px;
    align-items: center;
    margin-bottom: 22px;
    color: #fff;
    background: linear-gradient(125deg, #071d3a, #0b5b75);
}
.round-report-hero > div:first-child {
    text-align: center;
}
.round-report-hero > div:first-child span,
.round-report-hero > div:first-child small {
    display: block;
}
.round-report-hero > div:first-child strong {
    display: block;
    font-size: 3.4rem;
    font-variant-numeric: tabular-nums;
}
.round-report-hero p {
    color: #d1e5ec;
}
.round-report-rules,
.round-report-history {
    margin-top: 22px;
}
.round-record-card {
    border-color: #bdd8f5;
    background: linear-gradient(150deg, #fff 42%, #e8f3ff);
}
@media (min-width: 1101px) {
    .my-darts-category-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (max-width: 900px) {
    .personal-game-options {
        grid-template-columns: minmax(0, 1fr);
    }
    .round-report-hero {
        grid-template-columns: 1fr;
    }
    .round-report-hero > div:first-child {
        text-align: left;
    }
}
@media (max-width: 760px) {
    .round-board-shell {
        overflow-x: hidden;
    }
    .round-board-scoreboard,
    .round-start-card,
    .round-entry-card,
    .round-finish-card,
    .round-history {
        margin-inline: 8px;
        border-radius: 17px;
    }
    .round-board-topbar {
        grid-template-columns: 38px minmax(0, 1fr) 38px;
        gap: 8px;
    }
    .round-board-topbar > div {
        min-width: 0;
    }
    .round-board-topbar strong,
    .round-board-topbar small {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .round-header-info {
        width: 36px;
        height: 36px;
    }
    .round-player-grid {
        grid-template-columns: minmax(0, 1fr);
        padding: 9px;
    }
    .round-player-grid article {
        padding: 14px;
    }
    .round-board-foot,
    .round-start-card,
    .round-finish-card {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        text-align: center;
    }
    .round-board-foot {
        justify-items: center;
    }
    .round-start-icon,
    .round-finish-trophy {
        margin-inline: auto;
    }
    .round-entry-head {
        display: grid;
    }
    .round-dart-slots {
        gap: 6px;
    }
    .round-dart-slots > span {
        padding: 11px 4px;
    }
    .round-hit-buttons,
    .round-miss-actions,
    .round-entry-actions {
        grid-template-columns: minmax(0, 1fr);
    }
    .round-history .live-visit-row {
        grid-template-columns: 42px minmax(0, 1fr) auto;
    }
    .round-history .live-visit-row small {
        grid-column: 2 / -1;
        min-width: 0;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .round-info-modal {
        align-items: end;
        padding: 0;
    }
    .round-info-sheet {
        width: 100%;
        max-height: 86dvh;
        padding: 22px 18px calc(22px + env(safe-area-inset-bottom));
        border-radius: 22px 22px 0 0;
    }
    .round-variant-row label > span {
        grid-template-columns: minmax(0, 1fr);
    }
    .round-variant-row label em {
        white-space: normal;
    }
    .round-board-rules-intro {
        display: grid;
    }
}
@media (max-width: 390px) {
    .round-player-stats {
        gap: 3px;
    }
    .round-current-target strong {
        font-size: 1.8rem;
    }
    .round-dart-slots strong {
        font-size: 1rem;
    }
}

/* V1.18.1 — dark-panel heading contrast and narrow scorer-card containment */
.standalone-hero h1,
.my-darts-hero h1,
.ds-score-entry .ds-entry-heading h2,
.cricket-entry-card .ds-entry-heading h2,
.round-board-scoreboard .round-player-grid h2,
.round-report-hero h2 {
    color: #fff;
}

@media (max-width: 760px) {
    body.scoring-page .cricket-entry-card,
    body.scoring-page .round-start-card,
    body.scoring-page .round-entry-card,
    body.scoring-page .round-finish-card,
    body.scoring-page .round-history,
    body.scoring-page .ds-visit-history,
    body.scoring-page .personal-confirm-card,
    body.scoring-page .personal-waiting-card {
        width: auto;
    }
}

/* Dartscores V1.19.1 — Maths at the Oche and mobile administration */
.maths-page-head { align-items: end; }
.maths-intro-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); gap: 18px; margin-bottom: 20px; }
.maths-intro-card { min-height: 220px; overflow: hidden; }
.maths-intro-card h2 { margin: 16px 0 8px; font-size: clamp(1.6rem,3vw,2.25rem); }
.maths-intro-card p { max-width: 690px; color: #d4e4ee; }
.maths-feature-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.maths-feature-pills span { padding: 7px 11px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #fff; background: rgba(255,255,255,.08); font-size: .76rem; font-weight: 800; }
.maths-attempt-badge { display: grid; place-items: center; min-width: 68px; height: 68px; border-radius: 50%; color: #075f56; background: #d8f7ef; font-size: .82rem; font-weight: 900; text-align: center; }
.maths-week-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.maths-week-stats div { padding: 14px 8px; border-radius: 12px; background: #f3f7fa; text-align: center; }
.maths-week-stats strong, .maths-week-stats span { display: block; }
.maths-week-stats strong { color: var(--navy-950); font-size: 1.4rem; }
.maths-week-stats span { margin-top: 3px; color: var(--muted); font-size: .72rem; font-weight: 750; }
.maths-setup-form { margin-bottom: 22px; }
.maths-mode-options, .maths-difficulty-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.maths-difficulty-options { grid-template-columns: repeat(3,minmax(0,1fr)); }
.maths-mode-options label, .maths-difficulty-options label { display: block; margin: 0; }
.maths-mode-options input, .maths-difficulty-options input { position: absolute; opacity: 0; pointer-events: none; }
.maths-mode-options label > span, .maths-difficulty-options label > span { position: relative; display: grid; min-height: 126px; align-content: start; padding: 17px; border: 2px solid var(--line); border-radius: 15px; background: #fff; cursor: pointer; transition: border-color .15s, background .15s, transform .15s; }
.maths-mode-options label > span { grid-template-columns: minmax(0,1fr) auto; column-gap: 12px; }
.maths-mode-options b, .maths-difficulty-options b { color: var(--navy-950); font-size: 1rem; }
.maths-mode-options small, .maths-difficulty-options small { display: block; margin-top: 7px; color: var(--muted); line-height: 1.45; }
.maths-mode-options i { grid-column: 2; grid-row: 1 / span 2; align-self: start; padding: 5px 8px; border-radius: 999px; color: #174e79; background: var(--blue-100); font-size: .7rem; font-style: normal; font-weight: 900; white-space: nowrap; }
.maths-mode-options input:checked + span, .maths-difficulty-options input:checked + span { border-color: var(--teal-600); background: var(--teal-100); box-shadow: 0 0 0 3px rgba(20,184,157,.12); transform: translateY(-1px); }
.maths-mode-options input:disabled + span { opacity: .52; cursor: not-allowed; }
.maths-adaptive-note { margin-top: 14px; padding: 11px 13px; border-radius: 11px; color: #174e79; background: var(--blue-100); font-size: .84rem; text-transform: capitalize; }
.maths-duration-field { max-width: 360px; }
.maths-start-button { min-height: 56px; font-size: 1rem; }
.maths-rank { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--navy-900); background: #edf1f5; font-weight: 950; }
.maths-rank-1 { color: #684700; background: #f9e5a5; }
.maths-rank-2 { color: #49586a; background: #e3e8ed; }
.maths-rank-3 { color: #75411d; background: #efd1b9; }
.maths-podium-row { background: #fffdf5; }
.maths-launch-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 16px; align-items: center; margin-bottom: 20px; padding: 20px; border: 1px solid #8bd3c6; border-radius: 17px; color: #fff; background: radial-gradient(circle at 100% 0,rgba(20,184,157,.42),transparent 35%),linear-gradient(135deg,#071d3a,#0b5b75); box-shadow: var(--shadow-sm); }
.maths-launch-card:hover { color: #fff; transform: translateY(-1px); }
.maths-launch-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 16px; color: #062f2a; background: #71e6d2; font-size: 1.8rem; font-weight: 950; }
.maths-launch-card strong, .maths-launch-card span { display: block; }
.maths-launch-card strong { font-size: 1.2rem; }
.maths-launch-card span { margin-top: 4px; color: #d7e7ef; font-size: .86rem; }
.maths-launch-action { padding: 9px 13px; border-radius: 999px; color: #063b35; background: #71e6d2; font-size: .78rem; font-weight: 900; white-space: nowrap; }

/* Full-screen game */
body.maths-game-page { background: #061a2f; }
body.maths-game-page .app-main { padding: 0; }
.maths-game-shell { min-height: 100dvh; display: flex; flex-direction: column; color: #fff; background: radial-gradient(circle at 50% -10%,rgba(20,184,157,.22),transparent 34%),linear-gradient(160deg,#071d3a,#061528 72%); }
.maths-game-topbar { position: sticky; top: 0; z-index: 20; display: grid; grid-template-columns: 46px minmax(0,1fr) auto; gap: 11px; align-items: center; min-height: 70px; padding: max(10px,env(safe-area-inset-top)) 16px 10px; border-bottom: 1px solid rgba(255,255,255,.12); background: rgba(4,21,40,.93); backdrop-filter: blur(13px); }
.maths-exit-button { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; color: #fff; background: rgba(255,255,255,.06); font-size: 1.8rem; line-height: 1; }
.maths-game-title { min-width: 0; }
.maths-game-title strong, .maths-game-title small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.maths-game-title strong { font-size: 1rem; }
.maths-game-title small { margin-top: 2px; color: #a9c1d3; font-size: .72rem; }
.maths-timer { min-width: 82px; padding: 9px 11px; border-radius: 11px; color: #052d29; background: #71e6d2; font-size: 1.12rem; font-weight: 950; font-variant-numeric: tabular-nums; text-align: center; }
.maths-timer.is-untimed { min-width: 78px; font-size: .68rem; letter-spacing: .07em; }
.maths-timer.is-low { color: #fff; background: #c43b32; animation: mathsTimerPulse .8s ease-in-out infinite alternate; }
@keyframes mathsTimerPulse { to { transform: scale(1.04); } }
.maths-score-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.08); }
.maths-score-strip div { min-width: 0; padding: 10px 6px; background: rgba(3,17,32,.78); text-align: center; }
.maths-score-strip span, .maths-score-strip strong { display: block; }
.maths-score-strip span { color: #91aabd; font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.maths-score-strip strong { margin-top: 2px; color: #fff; font-size: 1rem; font-variant-numeric: tabular-nums; }
.maths-question-stage { width: min(100%,900px); flex: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,380px); gap: 18px; align-items: center; margin: 0 auto; padding: 20px; }
.maths-question-card { min-width: 0; padding: clamp(24px,5vw,48px); border: 1px solid rgba(255,255,255,.14); border-radius: 24px; background: rgba(255,255,255,.08); box-shadow: 0 20px 55px rgba(0,0,0,.2); text-align: center; }
.maths-question-type { display: inline-flex; padding: 6px 10px; border-radius: 999px; color: #71e6d2; background: rgba(20,184,157,.13); font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.maths-question-card h1 { margin: 18px 0 9px; color: #fff; font-size: clamp(1.7rem,4.6vw,3.1rem); line-height: 1.08; overflow-wrap: anywhere; }
.maths-question-card p { margin: 0; color: #b7cad8; font-size: clamp(.9rem,2vw,1.06rem); }
.maths-question-visual { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 24px; }
.maths-question-visual span { min-width: 80px; padding: 11px 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: rgba(1,14,28,.42); }
.maths-question-visual small, .maths-question-visual strong { display: block; }
.maths-question-visual small { color: #89a4b8; font-size: .58rem; font-weight: 850; text-transform: uppercase; }
.maths-question-visual strong { margin-top: 2px; color: #fff; font-size: 1.3rem; }
.maths-answer-panel { min-width: 0; padding: 17px; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: rgba(2,15,30,.75); }
.maths-answer-display { display: grid; place-items: center; min-height: 74px; margin-bottom: 11px; border: 2px solid rgba(113,230,210,.45); border-radius: 15px; color: #fff; background: rgba(255,255,255,.07); font-size: 2.5rem; font-weight: 950; font-variant-numeric: tabular-nums; }
.maths-keypad { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.maths-keypad button, .maths-choice-button { min-height: 58px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; color: #fff; background: rgba(255,255,255,.09); font-size: 1.22rem; font-weight: 900; touch-action: manipulation; }
.maths-keypad button:active, .maths-choice-button:active { transform: scale(.98); }
.maths-keypad .maths-key-action { color: #a8c1d2; font-size: .72rem; }
.maths-choice-answer { display: grid; gap: 9px; }
.maths-choice-button { min-height: 62px; padding: 10px 13px; font-size: .94rem; line-height: 1.2; overflow-wrap: anywhere; }
.maths-choice-button.is-selected { color: #062f2a; border-color: #71e6d2; background: #71e6d2; box-shadow: 0 0 0 3px rgba(113,230,210,.14); }
.maths-submit-answer { width: 100%; min-height: 57px; margin-top: 11px; border: 0; border-radius: 14px; color: #052d29; background: #71e6d2; font-size: .94rem; font-weight: 950; }
.maths-submit-answer:disabled { opacity: .38; }
.maths-feedback { position: fixed; z-index: 100; left: 50%; top: 50%; display: grid; place-items: center; min-width: 220px; padding: 24px; border-radius: 20px; transform: translate(-50%,-50%); box-shadow: 0 24px 80px rgba(0,0,0,.38); text-align: center; }
.maths-feedback strong, .maths-feedback span { display: block; }
.maths-feedback strong { font-size: 1.5rem; }
.maths-feedback span { margin-top: 4px; font-weight: 800; }
.maths-feedback.is-correct { color: #064f3a; background: #d8f7ef; }
.maths-feedback.is-wrong { color: #7d211a; background: #fde4e1; }
.maths-network-message { position: fixed; z-index: 90; left: 14px; right: 14px; bottom: max(14px,env(safe-area-inset-bottom)); max-width: 620px; margin: auto; padding: 12px 14px; border-radius: 12px; color: #7d211a; background: #fde4e1; font-size: .82rem; font-weight: 800; text-align: center; }

/* Review and leaderboard */
.maths-result-hero { display: grid; grid-template-columns: minmax(190px,.55fr) minmax(0,1.45fr); gap: 24px; align-items: center; margin-bottom: 22px; }
.maths-result-hero > div:first-child { text-align: center; }
.maths-result-hero > div:first-child span, .maths-result-hero > div:first-child strong, .maths-result-hero > div:first-child small { display: block; }
.maths-result-hero > div:first-child strong { margin: 3px 0; font-size: clamp(3rem,7vw,5.2rem); line-height: 1; }
.maths-result-hero > div:first-child small { color: #c8dce8; }
.maths-result-stats { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.maths-result-stats article { padding: 13px 8px; border-radius: 12px; background: rgba(255,255,255,.1); text-align: center; }
.maths-result-stats strong, .maths-result-stats span { display: block; }
.maths-result-stats strong { color: #fff; font-size: 1.25rem; }
.maths-result-stats span { margin-top: 4px; color: #c4d8e4; font-size: .66rem; font-weight: 800; }
.maths-review-grid { align-items: start; margin-bottom: 28px; }
.maths-topic-list { display: grid; gap: 14px; }
.maths-topic-list > div > div:first-child { display: flex; justify-content: space-between; gap: 12px; }
.maths-topic-list span, .maths-topic-list small { color: var(--muted); font-size: .76rem; }
.maths-topic-bar { overflow: hidden; height: 8px; margin: 7px 0 4px; border-radius: 999px; background: #e7edf2; }
.maths-topic-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--navy-700),var(--teal-500)); }
.maths-mistake-section { margin-top: 10px; }
.maths-mistake-list { display: grid; gap: 13px; }
.maths-mistake-card { padding: 0; overflow: hidden; }
.maths-mistake-card summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 17px; cursor: pointer; list-style: none; }
.maths-mistake-card summary::-webkit-details-marker { display: none; }
.maths-mistake-card summary strong, .maths-mistake-card summary small { display: block; }
.maths-mistake-card summary small { margin-top: 3px; color: var(--muted); }
.maths-mistake-number { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #8b1c14; background: var(--danger-soft); font-weight: 900; }
.maths-mistake-card[open] summary { border-bottom: 1px solid var(--line); background: #fbfcfd; }
.maths-answer-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 17px 17px 0; }
.maths-answer-comparison div { padding: 13px; border-radius: 12px; background: #f3f7fa; }
.maths-answer-comparison span, .maths-answer-comparison strong { display: block; }
.maths-answer-comparison span { color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.maths-answer-comparison strong { margin-top: 3px; color: var(--navy-950); font-size: 1.1rem; }
.maths-explanation { margin: 15px 17px; padding: 13px 14px; border-left: 4px solid var(--teal-600); border-radius: 0 10px 10px 0; background: var(--teal-100); }
.maths-route-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 10px; padding: 0 17px 17px; }
.maths-route-grid article { padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.maths-route-grid h3 { margin: 0 0 8px; font-size: .88rem; }
.maths-route-grid ol { margin: 0; padding-left: 19px; color: #43566b; font-size: .83rem; }
.maths-not-reached { margin-top: 20px; }
.maths-not-reached summary { display: flex; justify-content: space-between; gap: 14px; cursor: pointer; }
.maths-not-reached summary span { color: var(--muted); font-size: .78rem; }
.maths-not-reached-list { display: grid; gap: 9px; margin-top: 15px; }
.maths-not-reached-list article { padding: 12px; border-radius: 11px; background: #f5f8fa; }
.maths-not-reached-list strong, .maths-not-reached-list span, .maths-not-reached-list b { display: block; }
.maths-not-reached-list span { color: var(--muted); font-size: .78rem; }
.maths-not-reached-list b { margin-top: 6px; }
.maths-not-reached-list p { margin: 6px 0 0; font-size: .82rem; }
.maths-leaderboard-filters { margin-bottom: 20px; }
.maths-leaderboard-filters form { align-items: end; }
.maths-leaderboard-filters .form-actions { margin: 0; }
.maths-board-period { display: flex; justify-content: space-between; gap: 12px; padding-top: 15px; border-top: 1px solid var(--line); }
.maths-board-period span { color: var(--muted); font-size: .8rem; }
.maths-board-rules { margin-top: 20px; }
.maths-board-rules .grid > div { padding: 13px; border-radius: 11px; background: #fff; }
.maths-board-rules strong, .maths-board-rules span { display: block; }
.maths-board-rules span { margin-top: 4px; color: var(--muted); font-size: .8rem; }
.admin-maths-table details summary { list-style: none; cursor: pointer; }
.admin-maths-table details summary::-webkit-details-marker { display: none; }

/* Admin and whole-app mobile containment */
.admin-maths-table code, .admin-maths-table small,
.admin-production-table code, .admin-audit-table td,
.admin-stripe-catalogue-table code, .admin-stripe-mapping-table code,
.admin-device-table small, .admin-delivery-table small { overflow-wrap: anywhere; word-break: break-word; }
@media (max-width: 900px) {
    .maths-intro-grid, .maths-result-hero { grid-template-columns: 1fr; }
    .maths-difficulty-options { grid-template-columns: 1fr; }
    .maths-result-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .maths-question-stage { grid-template-columns: minmax(0,1fr); align-content: start; }
    .maths-answer-panel { width: min(100%,520px); margin: 0 auto; }
}
@media (max-width: 760px) {
    .maths-page-head { align-items: stretch; }
    .maths-mode-options, .maths-profile-grid { grid-template-columns: 1fr; }
    .maths-mode-options label > span, .maths-difficulty-options label > span { min-height: 0; }
    .maths-week-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .maths-launch-card { grid-template-columns: auto minmax(0,1fr); padding: 16px; }
    .maths-launch-action { grid-column: 1 / -1; text-align: center; }
    .maths-game-topbar { grid-template-columns: 42px minmax(0,1fr) auto; padding-inline: 10px; }
    .maths-timer { min-width: 72px; font-size: 1rem; }
    .maths-score-strip span { font-size: .54rem; }
    .maths-score-strip strong { font-size: .9rem; }
    .maths-question-stage { gap: 12px; padding: 12px 10px calc(12px + env(safe-area-inset-bottom)); }
    .maths-question-card { min-height: 190px; display: grid; place-content: center; padding: 22px 14px; border-radius: 18px; }
    .maths-question-card h1 { margin-top: 13px; font-size: clamp(1.55rem,7vw,2.2rem); }
    .maths-question-visual { margin-top: 15px; }
    .maths-question-visual span { min-width: 68px; padding: 8px 9px; }
    .maths-question-visual strong { font-size: 1.08rem; }
    .maths-answer-panel { padding: 12px; border-radius: 17px; }
    .maths-answer-display { min-height: 58px; font-size: 2rem; }
    .maths-keypad button { min-height: 52px; }
    .maths-choice-button { min-height: 54px; }
    .maths-submit-answer { min-height: 52px; }
    .maths-result-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .maths-mistake-card summary { grid-template-columns: auto minmax(0,1fr); }
    .maths-mistake-card summary .badge { grid-column: 2; justify-self: start; }
    .maths-answer-comparison { grid-template-columns: 1fr; }
    .maths-board-period, .maths-not-reached summary { align-items: flex-start; flex-direction: column; }
    .app-topbar .topbar-actions .js-install-pwa { display: none !important; }
    .admin-production-table .cluster, .admin-device-table .cluster, .admin-stripe-mapping-table .cluster { width: 100%; }
    .table-wrap:not(.mobile-cards) { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
    .table-wrap:not(.mobile-cards) table { min-width: 620px; }
}
@media (max-width: 390px) {
    .maths-game-topbar { grid-template-columns: 38px minmax(0,1fr) 67px; gap: 7px; }
    .maths-exit-button { width: 37px; height: 37px; }
    .maths-game-title strong { font-size: .88rem; }
    .maths-game-title small { font-size: .62rem; }
    .maths-timer { min-width: 67px; padding-inline: 6px; }
    .maths-score-strip div { padding-inline: 2px; }
    .maths-question-stage { padding-inline: 7px; }
    .maths-question-card { padding-inline: 10px; }
    .maths-keypad { gap: 6px; }
    .maths-keypad button { min-height: 49px; }
}

/* Dartscores v1.19.2 dashboard and public feature discovery */
.dashboard-discovery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dashboard-discovery-grid .dashboard-launch-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 300px;
    padding: 27px;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.dashboard-discovery-grid .dashboard-launch-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 38px rgba(7,29,58,.14);
}
.dashboard-discovery-grid .dashboard-launch-card p {
    margin-bottom: 16px;
}
.dashboard-discovery-grid .dashboard-launch-card .btn {
    margin-top: auto;
}
.dashboard-launch-symbol {
    position: absolute;
    top: 19px;
    right: 20px;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 15px;
    color: var(--navy-950);
    background: rgba(255,255,255,.72);
    box-shadow: 0 10px 24px rgba(7,29,58,.1);
    font-size: 1.2rem;
    font-weight: 950;
}
.dashboard-launch-primary .dashboard-launch-symbol {
    color: #fff;
    background: rgba(255,255,255,.14);
}
.dashboard-launch-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0 0 20px;
}
.dashboard-launch-pills b {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 5px 9px;
    border: 1px solid rgba(7,29,58,.11);
    border-radius: 999px;
    color: var(--navy-800);
    background: rgba(255,255,255,.74);
    font-size: .7rem;
    font-weight: 850;
}
.dashboard-launch-primary .dashboard-launch-pills b {
    color: #fff;
    border-color: rgba(255,255,255,.2);
    background: rgba(255,255,255,.1);
}
.dashboard-launch-maths {
    border-color: #9acdc6;
    background: radial-gradient(circle at 100% 0,rgba(113,230,210,.32),transparent 38%),linear-gradient(140deg,#f2fffc,#e6f7f4);
}
.dashboard-launch-tournament {
    border-color: #f1cf9f;
    background: radial-gradient(circle at 100% 0,rgba(248,169,64,.25),transparent 40%),linear-gradient(140deg,#fffaf2,#fff);
}
.dashboard-launch-picks {
    border-color: #8fcfc5;
    background: radial-gradient(circle at 100% 0, rgba(23, 166, 144, .18), transparent 38%), linear-gradient(135deg, #effcf9, #ffffff);
}
.dashboard-launch-picks .dashboard-launch-symbol {
    color: #ffffff;
    background: linear-gradient(135deg, #071d3a, #0a907e);
}
.dashboard-launch-picks .eyebrow .badge {
    margin-left: 6px;
    vertical-align: middle;
}


.home-free-games-section {
    position: relative;
    overflow: hidden;
    background: #fff;
}
.home-free-games-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -220px;
    top: 40px;
    border-radius: 50%;
    background: rgba(20,184,157,.055);
}
.home-discovery-heading {
    position: relative;
    max-width: 880px;
}
.home-free-game-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 17px;
}
.home-free-game-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 255px;
    padding: 23px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 20px;
    color: var(--ink);
    background: #fff;
    box-shadow: var(--shadow-sm);
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.home-free-game-card:hover {
    color: var(--ink);
    border-color: #9dcfc8;
    transform: translateY(-4px);
    box-shadow: 0 20px 38px rgba(7,29,58,.12);
}
.home-free-game-card .badge {
    position: absolute;
    top: 20px;
    right: 20px;
}
.home-free-game-icon {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin-bottom: 22px;
    border-radius: 17px;
    color: #fff;
    background: linear-gradient(135deg,var(--navy-800),var(--navy-950));
    font-size: .82rem;
    font-weight: 950;
    letter-spacing: .03em;
    box-shadow: 0 12px 24px rgba(7,29,58,.18);
}
.home-free-game-card h3 {
    margin: 0 0 8px;
    font-size: 1.28rem;
}
.home-free-game-card p {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: .9rem;
}
.home-free-game-card > strong {
    margin-top: auto;
    color: var(--teal-700);
    font-size: .87rem;
}
.home-free-game-card.game-bot .home-free-game-icon,
.home-free-game-card.game-cricket .home-free-game-icon {
    background: linear-gradient(135deg,#0a8c7d,#075e55);
}
.home-free-game-card.game-round .home-free-game-icon,
.home-free-game-card.game-match .home-free-game-icon {
    background: linear-gradient(135deg,#e39131,#b86121);
}
.home-free-game-card.game-maths {
    border-color: #9ddbd1;
    background: linear-gradient(145deg,#effcf9,#fff);
}
.home-free-game-card.game-maths .home-free-game-icon {
    color: #072e2a;
    background: linear-gradient(135deg,#72e8d2,#32b69f);
}
.home-section-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 30px;
    text-align: center;
}
.home-section-actions > span {
    color: var(--muted);
    font-size: .87rem;
    font-weight: 700;
}
.home-spotlight-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: clamp(32px,6vw,76px);
    align-items: center;
}
.home-spotlight-copy {
    min-width: 0;
}
.home-spotlight-copy h2 {
    max-width: 700px;
}
.home-spotlight-copy .feature-check-list {
    margin: 24px 0 27px;
}
.home-maths-demo {
    overflow: hidden;
    padding: 22px;
    border: 1px solid rgba(113,230,210,.35);
    border-radius: 27px;
    color: #fff;
    background: radial-gradient(circle at 90% 0,rgba(113,230,210,.25),transparent 36%),linear-gradient(145deg,#071d3a,#0c3d56 64%,#086f67);
    box-shadow: 0 28px 55px rgba(7,29,58,.22);
}
.home-maths-demo-top,
.home-maths-demo-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.home-maths-demo-top span {
    color: #72e8d2;
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .12em;
}
.home-maths-demo-top b {
    padding: 7px 10px;
    border-radius: 999px;
    color: #082a28;
    background: #72e8d2;
}
.home-maths-demo-score {
    display: grid;
    place-items: center;
    min-height: 155px;
    margin: 18px 0 7px;
    border-radius: 20px;
    background: rgba(255,255,255,.08);
}
.home-maths-demo-score small,
.home-maths-demo-score span {
    color: #c8dce8;
    font-weight: 750;
}
.home-maths-demo-score strong {
    font-size: 4.8rem;
    line-height: .9;
}
.home-maths-demo h3 {
    color: #fff;
    text-align: center;
    font-size: 1.08rem;
}
.home-maths-demo-options {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 9px;
    margin-top: 15px;
}
.home-maths-demo-options span {
    display: grid;
    place-items: center;
    min-height: 50px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 13px;
    background: rgba(255,255,255,.07);
    font-weight: 900;
}
.home-maths-demo-options .is-answer {
    color: #062f2a;
    border-color: #72e8d2;
    background: #72e8d2;
}
.home-maths-demo-explain {
    margin-top: 12px;
    padding: 14px;
    border-radius: 13px;
    color: #082d29;
    background: #dff9f3;
}
.home-maths-demo-explain strong,
.home-maths-demo-explain span {
    display: block;
}
.home-maths-demo-explain span {
    margin-top: 4px;
    font-size: .8rem;
}
.home-maths-demo-foot {
    margin-top: 14px;
    color: #c6dbe6;
    font-size: .72rem;
    font-weight: 750;
}
.home-tournament-spotlight {
    background: #fff;
}
.home-tournament-grid {
    grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
}
.home-tournament-demo {
    padding: 24px;
    border: 1px solid #e9c892;
    border-radius: 27px;
    background: linear-gradient(145deg,#fffaf1,#fff);
    box-shadow: 0 25px 50px rgba(89,57,14,.12);
}
.home-tournament-demo-head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6px 14px;
    align-items: center;
    padding-bottom: 18px;
    border-bottom: 1px solid #eeddbf;
}
.home-tournament-demo-head .badge {
    grid-column: 1 / -1;
    justify-self: start;
}
.home-tournament-demo-head strong {
    color: var(--navy-950);
    font-size: 1.35rem;
}
.home-tournament-demo-head small {
    color: var(--muted);
}
.home-tournament-formats {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
    margin: 18px 0;
}
.home-tournament-formats span {
    display: grid;
    place-items: center;
    min-height: 75px;
    padding: 9px;
    border: 1px solid #ead7b6;
    border-radius: 14px;
    color: #66502e;
    background: #fff;
    font-size: .69rem;
    text-align: center;
}
.home-tournament-formats b {
    display: block;
    color: var(--navy-900);
    font-size: 1rem;
}
.home-bracket-preview {
    display: grid;
    grid-template-columns: minmax(0,1.2fr) auto minmax(0,.9fr) auto minmax(0,.75fr);
    gap: 7px;
    align-items: center;
    margin: 20px 0;
}
.home-bracket-preview div {
    display: grid;
    gap: 6px;
}
.home-bracket-preview span {
    display: block;
    padding: 9px 10px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: #fff;
    font-size: .75rem;
    font-weight: 800;
}
.home-bracket-preview i {
    color: #c17b27;
    font-style: normal;
    font-weight: 950;
}
.home-tournament-demo-foot {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding-top: 17px;
    border-top: 1px solid #eeddbf;
}
.home-tournament-demo-foot span {
    padding: 6px 8px;
    border-radius: 999px;
    color: #6f542b;
    background: #fff0d5;
    font-size: .68rem;
    font-weight: 800;
}

@media (max-width: 1180px) and (min-width: 1001px) {
    .marketing-links { gap: 13px; font-size: .83rem; }
    .marketing-links .btn { padding-inline: 11px; }
    .brand img { width: 205px; }
}
@media (max-width: 980px) {
    .home-free-game-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .home-spotlight-grid,
    .home-tournament-grid { grid-template-columns: 1fr; }
    .home-maths-demo,
    .home-tournament-demo { width: min(100%,650px); }
    .home-tournament-grid .home-tournament-demo { order: 2; }
}
@media (max-width: 760px) {
    .dashboard-discovery-grid { grid-template-columns: 1fr; }
    .dashboard-discovery-grid .dashboard-launch-card { min-height: 0; padding: 21px; }
    .dashboard-launch-symbol { width: 40px; height: 40px; top: 16px; right: 16px; }
    .dashboard-launch-pills { margin-bottom: 17px; }
    .home-free-game-grid { grid-template-columns: 1fr; }
    .home-free-game-card { min-height: 0; padding: 20px; }
    .home-free-game-icon { width: 50px; height: 50px; margin-bottom: 18px; }
    .home-section-actions { align-items: stretch; flex-direction: column; }
    .home-section-actions .btn { width: 100%; }
    .home-maths-demo,
    .home-tournament-demo { padding: 17px; border-radius: 21px; }
    .home-maths-demo-score { min-height: 130px; }
    .home-maths-demo-score strong { font-size: 4rem; }
    .home-maths-demo-foot { align-items: flex-start; flex-direction: column; }
    .home-tournament-formats { grid-template-columns: 1fr; }
    .home-tournament-formats span { grid-template-columns: 48px 1fr; justify-items: start; min-height: 54px; text-align: left; }
    .home-bracket-preview { grid-template-columns: 1fr; }
    .home-bracket-preview i { transform: rotate(90deg); justify-self: center; }
    .home-spotlight-copy .cluster .btn { width: 100%; }
}
@media (max-width: 390px) {
    .dashboard-launch-card h2 { padding-right: 34px; font-size: 1.45rem; }
    .dashboard-launch-pills b { font-size: .65rem; }
    .home-free-game-card .badge { top: 18px; right: 17px; }
    .home-maths-demo-options { gap: 6px; }
    .home-maths-demo-options span { min-height: 46px; }
}
.dashboard-discovery-grid .dashboard-launch-card > .eyebrow { padding-right: 58px; }
@media (max-width: 760px) {
    .dashboard-discovery-grid .dashboard-launch-card .btn { width: 100%; }
}

/* Dartscores v1.19.3 How to Guides Centre */
.guide-context-help{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 0 14px;padding:9px 12px;border:1px solid #cfe4df;border-radius:13px;background:#f2fbf9;color:var(--muted);font-size:.78rem;font-weight:750}.guide-context-help .btn{white-space:normal;text-align:center}.bottom-nav-six{grid-template-columns:repeat(6,minmax(0,1fr))}.bottom-nav-six a{min-width:0;padding-inline:2px;font-size:.58rem}.bottom-nav-six a span{font-size:1rem}.marketing-mobile-guide{display:none;color:var(--navy-900);font-size:.76rem;font-weight:850;text-decoration:none;white-space:nowrap}.dashboard-launch-guides{grid-column:1/-1;min-height:230px!important;border-color:#a9c5e2;background:radial-gradient(circle at 100% 0,rgba(30,102,184,.18),transparent 38%),linear-gradient(135deg,#eef6ff,#fff)}.dashboard-launch-guides p{max-width:820px!important}.guide-hero,.guide-detail-hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 88% 0,rgba(48,216,188,.24),transparent 34%),linear-gradient(135deg,#061a34,#073b5e 64%,#087267)}.guide-hero::after,.guide-detail-hero::after{content:"?";position:absolute;right:clamp(20px,8vw,120px);bottom:-80px;color:rgba(255,255,255,.055);font-size:22rem;font-weight:950;line-height:1}.guide-hero-inner,.guide-detail-hero-inner{position:relative;z-index:1;padding-top:clamp(44px,7vw,84px);padding-bottom:clamp(44px,7vw,76px)}.guide-hero-copy{max-width:820px}.guide-hero h1,.guide-detail-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.02}.guide-hero .lead,.guide-detail-hero .lead{max-width:820px;color:#d5e6f0}.guide-search-form{max-width:920px;margin-top:30px}.guide-search-form>label{display:block;margin-bottom:8px;color:#9ceee0;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.guide-search-box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border-radius:18px;background:#fff;box-shadow:0 22px 45px rgba(0,0,0,.22)}.guide-search-box>span{padding-left:12px;color:#567083;font-size:1.45rem}.guide-search-box input{min-width:0;border:0;background:transparent;box-shadow:none;font-size:1rem}.guide-search-box input:focus{outline:0;box-shadow:none}.guide-index-section{background:#f5f8fb}.guide-role-filter{display:flex;align-items:center;gap:9px;overflow-x:auto;padding:3px 0 15px;scrollbar-width:thin}.guide-role-filter>span{flex:0 0 auto;color:var(--muted);font-size:.75rem;font-weight:850}.guide-filter-pill{flex:0 0 auto;display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;color:var(--navy-800);background:#fff;font-size:.78rem;font-weight:850;text-decoration:none}.guide-filter-pill:hover,.guide-filter-pill.active{color:#062f29;border-color:#67d8c5;background:#dff9f3}.guide-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:10px 0 42px}.guide-category-card{position:relative;display:flex;flex-direction:column;min-height:225px;padding:22px;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:#fff;box-shadow:var(--shadow-sm);text-decoration:none;transition:.18s ease}.guide-category-card:hover,.guide-category-card.active{transform:translateY(-3px);border-color:#69d1c0;box-shadow:0 18px 34px rgba(7,29,58,.12)}.guide-category-card.active{background:linear-gradient(145deg,#effcf9,#fff)}.guide-category-number{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:13px;color:#fff;background:var(--navy-900);font-size:.78rem;font-weight:950}.guide-category-card h2{margin:0 0 8px;font-size:1.18rem}.guide-category-card p{margin:0 0 15px;color:var(--muted);font-size:.85rem}.guide-category-card small{margin-top:auto;color:#4d6678;font-weight:750}.guide-section-heading{margin:38px 0 18px}.guide-section-heading h2{margin:4px 0 5px}.guide-section-heading p{margin:0;color:var(--muted)}.guide-results-summary{margin:35px 0 15px}.guide-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.guide-card{display:flex;flex-direction:column;min-height:270px;padding:22px;border:1px solid var(--line);border-radius:19px;color:var(--ink);background:#fff;box-shadow:var(--shadow-sm);text-decoration:none;transition:.18s ease}.guide-card:hover{transform:translateY(-3px);color:var(--ink);border-color:#86d7c9;box-shadow:0 18px 34px rgba(7,29,58,.12)}.guide-card-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:16px}.guide-number,.guide-time{display:inline-flex;align-items:center;min-height:27px;padding:5px 8px;border-radius:999px;font-size:.67rem;font-weight:900}.guide-number{color:#063d35;background:#dff9f3}.guide-time{color:#4b6172;background:#eef3f7}.guide-card h3{margin:0 0 9px;font-size:1.12rem}.guide-card p{margin:0 0 18px;color:var(--muted);font-size:.84rem}.guide-card-meta{display:grid;gap:4px;margin-top:auto;padding-top:13px;border-top:1px solid #e5ebf0;color:#557083;font-size:.69rem;font-weight:750}.guide-card>strong{margin-top:13px;color:var(--teal-700);font-size:.8rem}.guide-featured-grid .guide-card:first-child{grid-column:span 2;background:linear-gradient(145deg,#effcf9,#fff);border-color:#8fd9cd}.guide-category-section{margin-top:44px;scroll-margin-top:90px}.guide-empty-state{margin:35px 0;padding:48px 20px;border:1px solid var(--line);border-radius:22px;background:#fff}.guide-still-stuck{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:48px;padding:28px}.guide-still-stuck h2{margin:5px 0 8px}.guide-unavailable-section{min-height:65vh;display:grid;place-items:center}.guide-narrow{width:min(100%,880px)}.guide-unavailable-card{padding:35px}.guide-breadcrumbs{color:#bad2e2}.guide-breadcrumbs a{color:#dff9f3}.guide-detail-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:end}.guide-meta-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.guide-meta-pills span{padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#d8e9f2;background:rgba(255,255,255,.07);font-size:.74rem}.guide-meta-pills b{color:#73e2d0}.guide-hero-actions{display:grid;gap:9px;min-width:205px}.guide-hero-actions .btn-ghost{color:#fff;border-color:rgba(255,255,255,.25)}.guide-detail-section{background:#f5f8fb}.guide-detail-layout{display:grid;grid-template-columns:235px minmax(0,850px);gap:28px;align-items:start;justify-content:center}.guide-detail-nav{position:sticky;top:88px;display:grid;gap:5px;padding:18px}.guide-detail-nav>strong{margin-bottom:7px}.guide-detail-nav a{padding:9px 10px;border-radius:9px;color:var(--navy-800);font-size:.78rem;font-weight:800;text-decoration:none}.guide-detail-nav a:hover{background:#edf7f5}.guide-detail-nav small{margin-top:10px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted)}.guide-detail-content{min-width:0}.guide-content-block{scroll-margin-top:95px;margin-bottom:24px}.guide-content-block.card{padding:27px}.guide-content-block h2{margin:4px 0 15px}.guide-check-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.guide-check-list li{position:relative;padding-left:31px}.guide-check-list li::before{content:"✓";position:absolute;left:0;top:-1px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#063e36;background:#d8f8f1;font-size:.72rem;font-weight:950}.guide-step-list{display:grid;gap:13px}.guide-step-card{display:grid;grid-template-columns:49px minmax(0,1fr);gap:15px;padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow-sm)}.guide-step-number{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;color:#062f29;background:#70dfcc;font-size:1.05rem;font-weight:950}.guide-step-body>p{margin:9px 0 0;line-height:1.65}.guide-step-warning{margin-top:13px;padding:11px 13px;border-left:4px solid #e89b35;border-radius:8px;background:#fff5e7;color:#6a481b;font-size:.8rem}.guide-step-image{margin:16px 0 0}.guide-step-image img{display:block;width:100%;max-height:620px;object-fit:contain;border:1px solid var(--line);border-radius:13px;background:#fff}.guide-step-image figcaption{margin-top:7px;color:var(--muted);font-size:.75rem}.guide-callout{margin:0 0 24px;padding:20px 22px;border-radius:16px;border-left:5px solid #10a58f;background:#e7faf6}.guide-callout strong{display:block;margin-bottom:5px}.guide-callout p{margin:0}.guide-callout-warning{border-left-color:#d34d5c;background:#fff0f2}.guide-callout-important{border-left-color:#e59a31;background:#fff5e7}.guide-callout-info{border-left-color:#2374c7;background:#edf6ff}.guide-next-block p{line-height:1.65}.guide-problem-list{display:grid;gap:10px}.guide-problem-list>div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px;border-radius:12px;background:#f7f9fb}.guide-problem-list span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#8b4a10;background:#ffe8c5;font-weight:950}.guide-problem-list p{margin:2px 0 0}.guide-feedback{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;padding:23px}.guide-feedback h2{margin:0 0 4px;font-size:1.15rem}.guide-prev-next{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.guide-prev-next a{display:grid;gap:4px;padding:18px;border:1px solid var(--line);border-radius:15px;color:var(--navy-900);background:#fff;text-decoration:none}.guide-prev-next a.next{text-align:right}.guide-prev-next small{color:var(--muted)}.guide-related-section{margin-top:42px}.guide-related-section .guide-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-related-section .guide-card{min-height:230px}.guide-mobile-tool{display:none}.guide-admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.guide-sync-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.guide-admin-category .card-header{align-items:flex-start}.guide-category-editor{margin:0 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f7fafc}.guide-category-editor summary{cursor:pointer;font-weight:850}.guide-category-editor form{margin-top:15px}.guide-admin-table td strong,.guide-admin-table td small{display:block}.guide-admin-table td small{margin-top:4px;color:var(--muted)}.guide-admin-form label{display:grid;gap:7px}.guide-role-checkboxes{display:flex;flex-wrap:wrap;gap:9px;margin:17px 0;padding:0;border:0}.guide-role-checkboxes legend{width:100%;margin-bottom:5px;font-weight:850}.guide-role-checkboxes label{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:999px;background:#fff}.guide-role-checkboxes input{width:auto}.form-span-3{grid-column:1/-1}.guide-admin-step-list{display:grid;gap:14px}.guide-admin-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f7fafc}.guide-admin-step-number{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:#052e29;background:#70dfcc;font-weight:950}.guide-admin-step-fields{min-width:0}.guide-admin-current-image{display:flex;align-items:center;gap:14px;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.guide-admin-current-image img{width:120px;height:78px;object-fit:cover;border-radius:8px}.guide-admin-current-image label,.guide-remove-check{display:flex;align-items:center;gap:7px}.guide-admin-current-image input,.guide-remove-check input{width:auto}.guide-admin-submit{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:5;padding:13px 15px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 15px 35px rgba(7,29,58,.16);backdrop-filter:blur(8px)}
@media(max-width:1100px){.guide-category-grid,.guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-detail-layout{grid-template-columns:210px minmax(0,1fr)}.guide-related-section .guide-card-grid{grid-template-columns:1fr}.guide-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.guide-context-help{align-items:stretch;flex-direction:column;text-align:center}.guide-context-help .btn{width:100%}.bottom-nav-six a{font-size:.51rem}.bottom-nav-six a span{font-size:.92rem}.marketing-mobile-guide{display:inline-flex}.marketing-links .desktop-link[href*="guides"]{display:none}.dashboard-launch-guides{grid-column:auto}.guide-hero-inner,.guide-detail-hero-inner{padding:35px 0}.guide-hero::after,.guide-detail-hero::after{font-size:13rem;right:-15px}.guide-search-box{grid-template-columns:auto minmax(0,1fr);padding:8px}.guide-search-box .btn{grid-column:1/-1;width:100%}.guide-category-grid,.guide-card-grid{grid-template-columns:1fr}.guide-category-card,.guide-card{min-height:0}.guide-featured-grid .guide-card:first-child{grid-column:auto}.guide-still-stuck,.guide-sync-card,.guide-feedback{align-items:stretch;flex-direction:column}.guide-detail-heading{grid-template-columns:1fr}.guide-hero-actions{grid-template-columns:1fr 1fr;min-width:0}.guide-hero-actions .btn:first-child{grid-column:1/-1}.guide-detail-layout{grid-template-columns:1fr}.guide-detail-nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.guide-detail-nav>strong,.guide-detail-nav small{grid-column:1/-1}.guide-content-block.card{padding:20px}.guide-step-card{grid-template-columns:40px minmax(0,1fr);gap:11px;padding:13px}.guide-step-number{width:38px;height:38px}.guide-prev-next{grid-template-columns:1fr}.guide-prev-next a.next{text-align:left}.guide-mobile-tool{position:fixed;z-index:55;left:8px;right:8px;bottom:calc(70px + env(safe-area-inset-bottom));display:block;padding:7px;border:1px solid rgba(7,29,58,.12);border-radius:15px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(7,29,58,.2);backdrop-filter:blur(8px)}.marketing-body .guide-mobile-tool{bottom:calc(8px + env(safe-area-inset-bottom))}.guide-admin-step{grid-template-columns:1fr}.guide-admin-step-number{width:38px;height:38px}.guide-admin-current-image{align-items:flex-start;flex-direction:column}.guide-admin-current-image img{width:100%;height:auto;max-height:240px}.guide-admin-submit{bottom:calc(68px + env(safe-area-inset-bottom))}.guide-admin-stats{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.bottom-nav-six a{font-size:.47rem;letter-spacing:-.01em}.guide-role-filter{margin-inline:-10px;padding-inline:10px}.guide-meta-pills{display:grid}.guide-hero-actions{grid-template-columns:1fr}.guide-hero-actions .btn:first-child{grid-column:auto}.guide-detail-nav{grid-template-columns:1fr}.guide-admin-stats{grid-template-columns:1fr 1fr}.guide-search-box input{font-size:.9rem}.guide-card{padding:18px}.guide-step-body>p{margin-top:5px}.guide-admin-submit{align-items:stretch;flex-direction:column}.guide-admin-submit .btn{width:100%}}

/* Dartscores v1.19.4 — Free Voice Scoring (Beta) */
.voice-scoring-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 16px;
    margin: 0 0 20px;
    padding: 20px;
    border: 1px solid #a9d8d0;
    border-radius: 20px;
    background:
        radial-gradient(circle at 100% 0, rgba(20, 184, 157, .16), transparent 34%),
        linear-gradient(145deg, #f0fcf9, #ffffff 62%, #eef6ff);
    box-shadow: 0 12px 28px rgba(7, 29, 58, .09);
}
.voice-scoring-card::after {
    content: "VOICE";
    position: absolute;
    top: 18px;
    right: -8px;
    color: rgba(7, 53, 70, .05);
    font-size: clamp(3.4rem, 9vw, 6.8rem);
    font-weight: 950;
    letter-spacing: -.08em;
    pointer-events: none;
}
.voice-scoring-card > * {
    position: relative;
    z-index: 1;
}
.voice-scoring-head {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}
.voice-scoring-icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 17px;
    background: linear-gradient(145deg, #08264a, #0a756c);
    color: #fff;
    font-size: 1.6rem;
    box-shadow: 0 10px 22px rgba(7, 29, 58, .18);
}
.voice-scoring-badges {
    gap: 6px;
    margin-bottom: 5px;
}
.voice-scoring-head h3 {
    margin: 0;
    color: var(--navy-900);
    font-size: 1.35rem;
}
.voice-scoring-head p {
    max-width: 720px;
    margin: 5px 0 0;
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.55;
}
.voice-mode-choice {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.voice-mode-choice label {
    position: relative;
    cursor: pointer;
}
.voice-mode-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.voice-mode-choice span {
    display: grid;
    gap: 4px;
    min-height: 76px;
    padding: 13px 14px;
    border: 2px solid #d8e3eb;
    border-radius: 15px;
    background: rgba(255, 255, 255, .86);
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.voice-mode-choice strong,
.voice-mode-choice small {
    display: block;
}
.voice-mode-choice strong {
    color: var(--navy-900);
}
.voice-mode-choice small {
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.4;
}
.voice-mode-choice input:checked + span {
    border-color: var(--teal-600);
    background: #e7faf5;
    box-shadow: 0 0 0 3px rgba(11, 159, 140, .09);
}
.voice-mode-choice input:focus-visible + span {
    outline: 3px solid rgba(21, 106, 189, .25);
    outline-offset: 2px;
}
.voice-scoring-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.voice-scoring-actions .btn {
    min-height: 48px;
}
.voice-tap-button {
    flex: 1 1 260px;
}
.voice-status-panel {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    min-height: 68px;
    padding: 14px 15px;
    border: 1px solid #cedce7;
    border-radius: 15px;
    background: rgba(255, 255, 255, .88);
}
.voice-status-panel strong,
.voice-status-panel small {
    display: block;
    overflow-wrap: anywhere;
}
.voice-status-panel strong {
    color: var(--navy-900);
    font-size: .86rem;
    line-height: 1.45;
}
.voice-status-panel small {
    min-height: 18px;
    margin-top: 3px;
    color: var(--muted);
    font-size: .73rem;
    line-height: 1.45;
}
.voice-listening-dot {
    width: 12px;
    height: 12px;
    margin-top: 4px;
    border-radius: 50%;
    background: #93a5b4;
    box-shadow: 0 0 0 5px rgba(147, 165, 180, .13);
}
.voice-scoring-card.is-active .voice-listening-dot {
    background: var(--teal-600);
    box-shadow: 0 0 0 5px rgba(11, 159, 140, .14);
}
.voice-scoring-card.is-listening .voice-listening-dot {
    background: #d12c43;
    box-shadow: 0 0 0 5px rgba(209, 44, 67, .15);
    animation: voice-listening-pulse 1.15s ease-in-out infinite;
}
.voice-scoring-card.is-hearing-audio .voice-status-panel {
    border-color: #ef8895;
    box-shadow: 0 0 0 3px rgba(209, 44, 67, .08);
}
.voice-scoring-card[data-voice-tone="saved"] .voice-status-panel {
    border-color: #8bd3b8;
    background: #eaf9f2;
}
.voice-scoring-card[data-voice-tone="error"] .voice-status-panel {
    border-color: #efaaa6;
    background: #fff3f2;
}
.voice-scoring-card[data-voice-tone="confirm"] .voice-status-panel,
.voice-scoring-card[data-voice-tone="processing"] .voice-status-panel {
    border-color: #e4c073;
    background: #fff9eb;
}
@keyframes voice-listening-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 5px rgba(209, 44, 67, .13); }
    50% { transform: scale(1.18); box-shadow: 0 0 0 9px rgba(209, 44, 67, .05); }
}
.voice-candidate {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 15px;
    align-items: center;
    padding: 16px;
    border: 2px solid #0c9d8b;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(7, 29, 58, .12);
}
.voice-candidate[hidden] {
    display: none;
}
.voice-candidate > div:first-child {
    display: grid;
    gap: 3px;
}
.voice-candidate span {
    color: var(--muted);
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.voice-candidate strong {
    color: var(--navy-900);
    font-size: 1.55rem;
}
.voice-candidate small {
    color: var(--muted);
    line-height: 1.45;
}
.voice-candidate b {
    min-height: 19px;
    color: #9b5b05;
    font-size: .76rem;
}
.voice-candidate-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    max-width: 360px;
}
.voice-settings {
    border-top: 1px solid rgba(9, 82, 91, .15);
    padding-top: 12px;
}
.voice-settings summary {
    cursor: pointer;
    color: var(--navy-800);
    font-size: .8rem;
    font-weight: 850;
}
.voice-settings[open] summary {
    margin-bottom: 15px;
}
.voice-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}
.voice-settings-grid .check-row {
    min-width: 0;
    margin: 0;
    padding: 12px;
    border: 1px solid #dce6ed;
    border-radius: 13px;
    background: rgba(255, 255, 255, .82);
}
.voice-settings-grid .check-row span {
    min-width: 0;
}
.voice-settings-grid .check-row strong,
.voice-settings-grid .check-row small {
    overflow-wrap: anywhere;
}
.voice-settings-grid .check-row small {
    color: var(--muted);
    line-height: 1.4;
}
.voice-pack-box {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 13px;
    padding: 12px;
    border: 1px solid #cfdfea;
    border-radius: 13px;
    background: #f7fbfe;
}
.voice-pack-box p {
    flex: 1 1 280px;
    margin: 0;
    color: var(--muted);
    font-size: .75rem;
    line-height: 1.45;
}
.voice-command-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    margin-top: 13px;
}
.voice-command-list strong {
    margin-right: 3px;
    color: var(--navy-900);
    font-size: .76rem;
}
.voice-command-list span {
    padding: 6px 9px;
    border: 1px solid #cadbe5;
    border-radius: 999px;
    color: #21445b;
    background: #fff;
    font-size: .68rem;
    font-weight: 750;
}
.voice-privacy-note,
.voice-support-note,
.voice-wake-note {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.55;
}
.voice-privacy-note {
    padding: 11px 12px;
    border-left: 4px solid var(--teal-600);
    border-radius: 9px;
    background: #e9faf6;
}
.voice-wake-note::before {
    content: "○";
    margin-right: 6px;
    color: #7a8d9c;
}
.voice-scoring-card.has-wake-lock .voice-wake-note::before {
    content: "●";
    color: var(--success);
}
.voice-discovery-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 15px;
    align-items: center;
    margin: 0 0 18px;
    padding: 17px 19px;
    border: 1px solid #9ad6cb;
    border-radius: 19px;
    color: var(--navy-900);
    background: linear-gradient(120deg, #eafaf6, #fff 58%, #eef6ff);
    box-shadow: var(--shadow-sm);
}
.voice-discovery-card:hover {
    border-color: var(--teal-600);
    transform: translateY(-1px);
}
.voice-discovery-symbol {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(145deg, #08264a, #0a756c);
    font-size: 1.45rem;
}
.voice-discovery-card strong,
.voice-discovery-card span {
    display: block;
}
.voice-discovery-card > span:nth-child(2) > span {
    margin-top: 4px;
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.5;
}
.voice-discovery-action {
    padding: 8px 11px;
    border-radius: 999px;
    color: #fff;
    background: var(--teal-700);
    font-size: .72rem;
    font-weight: 850;
    white-space: nowrap;
}
@media (max-width: 760px) {
    .voice-scoring-card {
        margin-inline: -4px;
        padding: 16px;
        border-radius: 17px;
    }
    .voice-scoring-card::after {
        font-size: 4.2rem;
    }
    .voice-mode-choice,
    .voice-settings-grid {
        grid-template-columns: 1fr;
    }
    .voice-scoring-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .voice-scoring-actions .btn,
    .voice-tap-button {
        width: 100%;
        flex-basis: auto;
    }
    .voice-candidate {
        grid-template-columns: 1fr;
    }
    .voice-candidate-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        max-width: none;
    }
    .voice-candidate-actions .btn:first-child {
        grid-column: 1 / -1;
    }
    .voice-discovery-card {
        grid-template-columns: 45px minmax(0, 1fr);
        padding: 15px;
    }
    .voice-discovery-symbol {
        width: 44px;
        height: 44px;
    }
    .voice-discovery-action {
        grid-column: 1 / -1;
        width: 100%;
        text-align: center;
    }
}
@media (max-width: 390px) {
    .voice-scoring-head {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 10px;
    }
    .voice-scoring-icon {
        width: 42px;
        height: 42px;
        border-radius: 13px;
        font-size: 1.25rem;
    }
    .voice-scoring-head h3 {
        font-size: 1.15rem;
    }
    .voice-candidate-actions {
        grid-template-columns: 1fr;
    }
    .voice-candidate-actions .btn:first-child {
        grid-column: auto;
    }
}
@media (prefers-reduced-motion: reduce) {
    .voice-scoring-card.is-listening .voice-listening-dot {
        animation: none;
    }
}

/* V1.19.5 manual league-night pairing */
.pairing-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.manual-pairing-panel{scroll-margin-top:90px}
.manual-ready-summary{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.manual-ready-summary>div{display:flex;align-items:baseline;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft)}
.manual-ready-summary strong{font-size:1.05rem;color:var(--ink)}
.manual-ready-summary span{font-size:.82rem;color:var(--muted)}
.manual-pairing-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--surface-soft);min-width:0}
.manual-pairing-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}
.manual-pairing-card-head>div{display:grid;gap:3px}
.manual-pairing-card-head strong{font-size:1.05rem}
.manual-pairing-card-head small{color:var(--muted)}
.manual-player-pool{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.manual-player-pool summary{cursor:pointer;font-weight:800;color:var(--ink);padding:5px 0}
.manual-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.manual-player-grid article{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.manual-player-grid article span,.manual-player-grid article small{color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}
.rolling-waiting-list .list-item>.cluster{justify-content:flex-end;flex-wrap:wrap}
.rolling-waiting-list form{margin:0}
@media (max-width:900px){.manual-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.pairing-method-grid,.manual-pairing-forms,.manual-player-grid{grid-template-columns:1fr}.manual-pairing-card{padding:14px}.manual-ready-summary>div{flex:1 1 auto;justify-content:center}.rolling-waiting-list .list-item{align-items:flex-start}.rolling-waiting-list .list-item>.cluster{width:100%;justify-content:space-between}.rolling-waiting-list .list-item>.cluster form,.rolling-waiting-list .list-item>.cluster .btn{width:100%}}

/* V1.19.6 compact voice scorer and detailed-dart speech */
.ds-voice-compact {
    margin: 14px 0 18px;
    padding: 12px;
    border: 1px solid #b9d8d4;
    border-radius: 16px;
    background: linear-gradient(135deg, #f1fbf8 0%, #ffffff 64%, #f2f7ff 100%);
    box-shadow: 0 8px 22px rgba(5, 34, 62, .06);
    overflow: hidden;
}
.ds-voice-main-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
}
.ds-voice-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 104px;
    min-height: 46px;
    padding: 9px 12px;
    border: 1px solid #8fbfb8;
    border-radius: 999px;
    color: var(--navy-900);
    background: #fff;
    font: inherit;
    font-size: .82rem;
    font-weight: 850;
    cursor: pointer;
}
.ds-voice-toggle:hover { border-color: var(--teal-600); }
.ds-voice-toggle.is-on {
    color: #fff;
    border-color: var(--teal-700);
    background: var(--teal-700);
}
.ds-voice-toggle:disabled { opacity: .55; cursor: not-allowed; }
.ds-voice-toggle svg,
.ds-voice-icon svg {
    display: block !important;
    width: 21px !important;
    height: 21px !important;
    max-width: 21px !important;
    max-height: 21px !important;
    flex: 0 0 21px;
    fill: currentColor;
}
.ds-voice-status {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-width: 0;
}
.ds-voice-status strong,
.ds-voice-status small { display: block; overflow-wrap: anywhere; }
.ds-voice-status strong { color: var(--navy-900); font-size: .86rem; line-height: 1.25; }
.ds-voice-status small { margin-top: 2px; color: var(--muted); font-size: .73rem; line-height: 1.35; }
.ds-voice-pulse {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #93a3b0;
    box-shadow: 0 0 0 4px rgba(147, 163, 176, .14);
}
.ds-voice-status[data-voice-state="ready"] .ds-voice-pulse,
.ds-voice-status[data-voice-state="saved"] .ds-voice-pulse { background: var(--teal-600); box-shadow: 0 0 0 4px rgba(0, 170, 151, .13); }
.ds-voice-status[data-voice-state="listening"] .ds-voice-pulse {
    background: #e64646;
    box-shadow: 0 0 0 4px rgba(230, 70, 70, .14);
    animation: dsVoicePulse 1.15s ease-in-out infinite;
}
.ds-voice-status[data-voice-state="confirm"] .ds-voice-pulse,
.ds-voice-status[data-voice-state="processing"] .ds-voice-pulse { background: #e59a18; box-shadow: 0 0 0 4px rgba(229, 154, 24, .14); }
.ds-voice-status[data-voice-state="error"] .ds-voice-pulse { background: #c93535; box-shadow: 0 0 0 4px rgba(201, 53, 53, .14); }
@keyframes dsVoicePulse { 50% { transform: scale(1.28); box-shadow: 0 0 0 8px rgba(230, 70, 70, .06); } }
.ds-voice-listen { min-height: 42px; white-space: nowrap; }
.ds-voice-support { justify-self: end; white-space: nowrap; }
.ds-voice-pending {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #99d4ca;
    border-radius: 13px;
    background: #fff;
}
.ds-voice-pending[hidden] { display: none !important; }
.ds-voice-pending > div:first-child { min-width: 0; }
.ds-voice-pending span,
.ds-voice-pending small { display: block; color: var(--muted); font-size: .72rem; }
.ds-voice-pending strong {
    display: block;
    margin: 2px 0;
    color: var(--navy-900);
    font-size: clamp(1.15rem, 3vw, 1.65rem);
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.ds-voice-pending-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.ds-voice-pending-actions .btn { min-height: 40px; }
.ds-voice-pending.is-counting-down { border-color: #e5a333; }
.ds-voice-unsupported { margin-top: 12px; }
.ds-voice-settings { margin-top: 10px; border-top: 1px solid rgba(10, 67, 95, .12); padding-top: 9px; }
.ds-voice-settings > summary {
    cursor: pointer;
    color: var(--navy-900);
    font-size: .78rem;
    font-weight: 850;
}
.ds-voice-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 11px;
}
.ds-voice-settings-grid > label,
.ds-voice-local-pack {
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #fff;
}
.ds-voice-settings-grid label > span.help,
.ds-voice-local-pack span { display: block; margin-top: 4px; color: var(--muted); font-size: .7rem; line-height: 1.4; }
.ds-voice-local-pack strong { display: block; font-size: .78rem; }
.ds-voice-local-pack .btn { margin-top: 8px; }
.ds-voice-command-list { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 10px; }
.ds-voice-command-list[hidden] { display: none !important; }
.ds-voice-command-list span { color: var(--muted); font-size: .72rem; font-weight: 800; }
.ds-voice-command-list b { padding: 5px 8px; border-radius: 999px; color: var(--navy-900); background: #e9f5f2; font-size: .69rem; font-weight: 800; }
.ds-voice-privacy,
.ds-voice-last { margin: 9px 0 0; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.ds-voice-last strong { color: var(--navy-900); }
.ds-voice-compact[data-voice-entry-mode="detailed"] { border-color: #a9c5e5; background: linear-gradient(135deg, #f3f8ff 0%, #fff 68%, #eefaf7 100%); }

@media (max-width: 820px) {
    .ds-voice-main-row { grid-template-columns: auto minmax(0, 1fr) auto; }
    .ds-voice-support { grid-column: 2 / -1; justify-self: start; }
    .ds-voice-settings-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .ds-voice-compact { margin-inline: -2px; padding: 10px; border-radius: 14px; }
    .ds-voice-main-row { grid-template-columns: auto minmax(0, 1fr); gap: 8px; }
    .ds-voice-toggle { min-width: 46px; width: 46px; height: 46px; padding: 0; border-radius: 50%; }
    .ds-voice-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    .ds-voice-listen { grid-column: 1 / -1; width: 100%; }
    .ds-voice-support { grid-column: 1 / -1; justify-self: start; }
    .ds-voice-pending { grid-template-columns: 1fr; }
    .ds-voice-pending-actions { justify-content: stretch; }
    .ds-voice-pending-actions .btn { flex: 1 1 100px; }
}
@media (prefers-reduced-motion: reduce) {
    .ds-voice-status[data-voice-state="listening"] .ds-voice-pulse { animation: none; }
}

/* V1.19.6a: keep the voice-scoring promotion microphone compact on /play. */
.voice-scoring-promo {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin: 16px 0 22px;
    padding: 14px 16px;
    border: 1px solid rgba(0, 170, 151, .28);
    border-radius: 16px;
    background: linear-gradient(135deg, #f2fbf9 0%, #ffffff 72%);
    box-shadow: 0 8px 24px rgba(3, 35, 58, .06);
    overflow: hidden;
}
.voice-scoring-promo > span:nth-child(2) {
    min-width: 0;
}
.voice-scoring-promo > span:nth-child(2) strong,
.voice-scoring-promo > span:nth-child(2) small {
    display: block;
    overflow-wrap: anywhere;
}
.voice-scoring-promo > span:nth-child(2) strong {
    color: var(--navy-900);
    font-size: .94rem;
    line-height: 1.25;
}
.voice-scoring-promo > span:nth-child(2) small {
    margin-top: 3px;
    color: var(--muted);
    font-size: .76rem;
    line-height: 1.45;
}
.voice-scoring-promo-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    flex: 0 0 48px !important;
    border-radius: 14px;
    color: #063a53;
    background: #65dfcf;
    overflow: hidden;
}
.voice-scoring-promo-icon svg,
.voice-scoring-promo .voice-scoring-promo-icon svg {
    display: block !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    flex: 0 0 24px !important;
    fill: currentColor;
}
.voice-scoring-promo > .badge {
    justify-self: end;
    white-space: nowrap;
}
@media (max-width: 620px) {
    .voice-scoring-promo {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 10px;
        padding: 12px;
        border-radius: 14px;
    }
    .voice-scoring-promo-icon {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        flex-basis: 44px !important;
        border-radius: 12px;
    }
    .voice-scoring-promo-icon svg,
    .voice-scoring-promo .voice-scoring-promo-icon svg {
        width: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        flex-basis: 22px !important;
    }
    .voice-scoring-promo > .badge {
        grid-column: 2;
        justify-self: start;
    }
}

/* Dartscores V1.19.6b - centre the Maths at the Oche launch icon.
   This deliberately follows the generic .maths-launch-card span rule so the
   icon remains a centred flex item rather than inheriting normal text styles. */
.maths-launch-card > .maths-launch-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    place-items: center !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 58px !important;
    color: #062f2a !important;
    background: #71e6d2;
    font-size: 1.8rem !important;
    font-weight: 950;
    line-height: 1 !important;
    text-align: center;
    vertical-align: middle;
    overflow: hidden;
}
@media (max-width: 620px) {
    .maths-launch-card > .maths-launch-icon {
        width: 56px !important;
        min-width: 56px !important;
        max-width: 56px !important;
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
        flex-basis: 56px !important;
    }
}

/* Dartscores V1.20.0 - Darts Picks Admin Beta */
.nav-beta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    padding: 2px 6px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: #ffe08a;
    background: rgba(255,184,0,.12);
    font-size: .56rem;
    font-weight: 950;
    line-height: 1.15;
    letter-spacing: .06em;
}
.darts-picks-tabs {
    display: flex;
    gap: 8px;
    margin: 0 0 22px;
    padding-bottom: 4px;
    overflow-x: auto;
    scrollbar-width: thin;
}
.darts-picks-tabs .tab { flex: 0 0 auto; }
.darts-picks-rules {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 18px;
}
.darts-picks-day { margin: 0 0 28px; }
.darts-picks-day-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 13px;
}
.darts-picks-day-heading h2 { margin: 2px 0 0; }
.darts-picks-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.darts-pick-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-top: 4px solid var(--teal-500, #19bba8);
    overflow: hidden;
}
.darts-pick-card.is-locked { border-top-color: #9aa9b7; }
.darts-pick-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.darts-pick-card-top > div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}
.darts-pick-players {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    gap: 12px;
    margin: 20px 0 16px;
}
.darts-pick-player {
    display: grid;
    justify-items: center;
    gap: 8px;
    min-width: 0;
    text-align: center;
}
.darts-pick-player img,
.darts-pick-avatar {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border: 3px solid #fff;
    border-radius: 50%;
    object-fit: cover;
    color: #fff;
    background: linear-gradient(145deg, var(--navy-700, #0b405d), var(--teal-500, #18b7a5));
    box-shadow: 0 5px 16px rgba(5,48,72,.16);
    font-size: 1.45rem;
    font-weight: 950;
}
.darts-pick-player strong {
    width: 100%;
    color: var(--navy-900);
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.darts-pick-vs {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    color: var(--muted);
    background: #eef4f6;
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
}
.darts-pick-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-bottom: 14px;
}
.darts-pick-meta span {
    padding: 5px 8px;
    border-radius: 999px;
    color: var(--muted);
    background: #f0f5f7;
    font-size: .69rem;
    font-weight: 800;
}
.darts-pick-current {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid rgba(21,174,153,.26);
    border-radius: 12px;
    color: var(--navy-900);
    background: #effbf8;
}
.darts-pick-current span { font-size: .74rem; font-weight: 850; }
.darts-pick-current strong { font-size: 1.15rem; }
.darts-pick-form {
    display: grid;
    gap: 8px;
    margin-top: auto;
}
.darts-pick-form label { font-size: .76rem; font-weight: 850; }
.darts-picks-admin-section { margin-bottom: 22px; }
.darts-picks-section-title {
    margin: 22px 0 10px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--line);
    color: var(--navy-900);
}
.darts-picks-code {
    max-width: 100%;
    max-height: 430px;
    margin: 10px 0 0;
    padding: 13px;
    border: 1px solid #ccd8df;
    border-radius: 12px;
    color: #dcebf5;
    background: #071d3a;
    font-size: .73rem;
    line-height: 1.55;
    white-space: pre-wrap;
    overflow: auto;
    overflow-wrap: anywhere;
}
.darts-picks-test-summary {
    margin-top: 15px;
    padding: 11px 13px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #f7fafb;
    color: var(--muted);
    font-size: .76rem;
}
.darts-picks-competition-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.darts-picks-competition-card .form-actions { margin-top: 10px; }
tr.is-current-user td { background: #eefaf7; }
tr.is-current-user td:first-child { box-shadow: inset 4px 0 0 var(--teal-500, #18b7a5); }
.position-cell { font-weight: 950; }
.points-cell { color: var(--teal-700, #087d70); font-size: 1.05rem; font-weight: 950; }

@media (max-width: 900px) {
    .darts-picks-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .darts-picks-day-heading { align-items: flex-start; }
    .darts-pick-card { padding: 14px; }
    .darts-pick-players { gap: 8px; }
    .darts-pick-player img,
    .darts-pick-avatar { width: 54px; height: 54px; }
    .darts-pick-vs { width: 32px; height: 32px; }
    .darts-picks-rules { display: grid; }
    .darts-picks-admin-section .card-header { align-items: flex-start; }
}

/* Dartscores V1.20.3 - Darts Picks game experience */
.darts-picks-game-hero,
.darts-picks-page-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(290px, .75fr);
    gap: 24px;
    align-items: center;
    max-width: 100%;
    margin: 0 0 18px;
    padding: clamp(22px, 4vw, 42px);
    border: 1px solid rgba(61, 219, 190, .26);
    border-radius: 26px;
    color: #fff;
    background:
        radial-gradient(circle at 87% 18%, rgba(255, 190, 74, .19), transparent 29%),
        radial-gradient(circle at 12% 88%, rgba(30, 214, 183, .18), transparent 34%),
        linear-gradient(135deg, #06172d 0%, #092b4f 58%, #0c3d5b 100%);
    box-shadow: 0 22px 55px rgba(4, 24, 47, .2);
    overflow: hidden;
}
.darts-picks-game-hero::after,
.darts-picks-page-hero::after {
    position: absolute;
    right: -70px;
    bottom: -90px;
    width: 240px;
    height: 240px;
    border: 42px solid rgba(255, 255, 255, .035);
    border-radius: 50%;
    content: '';
    pointer-events: none;
}
.darts-picks-game-hero > *,
.darts-picks-page-hero > * { position: relative; z-index: 1; min-width: 0; }
.darts-picks-game-kicker,
.darts-picks-page-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: #6ff1d7;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.darts-picks-game-kicker span {
    padding: 4px 8px;
    border: 1px solid rgba(255, 213, 116, .34);
    border-radius: 999px;
    color: #ffd574;
    background: rgba(255, 188, 58, .08);
    letter-spacing: .06em;
}
.darts-picks-game-hero h1,
.darts-picks-page-hero h1 {
    max-width: 760px;
    margin: 0 0 10px;
    color: #fff !important;
    font-size: clamp(2rem, 5vw, 3.65rem);
    line-height: .98;
    letter-spacing: -.045em;
}
.darts-picks-page-hero h1 { font-size: clamp(2rem, 4.2vw, 3rem); }
.darts-picks-game-hero p,
.darts-picks-page-hero p {
    max-width: 720px;
    margin: 0;
    color: #c8d9e8;
    font-size: clamp(.96rem, 1.5vw, 1.08rem);
}
.darts-picks-hero-actions {
    display: grid;
    gap: 10px;
}
.darts-picks-action-button {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 15px;
    color: #fff;
    background: rgba(255, 255, 255, .075);
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.darts-picks-action-button:hover,
.darts-picks-action-button:focus-visible {
    color: #fff;
    border-color: rgba(111, 241, 215, .7);
    background: rgba(26, 191, 164, .16);
    transform: translateY(-2px);
}
.darts-picks-action-button span {
    color: #7cebd6;
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.darts-picks-action-button strong { overflow-wrap: anywhere; }
.darts-picks-action-button.is-admin span { color: #ffd574; }

.darts-picks-tabs {
    max-width: 100%;
    padding: 4px;
    border: 1px solid #d5e2e9;
    border-radius: 15px;
    background: #edf3f7;
}
.darts-picks-tabs .tab {
    min-height: 42px;
    padding: 10px 15px;
    border: 0;
    border-radius: 11px;
    background: transparent;
}
.darts-picks-tabs .tab.active {
    color: #fff;
    background: #092d56;
    box-shadow: 0 5px 14px rgba(6, 37, 71, .18);
}

.darts-picks-game-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    max-width: 100%;
    margin: 0 0 18px;
}
.darts-picks-game-stats > div {
    display: grid;
    align-content: center;
    min-width: 0;
    min-height: 92px;
    padding: 15px;
    border: 1px solid #dbe6ec;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(11, 42, 67, .06);
}
.darts-picks-game-stats span {
    color: #5c7285;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.darts-picks-game-stats strong {
    color: #072545;
    font-size: 1.5rem;
    font-weight: 950;
}
.darts-picks-game-stats small { color: #718698; }
.darts-picks-progress-stat { grid-template-columns: 1fr auto; column-gap: 10px; }
.darts-picks-progress-stat > span { grid-column: 1 / -1; }
.darts-picks-progress-track {
    align-self: center;
    height: 9px;
    border-radius: 999px;
    background: #e2ebef;
    overflow: hidden;
}
.darts-picks-progress-track i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #12a991, #43ddbb);
    transition: width .3s ease;
}
.darts-picks-progress-stat strong { font-size: 1rem; }

.darts-picks-game {
    width: min(920px, 100%);
    max-width: 100%;
    margin: 0 auto;
}
.darts-picks-game-toolbar {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    gap: 12px;
    align-items: center;
    margin-bottom: 12px;
}
.darts-picks-game-toolbar > div { display: grid; justify-items: center; color: #36556c; }
.darts-picks-game-toolbar > div > span { font-weight: 850; }
.darts-picks-game-toolbar small { color: #718698; }
.darts-picks-round-button {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid #cddce5;
    border-radius: 50%;
    color: #082c52;
    background: #fff;
    box-shadow: 0 6px 16px rgba(7, 39, 68, .08);
    font-size: 1.3rem;
    font-weight: 900;
}
.darts-picks-round-button:hover,
.darts-picks-round-button:focus-visible { color: #fff; border-color: #0ba38c; background: #0ba38c; }
.darts-picks-feedback {
    margin-bottom: 12px;
    padding: 11px 14px;
    border: 1px solid #9ee5d4;
    border-radius: 12px;
    color: #075f52;
    background: #e9fbf6;
    font-weight: 800;
    text-align: center;
}
.darts-picks-feedback.is-error { color: #8a2016; border-color: #f2b9b2; background: #fff0ee; }
.darts-picks-slides { max-width: 100%; overflow: hidden; touch-action: pan-y; }
.darts-picks-slide { max-width: 100%; }
.darts-picks-slide[hidden] { display: none !important; }
.darts-picks-match-card {
    position: relative;
    min-width: 0;
    max-width: 100%;
    padding: clamp(18px, 4vw, 34px);
    border: 1px solid rgba(79, 228, 197, .3);
    border-radius: 25px;
    color: #fff;
    background:
        linear-gradient(145deg, rgba(26, 201, 170, .09), transparent 35%),
        linear-gradient(135deg, #06172c, #0a2b50 58%, #0d3a55);
    box-shadow: 0 22px 55px rgba(4, 25, 48, .2);
    overflow: hidden;
}
.darts-picks-match-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(#45e1be, #ffbf4f);
    content: '';
}
.darts-picks-match-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}
.darts-picks-match-header > div { min-width: 0; }
.darts-picks-match-header h2 {
    margin: 3px 0 4px;
    color: #fff !important;
    font-size: clamp(1.2rem, 3vw, 1.7rem);
    overflow-wrap: anywhere;
}
.darts-picks-match-header p { margin: 0; color: #b9cedd; font-size: .86rem; }
.darts-picks-match-number {
    color: #63e6cd;
    font-size: .67rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.darts-picks-open-pill {
    flex: 0 0 auto;
    padding: 6px 10px;
    border: 1px solid rgba(77, 234, 199, .38);
    border-radius: 999px;
    color: #75f2d7;
    background: rgba(28, 201, 168, .1);
    font-size: .7rem;
    font-weight: 950;
    text-transform: uppercase;
}
.darts-picks-open-pill.is-locked { color: #d7e1e8; border-color: rgba(215, 225, 232, .25); background: rgba(255, 255, 255, .06); }
.darts-picks-player-matchup {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
    margin: 25px 0 16px;
}
.darts-picks-player-panel {
    display: grid;
    align-content: center;
    min-width: 0;
    min-height: 145px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 17px;
    background: rgba(255, 255, 255, .065);
    text-align: left;
}
.darts-picks-player-panel.is-away { text-align: right; }
.darts-picks-player-panel span { color: #ffc85f; font-size: .69rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.darts-picks-player-panel strong {
    margin-top: 7px;
    color: #fff;
    font-size: clamp(1.25rem, 3.8vw, 2rem);
    line-height: 1.05;
    overflow-wrap: anywhere;
}
.darts-picks-player-panel small { margin-top: 7px; color: #9fb9ca; }
.darts-picks-versus {
    display: grid;
    place-items: center;
    align-self: center;
    width: 58px;
    height: 58px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    color: #fff;
    background: #0e4c68;
    box-shadow: 0 0 0 7px rgba(255, 255, 255, .035);
    font-size: .74rem;
    font-weight: 950;
}
.darts-picks-match-details {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin-bottom: 17px;
}
.darts-picks-match-details span {
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 999px;
    color: #c4d7e4;
    background: rgba(255, 255, 255, .055);
    font-size: .72rem;
}
.darts-picks-match-details strong { color: #fff; }
.darts-picks-saved-pick {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    padding: 12px 14px;
    border: 1px solid rgba(69, 225, 190, .35);
    border-radius: 13px;
    color: #d8fff5;
    background: rgba(22, 184, 153, .12);
}
.darts-picks-saved-pick span { font-size: .76rem; font-weight: 850; }
.darts-picks-saved-pick strong { color: #fff; font-size: 1.25rem; }
.darts-picks-score-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.darts-picks-score-form legend {
    width: 100%;
    margin: 0 0 10px;
    color: #fff;
    font-size: .84rem;
    font-weight: 900;
    text-align: center;
}
.darts-picks-score-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
}
.darts-picks-score-button {
    min-width: 0;
    min-height: 48px;
    padding: 8px 5px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 11px;
    color: #e9f4f8;
    background: rgba(255, 255, 255, .075);
    font-weight: 900;
}
.darts-picks-score-button:hover,
.darts-picks-score-button:focus-visible { border-color: #66ead0; background: rgba(38, 205, 175, .14); }
.darts-picks-score-button.is-selected {
    color: #052f2c;
    border-color: #68ead1;
    background: #68ead1;
    box-shadow: 0 0 0 3px rgba(104, 234, 209, .15);
}
.darts-picks-save-button {
    width: 100%;
    min-height: 54px;
    margin-top: 14px;
    padding: 13px 18px;
    border: 0;
    border-radius: 14px;
    color: #052c29;
    background: linear-gradient(90deg, #4ee0bc, #ffd064);
    box-shadow: 0 10px 24px rgba(28, 188, 157, .18);
    font-size: .98rem;
    font-weight: 950;
}
.darts-picks-save-button:hover,
.darts-picks-save-button:focus-visible { filter: brightness(1.05); transform: translateY(-1px); }
.darts-picks-save-button:disabled { cursor: not-allowed; filter: grayscale(.5); opacity: .5; transform: none; }
.darts-picks-form-error { margin: 10px 0 0; color: #ffd0ca; font-size: .82rem; font-weight: 800; text-align: center; }
.darts-picks-closed-message {
    display: grid;
    gap: 4px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 14px;
    color: #c9d9e4;
    background: rgba(255, 255, 255, .055);
    text-align: center;
}
.darts-picks-closed-message strong { color: #fff; }
.darts-picks-dots {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin: 15px auto 0;
}
.darts-picks-dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #c5d3dc;
}
.darts-picks-dots button.is-complete { background: #18ad91; }
.darts-picks-dots button.is-active { width: 28px; border-radius: 999px; background: #092d56; }
.darts-picks-caught-up,
.darts-picks-empty-game {
    display: grid;
    justify-items: center;
    margin: 20px auto 0;
    padding: 28px;
    border: 1px solid #d6e4e9;
    border-radius: 20px;
    background: #fff;
    text-align: center;
    box-shadow: 0 10px 28px rgba(8, 42, 67, .07);
}
.darts-picks-caught-up span,
.darts-picks-empty-game span { color: #0a9c84; font-size: .7rem; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.darts-picks-caught-up h2,
.darts-picks-empty-game h2 { margin: 5px 0 7px; }
.darts-picks-caught-up p,
.darts-picks-empty-game p { max-width: 600px; margin: 0 0 14px; color: #61798b; }

.darts-picks-clock,
.darts-picks-rankings-update {
    display: grid;
    justify-items: end;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 17px;
    background: rgba(255, 255, 255, .07);
}
.darts-picks-clock span,
.darts-picks-rankings-update span { color: #70ecd4; font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.darts-picks-clock strong,
.darts-picks-rankings-update strong { color: #fff; font-size: clamp(1.5rem, 4vw, 2.35rem); }
.darts-picks-clock small,
.darts-picks-rankings-update small { color: #c6d8e5; }
.darts-picks-filter-bar,
.darts-picks-rankings-search {
    display: grid;
    grid-template-columns: minmax(180px, 1.4fr) minmax(150px, .7fr) minmax(180px, 1fr) auto;
    gap: 12px;
    align-items: end;
    max-width: 100%;
    margin: 0 0 16px;
    padding: 16px;
    border: 1px solid #d9e5eb;
    border-radius: 17px;
    background: #fff;
}
.darts-picks-filter-bar .form-group,
.darts-picks-rankings-search .form-group { min-width: 0; margin: 0; }
.darts-picks-filter-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.darts-picks-schedule-summary {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 16px;
    color: #587186;
}
.darts-picks-schedule-summary strong { color: #092e54; font-size: 1.5rem; }
.darts-picks-schedule-day { margin-bottom: 22px; }
.darts-picks-schedule-day > header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 9px;
}
.darts-picks-schedule-day > header span { color: #0a9a83; font-size: .68rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.darts-picks-schedule-day > header h2 { margin: 2px 0 0; }
.darts-picks-schedule-day > header > strong { padding: 5px 9px; border-radius: 999px; color: #456279; background: #ebf1f5; font-size: .72rem; }
.darts-picks-schedule-table-wrap,
.darts-picks-rankings-table-wrap {
    max-width: 100%;
    border: 1px solid #d7e3ea;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 9px 26px rgba(8, 41, 65, .06);
    overflow-x: auto;
}
.darts-picks-schedule-table,
.darts-picks-rankings-table { width: 100%; min-width: 790px; border-collapse: collapse; }
.darts-picks-schedule-table th,
.darts-picks-rankings-table th { color: #587287; background: #eef4f7; font-size: .69rem; letter-spacing: .04em; text-transform: uppercase; }
.darts-picks-schedule-table td,
.darts-picks-rankings-table td { border-top: 1px solid #e2eaef; vertical-align: middle; }
.darts-picks-schedule-table td strong,
.darts-picks-rankings-table td strong { color: #082b4e; }
.darts-picks-schedule-table td small,
.darts-picks-rankings-table td small { display: block; color: #718698; }
.darts-picks-schedule-table td:nth-child(2) > strong span { color: #8aa0af; font-size: .72rem; text-transform: uppercase; }
.darts-picks-rank-pair { display: inline-flex; align-items: center; gap: 6px; }
.darts-picks-rank-pair b { padding: 4px 7px; border-radius: 999px; color: #0b674f; background: #e4f7f0; font-size: .7rem; }
.darts-picks-rank-pair i { color: #8aa0af; font-size: .68rem; font-style: normal; }
.darts-picks-table-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; color: #08705d; background: #e5f8f2; font-size: .68rem; font-weight: 900; }
.darts-picks-table-status.is-locked { color: #647785; background: #edf1f4; }

.darts-picks-rankings-search { grid-template-columns: minmax(220px, 1fr) auto auto auto; }
.darts-picks-rankings-table tr.is-top-ten td { background: #fffaf0; }
.darts-picks-rankings-table tr.is-top-ten td:first-child { box-shadow: inset 4px 0 0 #f2b73f; }
.darts-picks-rank-number {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    color: #fff;
    background: #092e54;
    font-weight: 950;
}
.darts-picks-money { color: #08765f !important; font-size: 1.02rem; }
.darts-picks-ranking-note {
    margin-top: 16px;
    padding: 16px 18px;
    border: 1px solid #d8e5eb;
    border-left: 4px solid #12a88f;
    border-radius: 13px;
    background: #f6fafb;
}
.darts-picks-ranking-note p { margin: 4px 0 0; color: #60798b; }

.darts-picks-connection-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 18px;
}
.darts-picks-connection-grid > div {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    column-gap: 9px;
    align-items: center;
    min-width: 0;
    padding: 13px;
    border: 1px solid #d9e5eb;
    border-radius: 14px;
    background: #fff;
}
.darts-picks-connection-grid > div > span {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #fff;
    background: #9aaab5;
    font-weight: 950;
}
.darts-picks-connection-grid strong,
.darts-picks-connection-grid small { min-width: 0; overflow-wrap: anywhere; }
.darts-picks-connection-grid small { color: #718697; }
.darts-picks-connection-grid .is-ready { border-color: #a9dfd1; background: #f1fbf8; }
.darts-picks-connection-grid .is-ready > span { background: #0b9d84; }
.darts-picks-connection-grid .is-not-ready { border-color: #f0c7c1; background: #fff6f4; }
.darts-picks-connection-grid .is-not-ready > span { background: #c64f3f; }
.darts-picks-connection-grid .is-optional > span { background: #667f91; }

@media (max-width: 960px) {
    .darts-picks-game-hero,
    .darts-picks-page-hero { grid-template-columns: 1fr; }
    .darts-picks-hero-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .darts-picks-action-button.is-admin { grid-column: 1 / -1; }
    .darts-picks-clock,
    .darts-picks-rankings-update { justify-items: start; }
    .darts-picks-game-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .darts-picks-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .darts-picks-filter-actions { align-self: end; }
    .darts-picks-rankings-search { grid-template-columns: minmax(220px, 1fr) auto auto; }
    .darts-picks-rankings-search .form-group { grid-column: 1 / -1; }
    .darts-picks-connection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .darts-picks-game-hero,
    .darts-picks-page-hero { padding: 21px 18px; border-radius: 20px; }
    .darts-picks-game-hero h1,
    .darts-picks-page-hero h1 { font-size: 2.15rem; }
    .darts-picks-hero-actions { grid-template-columns: 1fr; }
    .darts-picks-action-button.is-admin { grid-column: auto; }
    .darts-picks-game-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .darts-picks-game-stats > div { min-height: 82px; padding: 12px; }
    .darts-picks-game-stats strong { font-size: 1.25rem; }
    .darts-picks-match-card { padding: 18px 14px 20px 18px; border-radius: 20px; }
    .darts-picks-match-header { align-items: flex-start; }
    .darts-picks-player-matchup { grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr); gap: 7px; margin-top: 18px; }
    .darts-picks-player-panel { min-height: 122px; padding: 12px 10px; }
    .darts-picks-player-panel strong { font-size: 1.15rem; }
    .darts-picks-versus { width: 38px; height: 38px; box-shadow: none; }
    .darts-picks-score-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
    .darts-picks-score-button { min-height: 45px; }
    .darts-picks-filter-bar,
    .darts-picks-rankings-search { grid-template-columns: 1fr; padding: 13px; }
    .darts-picks-filter-actions { width: 100%; }
    .darts-picks-filter-actions .btn,
    .darts-picks-rankings-search .btn { flex: 1; }
    .darts-picks-schedule-day > header { align-items: flex-start; }
    .darts-picks-connection-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
    .darts-picks-game-stats { grid-template-columns: 1fr 1fr; }
    .darts-picks-score-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .darts-picks-player-panel span { font-size: .58rem; }
    .darts-picks-player-panel strong { font-size: 1rem; }
}

@media (max-width: 760px) {
    .darts-picks-schedule-table-wrap,
    .darts-picks-rankings-table-wrap { overflow: visible; border: 0; background: transparent; box-shadow: none; }
    .darts-picks-schedule-table,
    .darts-picks-rankings-table { display: block; min-width: 0; }
    .darts-picks-schedule-table thead,
    .darts-picks-rankings-table thead { display: none; }
    .darts-picks-schedule-table tbody,
    .darts-picks-rankings-table tbody { display: grid; gap: 10px; }
    .darts-picks-schedule-table tr,
    .darts-picks-rankings-table tr {
        display: grid;
        gap: 9px;
        padding: 15px;
        border: 1px solid #d8e4ea;
        border-radius: 15px;
        background: #fff;
        box-shadow: 0 7px 18px rgba(8, 41, 65, .06);
    }
    .darts-picks-schedule-table td,
    .darts-picks-rankings-table td {
        display: grid;
        grid-template-columns: minmax(92px, .38fr) minmax(0, 1fr);
        gap: 10px;
        align-items: center;
        min-width: 0;
        padding: 0;
        border: 0;
        text-align: right;
        overflow-wrap: anywhere;
    }
    .darts-picks-schedule-table td::before,
    .darts-picks-rankings-table td::before {
        color: #657c8e;
        font-size: .67rem;
        font-weight: 900;
        letter-spacing: .04em;
        text-align: left;
        text-transform: uppercase;
        content: attr(data-label);
    }
    .darts-picks-schedule-table td > *,
    .darts-picks-rankings-table td > * { justify-self: end; max-width: 100%; }
    .darts-picks-schedule-table td small,
    .darts-picks-rankings-table td small { text-align: right; }
    .darts-picks-schedule-table td:last-child .btn,
    .darts-picks-rankings-table td:last-child .btn { width: 100%; justify-content: center; }
    .darts-picks-rank-number { width: 34px; height: 34px; }
}

/* Darts Picks V1.20.4 professional player library */
.darts-picks-player-photo {
    position: relative;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    overflow: hidden;
    border: 2px solid rgba(255,255,255,.72);
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #0c4268, #0aa28c);
    box-shadow: 0 8px 22px rgba(7,40,66,.16);
    font-weight: 950;
    letter-spacing: .02em;
}
.darts-picks-player-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.darts-picks-player-photo > span { color: inherit !important; font: inherit !important; letter-spacing: inherit !important; text-transform: uppercase; }
.darts-picks-player-photo.is-tiny { width: 36px; height: 36px; font-size: .72rem; }
.darts-picks-player-photo.is-small { width: 50px; height: 50px; font-size: .9rem; }
.darts-picks-player-photo.is-medium { width: 68px; height: 68px; font-size: 1.1rem; }
.darts-picks-player-photo.is-large { width: 92px; height: 92px; font-size: 1.35rem; }
.darts-picks-player-photo.is-hero { width: 112px; height: 112px; margin-bottom: 12px; font-size: 1.55rem; border-width: 3px; box-shadow: 0 13px 30px rgba(0,0,0,.28); }
.darts-picks-player-panel { justify-items: start; }
.darts-picks-player-panel.is-away { justify-items: end; }
.darts-picks-player-copy { display: grid; min-width: 0; }
.darts-picks-player-panel.is-away .darts-picks-player-copy { justify-items: end; }
.darts-picks-player-copy strong { display: block; }
.darts-picks-schedule-player-pair { display: grid; gap: 5px; }
.darts-picks-schedule-player-pair > span { display: flex; align-items: center; gap: 8px; }
.darts-picks-schedule-player-pair > i { display: none; }
.darts-picks-ranking-player { display: flex; align-items: center; gap: 11px; min-width: 190px; }
.darts-picks-ranking-player > span { min-width: 0; }

.darts-picks-player-picker { position: relative; }
.darts-picks-player-picker-results {
    position: absolute;
    z-index: 60;
    top: calc(100% - 4px);
    right: 0;
    left: 0;
    max-height: 340px;
    padding: 6px;
    border: 1px solid #cddce4;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(7,37,59,.18);
    overflow-y: auto;
}
.darts-picks-player-picker-option {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px;
    border: 0;
    border-radius: 10px;
    color: #0c2f4d;
    background: transparent;
    text-align: left;
    cursor: pointer;
}
.darts-picks-player-picker-option:hover,
.darts-picks-player-picker-option.is-active { background: #eaf8f5; }
.darts-picks-player-picker-option > span:not(.darts-picks-player-photo) { display: grid; min-width: 0; }
.darts-picks-player-picker-option strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.darts-picks-player-picker-option small { color: #6b8293; }
.darts-picks-player-picker-empty { padding: 11px; color: #687f90; font-size: .82rem; }
.darts-picks-player-picker-selected {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 8px;
    padding: 8px 10px;
    border: 1px solid #cfe8e2;
    border-radius: 12px;
    background: #f0faf7;
}
.darts-picks-player-picker-selected > span:not(.darts-picks-player-photo) { display: grid; min-width: 0; }
.darts-picks-player-picker-selected small { color: #668073; }
.darts-picks-player-picker-selected button {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin-left: auto;
    border: 0;
    border-radius: 50%;
    color: #4e6877;
    background: #dfeae7;
    cursor: pointer;
}

.darts-picks-image-steps { display: grid; gap: 9px; margin: 0 0 18px; padding-left: 22px; color: #5d7484; }
.darts-picks-image-review-grid,
.darts-picks-player-library-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.darts-picks-image-review-card,
.darts-picks-player-library-card {
    display: grid;
    align-content: start;
    gap: 12px;
    min-width: 0;
    padding: 15px;
    border: 1px solid #d9e5eb;
    border-radius: 16px;
    background: #fff;
}
.darts-picks-image-review-preview {
    display: grid;
    place-items: center;
    min-height: 170px;
    overflow: hidden;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(145deg,#0a3559,#0a9b85);
    font-size: 2rem;
    font-weight: 950;
}
.darts-picks-image-review-preview img { width: 100%; height: 190px; object-fit: contain; object-position: center bottom; background: #eef4f6; }
.darts-picks-image-review-card h3,
.darts-picks-player-library-card h3 { margin: 7px 0 3px; overflow-wrap: anywhere; }
.darts-picks-player-library-card { grid-template-columns: auto minmax(0,1fr); align-items: center; }
.darts-picks-player-library-copy { min-width: 0; }
.darts-picks-player-library-copy p { margin: 3px 0; color: #61788a; font-size: .8rem; }
.darts-picks-player-library-copy small { color: #738a99; }
.darts-picks-player-library-upload,
.darts-picks-player-library-card > form { grid-column: 1 / -1; }
.darts-picks-player-library-upload { display: grid; gap: 7px; }
.darts-picks-player-library-upload input[type=file] { width: 100%; min-width: 0; font-size: .76rem; }

@media (max-width: 980px) {
    .darts-picks-image-review-grid,
    .darts-picks-player-library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
    .darts-picks-player-photo.is-hero { width: 82px; height: 82px; margin-bottom: 8px; }
    .darts-picks-player-panel { min-height: 170px; }
    .darts-picks-image-review-grid,
    .darts-picks-player-library-grid { grid-template-columns: 1fr; }
    .darts-picks-ranking-player { min-width: 0; justify-content: flex-end; text-align: right; }
    .darts-picks-schedule-player-pair { justify-items: end; }
    .darts-picks-schedule-player-pair > span { justify-content: flex-end; text-align: right; }
}
@media (max-width: 420px) {
    .darts-picks-player-photo.is-hero { width: 66px; height: 66px; }
    .darts-picks-player-panel { min-height: 150px; }
}

/* V1.20.8: expandable flexible-round fixture plan */
.round-plan-card {
    overflow: visible;
}
.round-plan-heading {
    align-items: flex-start;
    gap: 16px;
}
.round-plan-heading > div:first-child {
    min-width: 0;
}
.round-plan-stack {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}
.round-plan-accordion {
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(7, 34, 64, .035);
}
.round-plan-accordion[open] {
    border-color: rgba(14, 154, 142, .42);
    box-shadow: 0 10px 26px rgba(7, 34, 64, .075);
}
.round-plan-accordion > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 16px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background .16s ease;
}
.round-plan-accordion > summary::-webkit-details-marker {
    display: none;
}
.round-plan-accordion > summary:hover,
.round-plan-accordion > summary:focus-visible {
    background: #f6faff;
}
.round-plan-accordion > summary:focus-visible {
    outline: 3px solid rgba(14, 154, 142, .22);
    outline-offset: -3px;
}
.round-plan-summary-main,
.round-plan-summary-status {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.round-plan-summary-status {
    justify-content: flex-end;
    flex-wrap: wrap;
}
.round-plan-chevron {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: #eef5fc;
    position: relative;
    flex: 0 0 30px;
}
.round-plan-chevron::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 8px;
    width: 7px;
    height: 7px;
    border-right: 2px solid var(--navy-900);
    border-bottom: 2px solid var(--navy-900);
    transform: rotate(45deg);
    transition: transform .16s ease, top .16s ease;
}
.round-plan-accordion[open] .round-plan-chevron::before {
    top: 11px;
    transform: rotate(225deg);
}
.round-plan-title {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.round-plan-title strong {
    color: var(--navy-900);
    font-size: 1rem;
}
.round-plan-title small {
    color: var(--muted);
}
.round-plan-bye-count {
    color: #68541a;
    background: #fff7d7;
    border: 1px solid #f0dc8d;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: .75rem;
    font-weight: 800;
    white-space: nowrap;
}
.round-plan-panel {
    border-top: 1px solid var(--line);
    padding: 14px;
    background: #f8fbfe;
}
.round-fixture-list {
    display: grid;
    gap: 9px;
}
.round-fixture-row {
    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) minmax(180px, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 12px 13px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
}
.round-fixture-row.is-my-fixture {
    border-color: rgba(14, 154, 142, .5);
    box-shadow: inset 4px 0 0 var(--teal-500);
}
.round-fixture-pairing {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-width: 0;
}
.round-fixture-pairing strong {
    color: var(--navy-900);
    overflow-wrap: anywhere;
}
.round-fixture-pairing strong:last-child {
    text-align: right;
}
.round-fixture-pairing > span {
    color: var(--muted);
    font-size: .75rem;
    font-weight: 900;
    text-transform: uppercase;
}
.round-fixture-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    color: var(--muted);
    font-size: .78rem;
}
.round-fixture-yours {
    color: #087b72;
    font-weight: 900;
}
.round-fixture-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    white-space: nowrap;
}
.round-bye-row,
.round-plan-locked {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
    padding: 11px 13px;
    border-radius: 11px;
}
.round-bye-row {
    color: #654f16;
    background: #fff8dc;
    border: 1px solid #edd98b;
}
.round-bye-row span {
    text-align: right;
}
.round-plan-locked {
    align-items: flex-start;
    flex-direction: column;
    color: var(--muted);
    background: #f2f6fa;
    border: 1px dashed #c7d5e2;
}
.round-plan-locked strong {
    color: var(--navy-900);
}
@media (max-width: 900px) {
    .round-fixture-row {
        grid-template-columns: 1fr;
    }
    .round-fixture-actions {
        justify-content: space-between;
    }
}
@media (max-width: 620px) {
    .round-plan-heading,
    .round-plan-accordion > summary,
    .round-plan-summary-status,
    .round-bye-row {
        align-items: flex-start;
    }
    .round-plan-heading,
    .round-plan-accordion > summary,
    .round-bye-row {
        flex-direction: column;
    }
    .round-plan-summary-status {
        width: 100%;
        justify-content: flex-start;
        padding-left: 42px;
    }
    .round-plan-panel {
        padding: 10px;
    }
    .round-fixture-pairing {
        grid-template-columns: 1fr;
        text-align: left;
    }
    .round-fixture-pairing strong:last-child {
        text-align: left;
    }
    .round-fixture-pairing > span {
        padding: 2px 0;
    }
    .round-fixture-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .round-fixture-actions .btn {
        width: 100%;
    }
    .round-bye-row span {
        text-align: left;
    }
}

/* V1.20.9: unmistakable, direct-click round matchup dropdowns */
.round-plan-accordion > summary {
    min-height: 72px;
}
.round-plan-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 118px;
    border: 1px solid #bfd3e5;
    border-radius: 999px;
    padding: 7px 11px;
    color: var(--navy-900);
    background: #eef6ff;
    font-size: .76rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 2px 7px rgba(7, 34, 64, .06);
}
.round-plan-toggle-open {
    display: none;
}
.round-plan-accordion[open] .round-plan-toggle-closed {
    display: none;
}
.round-plan-accordion[open] .round-plan-toggle-open {
    display: inline;
}
.round-plan-accordion[open] .round-plan-toggle {
    border-color: rgba(14, 154, 142, .45);
    color: #076e66;
    background: #e7faf6;
}
.round-plan-accordion > summary:active .round-plan-toggle {
    transform: translateY(1px);
}
@media (max-width: 760px) {
    .round-plan-summary-status {
        gap: 8px;
    }
    .round-plan-toggle {
        min-width: 104px;
    }
}


/* V1.20.10: guide navigation and league directory actions */
.guide-quick-launch{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(0,2.25fr);gap:22px;align-items:center;margin:4px 0 18px;padding:18px 20px;border-color:#c9ded9;background:linear-gradient(135deg,#f1fbf8,#fff)}
.guide-quick-launch-copy{display:grid;gap:4px}.guide-quick-launch-copy strong{font-size:.96rem;color:var(--navy-900)}
.guide-quick-launch-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.guide-quick-launch-links a{display:flex;align-items:center;gap:9px;min-height:46px;padding:9px 11px;border:1px solid #d8e4eb;border-radius:13px;color:var(--navy-900);background:#fff;font-size:.76rem;font-weight:850;text-decoration:none;transition:.16s ease}
.guide-quick-launch-links a:hover{transform:translateY(-2px);border-color:#69d1c0;box-shadow:var(--shadow-sm)}
.guide-quick-launch-links a span{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:9px;color:#063d35;background:#dff9f3;font-weight:950}
.guide-section-jump{display:flex;align-items:center;gap:8px;overflow-x:auto;margin:0 0 18px;padding:3px 0 8px;scrollbar-width:thin}.guide-section-jump strong{flex:0 0 auto;color:var(--muted);font-size:.72rem}.guide-section-jump a{flex:0 0 auto;padding:7px 10px;border-radius:999px;color:#385369;background:#eaf0f5;font-size:.7rem;font-weight:800;text-decoration:none}.guide-section-jump a:hover{color:#063d35;background:#dff9f3}
.guide-new-feature-heading{margin-top:28px}.guide-new-feature-grid{margin-bottom:18px}.guide-new-feature-grid .guide-card{border-color:#b7ddd6;background:linear-gradient(150deg,#f0fbf8,#fff)}
.guide-new-feature-grid .guide-card:first-child{box-shadow:0 18px 36px rgba(7,92,80,.1)}
.league-directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.league-directory-head>div:first-child{max-width:760px}.league-directory-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.league-directory-actions .btn{white-space:nowrap}
.league-directory-search{margin-bottom:24px;padding:20px}.league-directory-search form>label{display:block;margin-bottom:8px;font-size:.76rem;font-weight:850;color:var(--navy-800)}.league-directory-hints{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px;color:var(--muted);font-size:.74rem}.league-directory-hints a{font-weight:850}
.league-directory-results-head{margin:30px 0 14px}.league-directory-results-head h2{margin:3px 0 0}.league-directory-card{display:flex;flex-direction:column;min-height:245px}.league-directory-card h2{margin:15px 0 8px;font-size:1.35rem}.league-directory-card p{margin-bottom:17px}.league-directory-meta{display:flex;gap:12px;margin-top:auto;margin-bottom:18px;padding-top:13px;border-top:1px solid var(--line)}.league-directory-meta span{display:flex;gap:4px}.league-directory-empty-actions{justify-content:center}.league-directory-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;padding:24px;background:linear-gradient(135deg,#eefaf7,#fff)}.league-directory-footer h2{margin:3px 0 6px}.league-directory-footer p{margin:0;max-width:780px}
@media(max-width:1000px){.guide-quick-launch{grid-template-columns:1fr}.guide-quick-launch-links{grid-template-columns:repeat(2,minmax(0,1fr))}.league-directory-head{align-items:flex-start;flex-direction:column}.league-directory-actions{justify-content:flex-start}}
@media(max-width:620px){.guide-quick-launch{padding:15px}.guide-quick-launch-links{grid-template-columns:1fr}.guide-quick-launch-links a{min-height:43px}.league-directory-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.league-directory-actions .btn{width:100%}.league-directory-search{padding:15px}.league-directory-hints,.league-directory-footer{align-items:stretch;flex-direction:column}.league-directory-footer .btn{width:100%}.league-directory-results-head{align-items:flex-start;flex-direction:column}.league-directory-empty-actions{align-items:stretch;flex-direction:column}.league-directory-empty-actions .btn{width:100%}}

/* Dartscores V1.20.11: mobile hamburger account menu and pricing access */
.mobile-account-menu{position:relative;display:none}
.mobile-menu-button{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #cad7e3;border-radius:12px;color:var(--navy-900);background:#fff;box-shadow:0 4px 13px rgba(7,29,58,.08);cursor:pointer}
.mobile-menu-button:focus-visible{outline:3px solid rgba(20,184,157,.28);outline-offset:2px}
.mobile-menu-lines{display:grid;gap:4px;width:21px}
.mobile-menu-lines>span{display:block;width:100%;height:2px;border-radius:999px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.mobile-menu-button[aria-expanded="true"] .mobile-menu-lines>span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mobile-menu-button[aria-expanded="true"] .mobile-menu-lines>span:nth-child(2){opacity:0}
.mobile-menu-button[aria-expanded="true"] .mobile-menu-lines>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu-count{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border:2px solid #fff;border-radius:999px;color:#fff;background:#d94b5b;font-size:.62rem;font-weight:950;line-height:1}
.mobile-account-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(365px,calc(100vw - 26px));max-height:calc(100dvh - 92px);overflow:auto;overscroll-behavior:contain;padding:10px;border:1px solid #cbd8e4;border-radius:18px;background:#fff;box-shadow:0 24px 60px rgba(4,24,49,.26)}
.mobile-account-panel[hidden]{display:none!important}
.mobile-account-summary{display:flex;align-items:center;gap:11px;padding:12px 11px 15px;border-bottom:1px solid var(--line)}
.mobile-account-summary .avatar{width:42px;height:42px}
.mobile-account-summary strong,.mobile-account-summary small{display:block;max-width:270px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-account-summary small{margin-top:2px;color:var(--muted);font-size:.7rem}
.mobile-account-links{display:grid;gap:4px;padding:8px 0}
.mobile-account-links>a,.mobile-account-signout button{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:59px;padding:8px 10px;border:0;border-radius:12px;color:var(--navy-900);background:transparent;text-align:left;text-decoration:none;cursor:pointer}
.mobile-account-links>a:hover,.mobile-account-links>a:focus-visible,.mobile-account-signout button:hover,.mobile-account-signout button:focus-visible{outline:0;background:#edf7f5}
.mobile-account-links strong,.mobile-account-links small,.mobile-account-signout strong,.mobile-account-signout small{display:block}
.mobile-account-links strong,.mobile-account-signout strong{font-size:.88rem}
.mobile-account-links small,.mobile-account-signout small{margin-top:2px;color:var(--muted);font-size:.69rem;font-weight:600}
.mobile-account-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#123d5f;background:#eaf3fb;font-size:.87rem;font-weight:950}
.mobile-account-icon-price{color:#07594f;background:#dff8f2;font-size:1rem}
.mobile-account-signout{padding-top:8px;border-top:1px solid var(--line)}
.mobile-account-signout button{font:inherit}
.mobile-account-signout .mobile-account-icon{color:#8d2b31;background:#fff0f1}
.account-section-anchor{scroll-margin-top:88px}
.pricing-access-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 22px;overflow:hidden;border:1px solid #cbd9e5;border-radius:16px;background:#cbd9e5}
.pricing-access-strip>span{display:grid;gap:3px;padding:16px;background:#fff}
.pricing-access-strip strong{color:var(--navy-900);font-size:.87rem}
.pricing-access-strip small{color:var(--muted);font-size:.74rem;line-height:1.45}

@media(max-width:1000px){
    .topbar-context{display:none}
    .desktop-topbar-action{display:none!important}
    .mobile-account-menu{display:block}
}
@media(max-width:760px){
    .pricing-access-strip{grid-template-columns:1fr}
    .pricing-access-strip>span{padding:13px 15px}
}
@media(max-width:420px){
    .app-topbar .mobile-brand img{width:145px}
    .topbar-actions{gap:6px}
    .topbar-actions>.js-install-pwa{padding-inline:10px}
    .mobile-account-panel{position:fixed;top:66px;right:8px;left:8px;width:auto;max-height:calc(100dvh - 78px)}
}


/* DartsScores V1.20.13: PDC player profiles, events, rankings and recent results */
.darts-picks-ranking-note{display:flex;align-items:flex-start;gap:12px;margin:0 0 15px;padding:13px 15px;border:1px solid #c8dce8;border-radius:13px;color:#38536b;background:#f7fbfe;font-size:.76rem;line-height:1.5}.darts-picks-ranking-note strong{flex:0 0 auto;color:var(--navy-900)}.darts-picks-ranking-note code{padding:1px 5px;border-radius:5px;background:#e9f1f7}.darts-picks-ranking-player.is-link{color:inherit;text-decoration:none}.darts-picks-ranking-player.is-link:hover strong{color:#087b72}.darts-picks-rankings-table.is-detailed th:nth-child(4),.darts-picks-rankings-table.is-detailed td:nth-child(4){text-align:right}.ranking-movement{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:5px 8px;border-radius:999px;color:#53697c;background:#eef3f7;font-size:.73rem;font-weight:900}.ranking-movement.is-up{color:#087368;background:#dcf8f1}.ranking-movement.is-down{color:#a63b47;background:#fff0f2}
.pdc-player-hero,.pdc-event-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 22px;padding:26px;border:1px solid #bed7df;border-radius:22px;background:linear-gradient(135deg,#071f3d 0%,#0b3755 66%,#087b72 150%);color:#fff;box-shadow:0 18px 44px rgba(4,30,55,.16)}.pdc-player-identity{display:flex;align-items:center;gap:18px}.pdc-player-identity h1,.pdc-event-hero h1{margin:4px 0 10px;color:#fff}.pdc-player-identity .darts-picks-page-kicker,.pdc-event-hero .darts-picks-page-kicker{color:#72ebd9}.pdc-player-tags{display:flex;flex-wrap:wrap;gap:7px}.pdc-player-tags span{padding:6px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.1);font-size:.72rem;font-weight:850}.pdc-player-money{display:grid;gap:5px;min-width:245px;padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.1);text-align:right}.pdc-player-money span,.pdc-player-money small{font-size:.72rem;color:#d5e7f1}.pdc-player-money strong{font-size:1.65rem;color:#fff}.pdc-player-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin:0 0 20px}.pdc-player-stat-grid article{display:grid;gap:7px;min-height:102px;padding:15px;border:1px solid #d4e0e9;border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}.pdc-player-stat-grid span{color:var(--muted);font-size:.7rem;font-weight:800}.pdc-player-stat-grid strong{margin-top:auto;color:var(--navy-900);font-size:1.35rem}.pdc-profile-details{margin-bottom:25px}.pdc-profile-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border-top:1px solid var(--line);background:var(--line)}.pdc-profile-detail-grid>div{display:grid;gap:5px;min-height:90px;padding:16px;background:#fff}.pdc-profile-detail-grid span{color:var(--muted);font-size:.7rem;font-weight:800}.pdc-profile-detail-grid strong{color:var(--navy-900);font-size:.87rem;overflow-wrap:anywhere}.pdc-player-section,.pdc-events-section{margin:28px 0}.pdc-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:13px}.pdc-section-heading span{color:#087b72;font-size:.7rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}.pdc-section-heading h2{margin:4px 0 0;color:var(--navy-900)}.pdc-section-heading>small{max-width:520px;color:var(--muted);text-align:right}.pdc-results-table-wrap{overflow:auto;border:1px solid #d1dee8;border-radius:17px;background:#fff;box-shadow:var(--shadow-sm)}.pdc-results-table{width:100%;border-collapse:collapse}.pdc-results-table th{padding:12px 13px;color:#52697c;background:#f1f6fa;font-size:.68rem;text-align:left;text-transform:uppercase;letter-spacing:.05em}.pdc-results-table td{padding:13px;border-top:1px solid #e1e9ef;color:#243f57;font-size:.78rem;vertical-align:middle}.pdc-results-table td small{display:block;margin-top:3px;color:var(--muted)}.pdc-results-table a{font-weight:850}.pdc-result-badge{display:inline-grid;place-items:center;width:26px;height:26px;margin-right:5px;border-radius:8px;color:#607487;background:#edf2f6;font-weight:950}.pdc-result-badge.is-win{color:#086e63;background:#dff8f2}.pdc-result-badge.is-loss{color:#a83a46;background:#fff0f2}.pdc-upcoming-grid,.pdc-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.pdc-upcoming-card,.pdc-event-card{display:flex;flex-direction:column;min-height:185px;padding:18px;border:1px solid #d0dee8;border-radius:17px;background:#fff;box-shadow:var(--shadow-sm)}.pdc-upcoming-card>span,.pdc-event-card>span{color:#087b72;font-size:.68rem;font-weight:950;text-transform:uppercase}.pdc-upcoming-card h3,.pdc-event-card h3{margin:10px 0 8px;color:var(--navy-900)}.pdc-upcoming-card p,.pdc-event-card p{color:#405a70;font-size:.79rem}.pdc-upcoming-card .btn{align-self:flex-start;margin-top:auto}.pdc-event-card{color:inherit;text-decoration:none;transition:.18s ease}.pdc-event-card:hover{transform:translateY(-3px);border-color:#55cdbc;box-shadow:0 15px 32px rgba(5,74,68,.12)}.pdc-event-card small{color:var(--muted)}.pdc-event-card>div{display:flex;gap:14px;margin-top:auto;padding-top:15px;color:#566d80;font-size:.72rem}.pdc-event-card b{color:var(--navy-900)}.pdc-events-grid.is-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.pdc-ranking-history{margin-top:25px}.pdc-ranking-history-list{display:flex;gap:8px;overflow:auto;padding:16px}.pdc-ranking-history-list span{display:grid;gap:4px;min-width:90px;padding:11px;border:1px solid #d8e3eb;border-radius:12px;background:#f8fbfd;text-align:center}.pdc-ranking-history-list small{color:var(--muted);font-size:.65rem}.pdc-ranking-history-list strong{color:var(--navy-900)}
.pdc-event-facts{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:10px}.pdc-event-facts span{display:grid;gap:5px;padding:13px;border:1px solid rgba(255,255,255,.17);border-radius:13px;background:rgba(255,255,255,.1)}.pdc-event-facts small{color:#d3e6f0;font-size:.68rem}.pdc-event-facts strong{color:#fff;font-size:.82rem}.pdc-event-match-list{display:grid;gap:9px}.pdc-event-match-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #d5e1e9;border-radius:14px;background:#fff}.pdc-event-match-list article>div{display:grid;gap:4px}.pdc-event-match-list article span,.pdc-event-match-list article small{color:var(--muted);font-size:.7rem}.pdc-event-match-list article strong{color:var(--navy-900)}.pdc-event-match-list article i{padding:0 5px;color:#7b8d9d;font-style:normal}.pdc-event-match-list.is-results article b{display:inline-block;margin:0 7px;padding:4px 7px;border-radius:8px;color:#073f38;background:#dff8f2}.pdc-event-prizes{margin-top:25px}.pdc-prize-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}.pdc-prize-grid>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 15px;background:#fff}.pdc-prize-grid span{color:#344f66;font-size:.78rem}.pdc-prize-grid strong{color:var(--navy-900)}
@media(max-width:1100px){.pdc-player-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pdc-upcoming-grid,.pdc-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdc-events-grid.is-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.pdc-profile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pdc-player-hero,.pdc-event-hero{align-items:stretch;flex-direction:column;padding:20px}.pdc-player-money{text-align:left;min-width:0}.pdc-player-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdc-profile-detail-grid,.pdc-upcoming-grid,.pdc-events-grid,.pdc-events-grid.is-compact,.pdc-prize-grid{grid-template-columns:1fr}.pdc-section-heading{align-items:flex-start;flex-direction:column}.pdc-section-heading>small{text-align:left}.pdc-event-facts{grid-template-columns:1fr}.pdc-event-match-list article{align-items:flex-start;flex-direction:column}.pdc-event-match-list article .btn{width:100%}.darts-picks-ranking-note{flex-direction:column}.darts-picks-rankings-table.is-detailed th:nth-child(4),.darts-picks-rankings-table.is-detailed td:nth-child(4){text-align:left}}
@media(max-width:520px){.pdc-player-identity{align-items:flex-start}.pdc-player-stat-grid{grid-template-columns:1fr 1fr}.pdc-player-stat-grid article{min-height:88px;padding:12px}.pdc-results-table thead{display:none}.pdc-results-table,.pdc-results-table tbody,.pdc-results-table tr,.pdc-results-table td{display:block;width:100%}.pdc-results-table tr{padding:10px 0;border-top:1px solid #dfe7ed}.pdc-results-table tr:first-child{border-top:0}.pdc-results-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:6px 12px;border:0}.pdc-results-table td:before{content:attr(data-label);color:var(--muted);font-size:.67rem;font-weight:850}.pdc-results-table td>.pdc-result-badge{display:inline-grid}}

/* DartsScores V1.20.14: protected recovery, PDC Stats and head-to-head directory */
.pdc-h2h-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pdc-h2h-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;border:1px solid #d1dee8;border-radius:16px;color:inherit;background:#fff;text-decoration:none;box-shadow:var(--shadow-sm);transition:.18s ease}.pdc-h2h-card:hover{transform:translateY(-2px);border-color:#55cdbc;box-shadow:0 14px 30px rgba(5,74,68,.11)}.pdc-h2h-card-player{display:flex;align-items:center;gap:11px;min-width:0}.pdc-h2h-card-player span{display:grid;gap:3px;min-width:0}.pdc-h2h-card-player strong{overflow:hidden;color:var(--navy-900);text-overflow:ellipsis;white-space:nowrap}.pdc-h2h-card-player small{color:var(--muted);font-size:.69rem}.pdc-h2h-card-score{display:grid;flex:0 0 auto;gap:3px;text-align:right}.pdc-h2h-card-score strong{color:#087b72;font-size:1.15rem}.pdc-h2h-card-score small{color:var(--muted);font-size:.66rem}.darts-picks-health-strip{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 18px;padding:14px 16px;border:1px solid #9bd9ce;border-radius:14px;background:#eafaf6}.darts-picks-health-strip>div{display:grid;gap:4px}.darts-picks-health-strip strong{color:#075f56}.darts-picks-health-strip small{color:#47756f;line-height:1.45}.darts-picks-health-strip.is-busy{border-color:#efd28f;background:#fff8e9}.darts-picks-health-strip.is-busy strong{color:#73520b}.darts-picks-health-strip code{font-size:.7rem}.darts-picks-recovery-link{white-space:nowrap}.pdc-stats-filter-row{display:flex;align-items:flex-end;gap:12px}.pdc-stats-filter-row .form-group{flex:1}.pdc-h2h-source{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;color:#496278;background:#eef4f8;font-size:.67rem;font-weight:800}
@media(max-width:1100px){.pdc-h2h-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pdc-h2h-grid{grid-template-columns:1fr}.darts-picks-health-strip{align-items:stretch;flex-direction:column}.darts-picks-recovery-link{width:100%}.pdc-stats-filter-row{align-items:stretch;flex-direction:column}}

/* DartsScores V1.20.14d: expanded player statistics and H2H clarity */
.pdc-player-stat-grid.is-expanded{grid-template-columns:repeat(4,minmax(0,1fr))}.pdc-player-stat-grid article small{color:var(--muted);font-size:.64rem;line-height:1.35}.pdc-performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pdc-performance-panel{overflow:hidden;border:1px solid #d2dfe8;border-radius:17px;background:#fff;box-shadow:var(--shadow-sm)}.pdc-performance-panel>header{padding:16px 17px;border-bottom:1px solid #dde6ed;background:linear-gradient(135deg,#f7fbfd,#eef8f6)}.pdc-performance-panel>header span{color:#087b72;font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.pdc-performance-panel>header h3{margin:5px 0 0;color:var(--navy-900)}.pdc-performance-panel dl{margin:0}.pdc-performance-panel dl>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 16px;border-top:1px solid #edf2f5}.pdc-performance-panel dl>div:first-child{border-top:0}.pdc-performance-panel dt{color:#526a7d;font-size:.74rem}.pdc-performance-panel dd{margin:0;color:var(--navy-900);font-size:.83rem;font-weight:900;text-align:right}.pdc-form-strip{display:flex;flex-wrap:wrap;gap:6px;padding:13px 16px;border-top:1px solid #e8eef2;background:#f8fbfd}.pdc-form-strip span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:#fff;font-size:.72rem;font-weight:950}.pdc-form-strip .is-win{background:#0b8e7f}.pdc-form-strip .is-loss{background:#bd4a58}.pdc-data-coverage{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:13px;padding:13px 15px;border:1px solid #c9dce6;border-radius:13px;color:#466176;background:#f7fbfd;font-size:.73rem}.pdc-data-coverage strong{color:var(--navy-900)}.pdc-profile-detail-grid small{color:var(--muted);font-size:.68rem}.pdc-match-stat-details{position:relative}.pdc-match-stat-details summary{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border:1px solid #c8d9e4;border-radius:9px;color:#075f56;background:#effaf7;font-size:.69rem;font-weight:900;cursor:pointer;list-style:none}.pdc-match-stat-details summary::-webkit-details-marker{display:none}.pdc-match-stat-details[open] summary{border-color:#73cdbc;background:#dcf8f2}.pdc-match-stat-details>div{position:relative;z-index:1;width:min(330px,70vw);margin-top:7px;padding:11px;border:1px solid #c6d8e3;border-radius:13px;background:#fff;box-shadow:0 18px 40px rgba(7,31,61,.18)}.pdc-match-stat-details>div:not(.pdc-h2h-match-stats){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.pdc-match-stat-details>div:not(.pdc-h2h-match-stats)>span{display:grid;gap:3px;padding:8px;border-radius:9px;background:#f5f9fb}.pdc-match-stat-details small{margin:0!important;color:var(--muted);font-size:.61rem}.pdc-match-stat-details strong{color:var(--navy-900);font-size:.75rem}.pdc-h2h-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,260px) minmax(0,1fr);align-items:center}.pdc-h2h-hero .pdc-player-identity h2,.pdc-h2h-hero .pdc-player-identity p{color:#fff}.pdc-h2h-hero .pdc-player-identity h2{margin:4px 0 10px;font-size:clamp(1.55rem,2.5vw,2.25rem)}.pdc-h2h-hero .pdc-player-identity p{margin:0 0 12px}.pdc-h2h-player.is-opponent{justify-content:flex-end;text-align:right}.pdc-h2h-meetings{display:grid;place-items:center;align-content:center;gap:7px;min-height:124px;padding:18px;border:1px solid rgba(255,255,255,.23);border-radius:17px;color:#fff;background:rgba(255,255,255,.11);text-align:center}.pdc-h2h-meetings span,.pdc-h2h-meetings small{color:#e0eff6;font-size:.72rem}.pdc-h2h-meetings strong{color:#fff;font-size:1.75rem}.pdc-h2h-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.pdc-h2h-summary-grid article strong{font-size:1.15rem;overflow-wrap:anywhere}.pdc-h2h-comparison-wrap{overflow:auto;border:1px solid #d1dee8;border-radius:17px;background:#fff;box-shadow:var(--shadow-sm)}.pdc-h2h-comparison{width:100%;border-collapse:collapse}.pdc-h2h-comparison th,.pdc-h2h-comparison td{padding:12px 15px;border-top:1px solid #e3eaf0;text-align:center}.pdc-h2h-comparison thead th{border-top:0;color:#fff;background:#0a3654;font-size:.74rem}.pdc-h2h-comparison th:first-child,.pdc-h2h-comparison td:first-child{text-align:left}.pdc-h2h-comparison td:first-child{color:#52697c;font-size:.75rem;font-weight:800}.pdc-h2h-comparison td:not(:first-child){color:var(--navy-900);font-size:.85rem;font-weight:900}.pdc-h2h-results-table td:last-child{min-width:115px}.pdc-match-stat-details.is-h2h>div{width:min(620px,80vw)}.pdc-h2h-match-stats{display:grid;grid-template-columns:minmax(110px,.75fr) repeat(2,minmax(110px,1fr));gap:1px;padding:1px!important;background:#d9e4eb!important}.pdc-h2h-match-stats>*{margin:0;padding:7px 8px;background:#fff;text-align:center}.pdc-h2h-match-stats>span{text-align:left;color:#536b7e;font-size:.68rem}.pdc-h2h-match-stats>strong{color:#0a3654;font-size:.68rem}.pdc-h2h-match-stats>b{color:var(--navy-900);font-size:.72rem}.pdc-h2h-match-stats .is-wide{grid-column:span 2}
@media(max-width:1100px){.pdc-player-stat-grid.is-expanded{grid-template-columns:repeat(4,minmax(0,1fr))}.pdc-performance-grid{grid-template-columns:1fr 1fr}.pdc-performance-panel:last-child{grid-column:1/-1}.pdc-h2h-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){.pdc-h2h-hero{grid-template-columns:1fr}.pdc-h2h-player,.pdc-h2h-player.is-opponent{justify-content:flex-start;text-align:left}.pdc-h2h-meetings{order:2}.pdc-h2h-player.is-opponent{order:3}.pdc-h2h-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdc-h2h-summary-grid article:nth-child(3){grid-column:1/-1}}
@media(max-width:760px){.pdc-player-stat-grid.is-expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.pdc-performance-grid{grid-template-columns:1fr}.pdc-performance-panel:last-child{grid-column:auto}.pdc-match-stat-details>div{width:min(360px,72vw);max-height:none;overflow:visible}.pdc-match-stat-details.is-h2h>div{width:min(620px,80vw)}.pdc-h2h-comparison th,.pdc-h2h-comparison td{padding:10px 11px}}
@media(max-width:520px){.pdc-h2h-summary-grid{grid-template-columns:1fr 1fr}.pdc-h2h-summary-grid article:nth-child(3){grid-column:1/-1}.pdc-h2h-match-stats{grid-template-columns:minmax(82px,.8fr) repeat(2,minmax(80px,1fr))}.pdc-h2h-hero .pdc-player-identity h2{font-size:1.5rem}.pdc-data-coverage{align-items:flex-start;flex-direction:column}}


/* V1.20.14e: next PDC event empty-state and picks availability */
.darts-picks-next-event{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:22px;margin:22px 0;padding:26px;border:1px solid #bcd8df;border-radius:24px;background:linear-gradient(135deg,#071f3d 0%,#0b4057 68%,#087b72 145%);color:#fff;box-shadow:0 18px 44px rgba(4,30,55,.16)}
.darts-picks-next-event-kicker{display:inline-flex;margin-bottom:8px;color:#72ebd9;font-size:.72rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.darts-picks-next-event h2{margin:0 0 8px;color:#fff;font-size:clamp(1.8rem,4vw,3rem)}
.darts-picks-next-event-date,.darts-picks-next-event-venue{margin:4px 0;color:#e6f2f7}.darts-picks-next-event-venue{color:#bed5df}
.darts-picks-countdown{display:inline-flex;margin:12px 0;padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:.78rem}
.darts-picks-coming-soon-copy{max-width:720px;margin:18px 0 0;padding:16px;border:1px solid rgba(114,235,217,.34);border-radius:16px;background:rgba(5,30,55,.35)}
.darts-picks-coming-soon-copy strong{display:block;color:#72ebd9;font-size:1rem}.darts-picks-coming-soon-copy p{margin:6px 0 0;color:#fff;line-height:1.55}
.darts-picks-next-event-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.darts-picks-next-event .btn-secondary{border-color:rgba(255,255,255,.26);color:#fff;background:rgba(255,255,255,.1)}
.darts-picks-event-progress{align-self:stretch;padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.1)}
.darts-picks-event-progress h3{margin:0 0 12px;color:#fff;text-align:center}.darts-picks-event-progress>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid rgba(255,255,255,.14);font-size:.8rem}.darts-picks-event-progress b{font-size:.74rem}.darts-picks-event-progress .is-complete b{color:#72ebd9}.darts-picks-event-progress .is-waiting b{color:#ffd58a}
@media (max-width:800px){.darts-picks-next-event{grid-template-columns:1fr;padding:20px}.darts-picks-event-progress{order:2}.darts-picks-next-event-actions .btn{width:100%;justify-content:center}}


/* V1.20.14f: automatic sync diagnostics and public access launch control */
.darts-picks-public-access{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 20px;padding:20px 22px;border:1px solid #edc875;border-radius:18px;background:linear-gradient(135deg,#fff5db,#fff);box-shadow:0 10px 28px rgba(102,73,8,.07)}
.darts-picks-public-access.is-public{border-color:#9bd8c7;background:linear-gradient(135deg,#ebfaf5,#fff)}
.darts-picks-public-access h2{margin:3px 0 5px;font-size:1.25rem}.darts-picks-public-access p{max-width:850px;margin:0;color:var(--muted);line-height:1.5}.darts-picks-public-access form{flex:0 0 auto}.darts-picks-public-access .btn{min-width:205px;justify-content:center}
.darts-picks-last-run-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;border:1px solid #d2e0e9;border-radius:13px;background:#f7fbfd}.darts-picks-last-run-summary strong{margin-right:3px;color:var(--navy-900)}.darts-picks-last-run-summary span{padding:5px 8px;border-radius:999px;color:#31516a;background:#e9f1f6;font-size:.7rem;font-weight:800}
@media(max-width:760px){.darts-picks-public-access{align-items:stretch;flex-direction:column;padding:17px}.darts-picks-public-access form,.darts-picks-public-access .btn{width:100%}.darts-picks-last-run-summary{align-items:flex-start;flex-direction:column}.darts-picks-last-run-summary span{width:100%}}

/* V1.20.15: player-focused compact dashboard */
.dashboard-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.dashboard-page-head h1{margin-bottom:4px}.dashboard-head-actions{justify-content:flex-end}.dashboard-account-alert{margin-bottom:16px}.dashboard-attention{margin-bottom:16px;padding:16px;border:1px solid #f0cf8c;border-radius:16px;background:#fff9ec;box-shadow:var(--shadow-sm)}.dashboard-attention .dashboard-section-heading{margin-bottom:10px}.dashboard-attention-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;border-top:1px solid #f2dfb6;color:var(--ink);text-decoration:none}.dashboard-attention-row:first-child{border-top:0}.dashboard-attention-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ffe1a3;color:#7c4d00;font-weight:950}.dashboard-attention-row:hover{background:rgba(255,255,255,.65)}
.dashboard-section{margin-bottom:16px}.dashboard-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:11px}.dashboard-section-heading h2{margin:2px 0 0;font-size:1.35rem}.dashboard-section-heading .eyebrow{font-size:.66rem}.dashboard-focus-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:14px;margin-bottom:16px}.dashboard-focus-grid>.card{padding:19px}.dashboard-focus-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-focus-head h2{margin:3px 0 0;font-size:1.35rem}.dashboard-next-match-card{overflow:hidden;color:#fff;border-color:transparent;background:radial-gradient(circle at 100% 0,rgba(20,184,157,.28),transparent 36%),linear-gradient(135deg,#071d3a,#0c426e);box-shadow:0 16px 34px rgba(7,29,58,.16)}.dashboard-next-match-card h2,.dashboard-next-match-card strong{color:#fff}.dashboard-next-match-card .eyebrow{color:#61dfcd}.dashboard-next-pair{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:10px;margin:18px 0 13px}.dashboard-next-pair strong{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.12}.dashboard-next-pair strong:last-child{text-align:right}.dashboard-next-pair span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);font-size:.72rem;font-weight:900;text-transform:uppercase}.dashboard-next-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.dashboard-next-meta span{padding:6px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:#e9f5ff;font-size:.72rem;font-weight:750}.dashboard-match-actions{gap:8px}.dashboard-next-match-card .btn-secondary{color:#092d51;border-color:rgba(255,255,255,.75);background:#fff}.dashboard-next-match-card .btn-primary{background:#153f69}.dashboard-next-match-card .dashboard-inline-details{border-color:rgba(255,255,255,.17)}.dashboard-next-match-card .dashboard-inline-details summary{color:#dbeaf7}.dashboard-next-match-card .dashboard-compact-list a{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.07)}.dashboard-next-match-card .dashboard-compact-list a strong,.dashboard-next-match-card .dashboard-compact-list a b{color:#fff}.dashboard-next-match-card .dashboard-compact-list a small{color:#c8d9e9}.dashboard-last-result-card{display:flex;flex-direction:column}.dashboard-result-score{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin:19px 0 5px;color:var(--ink);text-decoration:none}.dashboard-result-score span{font-weight:850;line-height:1.15}.dashboard-result-score span:last-child{text-align:right}.dashboard-result-score strong{font-size:2.2rem;letter-spacing:.04em;color:var(--navy-950)}.dashboard-result-meta{margin:0 0 14px;text-align:center}.dashboard-last-result-card .dashboard-text-link{margin-top:auto}.dashboard-compact-empty{display:flex;align-items:center;gap:12px;min-height:76px;margin:15px 0;padding:14px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.07)}.dashboard-compact-empty>span{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);font-size:1.1rem}.dashboard-compact-empty strong,.dashboard-compact-empty small{display:block}.dashboard-compact-empty small{margin-top:3px;color:#c8d9e9}.dashboard-compact-empty-light{border-color:var(--line);background:#f7fafc;color:var(--ink)}.dashboard-compact-empty-light>span{background:#e8f2f8}.dashboard-compact-empty-light small{color:var(--muted)}
.dashboard-tool-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.dashboard-tool-tile{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:68px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy-900);text-decoration:none;box-shadow:0 5px 14px rgba(7,29,58,.05);transition:transform .16s,border-color .16s,box-shadow .16s}.dashboard-tool-tile:hover{transform:translateY(-2px);border-color:#9fc6da;box-shadow:0 10px 22px rgba(7,29,58,.09);color:var(--navy-900)}.dashboard-tool-tile strong{font-size:.9rem;line-height:1.08}.dashboard-tool-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf4fb;color:#0b456f;font-size:1.05rem;font-weight:950}.dashboard-tool-arrow{color:#6f8195;font-size:1.35rem}.dashboard-tool-score .dashboard-tool-icon{background:#e2f8f2;color:#087c6b}.dashboard-tool-maths .dashboard-tool-icon{background:#fff1cf;color:#8d5a00}.dashboard-tool-tournament .dashboard-tool-icon{background:#e9effb;color:#294b8f}.dashboard-tool-picks .dashboard-tool-icon{background:#e7f4ff;color:#075487}.dashboard-tool-my-darts .dashboard-tool-icon{background:#e7f8f5;color:#06796b}
.dashboard-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-event-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-decoration:none}.dashboard-event-row:hover{border-color:#a7c7db;box-shadow:var(--shadow-sm)}.dashboard-event-date{display:grid;place-items:center;min-height:48px;border-radius:11px;background:#edf6fb;color:var(--navy-800);line-height:1}.dashboard-event-date strong{font-size:1.22rem}.dashboard-event-date small{margin-top:3px;font-size:.65rem;font-weight:850;text-transform:uppercase}.dashboard-event-status{display:grid;justify-items:end;gap:5px}.dashboard-event-status small{color:var(--muted);font-size:.7rem;font-weight:750}.dashboard-league-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-league-tile{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}.dashboard-league-tile>a{display:flex;align-items:center;gap:10px;min-width:0;color:var(--ink);text-decoration:none}.dashboard-league-tile>a>span:last-child{min-width:0}.dashboard-league-tile strong,.dashboard-league-tile small{display:block}.dashboard-league-tile strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-league-tile small{margin-top:2px;color:var(--muted);font-size:.73rem}.dashboard-league-tile>div{display:flex;align-items:center;gap:7px}.dashboard-league-icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:11px;background:#edf5fb;color:#0a4a79;font-weight:900}.dashboard-lower-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.dashboard-list-card{padding:17px}.dashboard-list-card .dashboard-section-heading{margin-bottom:9px}.dashboard-compact-list{display:grid;gap:7px}.dashboard-compact-list>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);text-decoration:none}.dashboard-compact-list>a:hover{border-color:#a7c7db;background:#fbfdff}.dashboard-compact-list>a>span:first-child{min-width:0}.dashboard-compact-list strong,.dashboard-compact-list small{display:block}.dashboard-compact-list strong{color:var(--navy-900);font-size:.86rem}.dashboard-compact-list small{margin-top:2px;color:var(--muted);font-size:.72rem;line-height:1.28}.dashboard-compact-list b{color:#087d70;font-size:.75rem}.dashboard-compact-list .is-unread{border-color:#86cbbb;background:#f1fbf8}.dashboard-text-link{color:#0b6f67;font-size:.78rem;font-weight:850;text-decoration:none}.dashboard-text-link:hover{text-decoration:underline}.dashboard-inline-details,.dashboard-section-details{margin-top:11px;border-top:1px solid var(--line)}.dashboard-inline-details summary,.dashboard-section-details summary{padding:10px 0 2px;cursor:pointer;color:#436075;font-size:.76rem;font-weight:850}.dashboard-inline-details[open] summary,.dashboard-section-details[open] summary{margin-bottom:8px}.dashboard-manager-tools{margin-bottom:16px;padding:0;overflow:hidden}.dashboard-manager-tools>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;cursor:pointer;list-style:none}.dashboard-manager-tools>summary::-webkit-details-marker{display:none}.dashboard-manager-tools>summary>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 10px}.dashboard-manager-tools>summary .badge{grid-row:1/3}.dashboard-manager-tools>summary strong{color:var(--navy-900)}.dashboard-manager-tools>summary small{color:var(--muted);font-size:.72rem}.dashboard-manager-tools>summary>b{color:#0a746a;font-size:.76rem}.dashboard-manager-tools[open]>summary{border-bottom:1px solid var(--line);background:#f7fafc}.dashboard-manager-body{display:grid;gap:8px;padding:12px 15px 15px}.dashboard-manager-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:12px}.dashboard-manager-row form{margin:0}
@media(max-width:1100px){.dashboard-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-focus-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr)}}
@media(max-width:820px){.dashboard-page-head{align-items:flex-start}.dashboard-focus-grid,.dashboard-lower-grid{grid-template-columns:1fr}.dashboard-event-grid,.dashboard-league-grid{grid-template-columns:1fr}.dashboard-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-manager-row{align-items:flex-start;flex-direction:column}.dashboard-manager-row>.cluster{width:100%}}
@media(max-width:600px){.dashboard-page-head{display:block;margin-bottom:14px}.dashboard-page-head p{margin-bottom:12px}.dashboard-head-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dashboard-head-actions .btn{width:100%;padding-left:8px;padding-right:8px}.dashboard-account-alert{font-size:.82rem}.dashboard-attention{padding:12px}.dashboard-section-heading{align-items:flex-start}.dashboard-section-heading>.muted{display:none}.dashboard-attention-row{grid-template-columns:32px minmax(0,1fr);padding:10px 4px}.dashboard-attention-row .btn{grid-column:2;justify-self:start}.dashboard-focus-grid>.card{padding:16px}.dashboard-next-pair{grid-template-columns:1fr 28px 1fr;gap:6px}.dashboard-next-pair span{width:28px;height:28px}.dashboard-match-actions{display:grid;grid-template-columns:1fr 1fr}.dashboard-match-actions .btn{width:100%;padding-left:7px;padding-right:7px}.dashboard-result-score strong{font-size:1.85rem}.dashboard-tool-grid{gap:8px}.dashboard-tool-tile{grid-template-columns:30px minmax(0,1fr);min-height:62px;padding:9px 10px}.dashboard-tool-icon{width:30px;height:30px}.dashboard-tool-arrow{display:none}.dashboard-tool-tile .badge{grid-column:2;justify-self:start;padding:3px 7px;font-size:.64rem}.dashboard-event-row{grid-template-columns:42px minmax(0,1fr)}.dashboard-event-status{grid-column:2;grid-row:2;justify-items:start;display:flex;align-items:center}.dashboard-event-date{min-height:42px}.dashboard-league-tile{align-items:flex-start}.dashboard-league-tile>div{flex-direction:column;align-items:flex-end}.dashboard-list-card{padding:14px}.dashboard-manager-tools>summary{padding:13px}.dashboard-manager-tools>summary>b{font-size:0}.dashboard-manager-tools>summary>b:after{content:'Open';font-size:.72rem}.dashboard-compact-list>a{align-items:flex-start}.dashboard-compact-list>a>.badge{margin-top:1px}}
@media(max-width:390px){.dashboard-tool-grid{grid-template-columns:1fr 1fr}.dashboard-tool-tile strong{font-size:.8rem}.dashboard-match-actions{grid-template-columns:1fr}.dashboard-head-actions{grid-template-columns:1fr}.dashboard-league-tile{display:block}.dashboard-league-tile>div{margin-top:9px;flex-direction:row;justify-content:flex-end}}


/* DartsScores V1.20.16: open dashboard and mobile-first Darts Picks game UI */
.dashboard-no-league{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid #cbdde7;border-radius:16px;background:linear-gradient(135deg,#f7fbfd,#effaf7)}
.dashboard-no-league-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:#075f56;background:#dff8f1;font-size:1.1rem;font-weight:950}
.dashboard-no-league strong,.dashboard-no-league small{display:block}.dashboard-no-league strong{color:var(--navy-900)}.dashboard-no-league small{margin-top:3px;color:var(--muted);font-size:.74rem;line-height:1.45}
.mobile-account-section-title{display:block;padding:8px 11px 4px;color:#537086;font-size:.63rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
.mobile-account-section-title.is-account{margin-top:4px;padding-top:12px;border-top:1px solid var(--line)}
.mobile-account-icon-play{color:#fff;background:#0aa58f}.mobile-account-icon-maths{color:#fff;background:#8358bd}.mobile-account-icon-picks{color:#fff;background:#0a3654}
.darts-picks-title-mobile,.darts-picks-copy-mobile{display:none}
.darts-picks-action-button small{display:block;margin-top:2px;color:#cfe2ee;font-size:.65rem;font-weight:750}
@media(max-width:760px){
    .dashboard-no-league{grid-template-columns:auto minmax(0,1fr)}.dashboard-no-league>.cluster{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}.dashboard-no-league>.cluster .btn{width:100%}
    .darts-picks-game-hero-mobile-focus{display:block;margin-bottom:12px;padding:18px;border-radius:20px;box-shadow:0 14px 34px rgba(4,24,47,.16)}
    .darts-picks-game-hero-mobile-focus::after{right:-105px;bottom:-125px;width:230px;height:230px;border-width:34px}
    .darts-picks-game-hero-mobile-focus .darts-picks-game-kicker{margin-bottom:7px;font-size:.63rem}
    .darts-picks-game-hero-mobile-focus .darts-picks-game-kicker span{padding:3px 7px}
    .darts-picks-game-hero-mobile-focus h1{margin-bottom:4px;font-size:2rem;line-height:1;letter-spacing:-.035em}
    .darts-picks-title-desktop,.darts-picks-copy-desktop{display:none}.darts-picks-title-mobile,.darts-picks-copy-mobile{display:block}
    .darts-picks-game-hero-mobile-focus p{font-size:.86rem;line-height:1.4}
    .darts-picks-game-hero-mobile-focus .darts-picks-hero-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;margin-top:14px}
    .darts-picks-game-hero-mobile-focus .darts-picks-action-button{min-height:70px;padding:10px 11px;border-radius:13px}
    .darts-picks-game-hero-mobile-focus .darts-picks-action-button span{font-size:.58rem}
    .darts-picks-game-hero-mobile-focus .darts-picks-action-button strong{font-size:.82rem;line-height:1.22}
    .darts-picks-game-hero-mobile-focus .darts-picks-action-button small{font-size:.59rem}
    .darts-picks-game-hero-mobile-focus .darts-picks-action-button.is-rankings,
    .darts-picks-game-hero-mobile-focus .darts-picks-action-button.is-admin{display:none}
    .darts-picks-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:14px;padding:4px;overflow:visible}
    .darts-picks-tabs .tab{display:grid;place-items:center;min-height:38px;padding:8px 5px;font-size:.72rem;text-align:center;white-space:normal}
    .darts-picks-tabs .darts-picks-tab-rankings{display:none}
    .darts-picks-tabs .darts-picks-tab-stats{order:20}
    .darts-picks-game-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}
    .darts-picks-game-stats>div{min-height:78px;padding:12px}
}
@media(max-width:380px){
    .darts-picks-game-hero-mobile-focus{padding:16px 14px}.darts-picks-game-hero-mobile-focus h1{font-size:1.78rem}
    .darts-picks-game-hero-mobile-focus .darts-picks-hero-actions{grid-template-columns:1fr}
    .darts-picks-game-hero-mobile-focus .darts-picks-action-button{min-height:60px}
    .darts-picks-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* DartsScores V1.20.17: mobile navigation and responsive UI system */
.brand-mark,
.darts-picks-mobile-tabs,
.ui-bottom-sheet {
    display: none;
}

.bottom-nav button {
    border: 0;
    font: inherit;
    cursor: pointer;
}

.dashboard-tool-grid-primary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.dashboard-tool-note {
    margin: 9px 2px 0;
    color: var(--muted);
    font-size: .72rem;
}

.ui-bottom-sheet[hidden] {
    display: none !important;
}
.ui-bottom-sheet {
    position: fixed;
    z-index: 130;
    inset: 0;
    display: block;
    pointer-events: none;
}
.ui-bottom-sheet-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    border: 0;
    background: rgba(3, 17, 35, .58);
    opacity: 0;
    transition: opacity .18s ease;
}
.ui-bottom-sheet-panel {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: min(100%, 680px);
    max-height: min(78dvh, 720px);
    margin: 0 auto;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 8px 16px calc(18px + env(safe-area-inset-bottom));
    border: 1px solid rgba(197, 214, 226, .95);
    border-bottom: 0;
    border-radius: 24px 24px 0 0;
    background: #fff;
    box-shadow: 0 -24px 70px rgba(3, 19, 41, .28);
    transform: translateY(105%);
    transition: transform .2s ease;
}
.ui-bottom-sheet.is-open {
    pointer-events: auto;
}
.ui-bottom-sheet.is-open .ui-bottom-sheet-backdrop {
    opacity: 1;
}
.ui-bottom-sheet.is-open .ui-bottom-sheet-panel {
    transform: translateY(0);
}
.ui-bottom-sheet-handle {
    width: 44px;
    height: 5px;
    margin: 1px auto 10px;
    border-radius: 999px;
    background: #c8d4dd;
}
.ui-bottom-sheet-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 4px 2px 13px;
    border-bottom: 1px solid var(--line);
}
.ui-bottom-sheet-header h2 {
    margin: 2px 0 0;
    font-size: 1.25rem;
}
.ui-bottom-sheet-close {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--navy-900);
    background: #f7fafc;
    font-size: 1.45rem;
    line-height: 1;
}
.ui-sheet-link-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 14px 0 2px;
}
.ui-sheet-link-grid > a {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 62px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 14px;
    color: var(--navy-900);
    background: #fff;
    text-decoration: none;
}
.ui-sheet-link-grid > a:hover,
.ui-sheet-link-grid > a:focus-visible,
.ui-sheet-link-list > a:hover,
.ui-sheet-link-list > a:focus-visible {
    border-color: #8fc9bd;
    outline: 0;
    background: #f1fbf8;
}
.ui-sheet-link-grid strong {
    min-width: 0;
    font-size: .82rem;
    line-height: 1.18;
}
.ui-sheet-link-grid .badge {
    position: absolute;
    top: 5px;
    right: 5px;
    padding: 2px 5px;
    font-size: .58rem;
}
.ui-sheet-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    color: #174e79;
    background: #eaf3fb;
    font-weight: 950;
}
.ui-sheet-icon.is-picks { color: #fff; background: #0a3654; }
.ui-sheet-icon.is-maths { color: #fff; background: #8358bd; }
.ui-sheet-icon.is-guide { color: #795319; background: #fff1d2; }
.ui-sheet-icon.is-price { color: #07594f; background: #dff8f2; }
.ui-sheet-link-list {
    display: grid;
    gap: 8px;
    padding: 14px 0 2px;
}
.ui-sheet-link-list > a {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    min-height: 60px;
    padding: 9px 10px;
    border: 1px solid var(--line);
    border-radius: 13px;
    color: var(--navy-900);
    text-decoration: none;
}
.ui-sheet-link-list > a.active {
    border-color: #71c9b8;
    background: #eaf9f5;
}
.ui-sheet-link-list strong,
.ui-sheet-link-list small {
    display: block;
}
.ui-sheet-link-list strong { font-size: .88rem; }
.ui-sheet-link-list small {
    margin-top: 2px;
    color: var(--muted);
    font-size: .69rem;
}
body.has-open-sheet {
    overflow: hidden;
}

.mobile-sticky-actions {
    position: relative;
}

/* Tablet navigation rail and two-column workspace. */
@media (min-width: 761px) and (max-width: 1100px) {
    .app-shell {
        grid-template-columns: 92px minmax(0, 1fr);
    }
    .app-sidebar {
        display: flex;
        width: auto;
        padding: 14px 9px;
    }
    .app-sidebar .brand {
        display: grid;
        place-items: center;
        padding: 1px 0 15px;
    }
    .app-sidebar .brand-full { display: none; }
    .app-sidebar .brand-mark {
        display: block;
        width: 48px;
        height: 48px;
        object-fit: contain;
        filter: none;
    }
    .app-sidebar .side-nav {
        gap: 7px;
    }
    .app-sidebar .side-nav a {
        flex-direction: column;
        justify-content: center;
        gap: 4px;
        min-height: 62px;
        padding: 7px 3px;
        font-size: .6rem;
        line-height: 1.15;
        text-align: center;
    }
    .app-sidebar .nav-icon {
        width: auto;
        font-size: 1.08rem;
    }
    .app-sidebar .nav-beta,
    .app-sidebar .side-heading,
    .app-sidebar .side-heading + .side-nav,
    .app-sidebar .sidebar-bottom {
        display: none;
    }
    .app-topbar .mobile-brand { display: none; }
    .topbar-context { display: block; }
    .bottom-nav { display: none !important; }
    .app-main {
        padding: 26px 24px 56px;
    }
    .dashboard-focus-grid,
    .dashboard-lower-grid {
        grid-template-columns: minmax(0, 1.35fr) minmax(260px, .75fr);
    }
    .dashboard-tool-grid-primary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .darts-picks-game-hero {
        padding: 28px;
    }
    .table-wrap:not(.mobile-cards) {
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
    }
}

@media (max-width: 760px) {
    :root {
        --mobile-nav-height: 68px;
        --mobile-page-gap: 12px;
    }
    .app-shell { grid-template-columns: 1fr; }
    .app-sidebar { display: none; }
    .app-topbar {
        padding-top: max(7px, env(safe-area-inset-top));
    }
    .app-main {
        padding: 16px var(--mobile-page-gap) calc(104px + env(safe-area-inset-bottom));
    }
    .card {
        padding: 15px;
        border-radius: 14px;
        box-shadow: 0 5px 16px rgba(7, 29, 58, .06);
    }
    .page-head {
        margin-bottom: 16px;
    }
    .page-head h1 {
        font-size: clamp(1.55rem, 8vw, 2rem);
    }
    .badge {
        padding: 4px 7px;
        font-size: .66rem;
    }

    .bottom-nav {
        left: 7px;
        right: 7px;
        bottom: max(7px, env(safe-area-inset-bottom));
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 2px;
        padding: 5px 4px;
        border-radius: 17px;
    }
    .bottom-nav a,
    .bottom-nav button {
        display: grid;
        place-items: center;
        gap: 2px;
        min-width: 0;
        min-height: 48px;
        padding: 3px 1px;
        border-radius: 11px;
        color: var(--muted);
        background: transparent;
        font-size: .58rem;
        font-weight: 790;
        line-height: 1.08;
        text-align: center;
    }
    .bottom-nav a span,
    .bottom-nav button span {
        font-size: 1rem;
        line-height: 1;
    }
    .bottom-nav a.active,
    .bottom-nav button.active {
        color: var(--navy-900);
        background: var(--blue-100);
    }
    .bottom-nav .bottom-score-action {
        min-height: 56px;
        margin-top: -12px;
        color: #fff;
        background: linear-gradient(145deg, #0b6f66, #071d3a);
        box-shadow: 0 7px 16px rgba(7, 29, 58, .25);
    }
    .bottom-nav .bottom-score-action.active {
        color: #fff;
        background: linear-gradient(145deg, #11a68f, #07584f);
    }
    .bottom-nav .bottom-score-action span { font-size: 1.18rem; }

    .mobile-account-panel {
        top: calc(max(60px, env(safe-area-inset-top) + 52px));
        max-height: calc(100dvh - 72px - env(safe-area-inset-top));
        padding: 8px;
        border-radius: 16px;
    }
    .mobile-account-summary {
        padding: 9px 8px 11px;
    }
    .mobile-account-links,
    .mobile-account-signout {
        gap: 2px;
    }
    .mobile-account-links > a,
    .mobile-account-signout button {
        grid-template-columns: 36px minmax(0, 1fr) auto;
        min-height: 48px;
        padding: 6px 8px;
        border-radius: 10px;
    }
    .mobile-account-links small,
    .mobile-account-signout small {
        display: none;
    }
    .mobile-account-icon {
        width: 34px;
        height: 34px;
        border-radius: 10px;
    }
    .mobile-account-section-title {
        padding: 7px 8px 3px;
    }

    .ui-bottom-sheet-panel {
        width: 100%;
        max-height: min(82dvh, 720px);
        padding-inline: 12px;
        border-radius: 22px 22px 0 0;
    }
    .ui-sheet-link-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .ui-sheet-link-grid > a {
        grid-template-columns: 38px minmax(0, 1fr);
        min-height: 58px;
        padding: 8px;
        border-radius: 12px;
    }
    .ui-sheet-icon {
        width: 36px;
        height: 36px;
        border-radius: 10px;
    }

    .dashboard-focus-grid,
    .dashboard-lower-grid {
        grid-template-columns: 1fr;
    }
    .dashboard-tool-grid-primary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .dashboard-tool-grid-primary > a:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }
    .dashboard-tool-tile {
        min-height: 58px;
        padding: 8px 9px;
        border-radius: 12px;
    }
    .dashboard-tool-note {
        display: none;
    }
    .dashboard-section {
        margin-bottom: 14px;
    }

    .darts-picks-tabs-desktop {
        display: none !important;
    }
    .darts-picks-mobile-tabs {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 5px;
        margin: 0 0 12px;
        padding: 4px;
        border: 1px solid var(--line);
        border-radius: 14px;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 5px 16px rgba(7, 29, 58, .06);
    }
    .darts-picks-mobile-tabs a,
    .darts-picks-mobile-tabs button {
        display: grid;
        place-items: center;
        gap: 2px;
        min-width: 0;
        min-height: 42px;
        padding: 5px 2px;
        border: 0;
        border-radius: 10px;
        color: #526a7d;
        background: transparent;
        font: inherit;
        font-size: .63rem;
        font-weight: 850;
        text-align: center;
        text-decoration: none;
    }
    .darts-picks-mobile-tabs a span,
    .darts-picks-mobile-tabs button span {
        font-size: .88rem;
        line-height: 1;
    }
    .darts-picks-mobile-tabs .active {
        color: #fff;
        background: var(--navy-800);
    }

    .darts-picks-game-hero-mobile-focus {
        margin-bottom: 10px;
        padding: 14px;
        border-radius: 16px;
        box-shadow: 0 8px 24px rgba(4, 24, 47, .14);
    }
    .darts-picks-game-hero-mobile-focus h1 {
        font-size: 1.55rem;
    }
    .darts-picks-game-hero-mobile-focus p {
        margin: 2px 0 0;
        font-size: .77rem;
    }
    .darts-picks-game-hero-mobile-focus .darts-picks-hero-actions {
        grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
        gap: 7px;
        margin-top: 10px;
    }
    .darts-picks-game-hero-mobile-focus .darts-picks-action-button {
        min-height: 56px;
        padding: 8px 9px;
        border-radius: 11px;
    }
    .darts-picks-game-hero-mobile-focus .darts-picks-action-button strong {
        font-size: .75rem;
    }
    .darts-picks-game-hero-mobile-focus .darts-picks-action-button small {
        font-size: .55rem;
    }
    .darts-picks-game-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        margin-bottom: 11px;
    }
    .darts-picks-game-stats > div {
        min-height: 64px;
        padding: 10px;
        border-radius: 12px;
    }
    .darts-picks-game-stats > div:nth-child(n+3) {
        display: none;
    }
    .darts-picks-next-event {
        gap: 12px;
        padding: 16px;
        border-radius: 16px;
    }
    .darts-picks-next-event h2 {
        font-size: 1.35rem;
    }
    .darts-picks-event-progress {
        padding: 13px;
    }
    .darts-picks-match-card {
        padding: 15px;
        border-radius: 17px;
    }
    .darts-picks-save-button {
        position: sticky;
        z-index: 20;
        bottom: calc(78px + env(safe-area-inset-bottom));
        box-shadow: 0 10px 28px rgba(3, 19, 41, .35);
    }
    body.is-keyboard-open .darts-picks-save-button {
        position: static;
    }

    .mobile-sticky-actions {
        position: sticky;
        z-index: 24;
        bottom: calc(76px + env(safe-area-inset-bottom));
        margin-right: -8px;
        margin-left: -8px;
        padding: 9px 8px;
        border: 1px solid rgba(204, 218, 228, .94);
        border-radius: 14px;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 10px 28px rgba(7, 29, 58, .16);
        backdrop-filter: blur(10px);
    }
    body.is-keyboard-open .mobile-sticky-actions {
        position: static;
    }

    .darts-picks-schedule-table-wrap.mobile-cards,
    .darts-picks-rankings-table-wrap.mobile-cards {
        overflow: visible;
        border: 0;
        background: transparent;
    }
    .darts-picks-schedule-table-wrap.mobile-cards tr,
    .darts-picks-rankings-table-wrap.mobile-cards tr {
        box-shadow: 0 5px 15px rgba(7, 29, 58, .05);
    }
    .darts-picks-schedule-table-wrap.mobile-cards td,
    .darts-picks-rankings-table-wrap.mobile-cards td {
        align-items: center;
    }
    .darts-picks-schedule-table-wrap.mobile-cards td[data-label="Match"],
    .darts-picks-rankings-table-wrap.mobile-cards td[data-label="Player"] {
        display: block;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--line);
    }
    .darts-picks-schedule-table-wrap.mobile-cards td[data-label="Match"]::before,
    .darts-picks-rankings-table-wrap.mobile-cards td[data-label="Player"]::before {
        display: block;
        margin-bottom: 7px;
    }

    .empty-state {
        padding: 22px 15px;
        border-radius: 13px;
    }
}

@media (max-width: 380px) {
    .bottom-nav a,
    .bottom-nav button { font-size: .54rem; }
    .ui-sheet-link-grid { grid-template-columns: 1fr 1fr; }
    .ui-sheet-link-grid strong { font-size: .76rem; }
    .darts-picks-game-hero-mobile-focus .darts-picks-hero-actions { grid-template-columns: 1fr; }
    .darts-picks-game-hero-mobile-focus .darts-picks-action-button { min-height: 52px; }
    .darts-picks-mobile-tabs a,
    .darts-picks-mobile-tabs button { font-size: .58rem; }
}

@media (prefers-reduced-motion: reduce) {
    .ui-bottom-sheet-backdrop,
    .ui-bottom-sheet-panel {
        transition: none;
    }
}

/* DartsScores V1.20.18: global score approval and standings reliability */
.global-score-confirmation[hidden],
[data-score-confirmation-row][hidden] { display: none !important; }
.global-score-confirmation {
    position: sticky;
    top: 68px;
    z-index: 54;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    margin: 0 clamp(18px, 3vw, 38px);
    padding: 10px 12px;
    border: 1px solid #edbd62;
    border-top: 0;
    border-radius: 0 0 15px 15px;
    color: #563600;
    background: linear-gradient(135deg, #fff7df, #ffedbd);
    box-shadow: 0 9px 24px rgba(92, 57, 0, .13);
}
.global-score-confirmation-icon,
.score-confirmation-nav-count {
    display: grid;
    place-items: center;
    border-radius: 999px;
    font-weight: 950;
}
.global-score-confirmation-icon {
    width: 36px;
    height: 36px;
    color: #fff;
    background: #b96c00;
    font-size: 1rem;
}
.global-score-confirmation-copy { min-width: 0; }
.global-score-confirmation-copy strong,
.global-score-confirmation-copy small { display: block; }
.global-score-confirmation-copy strong { color: #4b3000; font-size: .88rem; }
.global-score-confirmation-copy small { margin-top: 2px; overflow: hidden; color: #765312; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.global-score-confirmation-number {
    min-width: 28px;
    padding: 5px 8px;
    border-radius: 999px;
    color: #fff;
    background: #b96c00;
    font-size: .72rem;
    font-weight: 950;
    text-align: center;
}
.btn-warning,
.global-score-confirmation .btn {
    color: #fff;
    border-color: #8f5100;
    background: #9f5b00;
    white-space: nowrap;
}
.btn-warning:hover,
.btn-warning:focus-visible,
.global-score-confirmation .btn:hover,
.global-score-confirmation .btn:focus-visible { color: #fff; background: #7f4800; }
.score-confirmation-nav-link { position: relative; color: #ffe3a1 !important; background: rgba(185, 108, 0, .18); }
.score-confirmation-nav-count {
    min-width: 22px;
    height: 22px;
    margin-left: auto;
    padding: 0 6px;
    color: #3f2700;
    background: #ffd789;
    font-size: .64rem;
}
.mobile-account-icon.is-warning,
.ui-sheet-icon.is-warning { color: #704300; background: #ffedbd; }
.mobile-score-confirmation-link,
.ui-sheet-score-confirmation { border-color: #efc46d !important; background: #fff7e4 !important; }
.dashboard-attention { scroll-margin-top: 145px; }

.score-confirmation-card {
    overflow: hidden;
    border: 2px solid #f0b74c;
    background: linear-gradient(145deg, #fffaf0, #fff);
    box-shadow: 0 18px 42px rgba(119, 75, 0, .14);
}
.score-confirmation-heading {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 15px;
    align-items: start;
}
.score-confirmation-heading h2 { margin: 9px 0 6px; color: var(--navy-900); font-size: clamp(1.35rem, 3vw, 1.9rem); }
.score-confirmation-heading p { margin: 0; color: #566a7b; line-height: 1.58; }
.score-confirmation-mark {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(145deg, #0da48c, #075e55);
    box-shadow: 0 10px 22px rgba(7, 106, 92, .2);
    font-size: 1.5rem;
    font-weight: 950;
}
.score-confirmation-impact {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 20px 0;
}
.score-confirmation-impact > span {
    display: grid;
    gap: 3px;
    min-height: 66px;
    padding: 10px;
    border: 1px solid #ead8ae;
    border-radius: 12px;
    background: rgba(255, 255, 255, .84);
    text-align: center;
}
.score-confirmation-impact b { color: var(--navy-900); font-size: 1.05rem; }
.score-confirmation-impact small { color: var(--muted); font-size: .68rem; }
.score-confirmation-primary { min-height: 50px; padding-inline: 24px; font-weight: 900; }
.score-confirmation-help { margin: 10px 0 0; color: #745112; font-size: .72rem; }
.score-correction-card { padding: 0; overflow: hidden; }
.score-correction-card > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 17px 19px;
    cursor: pointer;
    list-style: none;
}
.score-correction-card > summary::-webkit-details-marker { display: none; }
.score-correction-card > summary strong,
.score-correction-card > summary small { display: block; }
.score-correction-card > summary small { margin-top: 3px; color: var(--muted); font-size: .72rem; }
.score-correction-card[open] > summary { border-bottom: 1px solid var(--line); background: #fff8f8; }
.score-correction-card[open] > summary > span:last-child { transform: rotate(45deg); }
.score-correction-card > form { padding: 18px; }

body.scoring-page .global-score-confirmation {
    position: fixed;
    top: max(8px, env(safe-area-inset-top));
    right: 8px;
    left: auto;
    z-index: 90;
    grid-template-columns: 28px minmax(0, 230px) auto;
    max-width: calc(100vw - 16px);
    margin: 0;
    padding: 7px 8px;
    border: 1px solid #edbd62;
    border-radius: 13px;
}
body.scoring-page .global-score-confirmation-icon { width: 27px; height: 27px; font-size: .75rem; }
body.scoring-page .global-score-confirmation-copy strong { font-size: .72rem; }
body.scoring-page .global-score-confirmation-copy small,
body.scoring-page .global-score-confirmation-number { display: none; }
body.scoring-page .global-score-confirmation .btn { padding: 6px 8px; font-size: .66rem; }

@media (min-width: 761px) and (max-width: 1100px) {
    .global-score-confirmation { top: 68px; margin: 0 24px; }
    .score-confirmation-nav-link span:not(.nav-icon),
    .score-confirmation-nav-count { display: none; }
}

@media (max-width: 760px) {
    .global-score-confirmation {
        position: fixed;
        top: auto;
        right: 8px;
        bottom: calc(77px + env(safe-area-inset-bottom));
        left: 8px;
        z-index: 58;
        grid-template-columns: 31px minmax(0, 1fr) auto;
        gap: 8px;
        margin: 0;
        padding: 8px;
        border: 1px solid #e9b856;
        border-radius: 14px;
        box-shadow: 0 12px 30px rgba(70, 43, 0, .22);
    }
    .global-score-confirmation-icon { width: 30px; height: 30px; font-size: .78rem; }
    .global-score-confirmation-copy strong { font-size: .74rem; line-height: 1.2; }
    .global-score-confirmation-copy small { max-width: 100%; font-size: .61rem; }
    .global-score-confirmation-number { display: none; }
    .global-score-confirmation .btn { min-height: 38px; padding: 7px 9px; font-size: .66rem; }
    body.has-score-confirmations:not(.scoring-page) .app-main { padding-bottom: calc(168px + env(safe-area-inset-bottom)); }
    body.has-score-confirmations .darts-picks-save-button { bottom: calc(139px + env(safe-area-inset-bottom)); }
    body.has-score-confirmations .mobile-sticky-actions { bottom: calc(137px + env(safe-area-inset-bottom)); }
    body.has-score-confirmations .guide-mobile-tool { bottom: calc(132px + env(safe-area-inset-bottom)); }
    body.scoring-page .global-score-confirmation {
        top: max(7px, env(safe-area-inset-top));
        right: 7px;
        bottom: auto;
        left: 7px;
        grid-template-columns: 27px minmax(0, 1fr) auto;
    }
    body.scoring-page .global-score-confirmation-copy small { display: none; }
    .score-confirmation-heading { grid-template-columns: 44px minmax(0, 1fr); gap: 11px; }
    .score-confirmation-mark { width: 43px; height: 43px; border-radius: 13px; font-size: 1.15rem; }
    .score-confirmation-heading h2 { font-size: 1.3rem; }
    .score-confirmation-heading p { font-size: .78rem; }
    .score-confirmation-impact { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 15px 0; }
    .score-confirmation-primary { width: 100%; min-height: 54px; font-size: .9rem; }
    .score-confirmation-help { text-align: center; }
    .score-correction-card > summary { padding: 14px; }
    .score-correction-card > form { padding: 14px; }
}

/* DartsScores V1.20.19: Darts Picks automatic league mini leagues */
.darts-picks-leaderboard-head,
.darts-picks-mini-league-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.darts-picks-global-rank-card{min-width:160px;padding:14px 16px;border:1px solid rgba(15,118,110,.24);border-radius:16px;background:linear-gradient(145deg,#f0fdfa,#fff);box-shadow:0 10px 24px rgba(15,23,42,.06)}
.darts-picks-global-rank-card span,.darts-picks-global-rank-card small{display:block;color:var(--muted);font-size:.76rem;font-weight:700}
.darts-picks-global-rank-card strong{display:block;margin:3px 0;color:#0f766e;font-size:1.65rem;line-height:1}
.darts-picks-global-rank-card.is-mini{background:linear-gradient(145deg,#ecfeff,#fff)}
.darts-picks-leaderboard-switcher{display:flex;gap:8px;margin:14px 0 22px;overflow-x:auto;scrollbar-width:none}
.darts-picks-leaderboard-switcher::-webkit-scrollbar{display:none}
.darts-picks-leaderboard-switcher a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.82rem;font-weight:800;text-decoration:none}
.darts-picks-leaderboard-switcher a span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e6fffb;color:#0f766e;font-size:.72rem}
.darts-picks-mini-leagues-section,.darts-picks-global-leaderboard-section,.darts-picks-mini-full-table-section{scroll-margin-top:90px;margin-top:22px}
.darts-picks-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px}
.darts-picks-section-heading h2{margin:2px 0 4px}
.darts-picks-mini-league-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.darts-picks-mini-league-card{display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.darts-picks-mini-league-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.darts-picks-mini-league-card h3{margin:2px 0 0;font-size:1.08rem;line-height:1.2}
.darts-picks-mini-label{display:block;color:#0f766e;font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.darts-picks-mini-position{display:grid;place-items:center;min-width:46px;height:38px;padding:0 10px;border-radius:12px;background:#0f766e;color:#fff;font-size:1rem;font-weight:900}
.darts-picks-mini-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.darts-picks-mini-summary>div{padding:9px;border-radius:11px;background:#f8fafc}
.darts-picks-mini-summary span{display:block;color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase}
.darts-picks-mini-summary strong{display:block;margin-top:2px;font-size:1.04rem}
.darts-picks-mini-preview{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.darts-picks-mini-preview li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;border-radius:10px;background:#f8fafc;font-size:.78rem}
.darts-picks-mini-preview li.is-current-user{background:#ecfdf5;box-shadow:inset 0 0 0 1px rgba(15,118,110,.18)}
.darts-picks-mini-preview-position{color:#0f766e;font-weight:900}
.darts-picks-mini-preview-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.darts-picks-mini-preview strong{font-size:.75rem}
.darts-picks-mini-open{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:13px;color:#0f766e;font-size:.8rem;font-weight:900;text-decoration:none}
.darts-picks-mini-empty{border:1px dashed var(--line);border-radius:16px;background:#fff}
.darts-picks-mini-race-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;padding:12px;border:1px solid rgba(15,118,110,.18);border-radius:17px;background:#f0fdfa}
.darts-picks-mini-race-card>div{padding:9px 11px;border-radius:12px;background:#fff}
.darts-picks-mini-race-card span,.darts-picks-mini-race-card small{display:block;color:var(--muted);font-size:.7rem;font-weight:700}
.darts-picks-mini-race-card strong{display:block;margin:3px 0;font-size:.94rem}
.darts-picks-mini-full-table tr.is-current-user,.darts-picks-global-table tr.is-current-user{background:#ecfdf5}
.darts-picks-mini-full-table .table-player small{display:block;color:var(--muted);font-size:.7rem}
.darts-picks-home-mini-leagues{margin:12px 0 18px;padding:14px;border:1px solid var(--line);border-radius:17px;background:#fff}
.darts-picks-home-mini-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.darts-picks-home-mini-heading h2{margin:2px 0 0;font-size:1rem}
.darts-picks-home-mini-heading>a{color:#0f766e;font-size:.76rem;font-weight:900;text-decoration:none}
.darts-picks-home-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.darts-picks-home-mini-card{display:block;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;color:var(--ink);text-decoration:none}
.darts-picks-home-mini-card:hover{border-color:rgba(15,118,110,.45);background:#f0fdfa}
.darts-picks-home-mini-card.is-global{background:#0b213f;color:#fff;border-color:#0b213f}
.darts-picks-home-mini-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:900}
.darts-picks-home-mini-card strong{display:block;margin:5px 0 2px;color:#0f766e;font-size:1.15rem}
.darts-picks-home-mini-card.is-global strong{color:#5eead4}
.darts-picks-home-mini-card strong small{font-size:.63rem;font-weight:800}
.darts-picks-home-mini-card>span:last-child{display:block;color:var(--muted);font-size:.68rem;font-weight:800}
.darts-picks-home-mini-card.is-global>span:last-child{color:#cbd5e1}
.darts-picks-home-mini-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:11px;background:#f8fafc;color:var(--muted);font-size:.76rem}
.darts-picks-home-mini-empty a{color:#0f766e;font-weight:900;text-decoration:none;white-space:nowrap}

@media (max-width:1100px){
    .darts-picks-mini-league-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .darts-picks-home-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
    .darts-picks-leaderboard-head,.darts-picks-mini-league-page-head{display:block}
    .darts-picks-global-rank-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;min-width:0;margin-top:10px;padding:10px 12px;border-radius:13px}
    .darts-picks-global-rank-card span{grid-column:1;grid-row:1}.darts-picks-global-rank-card strong{grid-column:2;grid-row:1 / span 2;margin:0;font-size:1.4rem}.darts-picks-global-rank-card small{grid-column:1;grid-row:2}
    .darts-picks-leaderboard-switcher{margin:9px 0 15px}
    .darts-picks-mini-leagues-section,.darts-picks-global-leaderboard-section,.darts-picks-mini-full-table-section{margin-top:16px}
    .darts-picks-section-heading{display:block;margin-bottom:9px}.darts-picks-section-heading .btn{margin-top:8px}
    .darts-picks-mini-league-grid{grid-template-columns:1fr;gap:9px}
    .darts-picks-mini-league-card{padding:13px;border-radius:15px;box-shadow:none}
    .darts-picks-mini-summary{margin:10px 0}
    .darts-picks-mini-race-card{grid-template-columns:1fr;margin:12px 0;padding:9px;gap:7px;border-radius:14px}
    .darts-picks-mini-race-card>div{display:grid;grid-template-columns:1fr auto;align-items:center;padding:8px 9px}.darts-picks-mini-race-card>div span{grid-column:1}.darts-picks-mini-race-card>div strong{grid-column:1;margin:1px 0}.darts-picks-mini-race-card>div small{grid-column:2;grid-row:1 / span 2;text-align:right}
    .darts-picks-home-mini-leagues{margin:8px 0 13px;padding:11px;border-radius:14px}
    .darts-picks-home-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
    .darts-picks-home-mini-card{padding:9px;border-radius:11px}
    .darts-picks-home-mini-empty{display:block}.darts-picks-home-mini-empty a{display:inline-block;margin-top:5px}
}
@media (max-width:360px){
    .darts-picks-mini-summary{grid-template-columns:1fr 1fr}.darts-picks-mini-summary>div:last-child{grid-column:1 / -1}
}

/* DartsScores V1.20.22: player competition dashboard */
.player-dashboard-head{align-items:flex-end;margin-bottom:16px}.player-dashboard-head h1{margin-bottom:5px}.player-dashboard-head p{max-width:720px;margin-bottom:9px}.player-dashboard-summary{display:flex;flex-wrap:wrap;gap:7px}.player-dashboard-summary span{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid #d8e5ed;border-radius:999px;background:#f8fbfd;color:#5c7182;font-size:.7rem;font-weight:760}.player-dashboard-summary strong{color:var(--navy-900);font-size:.78rem}.player-dashboard-head-actions{justify-content:flex-end}.player-action-required{margin-bottom:16px;padding:16px;border:1px solid #efc45f;border-radius:16px;background:linear-gradient(135deg,#fff9e9,#fff4cc);box-shadow:0 8px 24px rgba(116,79,10,.08)}.player-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.player-section-head h2{margin:2px 0 0;color:var(--navy-950);font-size:1.2rem}.player-section-head p{max-width:720px;margin:5px 0 0;color:#6c5b31;font-size:.78rem}.player-section-head-outside{margin-bottom:10px}.player-confirm-list{display:grid;gap:8px;margin-top:12px}.player-confirm-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;border:1px solid rgba(174,124,17,.23);border-radius:13px;background:rgba(255,255,255,.78);color:var(--ink);text-decoration:none}.player-confirm-row:hover{border-color:#c28f25;background:#fff}.player-confirm-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f4b83d;color:#4e3603;font-size:1.05rem;font-weight:950}.player-confirm-main{min-width:0}.player-confirm-main strong,.player-confirm-main small{display:block}.player-confirm-main strong{color:var(--navy-950);font-size:.91rem}.player-confirm-main small{margin-top:2px;color:#765f2b;font-size:.7rem;line-height:1.25}.player-dashboard-grid{display:grid;gap:14px;margin-bottom:16px}.player-dashboard-grid-top{grid-template-columns:minmax(0,1.35fr) minmax(310px,.85fr)}.player-next-match-card{padding:18px;background:linear-gradient(145deg,#071d3a,#0a3654);color:#fff;border-color:#0b4568}.player-next-match-card .eyebrow,.player-next-match-card .player-section-head h2{color:#fff}.player-next-match-card .badge-success{background:#daf5ea;color:#075c50}.player-next-competition{display:flex;align-items:center;gap:8px;margin-top:16px}.player-next-competition span{padding:4px 7px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:#cfe1ee;font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.player-next-competition strong{color:#fff;font-size:.78rem}.player-next-pair{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:8px;margin:17px 0}.player-next-pair strong{font-size:1.18rem;line-height:1.15}.player-next-pair strong:last-child{text-align:right}.player-next-pair span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.1);color:#b9d1e2;font-size:.7rem;font-weight:850}.player-next-details{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.player-next-details span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.08);color:#d7e5ef;font-size:.7rem;font-weight:720}.player-primary-actions{gap:8px}.player-primary-actions .btn{min-width:116px}.player-upcoming-card{padding:18px}.player-fixture-list{display:grid;gap:7px;margin-top:12px}.player-fixture-list>a{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}.player-fixture-list>a:hover{border-color:#8fc7bd;background:#f8fcfb}.player-fixture-type{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eaf4fb;color:#0b4b75;font-size:.72rem;font-weight:950}.player-fixture-main{min-width:0}.player-fixture-main strong,.player-fixture-main small{display:block}.player-fixture-main strong{overflow:hidden;color:var(--navy-900);font-size:.8rem;white-space:nowrap;text-overflow:ellipsis}.player-fixture-main small{margin-top:2px;color:var(--muted);font-size:.65rem}.player-fixture-time{max-width:115px;color:#526b7c;font-size:.66rem;font-weight:800;text-align:right}.player-more-note{margin:9px 2px 0;color:var(--muted);font-size:.68rem}.player-empty-state{display:flex;align-items:center;gap:11px;min-height:76px;margin-top:14px;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.07)}.player-empty-state>span{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.11);font-weight:900}.player-empty-state strong,.player-empty-state small{display:block}.player-empty-state small{margin-top:3px;color:#c8d9e9;font-size:.7rem}.player-empty-state-light{border-color:var(--line);background:#f8fbfd;color:var(--ink)}.player-empty-state-light>span{background:#eaf3f8;color:#0b587c}.player-empty-state-light small{color:var(--muted)}.player-dashboard-section{margin-bottom:16px}.player-section-link{color:#08766b;font-size:.75rem;font-weight:850;text-decoration:none}.player-section-link:hover{text-decoration:underline}.player-league-table-stack{display:grid;gap:9px}.player-league-table-card{padding:0;overflow:hidden}.player-league-table-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}.player-league-table-card>summary::-webkit-details-marker{display:none}.player-league-table-card[open]>summary{border-bottom:1px solid var(--line);background:#f8fbfd}.player-league-summary-main{display:flex;align-items:center;gap:10px;min-width:0}.player-league-summary-main>span:last-child{min-width:0}.player-league-summary-main strong,.player-league-summary-main small{display:block}.player-league-summary-main strong{overflow:hidden;color:var(--navy-950);white-space:nowrap;text-overflow:ellipsis}.player-league-summary-main small{margin-top:2px;color:var(--muted);font-size:.7rem}.player-league-mark{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:11px;background:#e9f4fb;color:#0a4b75;font-weight:950}.player-league-position{display:grid;justify-items:end;min-width:58px}.player-league-position strong{color:#08766b;font-size:1.1rem}.player-league-position small{color:var(--muted);font-size:.62rem}.player-league-table-body{padding:12px 14px 14px}.player-table-wrap{overflow:hidden;border:1px solid var(--line);border-radius:12px}.player-mini-table{width:100%;border-collapse:collapse}.player-mini-table th,.player-mini-table td{padding:8px 9px;border-bottom:1px solid #e7eef3;text-align:left;font-size:.74rem}.player-mini-table th{background:#f5f9fb;color:#64798a;font-size:.61rem;text-transform:uppercase;letter-spacing:.04em}.player-mini-table tr:last-child td{border-bottom:0}.player-mini-table td:nth-child(1),.player-mini-table td:nth-child(3),.player-mini-table td:nth-child(4),.player-mini-table td:nth-child(5){width:54px;text-align:center}.player-mini-table tr.is-me td{background:#eaf9f5}.player-mini-table tr.is-me td:first-child{box-shadow:inset 4px 0 0 #11a68f}.player-mini-table td:nth-child(2) span{font-weight:800}.player-mini-table td:nth-child(2) small{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:999px;background:#0a746a;color:#fff;font-size:.55rem;font-weight:850;text-transform:uppercase}.player-table-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:var(--muted);font-size:.68rem}.player-table-footer strong{color:var(--navy-900)}.player-table-footer a{color:#08766b;font-weight:850;text-decoration:none}.player-tournament-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-tournament-card{display:grid;gap:12px;padding:14px}.player-tournament-top{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px}.player-tournament-top>div{min-width:0}.player-tournament-top strong,.player-tournament-top small{display:block}.player-tournament-top strong{overflow:hidden;color:var(--navy-950);white-space:nowrap;text-overflow:ellipsis}.player-tournament-top small{margin-top:2px;color:var(--muted);font-size:.67rem}.player-tournament-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e9eefb;color:#36538f;font-weight:950}.player-tournament-next{padding:10px 11px;border-radius:11px;background:#f7fafc}.player-tournament-next span,.player-tournament-next strong,.player-tournament-next small{display:block}.player-tournament-next span{color:#6a7e8e;font-size:.59rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.player-tournament-next strong{margin-top:2px;color:var(--navy-900);font-size:.88rem}.player-tournament-next small{margin-top:3px;color:var(--muted);font-size:.67rem}.player-tournament-card .btn{justify-self:start}.player-event-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.player-event-strip>a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}.player-event-strip>a>span:nth-child(2){min-width:0}.player-event-strip>a>span:nth-child(2) strong,.player-event-strip>a>span:nth-child(2) small{display:block}.player-event-strip>a>span:nth-child(2) strong{overflow:hidden;color:var(--navy-900);white-space:nowrap;text-overflow:ellipsis}.player-event-strip>a>span:nth-child(2) small{margin-top:2px;color:var(--muted);font-size:.65rem}.player-event-date{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#eaf4fb;color:#0b527d;line-height:1}.player-event-date strong{font-size:1rem}.player-event-date small{margin-top:2px;font-size:.57rem;font-weight:850;text-transform:uppercase}.player-last-result-card{margin-bottom:16px;padding:15px}.player-last-result{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:10px 0;color:var(--ink);text-decoration:none}.player-last-result>span strong,.player-last-result>span small{display:block}.player-last-result>span small{margin-top:2px;color:var(--muted);font-size:.67rem}.player-last-result>span:last-child{text-align:right}.player-last-result>b{color:var(--navy-950);font-size:1.6rem}.player-get-started-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.player-get-started-card h2{margin:3px 0 5px}.player-get-started-card p{margin:0}.player-manager-tools{margin-top:4px}
@media (min-width:761px) and (max-width:1100px){.player-dashboard-grid-top{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.player-tournament-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-event-strip{grid-template-columns:1fr}}
@media (max-width:760px){.player-dashboard-head{display:block;margin-bottom:12px}.player-dashboard-head p{font-size:.78rem}.player-dashboard-head-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.player-dashboard-head-actions .btn{width:100%}.player-dashboard-summary{gap:5px}.player-dashboard-summary span{padding:4px 7px;font-size:.64rem}.player-action-required{margin-bottom:12px;padding:12px;border-radius:14px}.player-section-head h2{font-size:1.06rem}.player-confirm-row{grid-template-columns:32px minmax(0,1fr);gap:8px;padding:8px}.player-confirm-mark{width:32px;height:32px;border-radius:9px}.player-confirm-row .btn{grid-column:2;justify-self:start;width:auto}.player-dashboard-grid-top{grid-template-columns:1fr;gap:10px;margin-bottom:12px}.player-next-match-card,.player-upcoming-card{padding:14px}.player-next-pair{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);gap:5px;margin:14px 0}.player-next-pair strong{font-size:1rem}.player-next-pair span{width:30px;height:30px}.player-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.player-primary-actions .btn{width:100%;min-width:0;padding-left:7px;padding-right:7px}.player-fixture-list>a{grid-template-columns:29px minmax(0,1fr);padding:8px}.player-fixture-type{width:29px;height:29px}.player-fixture-time{grid-column:2;max-width:none;text-align:left}.player-dashboard-section{margin-bottom:12px}.player-section-head-outside{margin-bottom:7px}.player-section-head-outside>.muted{display:none}.player-league-table-card>summary{padding:10px 11px}.player-league-mark{width:32px;height:32px;border-radius:9px}.player-league-table-body{padding:9px 10px 11px}.player-mini-table th,.player-mini-table td{padding:7px 5px;font-size:.69rem}.player-mini-table th{font-size:.56rem}.player-mini-table td:nth-child(1),.player-mini-table td:nth-child(3),.player-mini-table td:nth-child(4),.player-mini-table td:nth-child(5){width:38px}.player-mini-table td:nth-child(2) small{display:none}.player-table-footer{align-items:flex-start;flex-direction:column;gap:4px}.player-tournament-grid{grid-template-columns:1fr;gap:8px}.player-tournament-card{padding:11px}.player-tournament-top{grid-template-columns:34px minmax(0,1fr) auto}.player-tournament-icon{width:34px;height:34px}.player-event-strip{grid-template-columns:1fr}.player-event-strip>a{grid-template-columns:40px minmax(0,1fr)}.player-event-strip>a>.badge{grid-column:2;justify-self:start}.player-last-result-card{padding:12px}.player-last-result{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px}.player-last-result>b{font-size:1.35rem}.player-get-started-card{align-items:flex-start;flex-direction:column}.player-get-started-card .cluster{display:grid;grid-template-columns:1fr 1fr;width:100%}.player-get-started-card .btn{width:100%}}
@media (max-width:390px){.player-primary-actions{grid-template-columns:1fr}.player-dashboard-head-actions{grid-template-columns:1fr}.player-mini-table th,.player-mini-table td{padding:6px 4px}.player-mini-table td:nth-child(3),.player-mini-table th:nth-child(3){display:none}.player-get-started-card .cluster{grid-template-columns:1fr}}

/* DartsScores V1.20.23: seamless match result and confirmation UX */
.player-waiting-approval{margin-bottom:14px;padding:14px 16px;border:1px solid #b9d9e9;border-radius:16px;background:linear-gradient(135deg,#f4fbff,#edf8fb)}
.player-waiting-approval .player-section-head p{color:#577487}
.player-waiting-list{display:grid;gap:7px;margin-top:10px}
.player-waiting-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #cfe2ec;border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}
.player-waiting-row:hover{border-color:#87b9cf;background:#fbfeff}
.player-waiting-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#dff2f8;color:#0b5c7f;font-weight:950}
.player-single-action{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.player-single-action>.btn{min-width:145px}.player-secondary-link{color:#cde2ee;font-size:.72rem;font-weight:850;text-decoration:none}.player-secondary-link:hover{text-decoration:underline}
.manager-result-attention{margin:16px 0;padding:16px;border-color:#efd79a;background:#fffdf7}.manager-result-attention .player-section-head p{color:#6d654f}.manager-result-list{display:grid;gap:8px;margin-top:12px}.manager-result-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #e4e9ed;border-radius:12px;background:#fff}.manager-result-main{min-width:0}.manager-result-main strong,.manager-result-main small,.manager-result-state{display:block}.manager-result-main strong{color:var(--navy-950)}.manager-result-main small{margin-top:2px;color:var(--muted);font-size:.7rem}.manager-result-state{margin-top:5px;color:#365b6e;font-size:.7rem;font-weight:800}.manager-result-state.is-warning{color:#9a6305}.manager-result-state.is-danger{color:#a12f2f}.manager-result-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.result-matchup-lock{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:7px;padding:12px 14px;border:1px solid #cfe0e9;border-radius:14px;background:#f8fbfd;text-align:center}.result-matchup-lock span small,.result-matchup-lock span strong{display:block}.result-matchup-lock span small{color:#6c8290;font-size:.63rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.result-matchup-lock span strong{margin-top:3px;color:var(--navy-950);font-size:1rem}.result-matchup-lock b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7f2f7;color:#517181;font-size:.7rem}.result-matchup-help{margin:0 0 15px;color:#637b89;font-size:.7rem;text-align:center}.result-entry-options{margin-top:16px}.result-entry-options>.result-source-picker{margin-top:12px}.result-next-step{display:flex;align-items:center;gap:10px;margin:16px 0 8px;padding:11px 12px;border:1px solid #b6ded5;border-radius:12px;background:#effbf7}.result-next-step>span{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:#0d8f7e;color:#fff;font-weight:950}.result-next-step strong,.result-next-step small{display:block}.result-next-step strong{color:#075f55}.result-next-step small{margin-top:2px;color:#4d746d;font-size:.69rem;line-height:1.35}
.score-confirmation-card-first{border:2px solid #efbd4b;background:linear-gradient(145deg,#fffdf5,#fff8df);box-shadow:0 14px 34px rgba(115,78,8,.12)}.quick-confirm-score{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:8px;margin:15px 0 8px;padding:13px;border:1px solid #ead79e;border-radius:13px;background:#fff}.quick-confirm-score>span{text-align:center}.quick-confirm-score small,.quick-confirm-score strong,.quick-confirm-score em{display:block}.quick-confirm-score small{overflow:hidden;color:#586f7d;font-size:.68rem;font-weight:800;white-space:nowrap;text-overflow:ellipsis}.quick-confirm-score strong{margin:2px 0;color:var(--navy-950);font-size:2rem;line-height:1}.quick-confirm-score em{color:#647887;font-size:.65rem;font-style:normal}.quick-confirm-score>b{text-align:center;color:#8395a0;font-size:1.3rem}.quick-confirm-submitter{margin:0 0 12px;color:#6f684c;font-size:.7rem;text-align:center}.score-problem-link{display:inline-block;margin-top:10px;color:#935c08;font-size:.74rem;font-weight:850;text-decoration:none}.score-problem-link:hover{text-decoration:underline}.waiting-opponent-card{border-color:#b9d9e9;background:#f5fbfe}.waiting-opponent-card h2{margin:8px 0 5px}.waiting-opponent-card p{color:#587487}.result-confirmed-reward{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;align-items:start;border-color:#a9ddd2;background:linear-gradient(145deg,#f2fcf9,#eaf8f4)}.result-confirmed-reward-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#0b8a79;color:#fff;font-size:1.5rem;font-weight:950}.result-confirmed-reward h2{margin:7px 0 5px;color:#075e55}.result-confirmed-reward p{margin:0 0 12px;color:#456c65}.result-confirmed-reward p strong{font-size:1.12rem}

@media (max-width:760px){
  .player-waiting-approval{padding:11px 12px;border-radius:14px}.player-waiting-row{grid-template-columns:30px minmax(0,1fr);padding:8px}.player-waiting-mark{width:30px;height:30px}.player-waiting-row>.badge{grid-column:2;justify-self:start}
  .player-single-action{display:grid;grid-template-columns:1fr;gap:6px}.player-single-action>.btn{width:100%;min-width:0}.player-secondary-link{justify-self:start}.player-single-action>.badge{justify-self:start}
  .manager-result-attention{padding:12px}.manager-result-row{align-items:flex-start;flex-direction:column;gap:8px}.manager-result-actions{width:100%}.manager-result-actions .btn,.manager-result-actions form{flex:1}.manager-result-actions form .btn{width:100%}
  .result-matchup-lock{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);padding:10px 8px}.result-matchup-lock b{width:28px;height:28px}.result-matchup-lock span strong{font-size:.88rem}.result-matchup-help{text-align:left}
  .score-panel .score-body{padding-left:12px;padding-right:12px}.score-panel .score-grid{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:6px}.score-panel .score-divider{width:24px;height:24px;align-self:center;font-size:.58rem}.score-panel .score-player h3{font-size:.88rem}.score-panel .score-input{font-size:1.8rem;min-height:58px}.score-panel .stat-inputs{grid-template-columns:1fr;gap:7px}.score-panel .stat-inputs input{min-height:44px}.result-entry-options,.optional-match-stats{margin-top:12px}.result-source-picker{grid-template-columns:1fr;gap:7px}.result-next-step{align-items:flex-start}.mobile-sticky-actions .btn-teal{font-size:.83rem}
  .score-confirmation-card-first{padding:14px}.quick-confirm-score{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);padding:10px 6px}.quick-confirm-score strong{font-size:1.75rem}.quick-confirm-score small{font-size:.62rem}.quick-confirm-score em{font-size:.59rem}.score-confirmation-primary{width:100%}.score-problem-link{display:block;text-align:center}
  .result-confirmed-reward{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:13px}.result-confirmed-reward-mark{width:42px;height:42px;border-radius:12px}.result-confirmed-reward .cluster{display:grid;grid-template-columns:1fr;gap:7px}.result-confirmed-reward .btn{width:100%}
}

/* Dartscores V1.20.24 - compact mobile league leaderboards */
.league-mobile-standings { display: none; }

@media (max-width: 760px) {
    .league-standings-desktop { display: none !important; }
    .league-mobile-standings {
        display: grid;
        gap: 9px;
        margin-top: 10px;
    }
    .league-mobile-standing {
        overflow: hidden;
        border: 1px solid #d9e3ea;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 5px 16px rgba(7, 29, 58, .055);
        scroll-margin-bottom: 92px;
    }
    .league-mobile-standing > summary {
        display: block;
        padding: 11px 12px 9px;
        cursor: pointer;
        list-style: none;
        -webkit-tap-highlight-color: transparent;
    }
    .league-mobile-standing > summary::-webkit-details-marker { display: none; }
    .league-mobile-standing > summary::marker { display: none; content: ''; }
    .league-mobile-summary-main {
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr) auto;
        align-items: center;
        gap: 9px;
        min-width: 0;
    }
    .league-mobile-rank {
        display: grid;
        place-items: center;
        width: 38px;
        height: 38px;
        border-radius: 11px;
        background: #edf4f8;
        color: var(--navy-900);
        font-size: .82rem;
        font-weight: 950;
        line-height: 1;
    }
    .league-mobile-rank.is-podium {
        background: #fff4d6;
        color: #785000;
        box-shadow: inset 0 0 0 1px #efd998;
    }
    .league-mobile-name {
        display: block;
        min-width: 0;
    }
    .league-mobile-name strong,
    .league-mobile-name small {
        display: block;
        min-width: 0;
    }
    .league-mobile-name strong {
        overflow: hidden;
        color: var(--navy-950);
        font-size: .91rem;
        line-height: 1.18;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .league-mobile-name small {
        overflow: hidden;
        margin-top: 3px;
        color: var(--muted);
        font-size: .63rem;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .league-mobile-points {
        display: grid;
        justify-items: end;
        min-width: 48px;
        color: var(--teal-700);
    }
    .league-mobile-points strong {
        font-size: 1.2rem;
        line-height: 1;
    }
    .league-mobile-points small {
        margin-top: 3px;
        color: var(--muted);
        font-size: .58rem;
        font-weight: 850;
        letter-spacing: .04em;
        text-transform: uppercase;
    }
    .league-mobile-core {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        margin-top: 9px;
        padding-top: 8px;
        border-top: 1px solid #edf1f4;
    }
    .league-mobile-core > span {
        display: inline-flex;
        align-items: center;
        min-height: 25px;
        padding: 4px 7px;
        border-radius: 999px;
        background: #f2f6f9;
        color: #243a4a;
        font-size: .66rem;
        font-weight: 800;
        white-space: nowrap;
    }
    .league-mobile-core b {
        margin-right: 4px;
        color: #6b7f8f;
        font-size: .59rem;
        font-weight: 950;
        letter-spacing: .025em;
        text-transform: uppercase;
    }
    .league-mobile-core .is-positive { background: #e8f8f3; color: #086558; }
    .league-mobile-core .is-negative { background: #fff0f1; color: #9c3945; }
    .league-mobile-more {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 5px;
        margin-top: 7px;
        color: #08766b;
        font-size: .62rem;
        font-weight: 900;
    }
    .league-mobile-more::after {
        content: '⌄';
        display: inline-block;
        font-size: .85rem;
        line-height: 1;
        transition: transform .16s ease;
    }
    .league-mobile-standing[open] .league-mobile-more::after { transform: rotate(180deg); }
    .league-mobile-standing[open] > summary { background: #fbfdfd; }
    .league-mobile-extra {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        padding: 10px 12px 12px;
        border-top: 1px solid #e6edf1;
        background: #f6fafb;
    }
    .league-mobile-extra > div {
        display: grid;
        gap: 2px;
        min-width: 0;
        padding: 8px 9px;
        border: 1px solid #e3eaee;
        border-radius: 10px;
        background: #fff;
    }
    .league-mobile-extra span {
        color: var(--muted);
        font-size: .58rem;
        font-weight: 850;
        letter-spacing: .035em;
        text-transform: uppercase;
    }
    .league-mobile-extra strong {
        overflow-wrap: anywhere;
        color: var(--navy-950);
        font-size: .82rem;
    }
    .league-mobile-highlight-strip {
        display: flex !important;
        gap: 8px !important;
        overflow-x: auto;
        margin-bottom: 12px !important;
        padding: 1px 1px 5px;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .league-mobile-highlight-strip .leader-highlight {
        flex: 0 0 154px;
        min-width: 154px;
        padding: 11px 12px;
        scroll-snap-align: start;
    }
    .league-mobile-highlight-strip .leader-highlight span { font-size: .61rem; }
    .league-mobile-highlight-strip .leader-highlight strong { font-size: .96rem; line-height: 1.15; }
    .league-mobile-highlight-strip .leader-highlight small { font-size: .62rem; }
}
\n\n

/* Dartscores V1.20.26 - mobile league and match-night UX */
.league-mobile-tabs,
.league-mobile-roster-card { display:none; }
.league-anchor-target,
.league-anchor-section { scroll-margin-top: 142px; }
.league-match-row { color:var(--ink); text-decoration:none; }
.league-match-row-main { display:grid; gap:4px; min-width:0; }
.league-match-row-main strong { overflow-wrap:anywhere; }
.league-match-kicker { color:var(--teal-700); font-size:.66rem; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.league-match-vs { color:var(--muted); font-size:.78em; font-weight:800; }
.league-match-score { display:inline-block; margin:0 5px; color:var(--navy-950); font-size:1.05em; font-weight:950; }
.league-match-action { flex:0 0 auto; color:#08766b; font-size:.72rem; font-weight:900; white-space:nowrap; }
.league-match-action b { margin-left:3px; }

@media (max-width:760px) {
    .league-mobile-page {
        padding-bottom:calc(34px + env(safe-area-inset-bottom));
    }
    .league-mobile-tabs {
        position:sticky;
        z-index:42;
        top:calc(68px + env(safe-area-inset-top));
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:5px;
        margin:0 -4px 14px;
        padding:7px;
        border:1px solid rgba(204,218,228,.92);
        border-radius:15px;
        background:rgba(255,255,255,.96);
        box-shadow:0 8px 24px rgba(7,29,58,.10);
        backdrop-filter:blur(14px);
    }
    .league-mobile-tabs a {
        display:grid;
        place-items:center;
        min-height:39px;
        padding:5px 4px;
        border-radius:10px;
        color:var(--navy-900);
        background:#f3f7fa;
        font-size:.67rem;
        font-weight:900;
        line-height:1.08;
        text-align:center;
        text-decoration:none;
    }
    .league-mobile-tabs a:active,
    .league-mobile-tabs a:focus-visible {
        color:#fff;
        background:#08766b;
        outline:none;
    }
    .league-anchor-target,
    .league-anchor-section { scroll-margin-top:138px; }
    .league-match-night-grid {
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
    }
    .league-match-night-grid .card { margin:0; }
    .league-match-list { gap:7px; }
    .league-match-row {
        position:relative;
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        gap:10px;
        min-height:70px;
        padding:10px 11px;
        border-radius:12px;
        background:#fff;
    }
    .league-match-row-main { gap:2px; }
    .league-match-row-main strong {
        color:var(--navy-950);
        font-size:.83rem;
        line-height:1.22;
    }
    .league-match-row-main small {
        color:var(--muted);
        font-size:.65rem;
        line-height:1.25;
    }
    .league-match-kicker { font-size:.58rem; }
    .league-match-score {
        margin:0 3px;
        padding:2px 6px;
        border-radius:8px;
        background:#eef8f6;
        color:#07685e;
        font-size:.92rem;
    }
    .league-match-action {
        align-self:center;
        min-width:70px;
        padding:7px 8px;
        border-radius:9px;
        color:#fff;
        background:#08766b;
        font-size:.61rem;
        line-height:1.1;
        text-align:center;
        white-space:normal;
    }
    .league-match-row.is-result .league-match-action {
        color:#075e4f;
        background:#dff7ef;
    }
    .league-mobile-roster-card {
        display:block;
        margin:0 0 12px;
    }
    .league-mobile-roster-card .card-header { margin-bottom:9px; }
    .league-mobile-roster {
        display:grid;
        gap:5px;
    }
    .league-mobile-roster-row {
        display:grid;
        grid-template-columns:auto minmax(0,1fr) auto;
        align-items:center;
        gap:9px;
        min-height:48px;
        padding:7px 8px;
        border:1px solid #e7edf1;
        border-radius:10px;
        background:#fbfcfd;
    }
    .league-mobile-roster-row > span:nth-child(2) { min-width:0; }
    .league-mobile-roster-row strong,
    .league-mobile-roster-row small { display:block; min-width:0; }
    .league-mobile-roster-row strong {
        overflow:hidden;
        color:var(--navy-950);
        font-size:.78rem;
        white-space:nowrap;
        text-overflow:ellipsis;
    }
    .league-mobile-roster-row small {
        overflow:hidden;
        margin-top:2px;
        color:var(--muted);
        font-size:.6rem;
        white-space:nowrap;
        text-overflow:ellipsis;
    }
    .league-mobile-roster-rank {
        display:grid;
        place-items:center;
        min-width:32px;
        height:32px;
        border-radius:10px;
        color:#fff;
        background:var(--navy-900);
        font-size:.65rem;
        font-weight:950;
    }
    .league-mobile-roster-points {
        color:#08766b;
        font-size:.68rem;
        font-weight:950;
        white-space:nowrap;
    }
    .league-mobile-highlight-strip + #league-table,
    #league-table.card { margin-top:0; }
}

@media (max-width:420px) {
    .league-mobile-tabs { gap:3px; padding:5px; }
    .league-mobile-tabs a { min-height:36px; font-size:.61rem; }
    .league-match-row { grid-template-columns:minmax(0,1fr) 68px; gap:7px; padding:9px; }
    .league-match-row-main strong { font-size:.78rem; }
    .league-match-action { min-width:0; padding:7px 5px; font-size:.56rem; }
}

/* Dartscores V1.20.28 - Log Your Scores player score-entry hub */
.league-score-nav-link {
    border: 1px solid rgba(81, 213, 189, .28);
    color: #dffbf5 !important;
    background: rgba(20, 184, 157, .14);
}
.league-score-nav-link:hover,
.league-score-nav-link.active {
    color: #fff !important;
    background: rgba(20, 184, 157, .28) !important;
}
.global-log-scores-shortcut {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    margin: 14px clamp(18px, 3vw, 38px) 0;
    padding: 12px 14px;
    border: 1px solid #a8ddd3;
    border-radius: 15px;
    color: var(--navy-950);
    background: linear-gradient(135deg, #e8faf6, #f8fffd);
    box-shadow: 0 8px 22px rgba(7, 93, 82, .09);
    text-decoration: none;
}
.global-log-scores-shortcut:hover,
.global-log-scores-shortcut:focus-visible {
    color: var(--navy-950);
    border-color: #60bfaf;
    box-shadow: 0 10px 28px rgba(7, 93, 82, .15);
}
.global-log-scores-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    color: #fff;
    background: var(--teal-700);
    font-size: 1rem;
    font-weight: 950;
}
.global-log-scores-copy { min-width: 0; }
.global-log-scores-copy strong,
.global-log-scores-copy small { display: block; }
.global-log-scores-copy strong { color: var(--navy-950); font-size: 1rem; }
.global-log-scores-copy small { margin-top: 2px; color: #4e6b69; font-size: .72rem; }
.global-log-scores-open {
    padding: 8px 11px;
    border-radius: 10px;
    color: #fff;
    background: var(--teal-700);
    font-size: .76rem;
    font-weight: 900;
    white-space: nowrap;
}
.mobile-log-scores-link { border-color: #a8ddd3 !important; background: #edfbf8 !important; }

.score-hub-page { display: grid; gap: 22px; max-width: 1050px; margin: 0 auto; }
.score-hub-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 92px;
    align-items: center;
    gap: 24px;
    padding: clamp(22px, 4vw, 38px);
    border-radius: 24px;
    color: #fff;
    background: radial-gradient(circle at 88% 10%, rgba(81, 213, 189, .32), transparent 25%), linear-gradient(135deg, var(--navy-950), var(--navy-700));
    box-shadow: var(--shadow);
}
.score-hub-hero h1 { margin: 10px 0 8px; color: #fff; font-size: clamp(2rem, 5vw, 3.3rem); line-height: 1; }
.score-hub-hero p { max-width: 720px; margin: 0; color: #d9e7f3; font-size: 1rem; line-height: 1.6; }
.score-hub-hero-mark {
    display: grid;
    place-items: center;
    width: 86px;
    height: 86px;
    border: 2px solid rgba(255,255,255,.32);
    border-radius: 25px;
    color: var(--navy-950);
    background: var(--teal-400);
    box-shadow: 0 18px 34px rgba(0,0,0,.18);
    font-size: 2rem;
    font-weight: 950;
}
.score-hub-how {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.score-hub-how > div {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr);
    align-items: center;
    gap: 10px;
    padding: 13px 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
}
.score-hub-how b {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    color: #fff;
    background: var(--navy-900);
    font-size: .78rem;
}
.score-hub-how strong,
.score-hub-how small { display: block; }
.score-hub-how strong { color: var(--navy-950); font-size: .82rem; }
.score-hub-how small { margin-top: 2px; color: var(--muted); font-size: .67rem; line-height: 1.35; }
.score-hub-section {
    padding: clamp(18px, 3vw, 26px);
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}
.score-hub-section-urgent { border: 2px solid #efbd59; background: linear-gradient(145deg, #fffaf0, #fff); }
.score-hub-section-warning { border-color: #f0c6bd; background: #fffafa; }
.score-hub-section-muted { background: #f8fafc; box-shadow: none; }
.score-hub-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}
.score-hub-section-head h2 { margin: 3px 0 4px; color: var(--navy-950); font-size: clamp(1.25rem, 3vw, 1.7rem); }
.score-hub-section-head p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.score-hub-list { display: grid; gap: 12px; }
.score-hub-match {
    display: grid;
    gap: 14px;
    padding: 17px;
    border: 1px solid #d7e2e9;
    border-radius: 17px;
    background: #fbfdfd;
}
.score-hub-match.is-team-lineup { border-color: #bedbe8; background: linear-gradient(145deg, #f7fcff, #fff); }
.score-hub-match.is-confirmation { border-color: #ead19c; background: #fffef9; }
.score-hub-match-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.score-hub-match-heading strong,
.score-hub-match-heading small { display: block; }
.score-hub-match-heading strong { color: var(--navy-950); font-size: .9rem; }
.score-hub-match-heading small { margin-top: 3px; color: var(--muted); font-size: .68rem; }
.score-hub-team-context {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 8px 10px;
    border-radius: 10px;
    color: #31596f;
    background: #edf7fb;
    font-size: .72rem;
    font-weight: 850;
    text-align: center;
}
.score-hub-matchup {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
    align-items: stretch;
    gap: 10px;
}
.score-hub-matchup > span {
    display: grid;
    align-content: center;
    min-height: 86px;
    padding: 13px 14px;
    border: 1px solid #dce5eb;
    border-radius: 14px;
    background: #fff;
}
.score-hub-matchup > span.is-you { border-color: #a7dcd1; background: #edf9f6; }
.score-hub-matchup small,
.score-hub-matchup strong { display: block; }
.score-hub-matchup small { margin-bottom: 5px; color: var(--muted); font-size: .64rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.score-hub-matchup strong { overflow-wrap: anywhere; color: var(--navy-950); font-size: 1.02rem; line-height: 1.25; }
.score-hub-matchup > b {
    display: grid;
    place-items: center;
    color: #758497;
    font-size: .72rem;
}
.score-hub-matchup-result > b { color: var(--navy-950); font-size: clamp(1.6rem, 4vw, 2.35rem); }
.score-hub-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.score-hub-actions .btn-teal { min-width: 190px; font-weight: 900; }
.score-hub-text-link { padding: 8px 2px; color: var(--teal-800); font-size: .75rem; font-weight: 850; }
.score-hub-no-match {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 15px;
    border-radius: 14px;
    background: #edf8f5;
}
.score-hub-no-match > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    color: #fff;
    background: var(--success);
    font-weight: 950;
}
.score-hub-no-match strong,
.score-hub-no-match small { display: block; }
.score-hub-no-match strong { color: var(--navy-950); }
.score-hub-no-match small { margin-top: 3px; color: #567069; font-size: .72rem; line-height: 1.45; }
.score-hub-league-chips { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px,1fr)); gap: 8px; margin-top: 12px; }
.score-hub-league-chips a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid var(--line);
    border-radius: 11px;
    color: var(--navy-900);
    background: #fff;
    font-size: .77rem;
    font-weight: 850;
}
.score-hub-league-chips span { color: var(--teal-700); font-size: .66rem; white-space: nowrap; }
.score-hub-compact-list { display: grid; gap: 8px; }
.score-hub-compact-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 13px;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--navy-900);
    background: #fff;
}
.score-hub-compact-list strong,
.score-hub-compact-list small { display: block; }
.score-hub-compact-list strong { font-size: .79rem; }
.score-hub-compact-list small { margin-top: 2px; color: var(--muted); font-size: .66rem; }
.score-hub-compact-list b { color: var(--teal-700); font-size: .7rem; white-space: nowrap; }
.score-hub-empty { margin-top: 0; }

@media (max-width: 760px) {
    .global-log-scores-shortcut {
        grid-template-columns: 38px minmax(0, 1fr) auto;
        gap: 9px;
        margin: 9px 10px 0;
        padding: 9px 10px;
        border-radius: 13px;
    }
    .global-log-scores-icon { width: 38px; height: 38px; border-radius: 11px; }
    .global-log-scores-copy strong { font-size: .82rem; }
    .global-log-scores-copy small { font-size: .61rem; line-height: 1.25; }
    .global-log-scores-shortcut > .badge { display: none; }
    .global-log-scores-open { padding: 7px 8px; font-size: .64rem; }
    .score-hub-page { gap: 14px; }
    .score-hub-hero { grid-template-columns: minmax(0,1fr) 58px; gap: 12px; padding: 20px 17px; border-radius: 18px; }
    .score-hub-hero h1 { margin-top: 8px; font-size: 2rem; }
    .score-hub-hero p { font-size: .78rem; line-height: 1.5; }
    .score-hub-hero-mark { width: 56px; height: 56px; border-radius: 17px; font-size: 1.35rem; }
    .score-hub-how { grid-template-columns: 1fr; gap: 6px; }
    .score-hub-how > div { padding: 9px 10px; }
    .score-hub-section { padding: 14px; border-radius: 16px; }
    .score-hub-section-head { gap: 9px; margin-bottom: 12px; }
    .score-hub-section-head h2 { font-size: 1.18rem; }
    .score-hub-section-head p { font-size: .7rem; }
    .score-hub-match { gap: 10px; padding: 12px; border-radius: 14px; }
    .score-hub-match-heading .badge { font-size: .6rem; }
    .score-hub-matchup { grid-template-columns: 1fr 28px 1fr; gap: 6px; }
    .score-hub-matchup > span { min-height: 74px; padding: 10px; border-radius: 11px; }
    .score-hub-matchup small { font-size: .56rem; }
    .score-hub-matchup strong { font-size: .82rem; }
    .score-hub-matchup > b { font-size: .6rem; }
    .score-hub-matchup-result > b { font-size: 1.45rem; }
    .score-hub-actions { display: grid; grid-template-columns: 1fr; }
    .score-hub-actions .btn { width: 100%; min-height: 50px; }
    .score-hub-actions .btn-teal { min-width: 0; font-size: .9rem; }
    .score-hub-text-link { text-align: center; }
    .score-hub-team-context { font-size: .63rem; }
    .score-hub-compact-list a { padding: 10px; }
}

@media (max-width: 390px) {
    .global-log-scores-copy small { display: none; }
    .global-log-scores-open { padding-inline: 7px; }
    .score-hub-hero { grid-template-columns: 1fr; }
    .score-hub-hero-mark { display: none; }
    .score-hub-matchup { grid-template-columns: 1fr; }
    .score-hub-matchup > b { min-height: 20px; }
    .score-hub-matchup-result > b { min-height: 38px; }
}
.player-lineup-score-card {
    display: grid;
    gap: 13px;
    margin-bottom: 22px;
    padding: 18px;
    border: 2px solid #7bcbbb;
    border-radius: 18px;
    background: linear-gradient(145deg, #eaf9f6, #fff);
    box-shadow: 0 12px 28px rgba(7, 99, 86, .10);
}
.player-lineup-score-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}
.player-lineup-score-head h2 { margin: 8px 0 4px; color: var(--navy-950); font-size: 1.35rem; }
.player-lineup-score-head p { margin: 0; color: #506b68; font-size: .78rem; }
.player-lineup-score-list { display: grid; gap: 8px; }
.player-lineup-score-row {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 10px;
    border: 1px solid #cfe7e2;
    border-radius: 12px;
    background: #fff;
}
.player-lineup-game-no {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    color: #fff;
    background: var(--teal-700);
    font-size: .7rem;
    font-weight: 950;
}
.player-lineup-score-match { min-width: 0; }
.player-lineup-score-match small,
.player-lineup-score-match strong { display: block; }
.player-lineup-score-match small { margin-bottom: 2px; color: var(--teal-800); font-size: .6rem; font-weight: 900; text-transform: uppercase; }
.player-lineup-score-match strong { overflow-wrap: anywhere; color: var(--navy-950); font-size: .8rem; }
.player-lineup-score-match b { color: var(--muted); font-size: .72rem; }

@media (max-width: 760px) {
    .player-lineup-score-card { padding: 13px; border-radius: 15px; }
    .player-lineup-score-head { display: grid; }
    .player-lineup-score-head .btn { width: 100%; }
    .player-lineup-score-row { grid-template-columns: 32px minmax(0, 1fr); }
    .player-lineup-score-row .btn { grid-column: 1 / -1; width: 100%; min-height: 46px; }
}
.marketing-log-scores-wrap { padding-top: 12px; }
.marketing-log-scores-shortcut { margin: 0; }
@media (max-width: 760px) {
    .marketing-log-scores-wrap { padding-top: 9px; }
    .marketing-log-scores-shortcut { margin: 0; }
}
