/* Shared content styles (extracted from the per-page inline CSS in the handoff templates). */
:root{
  --bg:#e7ebe1; --surface:#f6f7f1; --surface-2:#eef1e7; --ink:#20261d; --muted:#697061; --line:#d3d8c8;
  --grow:#4f7a3a; --grow-ink:#3c5f2c; --warn:#bd6027; --cul:#4f7a3a; --cs:#4a72a8;
  --shadow:0 1px 0 rgba(32,38,29,.04), 0 12px 30px -18px rgba(32,38,29,.35);
  --sans:"Hanken Grotesk",ui-sans-serif,system-ui,sans-serif; --serif:"Fraunces",Georgia,"Times New Roman",serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#171a14; --surface:#1f231b; --surface-2:#242920; --ink:#e8ebe0; --muted:#9aa08e; --line:#333829;
  --grow:#7cae5f; --grow-ink:#a7d089; --warn:#e08a4e; --cul:#7cae5f; --cs:#7ba0d0;
  --shadow:0 1px 0 rgba(0,0,0,.2), 0 14px 34px -18px rgba(0,0,0,.6); color-scheme:dark;}}
:root[data-theme="dark"]{
  --bg:#171a14; --surface:#1f231b; --surface-2:#242920; --ink:#e8ebe0; --muted:#9aa08e; --line:#333829;
  --grow:#7cae5f; --grow-ink:#a7d089; --warn:#e08a4e; --cul:#7cae5f; --cs:#7ba0d0;
  --shadow:0 1px 0 rgba(0,0,0,.2), 0 14px 34px -18px rgba(0,0,0,.6); color-scheme:dark;}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg); color:var(--ink); font-family:var(--sans); line-height:1.6; -webkit-font-smoothing:antialiased; font-size:16px}
.page{max-width:760px; margin:0 auto; padding-block:clamp(18px,4vw,40px); padding-left:clamp(16px,4vw,32px); padding-right:clamp(16px,4vw,32px)}
.crumb{font-size:.82rem; color:var(--muted); margin-bottom:12px}
.crumb a{color:var(--muted); text-decoration:none} .crumb a:hover{text-decoration:underline}
h1{font-family:var(--serif); font-weight:500; font-optical-sizing:auto; font-size:clamp(2.1rem,5.5vw,3.1rem); line-height:1.02; letter-spacing:-.01em; margin:0 0 2px; text-wrap:balance}
.sci{font-style:italic; color:var(--muted); font-size:1.05rem; margin:0 0 14px}
.badges{display:flex; gap:8px; flex-wrap:wrap; margin:0 0 18px}
.badge{font-size:.76rem; font-weight:600; border-radius:7px; padding:4px 10px; border:1px solid var(--line)}
.badge.cul{color:var(--cul)} .badge.dif{color:var(--grow-ink)} .badge.cs{color:var(--cs)}
.lede{font-size:1.08rem; max-width:66ch; margin:0 0 14px}
p{max-width:66ch}
h2{font-family:var(--serif); font-weight:500; font-size:1.5rem; letter-spacing:-.01em; margin:34px 0 8px; text-wrap:balance}
a{color:var(--grow-ink)}
.facts{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:20px 0 4px}
@media (max-width:560px){ .facts{grid-template-columns:1fr 1fr} }
.fact{background:var(--surface-2); border:1px solid var(--line); border-radius:12px; padding:12px 14px}
.fact .k{font-size:.74rem; color:var(--muted)} .fact .v{font-family:var(--serif); font-weight:600; font-size:1.15rem; margin-top:2px; font-variant-numeric:tabular-nums}
.params{border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); box-shadow:var(--shadow); margin-top:16px}
.params:first-of-type{margin-top:10px}
.params h3{margin:0; font-family:var(--serif); font-weight:500; font-size:1.05rem; padding:12px 16px; background:var(--surface-2); border-bottom:1px solid var(--line)}
table{width:100%; border-collapse:collapse}
tr{border-bottom:1px solid var(--line)} tr:last-child{border-bottom:0}
th,td{text-align:left; padding:10px 16px; font-size:.94rem; vertical-align:top}
th{color:var(--muted); font-weight:500; width:44%} td{font-weight:500; font-variant-numeric:tabular-nums}
.conf{display:inline-block; font-size:.72rem; font-weight:600; color:var(--warn); border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line)); border-radius:6px; padding:2px 7px; margin-left:8px; vertical-align:middle}
.related{display:flex; flex-wrap:wrap; gap:8px; margin-top:4px}
.related a{font-size:.9rem; font-weight:500; color:var(--grow-ink); background:color-mix(in srgb,var(--grow) 10%,transparent); border:1px solid color-mix(in srgb,var(--grow) 28%,var(--line)); border-radius:999px; padding:7px 13px; text-decoration:none}
footer.foot{margin-top:40px; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:.85rem}
.src{color:var(--muted); font-size:.85rem}

/* actions row (share / save) */
.actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.actions[hidden]{display:none}
.actions button{font-family:var(--sans);font-size:.84rem;font-weight:600;color:var(--grow-ink);background:color-mix(in srgb,var(--grow) 10%,transparent);border:1px solid color-mix(in srgb,var(--grow) 28%,var(--line));border-radius:9px;padding:7px 12px;cursor:pointer}
.actions button:hover{background:color-mix(in srgb,var(--grow) 18%,transparent)}
.actions button:focus-visible{outline:2px solid var(--grow);outline-offset:2px}

/* print / "save as PDF": clean one-column sheet */
@media print{
  .sh,.actions,.related,.crumb{display:none !important}
  :root{--bg:#fff;--surface:#fff;--surface-2:#f3f3f3;--ink:#000;--muted:#444;--line:#bbb;--grow-ink:#000;--shadow:none}
  body{background:#fff;color:#000;font-size:11pt}
  .page{max-width:none;padding:0}
  .params,.fact{box-shadow:none;break-inside:avoid}
  a{color:#000;text-decoration:none}
  h1,h2{break-after:avoid}
  .foot::after{content:"mushroomsgrowing.com";display:block;margin-top:8px;font-weight:600}
}

/* prose pages (about, policies) */
.prose ul,.prose ol{max-width:66ch;padding-left:1.3em}
.prose li{margin:6px 0}
.prose .updated{margin-top:32px;color:var(--muted);font-size:.85rem}

/* Turnstile widget must never overflow its panel */
#pa-turnstile,#ca-turnstile{max-width:100%;overflow:hidden}

/* species page v2 */
.hero{margin:0 0 20px}
.hero img{display:block;width:100%;height:auto;max-height:460px;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:var(--surface-2)}
.hero figcaption{font-size:.8rem;color:var(--muted);margin-top:7px}
.hero figcaption a{color:var(--muted)}
.muted{color:var(--muted)}
table.subs thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;width:auto;padding-top:8px;padding-bottom:8px;background:var(--surface-2)}
table.subs td:first-child{font-weight:600;width:34%}
table.subs td:last-child{font-weight:400;color:var(--muted)}
.suit{display:inline-block;font-size:.76rem;font-weight:600;border-radius:999px;padding:2px 10px;border:1px solid var(--line)}
.suit-best{color:var(--grow-ink);border-color:var(--grow);background:color-mix(in srgb,var(--grow) 14%,transparent)}
.suit-good{color:var(--grow-ink);border-color:color-mix(in srgb,var(--grow) 45%,var(--line))}
.suit-possible{color:var(--muted)}
.suit-poor{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}
.simgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:6px}
.sim{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--ink)}
.sim:hover{border-color:var(--grow)}
.sim span{font-style:italic;color:var(--muted);font-size:.85rem}.sim em{font-style:normal;font-size:.82rem;color:var(--grow-ink)}
ol.sources{font-size:.88rem;color:var(--muted);padding-left:1.2em;max-width:70ch}
ol.sources a{color:var(--grow-ink)}
ul.notes-list{max-width:66ch;padding-left:1.3em}
.faq details{border-top:1px solid var(--line);padding:14px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:1.02rem}
.faq p{margin:10px 0 0;color:var(--muted)}
ol.howto{padding-left:1.3em;max-width:66ch}
ol.howto li{margin:8px 0}
@media print{.hero img{max-height:260px}}
