/* Shared theme for the whole site: soft glass over a colour-mesh background.
   Loaded after each page's own styles, so it restyles existing components without changing markup.
   Change colours, glass strength, radii and shadows in the tokens below, once.
   Plus Jakarta Sans (variable) is self-hosted from /vendor/fonts under the SIL Open Font License. */

@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;
  src:url(/vendor/fonts/pjs-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;
  src:url(/vendor/fonts/pjs-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Tokens: Carbon-style square tiles, frosted-glass top ---------- */
:root{
  --face-display:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --face-body:var(--face-display);--face-mono:ui-monospace,"Cascadia Mono","SF Mono",Consolas,monospace;
  --paper:#f4f4f4;--paper-raised:#fff;--paper-card:#fff;
  --ink:#161616;--ink-soft:#393939;--ink-faint:#525252;
  --accent:#0f62fe;--accent-2:#4589ff;--accent-ink:#0043ce;--accent-soft:#edf5ff;--on-accent:#fff;
  --cool:#0e6027;--cool-soft:#defbe6;--disc:#6929c4;--disc-soft:#f6f2ff;
  --navy:#161616;--navy-deep:#0b0f19;--sky:#c6d4ee;
  --line:#e0e0e0;--line-strong:#8d8d8d;
  --radius:0px;--radius-lg:0px;
  --glass:#fff;--glass-strong:#fff;--glass-edge:#e0e0e0;--glass-hi:transparent;
  --shadow:none;--btn-shadow:none;--input-shadow:none;
  --top:radial-gradient(900px 380px at 12% -40%,rgba(69,137,255,.75),transparent 70%),radial-gradient(800px 360px at 95% 130%,rgba(120,169,255,.45),transparent 70%),linear-gradient(135deg,#0a1226 0%,#0f2350 55%,#1b4aa6 100%);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#161616;--paper-raised:#262626;--paper-card:#262626;
  --ink:#f4f4f4;--ink-soft:#c6c6c6;--ink-faint:#a8a8a8;
  --accent:#78a9ff;--accent-2:#a6c8ff;--accent-ink:#a6c8ff;--accent-soft:#1c2a44;--on-accent:#0b1428;
  --cool:#42be65;--cool-soft:#0e2b17;--disc:#be95ff;--disc-soft:#2a1f45;
  --line:#393939;--line-strong:#6f6f6f;--glass:#262626;--glass-strong:#262626;--glass-edge:#393939;
  --top:radial-gradient(900px 380px at 12% -40%,rgba(69,137,255,.55),transparent 70%),radial-gradient(800px 360px at 95% 130%,rgba(120,169,255,.30),transparent 70%),linear-gradient(135deg,#070b16 0%,#0b1a3c 55%,#143a85 100%);color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#161616;--paper-raised:#262626;--paper-card:#262626;
  --ink:#f4f4f4;--ink-soft:#c6c6c6;--ink-faint:#a8a8a8;
  --accent:#78a9ff;--accent-2:#a6c8ff;--accent-ink:#a6c8ff;--accent-soft:#1c2a44;--on-accent:#0b1428;
  --cool:#42be65;--cool-soft:#0e2b17;--disc:#be95ff;--disc-soft:#2a1f45;
  --line:#393939;--line-strong:#6f6f6f;--glass:#262626;--glass-strong:#262626;--glass-edge:#393939;
  --top:radial-gradient(900px 380px at 12% -40%,rgba(69,137,255,.55),transparent 70%),radial-gradient(800px 360px at 95% 130%,rgba(120,169,255,.30),transparent 70%),linear-gradient(135deg,#070b16 0%,#0b1a3c 55%,#143a85 100%);color-scheme:dark}
/* AI guidance analysis page uses its own variable names */
:root{--bg:var(--paper);--surface:var(--paper-raised);--ink2:var(--ink-soft);--muted:var(--ink-faint);--sans:var(--face-body)}

/* ---------- Base ---------- */
html{background:var(--paper);scroll-behavior:smooth}
body{background:var(--paper)!important;font-family:var(--face-body);font-weight:450;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--face-display);letter-spacing:-.025em;font-weight:760}
b,strong{font-weight:700}
a{text-decoration-thickness:1px;text-underline-offset:3px}
::selection{background:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--ink)}
input,select,textarea,button{font-family:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.big,.cap,.count,.fcount,.results-count,td,th,.stat,.tbar-val{font-variant-numeric:tabular-nums}

/* ---------- Frosted-glass top: masthead and sticky nav ---------- */
.masthead{background:var(--top)!important;position:relative;overflow:hidden;padding-top:2rem!important;padding-bottom:2rem!important}
.masthead::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.10),transparent 40%)}
.masthead::after{display:none}
.masthead>*{position:relative;z-index:1}
.masthead h1.title,h1.title{font-weight:800!important;font-size:clamp(1.7rem,3.2vw,2.5rem)!important;letter-spacing:-.035em;line-height:1.08;color:#fff!important}
.lede,.masthead .lede{color:var(--sky)!important;line-height:1.55}
.catalog-mark,.tally .cap{color:#b9ccf0!important}.catalog-mark::before{background:#78a9ff}
.tally .big{color:#fff!important;font-weight:800}
.contribute-btn{background:rgba(255,255,255,.14)!important;color:#fff!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:0;
  -webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.28);text-transform:none;letter-spacing:.01em;font-size:.82rem;font-weight:700;padding:.7rem 1.1rem;transition:background .15s}
.contribute-btn:hover{background:rgba(255,255,255,.26)!important}
.tab-nav{position:sticky;top:0;z-index:60;background:rgba(11,24,58,.84)!important;-webkit-backdrop-filter:blur(22px) saturate(1.8);backdrop-filter:blur(22px) saturate(1.8);
  border:0!important;border-bottom:1px solid rgba(255,255,255,.16)!important;box-shadow:0 8px 28px rgba(5,10,25,.18);font-family:var(--face-body)!important}
.tab-nav-inner{padding-top:0;padding-bottom:0}
.tab-nav-links{gap:0}
.tab-link{color:#c6d4ee!important;font-size:.84rem;font-weight:600;padding:.85rem 1rem;margin:0;border:0;border-bottom:2px solid transparent;border-radius:0;transition:background .15s,color .15s}
.tab-link:hover{background:rgba(255,255,255,.10);color:#fff!important}
.tab-link.active{background:rgba(255,255,255,.12);color:#fff!important;border-bottom:2px solid #78a9ff;box-shadow:none}
.tab-nav-toggle-bar{background:#c6d4ee!important}
@media (max-width:640px){.tab-nav{position:static}.tab-link{border-bottom:1px solid rgba(255,255,255,.12);padding:.8rem .6rem}.tab-link.active{border-left:3px solid #78a9ff;border-bottom:1px solid rgba(255,255,255,.12)}}

/* ---------- Square tiles ---------- */
.card,.queue-card,.lead-card,.login-card,.modal,.trend-card,.analysis-card,.panel,.success-panel,.pending-box,.stat-strip,.study-panel,.facet-panel{
  background:var(--paper-raised)!important;border:1px solid var(--line)!important;border-radius:0!important;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.analysis-card,.trend-card{border-top:3px solid var(--accent)!important;transition:box-shadow .15s}
.analysis-card:hover,.trend-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.12)}
.modal{box-shadow:0 24px 60px rgba(0,0,0,.35)}
.modal-overlay{background:rgba(8,14,30,.55)!important}
.specimen{background:var(--paper-raised);border:1px solid var(--line)!important;border-top:3px solid var(--accent)!important;padding:1.2rem 1.4rem!important;margin-bottom:12px}
.specimen:last-child{border-bottom:1px solid var(--line)!important}
.collection-divider{background:var(--accent-soft)!important;border:0!important;border-left:4px solid var(--accent)!important;border-radius:0!important;box-shadow:none!important}
.evidence{background:var(--cool-soft);border-radius:0}
.quote{border-left-color:var(--accent)}
.modal-note,.attest-list{border-radius:0;background:var(--accent-soft)}
.attest-list{border:1px solid var(--accent)}
.stat-strip .stat{background:transparent}
.tbar-track{background:var(--paper-raised)}
.datatable th{background:var(--paper)}.datatable tr:hover td{background:var(--accent-soft)}
.note{border-radius:0}

/* Tooltips stay dark with light text, as the pages intend */
.tooltip,#chartTooltip{background:rgba(11,24,58,.94)!important;color:#eef3f9!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:0!important;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(0,0,0,.35)}

/* ---------- Form fields: filled, with a bottom rule ---------- */
.field-row input[type=text],.field-row input[type=url],.field-row input[type=email],.field-row input[type=number],.field-row input[type=password],.field-row select,.field-row textarea,
.searchbar input,.select-input,.group-by-control select,.check-grid,.checkrow,.facet-toggle,.add-tag-row input,input[type=search],
input[type=text],input[type=url],input[type=email],input[type=password],select,textarea{
  background:var(--paper-raised)!important;color:var(--ink);border:1px solid var(--line)!important;border-bottom:1px solid var(--line-strong)!important;border-radius:0!important;box-shadow:none!important;transition:border-color .15s,outline-color .15s}
.field-row input:focus,.field-row select:focus,.field-row textarea:focus,.searchbar input:focus,input[type=search]:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-2px;border-color:var(--accent)!important}
.facet-toggle:hover,.facet-group.open .facet-toggle{border-color:var(--accent)!important}
.facet-row{border-radius:0}.facet-toggle-count{background:var(--accent);color:var(--on-accent);border-radius:0}

/* ---------- Buttons, pills, tabs ---------- */
.primary-btn,.clear-filters,.save-btn{background:var(--accent)!important;color:var(--on-accent)!important;border:0!important;border-radius:0!important;box-shadow:none!important;text-transform:none;letter-spacing:0;font-weight:700;padding:.75rem 1.1rem;transition:filter .15s}
.primary-btn:hover,.clear-filters:hover,.save-btn:hover{filter:brightness(1.12)}
.primary-btn:disabled{background:var(--line)!important;color:var(--ink-faint)!important}
.ghost-btn,.reset-btn,.edit-request-btn,.modal-close,.logout-btn,.reject-btn,.delete-btn{background:transparent!important;color:var(--accent-ink);border:1px solid var(--accent)!important;border-radius:0!important;box-shadow:none;transition:background .15s}
.ghost-btn:hover,.reset-btn:hover,.edit-request-btn:hover,.modal-close:hover,.logout-btn:hover{background:var(--accent-soft)!important}
.edit-request-btn{color:var(--ink-faint);border-color:var(--line-strong)!important}
.back-link,.trends-back-link{color:var(--accent-ink)}
.pill,.badge,.status-pill,.source-badge,.lift-badge{border-radius:2px;font-weight:700}
.pill.year,.pill.repo{background:transparent;border:1px solid var(--line-strong)}
.study-tab,.status-tab,.chip{border-radius:0!important;background:var(--paper-raised);border:1px solid var(--line-strong);box-shadow:none;transition:background .15s,border-color .15s}
.study-tab:hover,.status-tab:hover,.chip:hover{border-color:var(--accent);background:var(--accent-soft)}
.study-tab[aria-selected="true"],.study-tab.active,.status-tab.active,.status-tab[aria-selected="true"],.chip[aria-pressed="true"]{background:var(--accent)!important;color:var(--on-accent)!important;border-color:var(--accent)!important}
.bar-filter{background:color-mix(in srgb,var(--paper) 82%,transparent)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)!important}
.panel,.note{border-radius:0}
footer.note h3{border-top-color:var(--line)}footer.note a{color:var(--accent-ink)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.tab-nav{position:static}.masthead{background:#fff!important}.masthead h1.title{color:#000!important}}
