/* 読みものページ（星座図鑑・このアプリについて・プライバシーポリシー）共通 */
:root{
  --bg:#070b18; --bg2:#0d1428; --ink:#e8ecf7; --ink-dim:#a3adc9; --gold:#f0c86e; --line:#7fd4e8;
  --edge:rgba(127,212,232,.2);
  --serif:"Hiragino Mincho ProN","Yu Mincho","BIZ UDMincho","Noto Serif JP",serif;
  --sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP","Meiryo",sans-serif;
}
*{box-sizing:border-box;}
html{background:var(--bg);}
body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.9;font-size:15.5px;
     background:radial-gradient(ellipse at 50% -10%,#16214a 0%,var(--bg) 60%) no-repeat,var(--bg);}
a{color:var(--line);}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.wrap{max-width:760px;margin:0 auto;padding:0 16px;}

header.site{border-bottom:1px solid var(--edge);}
header.site .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;}
.logo{font-family:var(--serif);font-weight:600;color:var(--gold);text-decoration:none;letter-spacing:.14em;font-size:18px;
      display:flex;align-items:center;gap:8px;}
.logo img{width:28px;height:28px;border-radius:7px;}
header.site nav{display:flex;gap:4px 14px;flex-wrap:wrap;font-size:13px;margin-left:auto;}
header.site nav a{color:var(--ink-dim);text-decoration:none;}
header.site nav a[aria-current="page"]{color:var(--gold);}

main{padding:28px 0 40px;}
.crumbs{font-size:12px;color:var(--ink-dim);margin-bottom:10px;}
.crumbs a{color:var(--ink-dim);}
h1{font-family:var(--serif);color:var(--gold);font-weight:600;font-size:clamp(24px,5vw,32px);
   letter-spacing:.08em;line-height:1.4;margin:0 0 4px;text-wrap:balance;}
h1 small{display:block;font-size:13px;color:var(--ink-dim);letter-spacing:.2em;font-weight:400;margin-top:4px;}
h2{font-family:var(--serif);color:var(--gold);font-weight:600;font-size:20px;letter-spacing:.08em;
   margin:38px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--edge);}
h3{font-size:16px;margin:24px 0 6px;}
p{margin:0 0 14px;}
.lead{color:var(--ink-dim);font-size:14.5px;}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 18px;}
.chip{font-size:12px;padding:3px 11px;border-radius:999px;border:1px solid var(--edge);color:var(--ink-dim);}
.chip.gold{border-color:rgba(240,200,110,.5);color:var(--gold);}

figure.chart{margin:18px 0;background:#050814;border:1px solid var(--edge);border-radius:14px;overflow:hidden;}
figure.chart svg{display:block;width:100%;height:auto;}
figure.chart figcaption{font-size:12px;color:var(--ink-dim);padding:8px 14px;border-top:1px solid var(--edge);line-height:1.6;}

.cta{display:inline-flex;align-items:center;gap:8px;margin:6px 0 10px;padding:12px 22px;border-radius:999px;
     border:1px solid var(--gold);background:rgba(240,200,110,.12);color:var(--gold);text-decoration:none;
     font-family:var(--serif);letter-spacing:.12em;font-size:15px;}
.cta:hover{background:rgba(240,200,110,.2);}

.box{background:var(--bg2);border:1px solid var(--edge);border-radius:12px;padding:14px 18px;margin:14px 0;}
.box.fun{border-left:3px solid var(--gold);border-radius:0 12px 12px 0;}
.box.kids{font-size:17px;line-height:2.2;letter-spacing:.03em;}
.box b{color:var(--gold);font-family:var(--serif);letter-spacing:.1em;}

table{width:100%;border-collapse:collapse;font-size:14px;margin:10px 0;}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--edge);vertical-align:top;}
th{color:var(--ink-dim);font-weight:400;font-size:12.5px;}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap;}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px;box-shadow:0 0 6px currentColor;}
.scroll{overflow-x:auto;}

ul.cards{list-style:none;padding:0;margin:12px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;}
ul.cards a{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--edge);border-radius:12px;
           background:var(--bg2);text-decoration:none;color:var(--ink);height:100%;}
ul.cards a:hover{border-color:rgba(240,200,110,.5);}
ul.cards svg{flex:0 0 64px;width:64px;height:64px;border-radius:8px;background:#050814;}
ul.cards b{display:block;font-family:var(--serif);color:var(--gold);font-weight:600;letter-spacing:.06em;}
ul.cards span{font-size:12px;color:var(--ink-dim);line-height:1.5;display:block;}

.pager{display:flex;justify-content:space-between;gap:10px;margin-top:34px;font-size:14px;}
dl.info{display:grid;grid-template-columns:8em 1fr;gap:6px 14px;margin:10px 0;}
dl.info dt{color:var(--ink-dim);}
dl.info dd{margin:0;}

footer.site{border-top:1px solid var(--edge);padding:22px 0 30px;font-size:12.5px;color:var(--ink-dim);}
footer.site nav{display:flex;gap:6px 16px;flex-wrap:wrap;margin-bottom:8px;}
footer.site a{color:var(--ink-dim);}

@media (max-width:520px){
  body{font-size:15px;}
  dl.info{grid-template-columns:1fr;}
  dl.info dd{margin-bottom:8px;}
}

/* ---- 天文カレンダー ---- */
.past{display:none !important;}
.box.next{display:grid;gap:6px;border-left:3px solid var(--gold);border-radius:0 12px 12px 0;}
.box.next .chip{margin-right:6px;}
.box.warn{border-color:rgba(255,140,120,.6);background:rgba(255,120,100,.08);line-height:1.8;}
.box.warn b{color:#ffb3a3;font-family:var(--sans);letter-spacing:.02em;}
nav.toc{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;margin:6px 0 4px;}
.month h2{margin-top:30px;}
ul.evlist{list-style:none;padding:0;margin:0;}
.ev{display:grid;grid-template-columns:7.2em 1fr;gap:4px 14px;padding:12px 0;border-bottom:1px solid var(--edge);}
.ev-date{font-variant-numeric:tabular-nums;color:var(--ink);font-size:14px;line-height:1.5;}
.ev-date small{display:block;color:var(--ink-dim);font-size:12px;}
.ev-body{line-height:1.7;}
.ev-body b{font-weight:600;}
.ev-sub{display:block;font-size:13px;color:var(--ink-dim);}
.ev-links{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;margin-top:2px;}
.ev .chip{font-size:11px;padding:1px 9px;vertical-align:1px;}
.ev-full .chip,.ev-moonview .chip{border-color:rgba(240,200,110,.55);color:var(--gold);}
.ev-meteor .chip{border-color:rgba(127,212,232,.6);color:var(--line);}
.ev-eclipse .chip{border-color:rgba(255,160,120,.6);color:#ffc2a3;}
.ev-planet .chip{border-color:rgba(190,170,255,.6);color:#cfc2ff;}
table.evtable td a{white-space:nowrap;}
ul.src{font-size:13px;line-height:1.8;}
@media (max-width:520px){
  .ev{grid-template-columns:1fr;gap:2px;}
  .ev-date{display:flex;gap:8px;align-items:baseline;color:var(--gold);}
  .ev-date small{display:inline;}
}
.mcard{margin:10px 0;}
.mcard-h{font-size:15px;margin-bottom:6px;}
.mcard-h b{color:var(--gold);font-family:var(--sans);letter-spacing:0;}
.mcard dl.info{grid-template-columns:7.5em 1fr;margin:6px 0 8px;font-size:14px;}
@media (max-width:520px){ .mcard dl.info{grid-template-columns:1fr;gap:0;} .mcard dl.info dd{margin-bottom:6px;} }
