/* Shared family controls; the Profile view is a quiet, readable reference. */
:root {
  --wiki-paper:#f6f7f2; --wiki-surface:#fffefb; --wiki-raised:#e8efea;
  --wiki-ink:#183e42; --wiki-body:#425d59; --wiki-muted:#5b6c69;
  --wiki-rule:#d8e2da; --wiki-accent:#326b66; --wiki-on-accent:#fff;
}
:root[data-theme="dark"] {
  --wiki-paper:#112325; --wiki-surface:#193033; --wiki-raised:#244044;
  --wiki-ink:#ecf4ee; --wiki-body:#c6d8d1; --wiki-muted:#a5bdb4;
  --wiki-rule:#3a5555; --wiki-accent:#9acfc0; --wiki-on-accent:#123b36;
}
.wiki-skip { position:fixed; left:16px; top:-100px; z-index:9999; background:var(--wiki-surface); color:var(--wiki-ink); padding:12px; }
.wiki-skip:focus { top:12px; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
:is(button,a,input,select,summary):focus-visible { outline:3px solid var(--wiki-accent); outline-offset:3px; }
.app-header { background:var(--wiki-surface) !important; color:var(--wiki-ink); border-bottom:1px solid var(--wiki-rule); height:auto !important; min-height:88px; padding:14px 28px; flex-wrap:wrap; gap:16px 28px; box-shadow:none; backdrop-filter:none; flex-shrink:0; }
.app-header .logo-area { text-decoration:none; color:var(--wiki-ink); align-items:center; gap:10px; font-size:1.25rem; }
.app-header .logo-accent { color:var(--wiki-ink) !important; background:none !important; -webkit-text-fill-color:currentColor !important; font-family:Georgia,serif !important; font-weight:600; }
.logo-accent small { display:block; font:600 10px/1.6 var(--font-sans,system-ui); letter-spacing:.14em; }
.wiki-mark { display:grid; place-items:center; border:1px solid var(--wiki-accent); border-radius:8px; width:38px; height:40px; color:var(--wiki-accent); font:25px Georgia,serif; }
.family-nav { display:flex; align-items:center; gap:20px; }
.family-nav a { color:var(--wiki-body); text-decoration:none; font-size:13px; font-weight:600; padding:10px 0; }
.family-nav a:hover,.family-nav a[aria-current] { color:var(--wiki-ink); text-decoration:underline; text-underline-offset:8px; text-decoration-thickness:2px; }
.app-header .header-controls { display:flex; align-items:center; gap:12px; margin-left:auto; }
.destination-control { display:flex; flex-direction:column; gap:3px; font-size:10px; color:var(--wiki-muted); }
.destination-control select { font:500 12px var(--font-sans,system-ui); padding:7px 24px 7px 9px; max-width:175px; border:1px solid var(--wiki-rule); border-radius:6px; color:var(--wiki-ink); background:var(--wiki-surface); }
.wiki-control,.appearance-menu summary { font:500 12px/1.4 var(--font-sans,system-ui); padding:9px 11px; color:var(--wiki-ink); background:var(--wiki-surface); border:1px solid var(--wiki-rule); border-radius:7px; cursor:pointer; }
.wiki-control:hover,.appearance-menu summary:hover { background:var(--wiki-raised); }
.wiki-control[aria-pressed="true"] { border-color:var(--wiki-accent); background:var(--wiki-raised); }
.wiki-control:disabled { opacity:.6; cursor:wait; }
.appearance-menu { position:relative; }
.appearance-menu[open] { z-index:50; }
.appearance-menu .control-label { display:none; }
.appearance-menu .layout-selector { position:absolute; top:44px; right:0; background:var(--wiki-surface); border:1px solid var(--wiki-rule); padding:8px; display:grid; width:160px; gap:3px; border-radius:8px; }
.appearance-menu .layout-btn { color:var(--wiki-body) !important; background:transparent !important; border:0 !important; text-align:left; padding:9px; font-family:var(--font-sans,system-ui); }
.appearance-menu .layout-btn.active { color:var(--wiki-ink) !important; background:var(--wiki-raised) !important; }
.app-header .access-entry { color:var(--wiki-accent); }
.wiki-intro { display:none; }
.wiki-button { display:inline-flex; justify-content:center; align-items:center; min-height:42px; padding:10px 16px; background:var(--wiki-accent); color:var(--wiki-on-accent); border:1px solid var(--wiki-accent); border-radius:7px; text-decoration:none; font:600 13px/1.4 var(--font-sans,system-ui); }
.wiki-button.secondary { background:transparent; color:var(--wiki-accent); border-color:var(--wiki-rule); }
.strain-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:6px; }
.strain-title-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.wiki-context-note,.save-location-note,.wiki-source-line { font:12px/1.65 var(--font-sans,system-ui); color:var(--wiki-muted); }
.wiki-context-note { margin-top:8px; }
.wiki-context-note:empty { display:none; }
.wiki-source-line { margin-top:4px; }
.wiki-source-line a,a.wiki-source-line { color:var(--wiki-accent); text-underline-offset:3px; }
.save-location-note { margin:7px 0 14px; }
.saved-filter { width:100%; text-align:left; margin-top:12px; }
.saved-filter span { float:right; font-variant-numeric:tabular-nums; }
.explore-genetics { align-self:flex-start; margin-top:16px; }
.wiki-recorded-terpenes { display:none; }
.layout-r {
  --bg-app:var(--wiki-paper); --bg-card:var(--wiki-surface); --bg-card-hover:var(--wiki-raised);
  --border-card:var(--wiki-rule); --text-primary:var(--wiki-ink); --text-secondary:var(--wiki-body); --text-muted:var(--wiki-muted);
  --color-accent:var(--wiki-accent); --color-accent-glow:var(--wiki-raised); --color-indica:#7054a0; --color-sativa:#a35e26; --color-hybrid:#276d89;
  --bx-canvas:var(--wiki-paper); --bx-surface:var(--wiki-surface); --bx-raised:var(--wiki-raised); --bx-hairline:var(--wiki-rule); --bx-hairline-strong:var(--wiki-rule);
  --bx-ink:var(--wiki-ink); --bx-body:var(--wiki-body); --bx-muted:var(--wiki-muted); --bx-accent:var(--wiki-accent);
  --bx-display:Georgia,serif; --bx-mono:var(--font-sans,system-ui); --box-shadow:none; --border-radius:10px;
}
.layout-r[data-theme="dark"] { --color-indica:#b7a0e2; --color-sativa:#e3b28d; --color-hybrid:#8bc8e0; }
.layout-r body { overflow:auto; height:auto; min-height:100vh; }
.layout-r .app-container { width:100%; height:auto; min-height:100vh; }
.layout-r .wiki-intro { display:block; width:100%; max-width:1380px; margin:0 auto; padding:32px 28px 26px; }
.wiki-eyebrow { font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--wiki-accent); margin-bottom:9px; }
.wiki-intro h1 { font:500 clamp(1.65rem,3vw,2.35rem)/1.2 Georgia,serif; margin-bottom:10px; letter-spacing:-.02em; }
.wiki-intro>p:last-child { color:var(--wiki-muted); font-size:14px; }
.layout-r .bento-grid { display:grid; grid-template-columns:280px minmax(0,1fr); grid-template-rows:auto; gap:22px; height:auto; overflow:visible; width:100%; max-width:1380px; margin:0 auto; padding:0 28px 30px; flex:1; }
.layout-r .bento-card { border:1px solid var(--wiki-rule); box-shadow:none; backdrop-filter:none; }
.layout-r .card-sidebar { grid-column:1; grid-row:1; height:calc(100vh - 36px); max-height:780px; padding:18px; position:sticky; top:18px; }
.layout-r .card-sidebar h2 { font:600 15px/1.4 var(--font-sans); margin-bottom:12px; border:0; padding:0; }
.layout-r #search-input { font-size:14px; background:var(--wiki-surface); border:1px solid var(--wiki-rule); border-radius:7px; padding:12px 30px 12px 12px; }
.layout-r .type-filters { flex-wrap:wrap; gap:5px; margin:12px 0 0; }
.layout-r .filter-pill { font-size:11px; padding:6px 9px; color:var(--wiki-body); border:1px solid var(--wiki-rule); }
.layout-r .filter-pill.active { color:var(--wiki-ink); background:var(--wiki-raised); border-color:var(--wiki-accent); }
.layout-r .strain-item { border-radius:6px; border:0; min-height:41px; color:var(--wiki-body); padding:10px; }
.layout-r .strain-item.selected { background:var(--wiki-raised); color:var(--wiki-ink); box-shadow:inset 3px 0 var(--wiki-accent); }
.layout-r .strain-item-type { font-size:10px; }
.layout-r .rail-stats,.layout-r .card-marginalia,.layout-r .card-stats,.layout-r .card-visualizer,.layout-r .close-details-btn { display:none !important; }
.layout-r .card-details { grid-column:2; grid-row:1; padding:0; overflow:visible; min-width:0; align-self:start; }
.layout-r .panel-tabs { display:flex; flex-wrap:wrap; gap:4px; padding:12px 20px 0; margin:0; border-bottom:1px solid var(--wiki-rule); }
.layout-r .panel-tab-btn { padding:10px 12px 12px; font:500 13px var(--font-sans); color:var(--wiki-muted); border:0; border-bottom:2px solid transparent; background:none; }
.layout-r .panel-tab-btn.active { color:var(--wiki-ink); border-bottom-color:var(--wiki-accent); }
.layout-r .tab-pane-content { padding:0; height:auto; overflow:visible; }
.layout-r #details-content { display:grid !important; grid-template-columns:1fr 1fr; gap:0; background:var(--wiki-surface); overflow:visible; }
.layout-r #details-content[style*="none"] { display:none !important; }
.layout-r .bx-tile { padding:24px; border-bottom:1px solid var(--wiki-rule); overflow:visible; min-width:0; grid-area:auto; }
.layout-r .bx-hero { grid-column:1/-1; padding:28px; display:flex; gap:16px; background:none; }
.layout-r #strain-name { font:500 clamp(2rem,4vw,3.1rem)/1.08 Georgia,serif; letter-spacing:-.035em; color:var(--wiki-ink); margin:0; }
.layout-r #strain-description { display:block; color:var(--wiki-body); font-size:15px; line-height:1.75; max-width:72ch; margin:0; }
.layout-r .bx-hero-foot { display:none; }
.layout-r .bx-origin { font:11px var(--font-sans); letter-spacing:0; text-transform:none; }
.layout-r .badge { font-size:11px; padding:4px 9px; border-radius:5px; }
.layout-r .bx-label { font:600 12px var(--font-sans); text-transform:none; letter-spacing:.01em; color:var(--wiki-ink); }
.layout-r .bx-ling { grid-column:1/-1; order:1; }
.layout-r .wiki-recorded-terpenes { display:flex; order:2; }
.layout-r .bx-aroma { order:3; }
.layout-r .bx-pot { order:4; }
.layout-r .bx-effct { order:5; }
.layout-r .bx-grow { order:6; grid-column:1/-1; border-bottom:0; }
.layout-r .bx-ratio,.layout-r .bx-terp { display:none !important; }
.layout-r .bx-chip,.layout-r .pill { background:var(--wiki-raised); color:var(--wiki-body); font:12px/1.5 var(--font-sans); padding:7px 10px; border:1px solid var(--wiki-rule); border-radius:6px; }
.layout-r .bx-sub { color:var(--wiki-muted); font:11px var(--font-sans); min-width:118px; }
.layout-r .bx-lin-row { align-items:flex-start; gap:12px; }
.layout-r .bx-pv { font-size:2rem; color:var(--wiki-ink); }
.layout-r .bx-market { font-size:12px; line-height:1.7; }
.layout-r #deepdive-tab-content,.layout-r #kb-tab-content { padding:24px; }
.layout-r .app-footer { height:auto; padding:18px; background:var(--wiki-surface); border-top:1px solid var(--wiki-rule); }
.layout-r .family-bar { flex-wrap:wrap; }
.layout-r .family-bar a { color:var(--wiki-accent); }
.reference-page { background:var(--wiki-paper); color:var(--wiki-ink); font:15px/1.7 system-ui,sans-serif; margin:0; height:auto; overflow:auto; }
.reference-page * { box-sizing:border-box; }
.reference-page .app-header,.reference-page .app-header .logo-area { display:flex; }
.reference-page .app-header { align-items:center; justify-content:space-between; }
.reference-page .logo-accent small { line-height:1.3; }
.reference-main { max-width:1000px; padding:36px 24px 60px; margin:auto; }
.reference-main h1 { font:500 clamp(2.25rem,5vw,3.75rem)/1.12 Georgia,serif; margin:20px 0; }
.reference-main h2 { font:500 1.45rem Georgia,serif; }
.reference-main a:not(.wiki-button) { color:var(--wiki-accent); }
.reference-card { padding:24px; border:1px solid var(--wiki-rule); border-radius:10px; background:var(--wiki-surface); margin:20px 0; }
.reference-card p { margin:12px 0; }
.reference-facts { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.reference-facts ul { padding-left:20px; }
.reference-index { columns:3 220px; list-style:none; padding:0; }
.reference-index li { break-inside:avoid; padding:7px 0; }
@media(max-width:1100px) { .app-header { gap:14px 20px; } .app-header .header-controls { gap:9px; } .family-nav { gap:14px; } .layout-r .bento-grid { grid-template-columns:245px minmax(0,1fr); gap:16px; } }
@media(max-width:780px) {
  .app-header { padding:14px 18px; justify-content:space-between; }
  .app-header .header-controls { margin:0; width:100%; flex-wrap:wrap; justify-content:flex-start; }
  .app-header .logo-area { font-size:1.1rem; } .family-nav { gap:12px; } .family-nav a { font-size:12px; }
  .destination-control { margin-right:auto; } .destination-control select { max-width:180px; }
  .layout-r .wiki-intro { padding:24px 18px; }
  .layout-r .bento-grid { display:block !important; padding:0 14px 24px; }
  .layout-r .card-sidebar { position:static; height:350px !important; max-height:350px !important; margin-bottom:16px; }
  .layout-r .card-details { position:static !important; transform:none !important; height:auto !important; max-height:none; width:100%; margin:0; }
  .layout-r #details-content { grid-template-columns:1fr; }
  .layout-r .bx-tile,.layout-r .bx-hero { padding:20px; }
  .layout-r .bx-ling,.layout-r .bx-grow { grid-column:auto; }
  .layout-r .panel-tabs { padding:10px 10px 0; } .layout-r .panel-tab-btn { font-size:12px; padding:10px 8px; }
  .layout-r .bx-lin-row { flex-wrap:wrap; }
  .layout-r .bx-lin-row .bx-sub { width:100%; }
  .strain-title-row { align-items:flex-start; }
  .reference-facts { grid-template-columns:1fr; }
}
@media(max-width:400px) { .app-header .logo-area { width:100%; } .family-nav { width:100%; justify-content:space-between; } .app-header .header-controls { gap:7px; } .destination-control { width:100%; } .app-header .access-entry { margin-left:auto; } .strain-actions { flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { .layout-r * { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* Reviewed articles remain readable in both profile and reference layouts. */
.research-article { max-width:78ch; }
.research-article a, #deepdive-body a { overflow-wrap:anywhere; }
.research-article h2 { margin-top:1.8em; }
.research-article h2:first-of-type { margin-top:0.5em; }
#deepdive-body { line-height:1.8; }
#deepdive-body h2 { margin-top:1.5em; }
#deepdive-body a { color:var(--wiki-accent); text-decoration:underline; }
#wiki-reviewed-article[hidden], #wiki-review-note[hidden] { display:none !important; }
