/* jiki.css — /jiki.php 専用。site.css の後に読まれる。
   共通トークン(--bg --ink --line --card --gold 等)を使い、
   ページ固有色は --jiki-* に閉じ込める。共通側は一切上書きしない。 */

:root{
  --jiki-kita:#c0483a;   /* 磁北の緋 */
  --jiki-hari:#c9c2bb;   /* 針の南側 */
  --jiki-asagi:#37749c;  /* 浅葱 */
  --jiki-midori:#4b8b5f;
}
:root[data-theme="dark"]{
  --jiki-kita:#e07a6c;
  --jiki-hari:#5a4f47;
  --jiki-asagi:#7fb0d0;
  --jiki-midori:#8fc39f;
}

.jiki{overflow-wrap:break-word}
.jiki p{margin-bottom:1.4em}
.jiki-sec{padding:80px 0}
.jiki-sec.alt{background:var(--bg2)}

/* ---------- hero ---------- */
.jiki-hero{padding:84px 0 64px;text-align:center;border-bottom:1px solid var(--line)}
.jiki-eyebrow{font-size:.78rem;letter-spacing:.32em;color:var(--accent-deep);font-weight:700;margin-bottom:26px}
.jiki-compass{width:140px;height:140px;margin:0 auto 30px;display:block}
.jiki-nsw{fill:var(--sub);font-size:13px;font-family:"Shippori Mincho",serif}
.jiki-needle{transform-origin:75px 75px;animation:jiki-settle 4.2s cubic-bezier(.2,.9,.25,1) forwards}
@keyframes jiki-settle{
  0%{transform:rotate(140deg)}
  30%{transform:rotate(-24deg)}
  50%{transform:rotate(14deg)}
  68%{transform:rotate(-7deg)}
  82%{transform:rotate(3deg)}
  100%{transform:rotate(0deg)}
}
@media (prefers-reduced-motion:reduce){.jiki-needle{animation:none}}
.jiki-hero h1{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(1.7rem,4.6vw,2.6rem);line-height:1.6;letter-spacing:.03em;word-break:keep-all}
.jiki-hero h1 .k{color:var(--jiki-kita)}
.jiki-sub{margin-top:20px;font-size:.92rem;color:var(--sub);letter-spacing:.05em}

/* ---------- headings ---------- */
.jiki-h2{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.7;margin-bottom:26px;word-break:keep-all}

/* ---------- lead quote ---------- */
.jiki-quote{border-left:3px solid var(--jiki-kita);padding:6px 0 6px 24px;font-family:"Shippori Mincho",serif;font-size:clamp(1.02rem,2.2vw,1.18rem);line-height:2.1;margin:34px 0 8px}

/* ---------- points ---------- */
.jiki-points{display:grid;gap:20px}
.jiki-point{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:26px 28px;position:relative;overflow:hidden}
.jiki-point::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pc)}
.jiki-point h3{font-family:"Shippori Mincho",serif;font-size:1.02rem;line-height:1.8;color:var(--pc);margin-bottom:8px}
.jiki-point p{margin:0;font-size:.92rem}
.jiki-point.p1{--pc:var(--jiki-kita)}
.jiki-point.p2{--pc:var(--jiki-asagi)}
.jiki-point.p3{--pc:var(--gold)}

/* ---------- steps ---------- */
.jiki-steps{list-style:none;counter-reset:jk}
.jiki-steps li{counter-increment:jk;display:grid;grid-template-columns:52px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}
.jiki-steps li:last-child{border-bottom:none}
.jiki-steps li::before{content:counter(jk,cjk-ideographic);font-family:"Shippori Mincho",serif;font-size:1.7rem;font-weight:700;color:var(--jiki-asagi);line-height:1.2}
.jiki-steps h3{font-size:.98rem;font-weight:700;margin-bottom:5px}
.jiki-steps p{margin:0;font-size:.92rem}

/* ---------- spectrum ---------- */
.jiki-spectrum{display:flex;margin:8px 0;border-radius:8px;overflow:hidden;height:56px}
.jiki-spectrum .b{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.08em;line-height:1.3}
.jiki-spectrum small{font-weight:400;font-size:.6rem;opacity:.85}
.b-uv{background:#7d5aa6}
.b-b{background:#37749c;flex:1.3}
.b-g{background:#4b8b5f}
.b-y{background:#c9a23a}
.b-r{background:#b2493c;flex:1.6}
.jiki-specnote{display:flex;justify-content:space-between;gap:12px;font-size:.82rem;margin:8px 0 26px;flex-wrap:wrap}
.jiki-specnote .ok{color:var(--jiki-asagi);font-weight:700}
.jiki-specnote .ng{color:var(--jiki-kita);font-weight:700}

/* ---------- resonance ---------- */
.jiki-resonance{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:26px 28px;margin-top:6px}
.jiki-resonance dl{display:grid;grid-template-columns:1fr auto;gap:9px 16px;font-size:.9rem}
.jiki-resonance dt{color:var(--sub)}
.jiki-resonance dd{font-weight:700;text-align:right;margin:0}
.jiki-resonance .down{color:var(--jiki-kita)}
.jiki-resonance .flat{color:var(--sub)}
.jiki-resonance .kicker{margin:16px 0 0;padding-top:14px;border-top:1px dashed var(--line);font-size:.9rem;font-weight:700}

/* ---------- caveats ---------- */
.jiki-caveat{list-style:none;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:0 0 14px 14px;padding:22px 28px}
.jiki-caveat li{padding:9px 0 9px 24px;position:relative;font-size:.9rem;border-bottom:1px solid var(--line)}
.jiki-caveat li:last-child{border-bottom:none}
.jiki-caveat li::before{content:"※";position:absolute;left:0;color:var(--gold)}
.jiki-close{margin-top:26px}

/* ---------- download ---------- */
.jiki-dl{text-align:center}
.jiki-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:28px 0 6px}
.jiki-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 30px;border-radius:26px;font-weight:700;font-size:.9rem;letter-spacing:.06em;transition:transform .2s,filter .2s}
.jiki-btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.jiki-btn.main{background:var(--btn);color:var(--btn-ink)}
.jiki-btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--field-line)}
.jiki-btn.ghost:hover{background:var(--accent-soft)}
.jiki-cite{margin-top:26px;font-size:.74rem;color:var(--sub);line-height:1.9}
.jiki-cite a{color:var(--jiki-asagi);text-decoration:underline}

/* ---------- mobile ---------- */
@media(max-width:600px){
  .jiki-sec{padding:60px 0}
  .jiki-hero{padding:64px 0 48px}
  .jiki-steps li{grid-template-columns:40px 1fr;gap:12px}
  .jiki-resonance dl{grid-template-columns:1fr;gap:2px}
  .jiki-resonance dd{text-align:left;margin-bottom:10px}
}
