/* Orbitra — customisable accent colour (2026-06-11).
   100% client-side; the DEFAULT below is the existing brand gold, so nothing
   changes until a user actively picks a colour. When they do, accent.js sets
   --accent (+ --accent-contrast) on <html> and these rules re-theme the chrome.
   Uses color-mix() for translucent tints (no --accent-rgb needed). */

:root{--accent:#cdb083;--accent-contrast:#241a08}
[data-theme="light"]{--accent:#7a5f2f;--accent-contrast:#ffffff}

/* active sidebar item */
.sb-link.active{background:color-mix(in srgb, var(--accent) 15%, transparent)!important;color:var(--accent)!important}

/* primary buttons + primary text/links follow the accent */
.btn-primary{--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-color:var(--accent-contrast);--bs-btn-hover-bg:color-mix(in srgb, var(--accent) 86%, #000);--bs-btn-hover-border-color:color-mix(in srgb, var(--accent) 86%, #000);--bs-btn-hover-color:var(--accent-contrast);--bs-btn-active-bg:color-mix(in srgb, var(--accent) 78%, #000);--bs-btn-active-border-color:color-mix(in srgb, var(--accent) 78%, #000);--bs-btn-active-color:var(--accent-contrast);--bs-btn-disabled-bg:var(--accent);--bs-btn-disabled-border-color:var(--accent);--bs-btn-disabled-color:var(--accent-contrast)}
.btn-outline-primary{--bs-btn-color:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-hover-bg:var(--accent);--bs-btn-hover-border-color:var(--accent);--bs-btn-hover-color:var(--accent-contrast);--bs-btn-active-bg:var(--accent);--bs-btn-active-border-color:var(--accent);--bs-btn-active-color:var(--accent-contrast)}
.text-primary,a.text-primary{color:var(--accent)!important}

/* form focus uses the accent */
.form-control:focus,.form-select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 .2rem color-mix(in srgb, var(--accent) 25%, transparent)!important}

/* the framed-dot chip, injected beside the Theme button */
#orb-accent-row{display:flex;align-items:center;gap:8px}
#orb-accent-row #theme-toggle{flex:1;width:auto}
#orb-accent-chip{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:none;cursor:pointer;padding:0;transition:border-color .15s ease}
#orb-accent-chip:hover{border-color:var(--accent)}
#orb-accent-chip .dot{width:15px;height:15px;border-radius:50%;background:var(--accent)}
[data-theme="light"] #orb-accent-chip{border-color:rgba(0,0,0,.14)}

/* the picker popover */
#orb-accent-pop{position:fixed;z-index:4000;width:248px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:13px;padding:15px;box-shadow:var(--shadow);display:none}
#orb-accent-pop.open{display:block}
#orb-accent-pop .lbl{font-size:11px;color:var(--text-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.05em}
#orb-accent-pop .prev{width:30px;height:30px;border-radius:50%;background:var(--accent);flex:none;border:1px solid var(--border-color)}
#orb-accent-pop .orb-sw{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .1s ease}
#orb-accent-pop .orb-sw:hover{transform:scale(1.12)}
#orb-accent-pop .orb-sw.on{border-color:var(--text-main)}
#orb-accent-pop a.reset{font-size:12px;color:var(--accent);cursor:pointer;text-decoration:none}
#orb-accent-pop a.reset:hover{text-decoration:underline}
