/* Tarot & Oracle private portal — calm, editorial, premium, mobile-first. */
:root{
  --bg:#faf8f5; --panel:#ffffff; --ink:#26221d; --muted:#6b6157; --line:#ece6de;
  --accent:#8a6d4b; --accent-soft:#f0e9df; --radius:14px; --maxw:720px;
  --font: ui-serif, Georgia, "Iowan Old Style", "Times New Roman", serif;
  --sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
:root[data-theme="dark"]{
  --bg:#17150f; --panel:#201d16; --ink:#ece6da; --muted:#a89c8b; --line:#2e2a20;
  --accent:#c8a877; --accent-soft:#2a2419;
}
@media (prefers-color-scheme: dark){
  :root[data-theme="system"]{
    --bg:#17150f; --panel:#201d16; --ink:#ece6da; --muted:#a89c8b; --line:#2e2a20;
    --accent:#c8a877; --accent-soft:#2a2419;
  }
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}
.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 85%, transparent);position:sticky;top:0;backdrop-filter:blur(8px);z-index:5}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:56px}
.brand{font-family:var(--font);letter-spacing:.02em;font-weight:600}
.theme{background:none;border:1px solid var(--line);color:var(--ink);border-radius:999px;width:34px;height:34px;cursor:pointer}
.nav{border-bottom:1px solid var(--line)}
.nav a{display:inline-block;padding:12px 16px;color:var(--muted);text-decoration:none;font-size:.9rem}
.nav a:hover{color:var(--accent)}
main.wrap{padding-top:24px;padding-bottom:64px}
h1{font-family:var(--font);font-weight:600;font-size:2rem;margin:.2em 0}
h2{font-family:var(--font);font-weight:600;font-size:1.2rem;margin:0 0 .6em}
h3{font-family:var(--font);font-size:1rem;margin:1.2em 0 .4em;color:var(--muted)}
.hero{padding:24px 0 8px}
.hero.small{padding:8px 0}
.lede{color:var(--muted);font-size:1.05rem;margin:.2em 0 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:16px 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;text-align:center}
.stat .n{font-family:var(--font);font-size:1.5rem}
.stat .l{color:var(--muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.reading{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:12px;margin:10px 0;text-decoration:none;color:inherit;transition:border-color .15s}
.reading:hover{border-color:var(--accent)}
.rd-date{font-family:var(--font);font-size:1.05rem}
.rd-deck{color:var(--ink)}
.rd-meta{color:var(--muted);font-size:.86rem}
.search{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);margin-bottom:12px;font-size:1rem}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:5px 12px;font-size:.82rem}
.freq{list-style:none;padding:0;margin:0}
.freq li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
.freq li span{color:var(--muted)}
.freq.big li{font-family:var(--font);font-size:1.05rem}
.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.cardtile{display:block;border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:inherit;background:var(--bg)}
.cardtile:hover{border-color:var(--accent)}
.pos{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.cname{font-family:var(--font);font-size:1.1rem;margin:.2em 0}
.kw{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.kw span{font-size:.72rem;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 7px}
.kw.big span{font-size:.85rem}
.yr{margin-bottom:16px}
.tl{display:flex;gap:12px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line)}
.tl a{color:var(--ink);text-decoration:none}
.tl a:hover{color:var(--accent)}
.fb p{margin:.3em 0 1em}
.back{display:inline-block;color:var(--muted);text-decoration:none;margin:8px 0}
.back:hover{color:var(--accent)}
.fine{color:var(--muted);font-size:.8rem;margin-top:10px}
.foot{border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;padding:20px 0}
.gate{max-width:420px;margin:12vh auto;text-align:center}
@media (max-width:520px){ .stats{grid-template-columns:repeat(2,1fr)} h1{font-size:1.6rem} }
a{color:var(--accent)}
