:root{
  color-scheme:light;
  --ink:#13202b;        /* deep slate ink */
  --ink-2:#1d2f3c;
  --slate:#3c5667;
  --muted:#6b8190;
  --line:#dfe7eb;
  --paper:#f5f8f9;
  --card:#ffffff;
  --teal:#0f8a82;       /* trust accent */
  --teal-deep:#0b655f;
  --teal-soft:#e3f2f0;
  --amber:#b9772a;
  --danger:#b4451f;
  --ok:#1c7d5a;
  --hero-1:#13202b;     /* hero gradient — decoupled from text ink */
  --hero-2:#1d2f3c;
  --radius:14px;
  --shadow:0 1px 2px rgba(19,32,43,.05), 0 8px 24px rgba(19,32,43,.06);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  line-height:1.55;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:1060px;margin-inline:auto;padding-inline:24px}
a{color:var(--teal-deep);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:Sora,sans-serif;line-height:1.15;letter-spacing:-.01em;margin:.2em 0 .4em}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace}

/* ---- Top bar ---- */
.topbar{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1100}
.topbar-in{display:flex;align-items:center;justify-content:space-between;height:60px;gap:18px}
.brand{display:flex;align-items:center;gap:10px;font-family:Sora;font-weight:700;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand-mark{width:18px;height:18px;border-radius:5px;background:
  linear-gradient(135deg,var(--teal),var(--teal-deep));box-shadow:inset 0 0 0 3px rgba(255,255,255,.55)}
.nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.nav a{color:var(--slate);font-weight:500;font-size:.94rem}
.handle-chip{font-family:"IBM Plex Mono",monospace;font-size:.8rem;color:var(--teal-deep);
  background:var(--teal-soft);padding:4px 9px;border-radius:999px}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:10px;padding:9px 16px;
  font-weight:600;font-size:.92rem;cursor:pointer;border:1px solid transparent;transition:.15s}
.btn:hover{text-decoration:none}
.btn-solid{background:var(--teal);color:#fff}
.btn-solid:hover{background:var(--teal-deep)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--slate)}
.btn-ghost:hover{border-color:var(--muted)}
.btn-danger{background:var(--danger);color:#fff}
.btn-block{width:100%;justify-content:center}

/* ---- Page ---- */
.page{padding-block:34px;min-height:60vh}
.foot{border-top:1px solid var(--line);color:var(--muted);font-size:.86rem;padding:22px 0;background:var(--card)}

/* ---- Flash ---- */
.flash{padding:11px 14px;border-radius:10px;margin-bottom:16px;font-size:.92rem;border:1px solid}
.flash-info{background:#eef4f7;border-color:#cfe0e8;color:var(--ink-2)}
.flash-success{background:#e7f5ee;border-color:#bfe6d2;color:var(--ok)}
.flash-error{background:#fbeae3;border-color:#f0c8b6;color:var(--danger)}

/* ---- Cards / forms ---- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:22px}
.card + .card{margin-top:18px}
.stack{display:flex;flex-direction:column;gap:14px}
.field label{display:block;font-weight:600;font-size:.86rem;color:var(--slate);margin-bottom:5px}
.field input,.field textarea,.field select{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;
  font:inherit;color:var(--ink);background:#fff}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}
.hint{color:var(--muted);font-size:.82rem}
.auth-wrap{max-width:420px;margin-inline:auto}
.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.82rem;margin:6px 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.btn-google{background:#fff;border:1px solid var(--line);color:var(--ink);width:100%;justify-content:center}

/* ---- Pills / status ---- */
.pill{display:inline-block;font-size:.74rem;font-weight:600;padding:3px 9px;border-radius:999px;
  text-transform:capitalize;letter-spacing:.01em}
.pill-new,.pill-open{background:#e6eef3;color:var(--slate)}
.pill-triage,.pill-pending{background:#fdf0dd;color:var(--amber)}
.pill-investigating{background:var(--teal-soft);color:var(--teal-deep)}
.pill-resolved,.pill-closed{background:#e7f5ee;color:var(--ok)}
.pill-dismissed{background:#f0e2dd;color:var(--danger)}
.sev{font-family:"IBM Plex Mono",monospace;font-size:.74rem}
.sev-critical{color:var(--danger);font-weight:600}
.sev-high{color:var(--amber);font-weight:600}

/* ---- Tables ---- */
.table{width:100%;border-collapse:collapse;font-size:.92rem}
.table th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;
  color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}
.table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
.table tr:hover td{background:#fafcfc}

/* ---- Analytics ---- */
.grid{display:grid;gap:18px}
.grid-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.stat .n{font-family:Sora;font-size:2rem;font-weight:700;line-height:1}
.stat .l{color:var(--muted);font-size:.84rem;margin-top:4px}
.bars{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.bar-row{display:grid;grid-template-columns:130px 1fr 38px;align-items:center;gap:10px;font-size:.86rem}
.bar-track{background:#eef3f5;border-radius:6px;height:14px;overflow:hidden}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-deep));border-radius:6px}
.bar-num{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}

/* ============================================================
   LANDING
   ============================================================ */
.hero{background:
  radial-gradient(1200px 500px at 80% -10%, rgba(15,138,130,.20), transparent 60%),
  linear-gradient(180deg,var(--hero-1),var(--hero-2));
  color:#eaf2f4}
.hero .wrap{padding-block:74px 64px}
.hero h1{font-size:clamp(2.1rem,5vw,3.4rem);color:#fff;max-width:18ch}
.hero .lede{font-size:1.12rem;color:#b9cdd5;max-width:54ch;margin-top:14px}
.hero-cta{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:.78rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--teal);margin-bottom:14px}

/* signature: email -> hash -> handle transform */
.transform{margin-top:48px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);
  border-radius:16px;padding:22px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;
  gap:14px;align-items:center;font-family:"IBM Plex Mono",monospace;font-size:.9rem}
.transform .cell{color:#cfe0e6}
.transform .lbl{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:#7fa3ad;margin-bottom:6px;font-family:Inter}
.transform .arrow{color:var(--teal);font-size:1.2rem}
.transform .gone{color:#5e7f89;text-decoration:line-through}
.transform .keep{color:#7fe3d6}

.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:8px}
.feature h3{font-size:1.05rem}
.feature p{color:var(--slate);font-size:.94rem;margin:0}
.section{padding-block:54px}
.section h2{font-size:1.7rem}
.section .sub{color:var(--muted);max-width:56ch}

@media (max-width:680px){
  .transform{grid-template-columns:1fr;text-align:center}
  .transform .arrow{transform:rotate(90deg)}
  .bar-row{grid-template-columns:96px 1fr 34px}
}

/* accessibility: respect reduced motion + visible focus already via outline */
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* print: for admin printable report */
@media print{
  .topbar,.foot,.no-print{display:none!important}
  body{background:#fff}
  .card{box-shadow:none;border-color:#ccc}
}

/* ============================================================
   THEME SWITCHER
   ============================================================ */
.theme-select{
  font:inherit;font-size:.82rem;color:var(--slate);background:var(--card);
  border:1px solid var(--line);border-radius:8px;padding:5px 8px;cursor:pointer;
}
.theme-select:focus{outline:2px solid var(--teal);outline-offset:1px}

/* ---- Sepia : warm, low-strain (light-surfaced) ---- */
[data-theme="sepia"]{
  --ink:#3a2e22; --ink-2:#4a3a2a; --slate:#5f4e3a; --muted:#8b795f;
  --line:#e6d8c2; --paper:#f6efe1; --card:#fffaf0;
  --teal:#9c6726; --teal-deep:#7c4f1c; --teal-soft:#f0e3cc;
  --amber:#a9701f; --danger:#a8421d; --ok:#5a7a2f;
  --hero-1:#33261a; --hero-2:#241a10;
  --shadow:0 1px 2px rgba(58,46,34,.06), 0 8px 24px rgba(58,46,34,.08);
}

/* ---- Dusk : cool, dim daylight (light-surfaced) ---- */
[data-theme="dusk"]{
  --ink:#1b2a3a; --ink-2:#243140; --slate:#3f566b; --muted:#6b8196;
  --line:#d2dde6; --paper:#eef2f6; --card:#f9fbfd;
  --teal:#2f7f8a; --teal-deep:#205c66; --teal-soft:#dcebf0;
  --amber:#a3742d; --danger:#a8451f; --ok:#1c7264;
  --hero-1:#16202e; --hero-2:#101d2b;
}

/* ---- Slate : cool blue-grey neutral (light-surfaced) ---- */
[data-theme="slate"]{
  --ink:#1f2a33; --ink-2:#2a3742; --slate:#46586a; --muted:#6a7c8a;
  --line:#d6dee4; --paper:#eef1f4; --card:#fbfcfd;
  --teal:#4a6b86; --teal-deep:#34516a; --teal-soft:#e1e8ef;
  --amber:#9a7430; --danger:#a8451f; --ok:#3f7a63;
  --hero-1:#27333d; --hero-2:#1b2730;
}

/* ---- Seabreeze : cool coastal aqua (summer, light) ---- */
[data-theme="seabreeze"]{
  --ink:#0f333a; --ink-2:#16424a; --slate:#2f6670; --muted:#5b8a91;
  --line:#cbe6e7; --paper:#ecf7f7; --card:#ffffff;
  --teal:#0e9aa7; --teal-deep:#0a7782; --teal-soft:#d6f0f2;
  --amber:#c08a2e; --danger:#bf4a26; --ok:#1c8a73;
  --hero-1:#0e3b42; --hero-2:#0a2e35;
}

/* ---- Sunset : warm coral & peach (summer, light) ---- */
[data-theme="sunset"]{
  --ink:#3a2226; --ink-2:#4a2e30; --slate:#6b4350; --muted:#9a6f6a;
  --line:#f0d8cf; --paper:#fdf1ea; --card:#fffaf6;
  --teal:#cf5230; --teal-deep:#a83f24; --teal-soft:#fbe2d6;
  --amber:#c2852f; --danger:#9c2f1c; --ok:#5a8a3f;
  --hero-1:#5a2a2a; --hero-2:#7a3a2e;
}

/* ---- Citrus : bright lime & warm white (summer, light) ---- */
[data-theme="citrus"]{
  --ink:#23311a; --ink-2:#2e3f22; --slate:#4f6238; --muted:#76895f;
  --line:#dde7c8; --paper:#f4f8e8; --card:#fffef7;
  --teal:#5a8a1f; --teal-deep:#446a16; --teal-soft:#e8f1cf;
  --amber:#b07d22; --danger:#b0461f; --ok:#3f7a3f;
  --hero-1:#2e3f1a; --hero-2:#3f5224;
}

/* ---- High contrast : accessibility (light-surfaced) ---- */
[data-theme="contrast"]{
  --ink:#0a0f14; --ink-2:#0a0f14; --slate:#152029; --muted:#33424d;
  --line:#8a98a2; --paper:#ffffff; --card:#ffffff;
  --teal:#066a63; --teal-deep:#044b46; --teal-soft:#d6efec;
  --amber:#8a5410; --danger:#9a2f12; --ok:#0a5c3f;
  --hero-1:#05110f; --hero-2:#0a1a18;
  --shadow:0 0 0 1px rgba(10,15,20,.06);
}
[data-theme="contrast"] .card{border-width:1.5px}
[data-theme="contrast"] a{text-decoration:underline}

/* ---- Night : dark ---- */
[data-theme="night"]{
  color-scheme:dark;
  --ink:#e7eef2; --ink-2:#cdd9e0; --slate:#a9bcc7; --muted:#7e94a1;
  --line:#26333d; --paper:#0f1720; --card:#16212b;
  --teal:#3fb6ac; --teal-deep:#62d3c9; --teal-soft:#13322f;
  --amber:#d6a258; --danger:#e88a6c; --ok:#5fcf9e;
  --hero-1:#0b121a; --hero-2:#0f1c24;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 28px rgba(0,0,0,.35);
}
/* components that hardcode light tints need dark-mode treatment */
[data-theme="night"] .flash-info{background:#13202b;border-color:#26333d;color:#cdd9e0}
[data-theme="night"] .flash-success{background:#10241c;border-color:#1d3d30;color:#7ad7a8}
[data-theme="night"] .flash-error{background:#2a1712;border-color:#5a2c1f;color:#f0a98f}
[data-theme="night"] .pill-new,[data-theme="night"] .pill-open{background:#22303b;color:#bcccd6}
[data-theme="night"] .pill-triage,[data-theme="night"] .pill-pending{background:#33291a;color:#e3b572}
[data-theme="night"] .pill-investigating{background:#13322f;color:#62d3c9}
[data-theme="night"] .pill-resolved,[data-theme="night"] .pill-closed{background:#10241c;color:#7ad7a8}
[data-theme="night"] .pill-dismissed{background:#2a1712;color:#f0a98f}
[data-theme="night"] .bar-track{background:#22303b}
[data-theme="night"] .field input,[data-theme="night"] .field textarea,
[data-theme="night"] .field select,[data-theme="night"] .btn-google,[data-theme="night"] .btn-ghost{
  background:#0f1720;color:var(--ink);
}
[data-theme="night"] .table tr:hover td{background:#1b2730}
[data-theme="night"] .handle-chip{background:#13322f;color:#62d3c9}

/* ---- Survey option groups ---- */
.opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.opt{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);
  border-radius:9px;padding:8px 12px;font-size:.9rem;cursor:pointer;background:var(--card);color:var(--ink)}
.opt:hover{border-color:var(--muted)}
.opt input{margin:0}
.survey-section{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}
.survey-section:first-of-type{border-top:0;margin-top:0;padding-top:0}
.survey-section h3{margin:0 0 2px}
.req{color:var(--danger);font-weight:600}
.gate{background:var(--teal-soft);border:1px solid var(--teal);border-radius:var(--radius);padding:16px 18px}
[data-theme="night"] .gate{background:#13262b;border-color:#2c6b66}
.kv{display:grid;grid-template-columns:170px 1fr;gap:6px 14px;font-size:.93rem}
.kv dt{color:var(--muted)}
.kv dd{margin:0}

/* ---- Curation status pills ---- */
.pill-received{background:#e6eef3;color:#33495a}
.pill-reviewed{background:#fdf0dd;color:#b9772a}
.pill-included{background:#e7f5ee;color:#1c7d5a}
.pill-excluded{background:#f0e2dd;color:#b4451f}
[data-theme="night"] .pill-received{background:#22303b;color:#bcccd6}
[data-theme="night"] .pill-reviewed{background:#33291a;color:#e3b572}
[data-theme="night"] .pill-included{background:#10241c;color:#7ad7a8}
[data-theme="night"] .pill-excluded{background:#2a1712;color:#f0a98f}

/* ---- Nav "Tools" dropdown ---- */
.nav-dd{position:relative;display:inline-block}
.nav-dd-btn{background:none;border:0;font:inherit;color:var(--ink);cursor:pointer;padding:6px 4px;display:inline-flex;align-items:center;gap:5px}
.nav-dd-btn:hover{color:var(--teal)}
.nav-dd-caret{font-size:.7em;opacity:.7}
.nav-dd-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:184px;background:var(--card);
  border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.14);
  padding:6px;display:none;flex-direction:column;z-index:1200}
.nav-dd.open .nav-dd-menu{display:flex}
.nav-dd-menu a{padding:8px 10px;border-radius:7px;white-space:nowrap}
.nav-dd-menu a:hover{background:var(--teal-soft)}
[data-theme="night"] .nav-dd-menu a:hover{background:#13262b}

/* ---- Footer credit row ---- */
.foot-row{display:flex;justify-content:space-between;align-items:center;gap:10px 18px;flex-wrap:wrap}
.foot-credit{white-space:nowrap}
.foot-credit a{color:var(--slate);font-weight:500;text-decoration:none}
.foot-credit a:hover{color:var(--teal);text-decoration:underline}

/* ---- Document pages (About / Privacy / Terms) ---- */
.doc{max-width:760px}
.doc h2{margin:26px 0 8px;font-size:1.15rem}
.doc h3{margin:18px 0 6px;font-size:1rem}
.doc p,.doc li{line-height:1.65}
.doc ul{padding-left:1.2em;margin:6px 0}
.doc .lead{font-size:1.05rem;color:var(--slate)}
.doc .placeholder{color:var(--muted);font-style:italic}
.draft-banner{background:#fdf0dd;border:1px solid #e9c789;color:#8a5a1c;border-radius:var(--radius);padding:12px 16px;font-size:.9rem;margin-bottom:20px}
[data-theme="night"] .draft-banner{background:#33291a;border-color:#5a4424;color:#e3b572}

/* ---- Footer links row ---- */
.foot-links{display:flex;gap:16px;flex-wrap:wrap}
.foot-links a{color:var(--muted)}
.foot-links a:hover{color:var(--teal)}
.foot-note{margin-top:10px;color:var(--muted)}
