.meaning-hub-hero { display:grid; grid-template-columns:1.6fr 1fr; align-items:center; gap:32px; padding-top:72px; padding-bottom:56px; }
.meaning-hub-hero h1 { max-width:12ch; font-size:clamp(46px,6vw,82px); line-height:1.04; margin:18px 0 28px; }
.meaning-lead { font-size:22px; max-width:39ch; color:var(--text-soft); }
.meaning-hub-hero img { width:100%; height:auto; max-width:320px; justify-self:center; }
.meaning-library { padding-bottom:72px; }
.meaning-search { display:grid; grid-template-columns:1fr 280px; gap:8px 24px; padding:24px 0 8px; }
.meaning-search label { color:var(--text-soft); font-size:15px; }
.meaning-search label[for="meaning-category"] { grid-column:2; grid-row:1; }
.meaning-search input,.meaning-search select { width:100%; min-width:0; border:1px solid var(--line-strong); border-radius:12px; background:var(--bg-alt); color:var(--text); padding:14px 16px; font:inherit; }
.meaning-search input:focus-visible,.meaning-search select:focus-visible,.meaning-card:focus-visible,.meaning-themes a:focus-visible,.meaning-pagination a:focus-visible,.meaning-pagination button:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.meaning-search-note { grid-column:1/-1; margin:4px 0; font-size:13px; color:var(--text-muted); }
#meaning-count { margin:8px 0 24px; font-size:14px; color:var(--text-muted); }
.meaning-themes,.meaning-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.meaning-themes { margin-top:24px; }
.meaning-themes a,.meaning-pagination a,.meaning-pagination button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 14px; border:1px solid var(--line); border-radius:12px; color:var(--text-soft); background:var(--bg-alt); text-decoration:none; font:inherit; font-size:14px; }
.meaning-themes a[aria-current="page"],.meaning-pagination a[aria-current="page"] { border-color:var(--accent); color:var(--accent); }
.meaning-pagination { margin-top:32px; }
.meaning-pagination button { cursor:pointer; }
.meaning-pagination button:disabled { opacity:.45; cursor:default; }
#meaning-result-page { padding:8px; font-size:14px; color:var(--text-soft); }
#meaning-results-title { margin-top:8px; margin-bottom:24px; }
#meaning-search-error { padding:0 0 24px; }
#meaning-empty { padding:12px 0 24px; }
#meaning-empty .meaning-back { margin-left:20px; }
.meaning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.meaning-card { display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,rgba(31,25,48,.85),rgba(12,11,24,.9)); text-decoration:none; color:var(--text); }
.meaning-card:hover { border-color:var(--accent); }
.meaning-card[hidden],.meaning-library [hidden] { display:none; }
.meaning-category { color:var(--accent); font-size:12px; letter-spacing:.045em; }
.meaning-card h3 { font-size:26px; line-height:1.2; margin:14px 0; }
.meaning-card p { margin:0 0 24px; color:var(--text-soft); font-size:16px; }
.meaning-read { margin-top:auto; color:var(--accent); font-size:14px; }
.meaning-method { max-width:780px; padding-bottom:80px; color:var(--text-soft); }
.meaning-method h2 { color:var(--text); }
.meaning-breadcrumb { padding-top:36px; color:var(--text-muted); font-size:14px; }
.meaning-breadcrumb a,.meaning-body a,.meaning-back,.meaning-method a,.meaning-app-note a { color:var(--accent); }
.meaning-article { max-width:820px; padding-top:52px; padding-bottom:64px; }
.meaning-header h1 { font-size:clamp(38px,5vw,64px); line-height:1.08; margin:20px 0 30px; overflow-wrap:break-word; }
.meaning-opening { font-family:var(--font-head); font-size:clamp(23px,2.2vw,29px); line-height:1.6; color:var(--text); }
.meaning-body { max-width:66ch; font-size:19px; color:var(--text-soft); }
.meaning-body section { margin-top:48px; }
.meaning-body h2 { font-size:31px; color:var(--text); line-height:1.2; margin-bottom:20px; }
.meaning-body h3 { font-family:var(--font-body); font-size:19px; color:var(--text); margin-bottom:8px; }
.meaning-variations>div { padding:12px 0; border-bottom:1px solid var(--line); }
.meaning-reflection { margin:48px 0; padding:28px; border-left:2px solid var(--accent); background:var(--surface-soft); border-radius:0 18px 18px 0; }
.meaning-reflection h2 { font-size:23px; margin-top:0; }
.meaning-reflection p { margin-bottom:0; }
.meaning-sleep { padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:16px; }
.meaning-sleep summary { cursor:pointer; color:var(--text); }
.meaning-sleep li { margin:12px 0; }
.meaning-sleep span { color:var(--text-muted); }
.meaning-interpretation-sources { font-size:16px; }
.meaning-interpretation-sources li { margin:16px 0; }
.meaning-interpretation-sources span { color:var(--text-muted); }
.meaning-editorial { font-size:13px; color:var(--text-muted); margin-top:24px; }
.meaning-related { padding-bottom:56px; }
.meaning-back { display:inline-block; margin-top:28px; }
.meaning-app { display:grid; grid-template-columns:1fr 220px; align-items:center; gap:32px; padding-top:48px; padding-bottom:72px; border-top:1px solid var(--line); }
.meaning-app p { max-width:58ch; }
.meaning-app img { max-width:100%; height:auto; }
.meaning-app h2 { font-size:clamp(28px,4vw,40px); }
.meaning-app-note { font-size:13px; color:var(--text-muted); margin-top:16px; }
@media(max-width:850px) { .meaning-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .meaning-hub-hero { grid-template-columns:1fr 220px; } }
@media(max-width:600px) {
  .meaning-hub-hero { grid-template-columns:1fr; padding-top:42px; gap:0; }
  .meaning-hub-hero img { width:200px; order:-1; justify-self:start; margin:-15px 0 16px; }
  .meaning-hub-hero h1 { font-size:48px; }
  .meaning-search { grid-template-columns:1fr; }
  .meaning-search label[for="meaning-category"] { grid-column:1; grid-row:3; margin-top:12px; }
  .meaning-grid,.meaning-app { grid-template-columns:1fr; }
  .meaning-article { padding-top:32px; }
  .meaning-body { font-size:18px; }
  .meaning-app img { display:none; }
  .meaning-card { padding:24px; }
}
