/* OcheControl v2.2 accessible interface themes.
   Control Green is the product default. Existing themes remain selectable. */
html[data-theme="control-green"],:root{
  --color-scheme:dark;--bg:#050806;--bg-soft:#080d0a;--bg-glow:#0d2114;--surface:#0d1310;--surface-2:#090e0b;--surface-3:#141d18;--text:#f4f7f5;--text-soft:#c0cbc3;--muted:#87948b;--line:#202a24;--line-strong:#314037;--accent:#49c968;--accent2:#72de8a;--accent-text:#041007;--success:#63db82;--danger:#ff7077;--warn:#f1ad42;--button-bg:#197a3a;--button-text:#ffffff;--placeholder:#6f7d73;--shadow:rgba(0,0,0,.34)
}
html[data-theme="control-red"]{
  --color-scheme:dark;--bg:#050607;--bg-soft:#090b0e;--bg-glow:#321014;--surface:#111316;--surface-2:#0a0c0f;--surface-3:#191c20;--text:#f5f3f3;--text-soft:#c4bdbd;--muted:#aaa1a1;--line:#2b2d31;--line-strong:#41444a;--accent:#ff5a61;--accent2:#ff8a8f;--accent-text:#180305;--success:#70d79b;--danger:#ff9298;--warn:#f3c66d;--button-bg:#d71920;--button-text:#ffffff;--placeholder:#81797a;--shadow:rgba(0,0,0,.32)
}
html[data-theme="midnight"]{
  --color-scheme:dark;--bg:#080c12;--bg-soft:#0b1017;--bg-glow:#172538;--surface:#121b27;--surface-2:#0d151f;--surface-3:#172231;--text:#eef3f8;--text-soft:#aab7c5;--muted:#99a9ba;--line:#263344;--line-strong:#34445a;--accent:#46d49a;--accent2:#72cfff;--accent-text:#07130f;--success:#71e3b0;--danger:#ffaaa8;--warn:#ffd58a;--button-bg:#eef3f8;--button-text:#0b1017;--placeholder:#708398;--shadow:rgba(0,0,0,.18)
}
html[data-theme="classic-board"]{
  --color-scheme:dark;--bg:#07110b;--bg-soft:#0b1711;--bg-glow:#173322;--surface:#102018;--surface-2:#0b1711;--surface-3:#193326;--text:#f4f3e8;--text-soft:#c7cbbf;--muted:#b0b9aa;--line:#30483a;--line-strong:#46634f;--accent:#e6cb62;--accent2:#79d7a3;--accent-text:#171305;--success:#78d79c;--danger:#ffaaa8;--warn:#f4d37f;--button-bg:#e6cb62;--button-text:#171305;--placeholder:#829183;--shadow:rgba(0,0,0,.22)
}
html[data-theme="red-flight"]{
  --color-scheme:dark;--bg:#10090b;--bg-soft:#180e11;--bg-glow:#37161d;--surface:#211316;--surface-2:#180e11;--surface-3:#321b20;--text:#f8f1f1;--text-soft:#d7c4c6;--muted:#c3a9ad;--line:#493036;--line-strong:#664047;--accent:#ff6d72;--accent2:#f0a3a7;--accent-text:#210608;--success:#78d7a6;--danger:#ff9b9f;--warn:#f2c879;--button-bg:#ff6d72;--button-text:#210608;--placeholder:#9b7e83;--shadow:rgba(0,0,0,.24)
}
html[data-theme="ice-blue"]{
  --color-scheme:dark;--bg:#07111a;--bg-soft:#0b1925;--bg-glow:#153653;--surface:#102232;--surface-2:#0b1925;--surface-3:#18344a;--text:#f2f8fc;--text-soft:#c1d0db;--muted:#a8bac8;--line:#29465a;--line-strong:#3e6077;--accent:#62d5ff;--accent2:#8ae7ff;--accent-text:#04151d;--success:#69d9ad;--danger:#ff9ea0;--warn:#f3cf79;--button-bg:#62d5ff;--button-text:#04151d;--placeholder:#7893a6;--shadow:rgba(0,0,0,.22)
}
html[data-theme="light-oche"]{
  --color-scheme:light;--bg:#eef1eb;--bg-soft:#f5f7f2;--bg-glow:#dbe7db;--surface:#ffffff;--surface-2:#f6f8f4;--surface-3:#e8ede6;--text:#172018;--text-soft:#3f4b41;--muted:#536055;--line:#c8cec5;--line-strong:#aeb8ac;--accent:#176b4d;--accent2:#17618a;--accent-text:#ffffff;--success:#236841;--danger:#9e2f3a;--warn:#765100;--button-bg:#176b4d;--button-text:#ffffff;--placeholder:#758078;--shadow:rgba(37,52,39,.10)
}
html{color-scheme:var(--color-scheme)}
html[data-theme] body{background:radial-gradient(circle at 15% 0%,var(--bg-glow) 0,var(--bg-soft) 42%,var(--bg) 100%);color:var(--text)}
html[data-theme] p{color:var(--text-soft)}
html[data-theme] a{color:var(--accent2)}
html[data-theme] .brand,html[data-theme] h1,html[data-theme] h2,html[data-theme] h3{color:var(--text)}
html[data-theme] .panel,html[data-theme] .card,html[data-theme] article{background:var(--surface);border-color:var(--line);color:var(--text);box-shadow:0 16px 50px var(--shadow)}
html[data-theme] input,html[data-theme] select,html[data-theme] textarea{background:var(--surface-2);border-color:var(--line-strong);color:var(--text)}
html[data-theme] input::placeholder,html[data-theme] textarea::placeholder{color:var(--placeholder)}
html[data-theme] .button,html[data-theme] button,html[data-theme] .actions a{border-color:transparent;background:var(--button-bg);color:var(--button-text)}
html[data-theme] .button.secondary,html[data-theme] button.secondary,html[data-theme] .secondary,html[data-theme] .actions a.secondary{background:var(--surface-3);color:var(--text);border-color:var(--line-strong)}
html[data-theme] .badge{border-color:var(--line-strong);color:var(--text-soft)}
html[data-theme] .eyebrow,html[data-theme] .muted,html[data-theme] .field-hint{color:var(--muted)!important}
html[data-theme] .good,html[data-theme] .success{color:var(--success)!important}
html[data-theme] .warn{color:var(--warn)!important}
html[data-theme] .danger,html[data-theme] .error{color:var(--danger)!important}
html[data-theme] table th,html[data-theme] table td{border-color:var(--line)}
html[data-theme] dialog{background:var(--surface);color:var(--text);border-color:var(--line-strong)}

/* Public/operational components that historically carried their own dark palette. */
html[data-theme] .fixture,html[data-theme] .live-card,html[data-theme] .empty,html[data-theme] .item,html[data-theme] .board,html[data-theme] .calls,html[data-theme] .player-card,html[data-theme] .score-card,html[data-theme] .match-summary span,html[data-theme] .result-dialog,html[data-theme] .player-stat-card,html[data-theme] .announcement,html[data-theme] .sponsor{background:var(--surface);border-color:var(--line);color:var(--text)}
html[data-theme] .visit-display{background:var(--bg-soft);border-color:var(--line-strong);color:var(--text)}
html[data-theme] .number-pad button{background:var(--surface-3);border-color:var(--line-strong);color:var(--text)}
html[data-theme] .number-pad button:active{background:color-mix(in srgb,var(--surface-3) 78%,var(--accent) 22%)}
html[data-theme] .player-card.active{outline-color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}
html[data-theme] .throw-marker,html[data-theme] .active-player-line span{color:var(--success)}
html[data-theme] .finish-darts button{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 38%,var(--line));color:var(--text)}
html[data-theme] .finish-darts b{color:var(--success)}
html[data-theme] .enter-score{background:var(--accent)!important;color:var(--accent-text)!important}
html[data-theme] .board.live{border-color:var(--success)}
html[data-theme] .board.called{border-color:var(--accent2)}
html[data-theme] .board.ready{border-color:var(--warn)}
html[data-theme="light-oche"] .board.free{opacity:.72}
html[data-theme="light-oche"] .result-dialog::backdrop{background:rgba(25,35,28,.38)}
/* Theme control: inline in the marketing navigation, floating on operational pages. */
.oche-theme-switcher{position:fixed;right:16px;bottom:16px;z-index:1000;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.oche-theme-switcher-inline{position:relative;right:auto;bottom:auto;z-index:40}
.oche-theme-trigger{min-height:40px;padding:8px 11px!important;border:1px solid var(--line-strong)!important;border-radius:9px!important;background:color-mix(in srgb,var(--surface) 92%,transparent)!important;color:var(--text)!important;box-shadow:0 8px 28px var(--shadow);backdrop-filter:blur(12px);font-size:.74rem!important;font-weight:800!important;display:flex!important;align-items:center!important;gap:7px!important}
.oche-theme-trigger-label{color:var(--muted);font-weight:700}.oche-theme-current{white-space:nowrap}.oche-theme-chevron{color:var(--muted);font-size:.9rem}
.oche-theme-menu{position:absolute;right:0;bottom:48px;width:250px;padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 55px var(--shadow)}
.oche-theme-switcher-inline .oche-theme-menu{top:48px;bottom:auto}
.oche-theme-menu[hidden]{display:none}
.oche-theme-option{width:100%;display:grid!important;grid-template-columns:20px 1fr auto;align-items:center;gap:9px;padding:9px 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--text)!important;text-align:left;font-size:.76rem!important}
.oche-theme-option:hover{background:var(--surface-3)!important}.oche-theme-option[aria-checked="true"]{background:color-mix(in srgb,var(--accent) 11%,var(--surface))!important}
.oche-theme-swatch{width:17px;height:17px;border-radius:50%;background:var(--swatch);border:1px solid color-mix(in srgb,var(--text) 24%,transparent);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--surface) 50%,transparent)}
.oche-theme-copy{display:grid;gap:1px}.oche-theme-copy b{font-size:.76rem}.oche-theme-copy small{font-size:.63rem;color:var(--muted);font-weight:600}.oche-theme-check{color:var(--accent);font-weight:950}
html[data-theme="control-red"] .enter-score{background:var(--button-bg)!important;color:var(--button-text)!important}
@media(max-width:760px){.oche-theme-switcher-inline .oche-theme-trigger-label{display:none}.oche-theme-switcher-inline .oche-theme-current{max-width:96px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:560px){.oche-theme-switcher:not(.oche-theme-switcher-inline){right:10px;bottom:10px}.oche-theme-trigger{padding:8px 10px!important}.oche-theme-menu{width:min(250px,calc(100vw - 20px))}}
