/*
Theme Name: Mr Researcher
Theme URI: https://mrresearcher.com
Description: Design system for Mr Researcher — a warm, credible reading-room palette for a medical research platform. Child theme of Twenty Twenty-Five.
Author: Mr Researcher
Version: 1.0
Template: twentytwentyfive
Text Domain: mrresearcher
*/

/* ============================================================
   DESIGN TOKENS
   Colours and fonts are defined in theme.json.
   This file holds everything theme.json cannot express.
   ============================================================ */

:root{
  /* radius — encodes hierarchy, do not flatten */
  --radius-pill:999px;   /* the ONE primary action on a screen */
  --radius-card:12px;    /* cards, panels, modals */
  --radius-input:6px;    /* inputs, chips, secondary buttons */

  /* one shadow only — modals and the hero input */
  --shadow:0 1px 2px rgba(43,38,32,.06), 0 8px 24px rgba(43,38,32,.05);

  /* motion budget */
  --ease:cubic-bezier(.2,.7,.3,1);
  --dur-fast:150ms;
  --dur-normal:250ms;

  /* shorthand aliases so custom HTML blocks can use var(--lamp) etc. */
  --ink:#2B2620; --ink-soft:#6B6259; --ink-faint:#A79D8C;
  --paper:#F7F3EA; --paper-deep:#EFE9DA; --card:#FFFDF8; --rule:#E2DACD;
  --lamp:#1F5D4C; --lamp-deep:#154438; --lamp-tint:#DDE8E1;
  --brass:#C68B2C; --brass-deep:#B67D1E; --brass-tint:#F5E7C9;
  --success:#3E7D5A; --warning:#B07D1A; --error:#9C3B2E; --info:#4A6FA5;
}

/* ---------- BASE ---------- */
body{ -webkit-font-smoothing:antialiased; }

/* Keyboard focus must always be visible. Never remove. */
:focus-visible{
  outline:2px solid var(--lamp);
  outline-offset:2px;
  border-radius:var(--radius-input);
}

/* Numbers in data contexts align in columns */
.tabular{ font-variant-numeric:tabular-nums; }

/* ---------- AI OUTPUT MARKER ----------
   Every block a model generated carries this.
   Users must learn at a glance which text came from a machine. */
.ai-output{
  border-left:3px solid var(--lamp);
  border-radius:0;
  padding:2px 0 2px 16px;
  margin:18px 0;
}
.ai-output .ai-tag{
  font-size:11px; font-weight:700; letter-spacing:.3px;
  color:var(--lamp); margin-bottom:6px; display:block;
}

/* ---------- BUTTONS ---------- */
/* pill radius is reserved for the single primary action */
.wp-block-button.is-style-fill .wp-block-button__link{
  border-radius:var(--radius-pill);
  font-weight:600;
  padding:11px 24px;
  transition:background var(--dur-fast) var(--ease);
}
.wp-block-button.is-style-outline .wp-block-button__link{
  border-radius:var(--radius-input);
  font-weight:600;
  border-width:1px;
}

/* accent (brass) button — dark text on brass, never brass text */
.btn-brass .wp-block-button__link,
a.btn-brass{
  background:var(--brass) !important;
  color:#2B2620 !important;
  border-radius:var(--radius-pill);
  font-weight:700;
}
.btn-brass .wp-block-button__link:hover,
a.btn-brass:hover{ background:var(--brass-deep) !important; }

/* ---------- CARDS ----------
   Separate surfaces with borders, not shadows.
   Shadowed cards everywhere is the SaaS-template look. */
.mr-card{
  background:var(--card);
  border:1px solid var(--rule);
  border-radius:var(--radius-card);
  padding:28px 26px;
}
.mr-card:hover{ border-color:var(--lamp); }

/* ---------- BADGES ---------- */
.mr-badge{
  font-size:10.5px; font-weight:700; padding:2px 8px;
  border-radius:var(--radius-input); letter-spacing:.2px;
  white-space:nowrap;
}
.mr-badge.free{ background:var(--lamp-tint); color:var(--lamp-deep); }
.mr-badge.soon{
  background:transparent; color:var(--ink-faint);
  border:1px solid var(--rule); font-weight:600;
}
.mr-badge.new{ background:var(--brass-tint); color:#7A5615; }

/* in-development rows sit back visually */
.mr-soon{ opacity:.62; }

/* ---------- IN-DEVELOPMENT PANEL ----------
   Dashed border, no shadow — visibly not a finished component. */
.mr-wip{
  background:var(--card);
  border:1px dashed var(--rule);
  border-radius:var(--radius-card);
  padding:34px 32px;
  text-align:center;
}
.mr-wip .wtag{
  font-size:11.5px; font-weight:700; color:var(--brass);
  letter-spacing:.4px; margin-bottom:12px; display:block;
}

/* ---------- DEADLINE / URGENCY ---------- */
.mr-urgent{ color:var(--brass); font-weight:700; }

/* ---------- STATUS DOTS ---------- */
.mr-dot{ width:8px; height:8px; border-radius:50%; display:inline-block; }
.mr-dot.ok{ background:var(--success); }
.mr-dot.warn{ background:var(--warning); }
.mr-dot.bad{ background:var(--error); }

/* ---------- LINKS ---------- */
a{ transition:color var(--dur-fast) var(--ease); }

/* ---------- TYPOGRAPHY GUARDS ---------- */
/* body text capped for readability */
.entry-content p{ max-width:62ch; }

/* ---------- MOTION ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}
