:root{
  --bg:#0c0d0f;--panel:#14161a;--panel2:#1a1d22;--fg:#f1eee8;--muted:#aaa69f;
  --line:#30343b;--gold:#d2aa4d;--gold-soft:#e2c77f;--ok:#9cc6a4;--warn:#d8b777;--danger:#d79393;
}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at 80% -10%,rgba(210,170,77,.08),transparent 34rem),var(--bg);color:var(--fg);font-family:"Noto Serif JP","Yu Mincho",serif;line-height:1.85}
a{color:var(--gold-soft)}button,input,select,textarea{font:inherit}.shell{width:min(1080px,calc(100% - 32px));margin:auto;padding:26px 0 64px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:36px}.brand{color:var(--fg);text-decoration:none;letter-spacing:.12em;font-size:.86rem}.crumb{color:var(--muted);font-size:.78rem}.hero{padding:28px 0 22px;border-bottom:1px solid var(--line);margin-bottom:26px}.kicker{color:var(--gold);font-size:.68rem;letter-spacing:.18em}.hero h1{margin:.35rem 0 .5rem;font-size:clamp(1.8rem,5vw,3.2rem);font-weight:600}.hero p{max-width:780px;color:var(--muted);margin:0}.badge{display:inline-flex;align-items:center;border:1px solid rgba(210,170,77,.42);color:var(--gold-soft);padding:.18rem .55rem;border-radius:99px;font:600 .68rem/1.4 sans-serif;letter-spacing:.08em}.badge.beta{border-color:#566170;color:#b9c9dc}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{display:block;padding:21px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008));text-decoration:none;color:var(--fg);transition:.18s}.card:hover{transform:translateY(-2px);border-color:rgba(210,170,77,.55)}.card h2{font-size:1.2rem;margin:.4rem 0}.card p{color:var(--muted);font-size:.82rem;margin:0}.card .meta{display:flex;gap:8px;flex-wrap:wrap}.panel{border:1px solid var(--line);background:var(--panel);padding:20px;margin:18px 0}.panel h2,.panel h3{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;color:var(--muted);font-size:.76rem;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;background:#0f1114;border:1px solid #3a3e46;color:var(--fg);padding:11px 12px;border-radius:6px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.btn{border:1px solid rgba(210,170,77,.6);background:rgba(210,170,77,.1);color:var(--gold-soft);padding:10px 16px;border-radius:6px;cursor:pointer}.btn:hover{background:rgba(210,170,77,.17)}.btn.secondary{border-color:#484e58;color:#d5d8dc;background:#171a1f}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.result{padding:14px;border:1px solid var(--line);background:var(--panel2)}.result small{display:block;color:var(--muted);font:.68rem/1.4 sans-serif;letter-spacing:.08em}.result strong{display:block;font-size:1.18rem;margin-top:4px}.note{color:var(--muted);font-size:.78rem}.callout{border-left:3px solid var(--gold);padding:10px 14px;background:rgba(210,170,77,.06);margin:18px 0}.source-list{font-size:.78rem;color:var(--muted)}.source-list li{margin:.45rem 0}.status-ok{color:var(--ok)}.status-warn{color:var(--warn)}.status-danger{color:var(--danger)}.direction-grid,.palace-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.direction-cell,.palace{min-height:110px;padding:10px;border:1px solid var(--line);background:#111318}.direction-cell strong,.palace strong{font-size:1.05rem}.palace .sub{font-size:.68rem;color:var(--muted);font-family:sans-serif}.palace.center{opacity:.8}.line-stack{display:flex;flex-direction:column-reverse;gap:8px;margin:18px 0;max-width:560px}.yao{display:grid;grid-template-columns:52px 1fr 100px;align-items:center;gap:10px}.yao-no{color:var(--muted);font-size:.72rem}.yao-mark{height:14px;position:relative}.yao-mark.yang{background:var(--gold-soft)}.yao-mark.yin{background:linear-gradient(90deg,var(--gold-soft) 0 42%,transparent 42% 58%,var(--gold-soft) 58%)}.yao-mark.changing::after{content:"変";position:absolute;right:-28px;top:-5px;color:var(--warn);font:600 .62rem sans-serif}.coin-log{color:var(--muted);font:.68rem sans-serif;text-align:right}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.day{padding:10px 8px;border:1px solid var(--line);background:#111318;min-height:122px}.day strong{display:block}.moon{font-size:1.7rem;line-height:1.2;margin:.5rem 0}.footer-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:760px){.grid,.form-grid,.result-grid{grid-template-columns:1fr}.week{grid-template-columns:repeat(2,1fr)}.shell{width:min(100% - 22px,1080px)}.hero{padding-top:12px}.direction-cell,.palace{min-height:94px}.yao{grid-template-columns:42px 1fr 74px}}

/* WEB-237: 動きを減らす設定のとき、カードの浮き上がり（hoverでtranslateY）を止める。このページは bundle-core を読まないため共通ガードが効かない。 */
@media (prefers-reduced-motion:reduce){.card{transition:none}}
