:root{--theme-header:rgba(8,8,8,.97);--theme-about:#101010;--theme-hover:#684fd0;--theme-hover-border:#b9aaff;--theme-shadow:rgba(104,79,208,.42);--theme-grid:#e5e7e3;--theme-ok:#e9fbf6;--theme-ok-border:#b9e7db;--theme-secondary:#eeeefa;--theme-secondary-border:#d1cff0;--mint-dark:#0c8b77;--violet:#918cf2}
:root[data-theme="raspberry"]{--black:#101013;--dark:#17171c;--ink:#222229;--white:#fafafd;--paper:#f3f3f6;--muted:#7b7b88;--line:#dcdce5;--mint:#ff718b;--mint-dark:#b32e52;--mint-soft:#f9dce4;--report-accent:#9cbdff;--violet:#9cbdff;--theme-header:rgba(16,16,19,.98);--theme-about:#19191f;--theme-hover:#324f8a;--theme-hover-border:#9cbdff;--theme-shadow:rgba(50,79,138,.28);--theme-grid:#e4e4eb;--theme-ok:#fff0f4;--theme-ok-border:#efc5d0;--theme-secondary:#edf3ff;--theme-secondary-border:#cedcf7}
:root[data-theme="blue"]{--black:#0c1419;--dark:#111d24;--ink:#20303a;--white:#f5fafc;--paper:#f0f5f7;--muted:#77858c;--line:#d6e0e5;--mint:#68d9f2;--mint-dark:#13758b;--mint-soft:#d6f0f7;--report-accent:#ffadbf;--violet:#ffadbf;--theme-header:rgba(12,20,25,.98);--theme-about:#14212a;--theme-hover:#8c4058;--theme-hover-border:#ffadbf;--theme-shadow:rgba(140,64,88,.28);--theme-grid:#e0e9ee;--theme-ok:#eaf9fc;--theme-ok-border:#bee5ee;--theme-secondary:#fff0f4;--theme-secondary-border:#f1ccd6}
.topbar{background:var(--theme-header);gap:20px}.topbar nav{margin-left:auto}.topbar .logo{display:block;width:230px;height:auto}
.about{background:var(--theme-about)}
.topbar nav a.report-nav:hover{color:var(--report-accent)}
.report-teaser .chart-axis{stroke:var(--report-accent)}
.report-teaser:hover{background:var(--theme-hover);border-color:var(--theme-hover-border);box-shadow:0 14px 40px var(--theme-shadow)}
.report-teaser:hover b{color:#fff}
.problem-columns span:nth-child(2){background:#181817;color:#fff}
.problem-columns span:last-child{background:var(--mint);color:var(--black)}
#mavens-logo circle{fill:var(--mint)}
.grid-line{stroke:var(--theme-grid)}
.chart linearGradient stop{stop-color:var(--mint)}
.legend>div:nth-child(1) .dot{background:var(--mint-dark)!important}
.legend>div:nth-child(2) .dot{background:var(--violet)!important}
.legend>div:nth-child(3) .dot{background:var(--mint)!important}
.slot.ok{background:var(--theme-ok);border-color:var(--theme-ok-border)}
.slot.violet{background:var(--theme-secondary);border-color:var(--theme-secondary-border)}
.filter-caption svg,.module-heading .eyebrow,.help .kicker{color:var(--mint-dark)}
.theme-picker{position:relative;flex:none;letter-spacing:normal;text-transform:none}
.theme-picker summary{display:flex;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;border:1px solid #494949;border-radius:50%;color:#fff;list-style:none}
.theme-picker summary::-webkit-details-marker{display:none}.theme-picker summary svg{width:19px;height:19px}
.theme-picker summary:hover,.theme-picker[open] summary{border-color:var(--mint);color:var(--mint)}
.theme-options{position:absolute;right:0;top:calc(100% + 12px);width:196px;padding:14px;background:#16181d;border:1px solid #45474b;border-radius:12px;box-shadow:0 12px 35px #0005;color:#fff}
.theme-options p{margin:0 0 9px;color:#b7bac1;font-size:.72rem;letter-spacing:.04em}
.theme-option{display:flex;width:100%;align-items:center;gap:10px;min-height:42px;padding:8px;border:0;border-radius:6px;background:transparent;color:#fff;font:500 .82rem Inter,Arial,sans-serif;text-align:left;cursor:pointer}
.theme-option:hover{background:#ffffff12}.theme-option[aria-pressed="true"]{background:#ffffff18}.theme-option[aria-pressed="true"]:after{content:'✓';margin-left:auto;color:#fff}
.theme-swatch{width:16px;height:16px;flex:none;border-radius:50%;background:var(--swatch)}
.theme-picker summary:focus-visible,.theme-option:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:1100px) and (min-width:851px){.topbar nav{gap:16px;font-size:.64rem}.topbar .logo{width:190px}}
@media(max-width:850px){.topbar{gap:12px}.topbar .logo{width:175px}.theme-picker summary{width:36px;height:36px}}
@media(max-width:380px){.topbar{gap:9px;padding-inline:14px}.topbar .logo{width:140px}.topbar nav{font-size:.64rem}.brand{font-size:.74rem;letter-spacing:.34em}}
