:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bg:#f4f7fb;--surface:#fff;--surface2:#f7f9fc;--text:#172033;--muted:#68748a;--top:#101827;--toptext:#dbe8ff;--border:#dce3ee;--accent:#172033;--accentText:#fff;--shadow:rgba(19,31,52,.06);--link:#0645d8;--warningBg:#fff3c4;--warningText:#735600}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg)}.theme-dark{--bg:#0d1117;--surface:#161b22;--surface2:#21262d;--text:#f0f6fc;--muted:#9da7b3;--top:#010409;--toptext:#dbe8ff;--border:#30363d;--accent:#2f81f7;--accentText:#fff;--shadow:rgba(0,0,0,.3);--link:#58a6ff;--warningBg:#3b2e00;--warningText:#ffdf5d}.theme-ocean{--bg:#edf8ff;--surface:#fff;--surface2:#e6f4fb;--text:#123047;--muted:#55758b;--top:#073b5c;--toptext:#e6f7ff;--border:#c6e5f4;--accent:#0879b9;--accentText:#fff;--link:#05689e}.theme-teal{--bg:#eefaf8;--surface:#fff;--surface2:#e4f5f2;--text:#173b37;--muted:#547570;--top:#123f3a;--toptext:#e8fffb;--border:#c7e7e2;--accent:#147d72;--accentText:#fff;--link:#0a7066}.theme-purple{--bg:#f7f2fb;--surface:#fff;--surface2:#f1e9f8;--text:#352244;--muted:#756581;--top:#2e183f;--toptext:#f4e8ff;--border:#e3d5ee;--accent:#73469b;--accentText:#fff;--link:#6d3a98}.theme-sunset{--bg:#fff5ef;--surface:#fff;--surface2:#fff0e6;--text:#44291f;--muted:#80675e;--top:#49251c;--toptext:#fff0e9;--border:#f0d4c7;--accent:#b85231;--accentText:#fff;--link:#a84225}.theme-contrast{--bg:#fff;--surface:#fff;--surface2:#f2f2f2;--text:#000;--muted:#222;--top:#000;--toptext:#fff;--border:#000;--accent:#000;--accentText:#fff;--link:#0000ee;--warningBg:#ff0;--warningText:#000}a{color:var(--link)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 5vw;background:var(--top);color:#fff}.brand{font-size:1.4rem;font-weight:800;color:#fff;text-decoration:none}.topbar nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.topbar a{color:var(--toptext);text-decoration:none}.topbar a:hover,.langs .active{color:#fff;text-decoration:underline}.langs{border-left:1px solid #506078;padding-left:12px;display:flex;gap:8px}.wrap{width:min(1100px,92vw);margin:32px auto;min-height:70vh}.hero,.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 8px 25px var(--shadow);margin-bottom:20px}.hero h1{margin-top:0;font-size:clamp(2rem,6vw,4rem)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.stat{font-size:2rem;font-weight:800}.muted{color:var(--muted)}.tag{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--warningBg);color:var(--warningText);font-size:.78rem;font-weight:700}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--surface2);border:1px solid var(--border);font-size:.78rem;font-weight:700}.btn,button{display:inline-block;background:var(--accent);color:var(--accentText);border:0;border-radius:10px;padding:10px 16px;text-decoration:none;cursor:pointer}button.secondary,.btn.secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}button.danger,.btn.danger{background:#9b1c1c;color:#fff}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:9px;margin-top:6px;margin-bottom:14px;background:var(--surface);color:var(--text)}textarea{min-height:130px;resize:vertical}input[type=checkbox]{width:auto;margin:0 8px 0 0}label{font-weight:650}.inline-check{display:flex;align-items:center;margin:10px 0 16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:var(--surface)}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border)}th{background:var(--surface2)}.flash{padding:12px 16px;border-radius:10px;margin-bottom:16px}.flash.success{background:#e6f8eb;color:#173d20}.flash.error{background:#ffe8e8;color:#641414}.flash.info{background:#e8f2ff;color:#173b68}.footer{text-align:center;padding:28px;color:var(--muted)}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#0c1220;color:#e7f0ff;border-radius:10px;padding:12px;overflow:auto}.actions{display:flex;gap:10px;flex-wrap:wrap}.danger-text{color:#9b1c1c}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ticket-message{border-left:4px solid var(--accent);padding:12px 16px;margin:14px 0;background:var(--surface2);border-radius:0 10px 10px 0}.ticket-meta{font-size:.86rem;color:var(--muted);margin-bottom:8px}.locked{background:var(--surface2)}hr{border:0;border-top:1px solid var(--border);margin:24px 0}@media(max-width:760px){.two-col,.three-col{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:12px;flex-direction:column}}

.disclaimer-card{border-style:dashed}.footer-disclaimer{margin-top:8px;font-size:.88rem}.footer a{color:var(--muted)}

/* Two-Tone Blue theme inspired by the original collection site */
.theme-twotoneblue{
  --bg:#0d1721;
  --surface:#162534;
  --surface2:#1d3144;
  --text:#ffffff;
  --muted:#b9d2e8;
  --top:#0b3857;
  --toptext:#ffffff;
  --border:#31506a;
  --accent:#1d5f8f;
  --accentText:#ffffff;
  --shadow:rgba(0,0,0,.26);
  --link:#ffffff;
  --warningBg:#5e4a0e;
  --warningText:#fff3b0;
}
.theme-twotoneblue a{color:#fff}
.theme-twotoneblue a:hover{color:#fff;text-decoration:underline}
.theme-twotoneblue th{background:#1b3d58;color:#fff}
.theme-twotoneblue .card,.theme-twotoneblue .hero{background:#162534}
.theme-twotoneblue .flash.success{background:#143c2c;color:#eafff3}
.theme-twotoneblue .flash.error{background:#4a1f25;color:#ffe7eb}
.theme-twotoneblue .flash.info{background:#17354f;color:#ecf8ff}

/* Public collection banner */
.collection-hero{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(360px,1.25fr);gap:24px;align-items:stretch}
.collection-identity{display:flex;flex-direction:column;justify-content:center;min-height:220px}
.collection-identity h1{margin:.15em 0 .55em;font-size:clamp(2.25rem,5vw,4rem)}
.collection-banner{position:relative;min-height:220px;border-radius:13px;overflow:hidden;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}
.collection-banner img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.collection-banner-empty{color:var(--muted);font-size:.9rem;text-align:center;padding:20px}
.banner-preview{width:100%;max-height:240px;object-fit:contain;border:1px solid var(--border);border-radius:12px;background:var(--surface2)}

/* Collapsible collection browser */
.collection-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.collection-toolbar input{margin:0;flex:1;min-width:220px}
.fish-group,.species-group{border:1px solid var(--border);border-radius:12px;background:var(--surface);margin:12px 0;overflow:hidden}
.fish-group>summary,.species-group>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;font-weight:800}
.fish-group>summary::-webkit-details-marker,.species-group>summary::-webkit-details-marker{display:none}
.fish-group>summary::before,.species-group>summary::before{content:'▸';display:inline-block;margin-right:9px;transition:transform .15s ease}
.fish-group[open]>summary::before,.species-group[open]>summary::before{transform:rotate(90deg)}
.fish-group>summary{background:var(--surface2);font-size:1.15rem}
.species-group>summary{border-top:1px solid var(--border);font-size:1rem}
.fish-group-note{font-size:.82rem;font-weight:500;color:var(--muted);margin-left:auto}
.group-body{padding:0 14px 14px}
.species-body{padding:0 12px 12px}
.collection-counts{font-weight:700;white-space:nowrap}
.variant-grid{width:100%;border-collapse:collapse}
.variant-grid td,.variant-grid th{padding:10px;border-bottom:1px solid var(--border)}
.variant-grid tr:last-child td{border-bottom:0}
.gender-counts{white-space:nowrap;font-variant-numeric:tabular-nums}
.gender-private-note{font-size:.8rem;color:var(--muted)}
.discovery-star{white-space:nowrap}
.no-results{padding:18px;color:var(--muted)}

.banner-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.banner-status{margin-top:10px}
@media(max-width:850px){.collection-hero{grid-template-columns:1fr}.collection-banner{min-height:160px}.banner-source-grid{grid-template-columns:1fr}}

/* Batch 1 expanded theme library */
.theme-midnight{--bg:#07111e;--surface:#0e2135;--surface2:#142b43;--text:#f4f9ff;--muted:#9eb8cf;--top:#030b14;--toptext:#e8f4ff;--border:#284763;--accent:#1f6fa8;--accentText:#fff;--link:#8dd5ff;--shadow:rgba(0,0,0,.34)}
.theme-reef{--bg:#eafaf8;--surface:#ffffff;--surface2:#dff5f1;--text:#123a3b;--muted:#527b7c;--top:#07575a;--toptext:#efffff;--border:#b8e4df;--accent:#0f8f91;--accentText:#fff;--link:#06747b;--warningBg:#fff0c9;--warningText:#705200}
.theme-coral{--bg:#fff4f1;--surface:#fff;--surface2:#ffe8e1;--text:#452821;--muted:#7d625b;--top:#7a2f3a;--toptext:#fff4f5;--border:#efc8be;--accent:#d45f57;--accentText:#fff;--link:#a53f43}
.theme-emerald{--bg:#edf9f1;--surface:#fff;--surface2:#e1f3e7;--text:#173b29;--muted:#5d7667;--top:#0d472e;--toptext:#ecfff4;--border:#c1e2cc;--accent:#207a4d;--accentText:#fff;--link:#12653d}
.theme-lavender{--bg:#f7f4ff;--surface:#fff;--surface2:#eee8fb;--text:#352b4d;--muted:#756d8b;--top:#40305e;--toptext:#f7f1ff;--border:#ded3ef;--accent:#8064b3;--accentText:#fff;--link:#6b4fa0}
.theme-pinkflame{--bg:#160b17;--surface:#241128;--surface2:#321838;--text:#fff4ff;--muted:#d6a8d9;--top:#09050d;--toptext:#ffe8ff;--border:#663269;--accent:#d92a9c;--accentText:#fff;--link:#ff8ee0;--warningBg:#502440;--warningText:#ffd5f0;--shadow:rgba(0,0,0,.36)}
.theme-ruby{--bg:#fff1f3;--surface:#fff;--surface2:#fde4e8;--text:#461d24;--muted:#815a61;--top:#5f1422;--toptext:#fff0f3;--border:#efc1c9;--accent:#a8243d;--accentText:#fff;--link:#8e1830}
.theme-arctic{--bg:#f2fbff;--surface:#ffffff;--surface2:#e8f7fd;--text:#123247;--muted:#5f7f91;--top:#dff5ff;--toptext:#113247;--border:#bee4f4;--accent:#2f93bd;--accentText:#fff;--link:#197ba5;--shadow:rgba(44,118,150,.10)}
.theme-arctic .brand,.theme-arctic .topbar a{color:#113247}.theme-arctic .topbar a:hover{color:#000}
.theme-sand{--bg:#f7f0df;--surface:#fffaf0;--surface2:#efe2c3;--text:#403322;--muted:#75664f;--top:#315d6b;--toptext:#f8ffff;--border:#d7c6a1;--accent:#3d7f8d;--accentText:#fff;--link:#275f70}
.theme-slate{--bg:#171b20;--surface:#222831;--surface2:#2c343f;--text:#f5f7fa;--muted:#b0bac5;--top:#0c1015;--toptext:#f2f6fb;--border:#46505d;--accent:#5d7186;--accentText:#fff;--link:#9fc7ef;--shadow:rgba(0,0,0,.3)}
.theme-neon{--bg:#05080d;--surface:#0d1420;--surface2:#111c2b;--text:#f7fbff;--muted:#9fb7ca;--top:#020407;--toptext:#dffcff;--border:#1a7891;--accent:#00a8c8;--accentText:#001015;--link:#62eeff;--warningBg:#411437;--warningText:#ffb9ee;--shadow:rgba(0,198,255,.12)}
.theme-neon .card,.theme-neon .hero{box-shadow:0 0 0 1px rgba(0,214,255,.05),0 8px 28px rgba(0,0,0,.42)}
.theme-neon .btn,.theme-neon button{box-shadow:0 0 14px rgba(0,210,255,.16)}

/* Language dropdown + RTL support */
.language-switcher{margin:0;display:inline-flex;align-items:center}.language-switcher select{width:auto;max-width:220px;margin:0;padding:6px 28px 6px 9px;background:var(--top);color:var(--toptext);border:1px solid rgba(255,255,255,.22);border-radius:8px}.theme-arctic .language-switcher select{background:#fff;color:#113247;border-color:#9bcfe3}
html[dir="rtl"] body{text-align:right}html[dir="rtl"] .topbar{direction:rtl}html[dir="rtl"] .topbar nav{direction:rtl}html[dir="rtl"] th,html[dir="rtl"] td{text-align:right}html[dir="rtl"] .ticket-message{border-left:0;border-right:4px solid var(--accent);border-radius:10px 0 0 10px}
@media(max-width:760px){.language-switcher select{max-width:78vw}}

/* Homepage collaboration credit */
.home-collab{margin:-1rem 0 1.35rem;font-weight:700;font-size:clamp(.9rem,1.6vw,1.08rem);letter-spacing:.01em;color:var(--muted)}

/* Batch 2: Community Spotlight */
.spotlight-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,48%);gap:1.25rem;align-items:center;overflow:hidden}
.spotlight-home img{width:100%;height:260px;object-fit:contain;border-radius:14px;background:rgba(0,0,0,.12)}
.spotlight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}
.spotlight-card{overflow:hidden}
.spotlight-card img{display:block;width:100%;height:240px;object-fit:contain;border-radius:12px;background:rgba(0,0,0,.12);margin-bottom:.8rem}
.warning-box{border:1px solid currentColor;border-radius:12px;padding:1rem;margin:1rem 0;opacity:.95}
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
@media(max-width:760px){.spotlight-home{grid-template-columns:1fr}.spotlight-home img{height:220px}.spotlight-card img{height:210px}}

/* Spotlight flexible submission: upload(s) or link + ownership context */
.spotlight-relation-picker{border:1px solid var(--border);border-radius:12px;padding:1rem;margin:1rem 0}
.spotlight-relation-picker legend{font-weight:700;padding:0 .35rem}
.choice-pills{display:flex;gap:.75rem;flex-wrap:wrap;margin:.5rem 0}
.choice-pills label{margin:0;cursor:pointer}
.choice-pills input{position:absolute;opacity:0;pointer-events:none}
.choice-pills span{display:inline-block;border:1px solid var(--border);background:var(--surface2);padding:.7rem 1rem;border-radius:999px;font-weight:700}
.choice-pills input:checked+span{background:var(--accent);color:var(--accentText);border-color:var(--accent)}
.spotlight-check{font-weight:700;margin:.75rem 0 0}.spotlight-check.ok{color:var(--link)}.spotlight-check.warn{color:#b15b00}
.spotlight-or{text-align:center;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:.85rem 0}
.spotlight-relation{font-weight:700}.spotlight-relation.not-mine{opacity:.88}.spotlight-relation.mine{opacity:.95}


/* Spotlight submission: tighter radio layout */
.spotlight-relation-picker{padding:.9rem 1rem}
.spotlight-radio-list{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start;margin:.45rem 0}
.spotlight-radio-option{display:inline-flex;align-items:center;gap:.6rem;margin:0;cursor:pointer;font-weight:700}
.spotlight-radio-option input{position:static;opacity:1;pointer-events:auto;margin:0;inline-size:1rem;block-size:1rem;accent-color:var(--accent)}
.spotlight-radio-option span{display:inline;border:0;background:transparent;padding:0;border-radius:0;font-weight:700}
.spotlight-radio-option input:checked+span{background:transparent;color:inherit;border-color:transparent}
#spotlight-collection-check{margin:.65rem 0 0 1.65rem}
html[dir="rtl"] .spotlight-radio-option{flex-direction:row-reverse}
html[dir="rtl"] #spotlight-collection-check{margin-left:0;margin-right:1.65rem}


/* Collection visibility privacy controls */
.visibility-explainer{display:grid;gap:7px;margin:-2px 0 16px}
.visibility-explainer-row{display:grid;grid-template-columns:minmax(78px,auto) 1fr;gap:10px;align-items:start;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface2);opacity:.68}
.visibility-explainer-row.active{opacity:1;border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.visibility-explainer-row strong{white-space:nowrap}
.visibility-explainer-row span{color:var(--muted);font-size:.92rem}
.admin-private-notice{display:inline-block;margin:.25rem 0 .75rem;padding:.4rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--surface2);font-size:.84rem;font-weight:700}
html[dir="rtl"] .visibility-explainer-row.active{box-shadow:inset -3px 0 0 var(--accent)}
@media(max-width:560px){.visibility-explainer-row{grid-template-columns:1fr;gap:2px}}
