@charset "UTF-8";
/* ============================================================
   作業室（紙のシート）の見た目
   ・ソーラーリターン／ルナリターンなど、計算して読むお部屋で共通に使います
   ・入口とトップは assets/site.css（夜の見た目）です
   ============================================================ */
:root{
  --ink:#1A1A1A; --sub:#5A5A5A; --faint:#8A857E;
  --thin:#D8D4CC; --rule:#9A9288; --paper:#FFFFFF; --tint:#F5F2EC;
  --gold:#9A7B3A; --gold-sf:rgba(154,123,58,.42);
  --nat:#9B5509; --ret:#2742A6;
}
*{box-sizing:border-box}
body{margin:0;background:#EDEAE4;color:var(--ink);
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;
  line-height:1.8;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sheet{max-width:210mm;margin:0 auto;background:var(--paper);padding:14mm 14mm 18mm}

/* ── 入力（印刷では消えます） ── */
.setup{max-width:210mm;margin:0 auto;background:var(--paper);padding:10mm 14mm 12mm;
  border-bottom:1px solid var(--thin)}
.gr-back{margin:0 0 1.1rem;font-size:.78rem;letter-spacing:.06em}
.gr-back a{color:var(--sub);text-decoration:none;border-bottom:1px solid var(--thin);padding-bottom:.12rem}
.gr-back a:hover{color:var(--ink);border-color:var(--rule)}
.setup h1{margin:0 0 .3rem;font-size:1.3rem;font-weight:400;letter-spacing:.12em}
.setup .note{margin:0 0 1.4rem;font-size:.8rem;color:var(--sub);line-height:2}
.grid{display:grid;gap:.9rem 1.1rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
.f label{display:block;font-size:.7rem;letter-spacing:.1em;color:var(--sub);margin-bottom:.3rem}
.f input,.f select{width:100%;font-family:inherit;font-size:.92rem;padding:.5rem .6rem;
  border:1px solid var(--thin);border-radius:2px;background:#fff;color:var(--ink)}
.f input:focus,.f select:focus{outline:none;border-color:var(--gold-sf)}
.row2{display:flex;gap:.5rem}
.row2 input{flex:1}
button{font-family:inherit;font-size:.82rem;letter-spacing:.08em;cursor:pointer;
  background:#fff;color:var(--ink);border:1px solid var(--rule);border-radius:2px;padding:.5rem 1rem}
button:hover{background:var(--tint)}
.btn-main{background:var(--ink);color:#fff;border-color:var(--ink);padding:.7rem 2rem;font-size:.9rem}
.btn-main:hover{background:#000}
.bar{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;margin-top:1.4rem}
.msg{font-size:.76rem;color:#2E6B3E;min-height:1.3em}
.msg.ng{color:#A33}
.opts{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:.4rem}
.opts label{display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;cursor:pointer}
.hint{margin:.35rem 0 0;font-size:.72rem;color:var(--faint);line-height:1.9}
fieldset{border:1px solid var(--thin);border-radius:2px;padding:.9rem 1rem 1.1rem;margin:1.4rem 0 0}
legend{font-size:.72rem;letter-spacing:.14em;color:var(--gold);padding:0 .4rem}

/* ── シート ── */
.cover{text-align:center;padding-bottom:1.6rem;border-bottom:2px solid var(--rule)}
.cover__k{margin:0;font-size:.62rem;letter-spacing:.4em;color:var(--gold)}
.cover__y{margin:.7rem 0 0;font-size:2rem;letter-spacing:.14em}
.cover__n{margin:.5rem 0 0;font-size:1.05rem;letter-spacing:.2em}
.cover__b{margin:.5rem 0 0;font-size:.76rem;color:var(--sub);line-height:2}

h2.sh{margin:2.4rem 0 1rem;font-size:.95rem;font-weight:400;letter-spacing:.2em;color:var(--gold);
  border-bottom:1px solid var(--thin);padding-bottom:.4rem}
.lead{margin:0 0 1.2rem;font-size:.84rem;color:var(--sub);line-height:2.1}

.moment{display:grid;gap:.6rem 1.4rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));
  background:var(--tint);padding:1.1rem 1.3rem;border-radius:2px}
.moment div{font-size:.86rem}
.moment b{display:block;font-size:.68rem;letter-spacing:.12em;color:var(--gold);font-weight:400;margin-bottom:.15rem}

#wheel{margin:1.4rem auto 0;max-width:150mm}
#wheel svg{width:100%;height:auto;display:block}
.legend{display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;margin-top:.7rem;font-size:.74rem;color:var(--sub)}
.legend i{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;margin-right:.35rem;vertical-align:-.1rem}

/* 読みどころ */
.keys{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.key{border:1px solid var(--thin);border-left:3px solid var(--gold);border-radius:2px;padding:.9rem 1.1rem}
.key__k{margin:0;font-size:.66rem;letter-spacing:.14em;color:var(--gold)}
.key__v{margin:.45rem 0 0;font-size:1rem;letter-spacing:.06em}
.key__n{margin:.4rem 0 0;font-size:.76rem;color:var(--sub);line-height:1.95}

table{width:100%;border-collapse:collapse;font-size:.82rem}
th,td{padding:.4rem .5rem;border-bottom:1px solid var(--thin);text-align:left}
th{font-size:.68rem;letter-spacing:.1em;color:var(--sub);font-weight:400}
td.g{font-size:1.05rem;width:1.8rem;text-align:center}
td.r{color:#B3453F;font-size:.74rem}
td.h{color:var(--sub);font-size:.78rem}
.tnum{text-align:right;color:var(--sub);font-size:.76rem}

.cmp td,.cmp th{font-size:.8rem}
.cmp .on{background:var(--tint)}

#prompt{width:100%;min-height:16rem;font-family:inherit;font-size:.78rem;line-height:1.95;
  padding:.9rem;border:1px solid var(--thin);border-radius:2px;background:var(--tint);color:var(--ink);resize:vertical}

.foot{margin-top:2.6rem;padding-top:.9rem;border-top:1px solid var(--thin);
  text-align:center;font-size:.7rem;letter-spacing:.1em;color:var(--faint)}

@media print{
  body{background:#fff}
  .setup,.noprint{display:none !important}
  .sheet{max-width:none;padding:0}
}
