:root{--brand:#285e45;--accent:#c5f38e;--accent-ink:#173927;--hero:#142e27;--hero-muted:#c2d1c7;--soft:#edf4e8;--paper:#f7f8f3;--ink:#1c3027;--muted:#64756a;--line:#dce5d9;--green:var(--brand);--lime:var(--accent)}
:root[data-playtest-theme=blue]{--brand:#294fcb;--accent:#b8e4ff;--accent-ink:#162f56;--hero:#13264b;--hero-muted:#c5cee1;--soft:#eaf0ff;--paper:#f5f7fc;--ink:#1d2f4d;--muted:#66748c;--line:#dce3f0}
:root[data-playtest-theme=coral]{--brand:#853d68;--accent:#ffc5a6;--accent-ink:#51253d;--hero:#372037;--hero-muted:#dbc4d1;--soft:#f8eaf1;--paper:#fbf7f8;--ink:#3a2837;--muted:#806c7b;--line:#eadce4}
body{background:var(--paper);color:var(--ink)}.brand,.scanner-page header .brand{color:var(--ink)}.brand-symbol{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--brand);color:white;font-size:22px;line-height:1;letter-spacing:0}.primary{background:var(--brand);border-color:var(--brand);color:#fff}.primary:hover{background:var(--hero)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.eyebrow{color:var(--brand)}nav button.active,.stat:first-child,.badge,.identity-read{background:var(--soft);color:var(--brand)}.panel,aside{border-color:var(--line)}.local-pill{color:var(--brand)}.theme-control{position:relative}.theme-toggle{font-size:12px;padding:8px 12px;white-space:nowrap}.theme-options{position:absolute;right:0;top:calc(100% + 10px);width:235px;z-index:80;background:white;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 14px 35px #142e2720}.theme-options[hidden]{display:none}.theme-options button{display:flex;align-items:center;gap:10px;width:100%;border:0;padding:12px;text-align:left;background:transparent}.theme-options button[aria-pressed=true]{background:var(--soft);color:var(--brand)}.theme-chip{display:inline-flex;width:36px;height:22px;border-radius:5px;overflow:hidden;flex-shrink:0}.theme-chip:before,.theme-chip:after{content:'';width:50%;height:100%}.theme-chip.mint:before{background:#142e27}.theme-chip.mint:after{background:#c5f38e}.theme-chip.blue:before{background:#13264b}.theme-chip.blue:after{background:#b8e4ff}.theme-chip.coral:before{background:#372037}.theme-chip.coral:after{background:#ffc5a6}.scanner-context{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;margin-bottom:20px;font-size:12px;line-height:1.6;background:var(--soft);border-radius:12px}.scanner-context a{font-weight:700;color:var(--brand)}.scanner-page .photo-picker{background:var(--soft);border-color:var(--brand)}.scanner-page .capture-panel summary,.scanner-page .candidate .visual-hint{color:var(--muted)}.scanner-page #catalog-status,.scanner-page #scan-progress{color:var(--brand)}.scanner-page #catalog-status.error,.scanner-page #scan-progress.error{color:#a23d35}.scanner-page .identity-confirmed{background:var(--soft);color:var(--brand)}.auth-panel .auth-availability{padding:12px 14px;background:var(--soft);border:1px solid var(--line);border-radius:9px;color:var(--ink);font-size:12px;line-height:1.7;margin:16px 0}.auth-panel .auth-actions a{font-size:12px;color:var(--brand)}.account-free-badge{font-size:10px;color:var(--brand);border:1px solid var(--line);padding:5px 8px;border-radius:20px}.account-page .sidebar-bottom a{line-height:1.8}.account-page header .actions{align-items:center}.account-page .form-help{color:var(--muted)}@media(max-width:650px){.theme-options{right:0;width:210px}.scanner-page header{gap:12px}.scanner-page header .actions{align-items:center;gap:7px}.scanner-page header .brand{font-size:20px}.scanner-page .account-hero-link{font-size:11px}.scanner-context{align-items:flex-start;flex-direction:column;gap:5px}.account-page .account-free-badge{display:none}.account-page header{padding:0 18px}.account-page header .slash{margin:0 6px}}
#identify-card,.collection-scanner #confirm-card{color:var(--ink);border-color:var(--line)}.identity-note,.identity-footnote{color:var(--muted)}.identity-read,.identity-confirmed{background:var(--soft);color:var(--brand)}#identify-card::backdrop{background:color-mix(in srgb,var(--hero) 86%,transparent)}
