@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;700&display=swap');
:root{
  --bg:#0f1530;--bg2:#171f45;--card:#1c2552;--line:#2c376e;
  --text:#eef0fa;--muted:#aab2d8;--gold:#e8c872;--gold2:#f6e3a6;--accent:#8b7cf6;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(1200px 600px at 50% -200px,#26307a 0%,var(--bg) 60%) no-repeat,var(--bg);
  color:var(--text);font-family:"Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;line-height:1.85;font-size:16px}
a{color:var(--gold2)}
.wrap{max-width:860px;margin:0 auto;padding:0 16px}
header.site{border-bottom:1px solid var(--line);background:rgba(15,21,48,.85);position:sticky;top:0;backdrop-filter:blur(6px);z-index:5}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;flex-wrap:wrap}
.brand{color:var(--gold);font-weight:700;font-size:1.15rem;text-decoration:none;letter-spacing:.08em}
nav.main a{color:var(--text);text-decoration:none;margin-left:16px;font-size:.92rem}
nav.main a:hover{color:var(--gold2)}
.hero{padding:56px 0 28px;text-align:center}
.hero h1{font-size:clamp(1.6rem,5vw,2.3rem);margin:0 0 10px;color:var(--gold2);letter-spacing:.06em}
.hero p{color:var(--muted);margin:0 auto;max-width:560px}
h2{color:var(--gold);font-size:1.3rem;margin:40px 0 12px;border-left:4px solid var(--gold);padding-left:10px}
h3{color:var(--gold2);font-size:1.05rem;margin:22px 0 6px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}
a.card{display:block;text-decoration:none;color:var(--text);transition:transform .15s,border-color .15s}
a.card:hover{transform:translateY(-3px);border-color:var(--gold)}
.card .tag{display:inline-block;font-size:.75rem;color:#1a1a2e;background:var(--gold);border-radius:999px;padding:1px 10px;margin-bottom:8px}
.card h3{margin:0 0 6px;color:var(--gold2)}
.card p{margin:0;color:var(--muted);font-size:.92rem}
form.tool{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;gap:14px}
label{display:grid;gap:4px;font-size:.9rem;color:var(--muted)}
input,select{background:var(--bg2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:1rem;width:100%}
input:focus,select:focus{outline:2px solid var(--accent)}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
button.go{background:linear-gradient(135deg,var(--gold),#d6a74a);color:#1a1a2e;border:0;border-radius:10px;padding:12px 18px;font-weight:700;font-size:1rem;cursor:pointer}
button.go:hover{filter:brightness(1.08)}
.result{margin-top:24px}
.big{font-size:3rem;color:var(--gold);font-weight:700;line-height:1.1}
.pill{display:inline-block;background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:2px 12px;margin:2px 4px 2px 0;font-size:.85rem;color:var(--muted)}
.pill.on{border-color:var(--gold);color:var(--gold2)}
.note{color:var(--muted);font-size:.85rem}
.err{color:#ff9a9a}
.pr{background:#141a3d;border:1px dashed var(--gold);border-radius:12px;padding:16px;margin:28px 0}
.pr .badge{display:inline-block;background:var(--gold);color:#1a1a2e;font-weight:700;font-size:.75rem;border-radius:4px;padding:0 8px;margin-right:6px}
.pr a.btn{display:inline-block;margin-top:8px;background:var(--accent);color:#fff;border-radius:8px;padding:8px 16px;text-decoration:none}
table{border-collapse:collapse;width:100%;font-size:.92rem}
td,th{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left}
th{color:var(--muted);font-weight:500}
footer.site{margin-top:64px;border-top:1px solid var(--line);padding:24px 0 40px;color:var(--muted);font-size:.85rem}
footer.site a{color:var(--muted);margin-right:14px}
.disc{background:#141a3d;border-radius:10px;padding:12px 14px;color:var(--muted);font-size:.85rem}

/* ===== スピリチュアル仕上げ ===== */
:root{--serif:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;--violet:#7a63d6;--hero-img:url('../img/hero.jpg');--glow:rgba(232,200,114,.35)}
body{
  background:
    radial-gradient(2px 2px at 12% 18%,rgba(246,227,166,.9),transparent 60%),
    radial-gradient(1.5px 1.5px at 78% 12%,rgba(255,255,255,.8),transparent 60%),
    radial-gradient(1.5px 1.5px at 35% 62%,rgba(246,227,166,.7),transparent 60%),
    radial-gradient(2px 2px at 88% 70%,rgba(255,255,255,.7),transparent 60%),
    radial-gradient(1px 1px at 55% 35%,rgba(255,255,255,.8),transparent 60%),
    radial-gradient(1px 1px at 6% 82%,rgba(246,227,166,.8),transparent 60%),
    radial-gradient(900px 500px at 85% -120px,rgba(122,99,214,.35) 0%,transparent 70%),
    radial-gradient(1000px 600px at 10% -200px,#26307a 0%,transparent 65%),
    linear-gradient(180deg,#0b1030 0%,#0f1530 45%,#0a0e26 100%);
  background-attachment:fixed;
  font-family:"Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
}
h1,h2,h3,.brand,.big{font-family:var(--serif)}
.brand{font-size:1.25rem;letter-spacing:.14em;text-shadow:0 0 14px var(--glow)}
.brand::before{content:"☾ ";color:var(--gold2)}
header.site{background:rgba(11,16,48,.8);border-bottom:1px solid rgba(232,200,114,.25)}
.hero{position:relative;padding:84px 16px 56px;margin:0 -16px;text-align:center;overflow:hidden;
  background:linear-gradient(180deg,rgba(11,16,48,.35),rgba(11,16,48,.25) 45%,#0f1530 100%),var(--hero-img,none) center/cover no-repeat;border-bottom:0}
.hero h1{font-weight:700;letter-spacing:.12em;line-height:1.5;
  background:linear-gradient(180deg,#fff7da,#e8c872 70%,#caa14a);-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 30px rgba(232,200,114,.25)}
.hero p{color:#d6dbf5}
h2{border-left:0;padding-left:0;text-align:center;font-weight:700;letter-spacing:.1em;margin:56px 0 18px}
h2::before,h2::after{content:"✦";color:var(--gold);font-size:.7em;margin:0 .6em;vertical-align:middle;opacity:.8}
.card{background:linear-gradient(160deg,rgba(32,42,96,.85),rgba(22,29,70,.85));border:1px solid rgba(232,200,114,.22);
  box-shadow:0 6px 28px rgba(5,8,28,.45),inset 0 1px 0 rgba(255,255,255,.04);border-radius:16px}
a.card:hover{border-color:var(--gold);box-shadow:0 10px 36px rgba(232,200,114,.18)}
.card .tag{background:linear-gradient(135deg,var(--gold2),var(--gold));font-weight:700}
button.go{background:linear-gradient(135deg,#f6e3a6,#e8c872 45%,#c99a3f);box-shadow:0 4px 18px rgba(232,200,114,.3);letter-spacing:.06em}
form.tool{background:linear-gradient(160deg,rgba(32,42,96,.85),rgba(22,29,70,.85));border:1px solid rgba(232,200,114,.22);box-shadow:0 6px 28px rgba(5,8,28,.45)}
.divider{height:1px;margin:40px auto;max-width:320px;background:linear-gradient(90deg,transparent,var(--gold),transparent);position:relative}
.divider::after{content:"☾";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--bg);padding:0 12px;color:var(--gold)}
footer.site{border-top:1px solid rgba(232,200,114,.25);text-align:center}
@keyframes twinkle{0%,100%{opacity:.35}50%{opacity:1}}
.emblem{display:block;margin:0 auto 12px;width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 0 38px var(--glow);animation:twinkle 6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.emblem{animation:none}}
.hero h1{text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}

/* 占い師一覧・詳細ページ用のヘッダー画像 */
.hero.hero-readers{--hero-img:url('../img/readers-hero.jpg');padding:96px 16px 64px;background-position:center 30%}
a.go{background:linear-gradient(135deg,#f6e3a6,#e8c872 45%,#c99a3f);color:#1a1a2e!important;font-weight:700;box-shadow:0 4px 18px rgba(232,200,114,.3);letter-spacing:.06em}
.hero.hero-readers{background-position:center 72%;min-height:260px}

/* 占い師の詳細ページ：月夜のバナーの上にプロフィールカードを重ねる */
.profile-banner{height:230px;margin:0 -16px;background:linear-gradient(180deg,rgba(11,16,48,.25),rgba(15,21,48,.0) 40%,#0f1530 100%),url('../img/reader-hero.jpg') center 92%/cover no-repeat}
.profile-banner + #profile{margin-top:-28px;position:relative}
@media (min-width:700px){.profile-banner{height:260px}}
