/* Layout: スマホ1列。①何をする日？ ②いつ？ ③ひと言の答え＋送る文 ④本当？ ⑤近い良い日 ⑥月の暦。大きな字・ボタンの形が分かる押す所 */
:root{
  --paper:#f7f6f2; --ink:#1f2229; --muted:#4e545f; --line:#d6d2c8; --panel:#ffffff;
  --ai:#27466f; --ai-ink:#ffffff; --tint:#eaeef5;
  --good:#2c7a4b; --mid:#8c5f12; --bad:#93445a;
  --good-bg:#e5f1e9; --mid-bg:#f5ecd9; --bad-bg:#f3e6ea; --gold:#a8750f; --gold-bg:#f8eed6;
  --display:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#15171c; --ink:#eceef2; --muted:#b3b9c4; --line:#353a45; --panel:#1d2027; --ai:#9db9e6; --ai-ink:#15171c; --tint:#1f2938;
  --good:#74c795; --mid:#e6b866; --bad:#e39aab; --good-bg:#1b2c22; --mid-bg:#30281a; --bad-bg:#33222a; --gold:#e3b04f; --gold-bg:#33291a; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#15171c; --ink:#eceef2; --muted:#b3b9c4; --line:#353a45; --panel:#1d2027; --ai:#9db9e6; --ai-ink:#15171c; --tint:#1f2938;
  --good:#74c795; --mid:#e6b866; --bad:#e39aab; --good-bg:#1b2c22; --mid-bg:#30281a; --bad-bg:#33222a; --gold:#e3b04f; --gold-bg:#33291a; color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.75;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:18px 56px}
.wrap{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.wrap>*{min-width:0}
h1{font-family:var(--display);font-weight:800;font-size:clamp(26px,7vw,36px);line-height:1.25;margin:0}
.sub{margin:4px 0 0;color:var(--muted);font-size:16px}
.step{display:flex;flex-direction:column;gap:8px}
.q{font-weight:700;font-size:17px;margin:0}
.uses{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}

.uses>*{min-width:0}
.use{font:inherit;font-size:16.5px;font-weight:500;min-height:48px;padding:6px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);cursor:pointer;text-align:left}
.use[aria-pressed="true"]{background:var(--ai);border-color:var(--ai);color:var(--ai-ink);font-weight:700}
.dates{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{font:inherit;font-size:16px;min-height:44px;padding:6px 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);cursor:pointer}
input[type=date]{font:inherit;font-size:18px;min-height:48px;padding:6px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);max-width:100%}
.check{display:flex;align-items:center;gap:10px;font-size:16px;min-height:44px;cursor:pointer}
.check input{width:22px;height:22px;accent-color:var(--ai);flex:none}
.check .offnote{font-size:15.5px;color:var(--ink)}
.check{flex-wrap:wrap;column-gap:6px}
button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--ai);outline-offset:2px}
.answer{border-radius:16px;padding:18px;background:var(--panel);border:2px solid var(--line);display:flex;flex-direction:column;gap:10px}
.k-good{border-color:var(--good)} .k-mid{border-color:var(--mid)} .k-bad{border-color:var(--bad)}
.dayline{font-size:16px;color:var(--muted);margin:0}
.verdict{display:flex;align-items:center;gap:12px;margin:0}
.badge{font-family:var(--display);font-weight:800;font-size:30px;line-height:1;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:none}
.status{margin:0;display:flex;flex-wrap:wrap;gap:6px}
.status span{font-size:16.5px;font-weight:700;border-radius:6px;padding:2px 10px}
.who{display:flex;flex-wrap:wrap;gap:6px}
.who button{font:inherit;font-size:15px;min-height:40px;padding:4px 12px;border:1.5px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);cursor:pointer}
.who button[aria-pressed="true"]{border-color:var(--ai);color:var(--ai);font-weight:700}
.k-good .badge{color:var(--good);background:var(--good-bg)} .k-mid .badge{color:var(--mid);background:var(--mid-bg)} .k-bad .badge{color:var(--bad);background:var(--bad-bg)}
.vt{font-family:var(--display);font-weight:800;font-size:26px;line-height:1.3}
.k-good .vt{color:var(--good)} .k-mid .vt{color:var(--mid)} .k-bad .vt{color:var(--bad)}
.lead{font-size:18px;font-weight:700;margin:0}
.advice{margin:0}
.time{margin:0;background:var(--tint);border-radius:10px;padding:8px 12px}
.time b{color:var(--ai)}
.alt{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:10px;margin:0}
.send{border:1.5px dashed var(--ai);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.send .h{font-weight:700;color:var(--ai);font-size:16px;margin:0}
.send .msg{margin:0;background:var(--tint);border-radius:8px;padding:10px 12px;user-select:all}
.btn{font:inherit;font-size:16px;font-weight:700;min-height:46px;padding:8px 16px;border:none;border-radius:999px;background:var(--ai);color:var(--ai-ink);cursor:pointer;align-self:flex-start}
.toast{min-height:1.4em;font-size:15.5px;color:var(--good);margin:0}
h2{font-family:var(--display);font-size:22px;font-weight:800;margin:0 0 8px;line-height:1.35}
.truth{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.truth p{margin:0 0 6px}
.truth details summary{cursor:pointer;color:var(--ai);font-weight:700;min-height:44px;display:flex;align-items:center}
.truth details p{margin:0 0 8px}
.seg{display:flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;width:fit-content;max-width:100%;margin-bottom:10px}
.seg button{font:inherit;font-size:15.5px;min-height:44px;padding:6px 14px;border:none;background:var(--panel);color:var(--ink);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--ai);color:var(--ai-ink);font-weight:700}
.seg button[aria-pressed="true"]::before{content:"✓ "}
.seg button[aria-pressed="false"]{color:var(--muted)}
.list{display:flex;flex-direction:column;gap:8px}
.nd{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;text-align:left}
.nd>span:first-child{min-width:0;flex:1}
.nd .d{font-weight:700;font-size:18px}
.nd .s{font-size:15.5px;color:var(--muted)}
.nd .go{flex:none;background:var(--ai);color:var(--ai-ink);font-weight:700;font-size:15px;border-radius:999px;padding:8px 14px}
.stars{color:var(--gold);font-weight:800;letter-spacing:1px}
.slab{font-size:13px;font-weight:700;color:var(--gold);background:var(--gold-bg);border-radius:4px;padding:1px 6px;margin-left:6px}
.terms{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
.terms details{border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.terms summary{list-style:none;cursor:pointer;padding:8px 12px;display:flex;align-items:center;gap:10px;min-height:48px}
.terms summary::-webkit-details-marker{display:none}
.terms summary::after{content:"説明 ＋";margin-left:auto;color:var(--ai);font-size:15px}
.terms details[open] summary::after{content:"閉じる －"}
.terms .tx{padding:0 12px 12px;margin:0}
.tag{font-size:16px;font-weight:700;padding:2px 10px;border-radius:6px}
.t-good{color:var(--good);background:var(--good-bg)} .t-mid{color:var(--mid);background:var(--mid-bg)} .t-bad{color:var(--bad);background:var(--bad-bg)}
.off{opacity:.6}
.offnote{font-size:15px;color:var(--muted)}
.note{background:var(--tint);border-radius:10px;padding:12px 14px;margin:8px 0 0}
.note b{display:block;font-size:15.5px;color:var(--ai)}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:15.5px;color:var(--ink);margin:6px 0 8px}
.legend b{font-family:var(--display);font-size:19px}
.lk{font-size:13px;font-weight:700;border-radius:4px;padding:0 4px}
.lk.k{color:var(--gold);background:var(--gold-bg)} .lk.x{color:var(--bad);background:var(--bad-bg)}
.cal{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed}
.cal th{font-weight:700;color:var(--muted);font-size:15px}
.cal td{background:var(--panel);border:1px solid var(--line);border-radius:8px;vertical-align:top;height:80px;padding:3px 2px;cursor:pointer;text-align:center}
.cal td.empty{background:transparent;border-color:transparent;cursor:default}
.cal td.sel{outline:3px solid var(--ai);outline-offset:-1px}
.cal td.hol .n,.cal th.sun{color:var(--bad)}
.cal .top{display:flex;justify-content:space-between;align-items:center;min-height:16px}
.cal .n{font-weight:700;font-size:17px;font-variant-numeric:tabular-nums;display:block;line-height:1.2}
.cal .m{display:block;font-family:var(--display);font-weight:800;font-size:20px;line-height:1.1}
.cal .r{display:block;font-size:14px;font-weight:500;color:var(--ink)}
.cal .why{display:block;font-size:12.5px;font-weight:700;color:var(--bad);line-height:1.2;word-break:keep-all}
.mbtn{font:inherit;font-size:16px;min-height:44px;padding:6px 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);cursor:pointer}
.pr{border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:15.5px;color:var(--muted);background:var(--panel)}
.pr b{font-size:12px;letter-spacing:.08em;border:1px solid var(--line);border-radius:4px;padding:0 6px;margin-right:8px}
footer{font-size:15.5px;color:var(--muted);display:flex;flex-direction:column;gap:6px}
@media (max-width:560px){.cal .r{font-size:12px;color:var(--muted)}.cal td{height:70px}.cal .m{font-size:26px}.cal .n{font-size:18px}.lk{font-size:14px}}

/* ---- 本番のページ（見本の色・字の変数を使う） */
a{color:var(--ai)}
.art{gap:26px}
.art>header{display:flex;flex-direction:column;gap:6px}
.art h1{font-size:28px;line-height:1.35}
.art h2{font-size:22px;margin:0 0 10px}
.art h3{font-size:19px;margin:0 0 8px;font-weight:700}
.art section>p,.art .fi p{margin:0 0 10px}
.site-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.site{font-family:var(--display);font-weight:800;font-size:17px;color:var(--ink);text-decoration:none}
.crumb{font-size:14px;color:var(--muted);margin:0}
.crumb a{color:var(--muted)}
.meta{font-size:15.5px;color:var(--ink);margin:0}
.intro{font-size:18px;margin:0}
.answer.top .eyebrow{margin:0;font-size:15px;font-weight:700;color:var(--muted)}
.answer.top{gap:8px}
.answer.top .lead,.answer.top .advice{font-size:17px;font-weight:400;margin:0}
.answer.top .time{font-size:16px;margin:0}
.answer.top .badge{width:34px;height:34px;font-size:19px}
.answer.top .vt{font-size:23px}
.wb{border-top:1px solid var(--line);padding-top:8px}
.wb p{margin:0}
.wtag{display:inline-block;font-size:14px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 10px;margin-bottom:4px!important}
.done p{margin:0 0 6px}
.small{font-size:15.5px;margin:0;color:var(--muted)}
.small span{font-weight:700;border-radius:4px;padding:0 6px}
.mycheck .myres{margin:8px 0 0;font-size:17px}
.mycheck input{font:inherit;font-size:17px;min-height:46px;padding:4px 10px;border:1.5px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink)}
.faq2 details.q{border-top:1px solid var(--line)}
.faq2 details.q:last-child{border-bottom:1px solid var(--line)}
.faq2 summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 0;font-weight:700;min-height:52px}
.faq2 summary::-webkit-details-marker{display:none}
.faq2 summary::after{content:"答え ＋";margin-left:auto;flex:none;color:var(--ai);font-size:16px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.faq2 details[open] summary::after{content:"閉じる －"}
.faq2 details p{margin:0 0 12px}
.prs{display:flex;flex-direction:column;gap:8px}
#bestbox .lead{font-weight:700}
.answer.top .btn{margin-top:4px}
a.btn{text-decoration:none;display:inline-flex;align-items:center}
/* 日付の行：行全体を押せる薄い行、右に「›」だけ */
.dlist{display:flex;flex-direction:column;gap:8px}
a.dl{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);text-decoration:none;min-height:60px}
a.dl:hover{background:var(--tint)}
.dl .dt{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
.dl .d{font-weight:700;font-size:18px}
.dl .off{font-size:15px;color:var(--muted)}
.dl .s{flex-basis:100%;font-size:16px;color:var(--muted)}
.dl .stars{flex-basis:100%;font-size:14px;letter-spacing:2px;color:var(--ink)}
.dl .chev{font-size:30px;line-height:1;color:var(--ai);flex:none}
.dlist .hint,.dlist>p{padding:10px 4px;margin:0}
/* 折りたたみ（開く所は「＋」） */
details.fold{border-top:1px solid var(--line)}
details.fold:last-of-type{border-bottom:1px solid var(--line)}
details.fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px 0;min-height:58px}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary h2{margin:0;font-size:20px}
details.fold>summary::after{content:"＋";margin-left:auto;flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ai);color:var(--ai);display:grid;place-items:center;font-weight:700;font-size:18px}
details.fold[open]>summary::after{content:"－"}
.fi{padding:0 0 16px}
.qa{margin:0}
.qa dt{font-weight:700;margin:12px 0 2px}
.qa dt:first-child{margin-top:0}
.qa dd{margin:0}
/* 月ごと */
details.mon{border-bottom:1px solid var(--line)}
details.mon:first-of-type{border-top:1px solid var(--line)}
details.mon>summary{list-style:none;cursor:pointer;display:flex;align-items:center;padding:12px 4px;min-height:54px;font-weight:700;font-size:18px}
details.mon>summary::-webkit-details-marker{display:none}
details.mon>summary::after{content:"開く ＋";margin-left:auto;color:var(--ai);font-size:15.5px;font-weight:700}
details.mon[open]>summary::after{content:"閉じる －"}
details.mon .dlist{margin:0 0 10px}
/* 押す所 */
.filt{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.fl{font-weight:700;font-size:15.5px}
.filt button,.uswitch button{font:inherit;font-weight:700;cursor:pointer;border:1.5px solid var(--ai);background:var(--panel);color:var(--ai)}
.filt button{font-size:15px;min-height:40px;padding:4px 12px;border-radius:999px;white-space:nowrap}
.filt button[aria-pressed="true"],.uswitch button[aria-pressed="true"]{background:var(--ai);color:var(--ai-ink)}
.filt button[aria-pressed="true"]::before,.uswitch button[aria-pressed="true"]::before{content:"✓ "}
.uswitch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.uswitch button{font-size:16px;min-height:46px;padding:4px 4px;border-radius:12px;white-space:nowrap}
.pick-use h2{font-size:20px;margin:0 0 10px}
.panel{display:flex;flex-direction:column;gap:14px;margin-top:16px}
html.js .pans,html.js .ph{display:none}
.pans .verdict{display:flex;gap:8px;align-items:center;margin:0}
.pans .badge{font-family:var(--display);font-weight:800;font-size:20px}
.pans .vt{font-family:var(--display);font-weight:800;font-size:20px}
.jumbo h3{margin:0 0 4px}
.jumbo .jd{font-family:var(--display);font-weight:800;font-size:24px;margin:0}
.jumbo p{margin:0 0 6px}
.slab2{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:16px}
.sver{margin:0;font-weight:700}
.hint{font-size:16px;color:var(--muted);margin:0 0 8px}
.howto{padding-left:1.2em;margin:0}
.howto li{margin-bottom:8px}
/* 関連リンク：枠なしの行 */
.links h2{font-size:18px;margin:18px 0 6px}
.links ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.links a{display:flex;align-items:center;gap:8px;padding:12px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;min-height:50px}
.links a::after{content:"›";margin-left:auto;color:var(--ai);font-size:24px;line-height:1}
.fnav{display:flex;flex-wrap:wrap;gap:6px 16px}
.fnav a{color:var(--muted)}
.blank{border:1.5px dashed var(--line);border-radius:10px;padding:14px;color:var(--muted);margin:0}
.sp{width:100%;border-collapse:collapse}
.sp th,.sp td{border-bottom:1px solid var(--line);padding:10px 4px;text-align:left;vertical-align:top;font-size:17px}
.sp th{font-size:14.5px;color:var(--muted);font-weight:700}
.sp .mk{font-family:var(--display);font-weight:800;font-size:22px;width:2.2em;text-align:center}
.sp a{color:var(--ink)}
.sp .why2{display:block;font-size:16px;color:var(--muted)}
.doc h2{margin-top:8px}
.doc p,.doc li{margin:0 0 8px}
.pr{margin:0}

/* ===== 暦の顔（全ページ共通・見本の変数を上書き） ===== */
:root{
  --paper:#ffffff; --ink:#232323; --muted:#666462; --line:#d8d6d2; --panel:#ffffff;
  --shu:#c8372d; --ai:#1f3a6b; --ai-ink:#ffffff; --tint:#f4f3f1;
  --good:#2f7a45; --good-bg:#ffffff; --mid:#232323; --mid-bg:#ffffff; --bad:#c8372d; --bad-bg:#ffffff;
  --gold:#c8372d; --gold-bg:#fbeeec;
  --display:"Kaisei Opti","Hiragino Mincho ProN","Yu Mincho",serif;
  --body:"BIZ UDPGothic","Hiragino Sans","Yu Gothic",sans-serif;
  --r:2px; --sh:none;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#161616; --ink:#ebe9e5; --muted:#a8a5a0; --line:#3a3937; --panel:#161616; --shu:#e0634f; --ai:#8fa9d8; --ai-ink:#161616; --tint:#222120;
  --good:#6fbf84; --bad:#e0634f; --gold:#e0634f; --gold-bg:#2a1d1b; --mid:#ebe9e5; color-scheme:dark}}
*{box-shadow:none!important}
body{padding-bottom:40px;font-family:var(--body)}
h1,h2,h3,.vt{font-family:var(--display);font-weight:700;letter-spacing:.02em}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* ヘッダー：サイト名と文字のメニューだけ */
.gh{border-bottom:2px solid var(--ink);margin:-18px calc(-1 * max(16px, env(safe-area-inset-left,0px))) 20px;padding:10px max(16px, env(safe-area-inset-left,0px)) 8px;background:var(--paper)}
.gh-in{max-width:680px;margin:0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px}
body.wide .gh-in{max-width:980px}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink)}
.logo span{font-family:var(--display);font-weight:700;font-size:19px}
.gnav{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap}
.gnav a{color:var(--ai);font-size:16px;text-decoration:underline;text-underline-offset:4px;padding:4px 0}
.gnav a:hover{text-decoration:underline}
@media (max-width:520px){.gnav{margin-left:0;width:100%;gap:18px}.gnav a{font-size:16px}}
/* 角の丸みは0〜4px、影なし */
.answer,.card,.send,.pr,a.dl,.nd,.tile,details.mon,.use,.chip,.btn,.mbtn,input[type=date],.filt button,.uswitch button,.cal td,.who button,.seg,.time,.status span,.tag,.terms details,.note,.truth{border-radius:2px!important}
/* 印（はんこ）：吉日は朱の角印、凶日は墨の枠だけ */
.in{display:inline-grid;place-items:center;min-width:1.9em;height:1.9em;padding:0 .2em;font-family:var(--display);font-weight:700;font-size:14px;line-height:1;letter-spacing:0;vertical-align:middle;border-radius:2px}
.in.kichi{background:var(--shu);color:#fff}
.in.kyo{border:1.5px solid var(--ink);color:var(--ink)}
.in.lg{font-size:17px;min-width:2.3em;height:2.3em}
.answer.top{position:relative}
.answer.relief{border-top-width:2px!important}
.answer.top>.eyebrow,.answer.top>.verdict,.answer.top>.lead:first-of-type,.pans>.eyebrow,.pans>.verdict{padding-right:80px}
.pans{position:relative}
.hanko-w{position:absolute;right:0;top:14px;display:flex;flex-direction:column;align-items:center;gap:4px;width:72px}
.hk-m{font-size:12.5px;line-height:1.3;text-align:center;color:var(--ink)}
.hanko{position:static;display:grid;place-items:center;width:50px;height:50px;margin:0;font-family:var(--display);font-weight:700;font-size:28px;border:2.5px solid currentColor;border-radius:3px;transform:rotate(-3deg)}
.hanko.good{color:var(--shu)}.hanko.mid,.hanko.bad{color:var(--ink)}
/* 答えの枠：カードではなく、上の太い色の罫と下の細い罫 */
.answer{background:transparent!important;border:none!important;border-top:4px solid var(--ink)!important;border-bottom:1px solid var(--line)!important;padding:16px 0!important}
.answer.k-good{border-top-color:var(--shu)!important}.answer.k-mid{border-top-color:var(--ink)!important}.answer.k-bad{border-top-color:var(--ink)!important}
.answer .eyebrow{font-size:16px!important;font-weight:400!important;color:var(--ink)!important;letter-spacing:0!important}
.answer.top .vt{font-size:26px}
.answer .time{background:transparent;border-left:3px solid var(--ai);padding:2px 0 2px 10px}
.k-good .vt{color:var(--shu)}.k-mid .vt,.k-bad .vt{color:var(--ink)}
.wtag{border:none!important;padding:0!important;font-size:14px!important;color:var(--ai)!important}
.wb{border-top:1px dotted var(--line)}
/* 日付の行：罫線で区切る。日付は藍で、押せると分かるように */
.dlist{gap:0!important;border-top:1px solid var(--ink)}
a.dl{border:none!important;border-bottom:1px solid var(--line)!important;background:transparent!important;padding:10px 2px!important}
a.dl:hover{background:var(--tint)!important}
.dl .d{color:var(--ai);font-family:var(--display);font-weight:700;font-size:19px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.dl .s{color:var(--ink);font-size:15.5px}
.dl .chev{display:none}
.dl .ato{color:var(--muted)}
.dl .stars{color:var(--shu)}
/* 送る文・PR */
.send{border:1px solid var(--ink)!important;background:var(--paper)!important}
.send .msg{background:var(--tint)}
.pr{border:1px dashed var(--muted)!important;background:transparent!important}
.btn{background:var(--ink)!important;color:#fff!important}
/* 折りたたみ・質問 */
details.fold{border-top:1px solid var(--ink)}
details.fold>summary::after{border:none!important;width:auto!important;height:auto!important;font-size:22px!important;color:var(--ink)!important}
.faq2 details.q{border-top:1px solid var(--line)}
/* 押す所 */
.filt button,.uswitch button{border:1px solid var(--ink)!important;background:var(--paper)!important;color:var(--ink)!important}
.filt button[aria-pressed="true"],.uswitch button[aria-pressed="true"]{background:var(--ink)!important;color:#fff!important}
.uswitch button .in{margin-right:6px;font-size:17px}
.links a::after{content:none!important}
.links ul{border-top:1px solid var(--ink)}
.links a{color:var(--ai)}
.crumb a{color:var(--muted)}
/* 道具（トップの下）を紙と罫線に */
.nd{border:none!important;border-bottom:1px solid var(--line)!important;background:transparent!important}
.nd .go{background:none!important;color:var(--ai)!important;padding:0!important;text-decoration:underline}
.chip,.mbtn{border:1px solid var(--ink)!important;background:var(--paper)!important}
input[type=date]{border:1px solid var(--ink)!important;background:var(--paper)!important}
.truth,.terms details{border:none!important;border-top:1px solid var(--line)!important;background:transparent!important}
.status span{background:transparent!important;border:1px solid currentColor}
.t-good{background:transparent!important}.t-bad{background:transparent!important;color:var(--shu)!important}.t-mid{background:transparent!important}
.cal{border-spacing:0!important;border-top:2px solid var(--ink)}
.cal th{font-family:var(--display);padding:4px 0;border-bottom:1px solid var(--ink)}
.cal th:first-child{color:var(--shu)}.cal th:last-child{color:var(--ai)}
.cal td{border:none!important;border-bottom:1px solid var(--line)!important;background:transparent!important}
.cal td:nth-child(7) .n{color:var(--ai)}
.cal td.hol .n,.cal td:first-child .n{color:var(--shu)}
.cal .n{font-family:var(--display)}
.lk.k{background:var(--shu)!important;color:#fff!important}.lk.x{background:transparent!important;border:1px solid var(--ink);color:var(--ink)!important}
.stars,.slab{color:var(--shu)!important;background:transparent!important}
/* フッター */
.gf{border-top:2px solid var(--ink);padding-top:18px;margin-top:10px;display:flex;flex-direction:column;gap:12px;font-size:14.5px;color:var(--muted)}
.gf-cols{display:flex;flex-wrap:wrap;gap:6px 18px}
.gf-cols a{color:var(--ink)}
/* ===== トップ ===== */
.top-wrap{max-width:980px}
/* 日めくりの1枚 */
.himekuri{max-width:520px;width:100%;margin:0 auto;background:var(--paper);border:1px solid var(--ink);border-top:none;position:relative}
.hm-bind{height:22px;background:var(--ink);display:flex;justify-content:center;gap:120px;align-items:center}
.hm-bind i{width:9px;height:9px;border-radius:50%;background:var(--paper)}
.hm-tear{height:12px;border-bottom:2px dotted var(--muted);background:radial-gradient(circle at 6px 0,var(--paper) 4px,transparent 4.5px) 0 0/12px 12px repeat-x,var(--tint)}
.hm-body{padding:14px 20px 18px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"ym ym" "d rk" "w rk" "kyu kyu" "st st" "nx nx";align-items:end}
.hm-ym{grid-area:ym;margin:0;display:flex;justify-content:space-between;font-family:var(--display);font-size:16px}
.hm-d{grid-area:d;font-family:var(--display);font-weight:700;font-size:clamp(108px,32vw,150px);line-height:.95;letter-spacing:-.02em;color:var(--ink)}
.hm-d.sun{color:var(--shu)}.hm-d.sat{color:var(--ai)}
.hm-rk{grid-area:rk;writing-mode:vertical-rl;font-family:var(--display);font-weight:700;font-size:34px;letter-spacing:.12em;padding:0 2px 6px 0;border-left:1px solid var(--line);padding-left:12px;align-self:center}
.hm-rk.bad{color:var(--shu)}
.hm-w{grid-area:w;margin:4px 0 0;font-family:var(--display);font-size:22px}
.hm-w.sun{color:var(--shu)}.hm-w.sat{color:var(--ai)}
.hm-kyu{grid-area:kyu;margin:10px 0 0;font-size:14px;color:var(--muted)}
.hm-st{grid-area:st;display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;align-items:center;min-height:20px;font-size:14.5px}
.hm-nx{grid-area:nx;margin:14px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:15.5px}
.hm-nx b{font-family:var(--display);color:var(--shu);font-size:19px}
/* 用途の印のタイル */
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:2px solid var(--ink)}
@media (min-width:760px){.tiles{grid-template-columns:repeat(4,1fr)}}
.tile{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;border:none!important;border-bottom:1px solid var(--line)!important;border-right:1px solid var(--line)!important;background:transparent!important;padding:14px 10px;min-height:76px;cursor:pointer;font:inherit;color:var(--ink);text-align:left;text-decoration:none}
.tile .in{grid-row:1/3;font-size:28px;min-width:54px;height:54px;background:var(--paper);color:var(--shu);border:2px solid var(--shu)}
.tile .tn{font-weight:700;font-size:16px;line-height:1.3}
.tile .tw{font-size:13.5px;color:var(--muted);grid-column:2}
.tile .tm{grid-row:1/3;grid-column:3;position:static;display:grid;place-items:center;width:34px;height:34px;font-family:var(--display);font-weight:700;font-size:18px;border:2px solid currentColor;border-radius:2px;transform:rotate(-3deg)}
.tile .tm.good{color:var(--shu)}.tile .tm.mid,.tile .tm.bad{color:var(--ink)}
.tiles.same .tm{width:28px;height:28px;font-size:15px;color:var(--muted)!important}
@media (max-width:759px){.tile{grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;row-gap:6px;align-items:start;padding:12px 10px}.tile .in{grid-row:1;grid-column:1;min-width:52px;height:52px;font-size:28px}.tile .tm{grid-row:1;grid-column:2;justify-self:end}.tile .tn{grid-row:2;grid-column:1/3}.tile .tw{grid-row:3;grid-column:1/3}}
.tile[aria-pressed="true"]{background:var(--tint)!important}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 8px}
.sec-h h2{margin:0}
.sec-h a{font-size:15px;color:var(--ai)}
/* 壁掛けの月の暦 */
.wall{border-top:2px solid var(--ink)}
.wall .kgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:0}
.wall .kh{text-align:center;font-family:var(--display);font-size:14px;padding:6px 0;border-bottom:1px solid var(--ink)}
.wall .kh:first-child{color:var(--shu)}.wall .kh:nth-child(7){color:var(--ai)}
.wall .kd,.wall .ke{border-bottom:1px solid var(--line);min-height:64px}
.wall .kd{display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 0 4px;text-decoration:none;color:var(--ink);position:relative;aspect-ratio:auto;max-width:none;width:auto;background:transparent!important}
.wall .kd:hover{background:var(--tint)!important}
.wall .kd .kn{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.1}
.wall .kd.sun .kn{color:var(--shu)}.wall .kd.sat .kn{color:var(--ai)}
.wall .kd .kr{font-size:13px;color:var(--ink)}
.wall .kd .in{font-size:13px;min-width:2.1em;height:1.75em}
.wall .kd.kt .kn{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.wall .kd.ks{outline:2px solid var(--shu);outline-offset:-3px}
.in[data-tip]{cursor:help}
.tip{position:absolute;z-index:50;max-width:260px;background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);padding:8px 10px;font-size:14.5px;line-height:1.55}
.klg{display:flex;flex-wrap:wrap;gap:6px 8px;margin:4px 0 8px;font-size:14.5px;color:var(--ink);align-items:center}
.klg span{display:flex;align-items:center;gap:6px}
.klg .box{width:16px;height:16px;outline:2px solid var(--shu);outline-offset:-2px}
.twocol{display:grid;gap:22px}
@media (min-width:760px){.twocol{grid-template-columns:1fr 1fr}}
.card{background:transparent!important;border:none!important;border-top:2px solid var(--ink)!important;padding:10px 0 0!important}
.mini{list-style:none;margin:0;padding:0}
.mini a{display:flex;align-items:baseline;gap:10px;color:var(--ink);text-decoration:none;padding:9px 0;border-bottom:1px solid var(--line)}
.mini .md{font-family:var(--display);font-weight:700;color:var(--ai);min-width:7.2em;text-decoration:underline;text-underline-offset:4px}
.mini .ms{font-size:15px;flex:1}
.mini .chev{display:none}
.pop{display:grid;gap:0;border-top:2px solid var(--ink)}
@media (min-width:760px){.pop{grid-template-columns:repeat(2,1fr);column-gap:24px}}
.pop a{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.pop a .in{font-size:15px;min-width:34px;height:34px;color:var(--shu);border:1.5px solid var(--shu);background:var(--paper)}
.chipnav h2{font-size:19px;margin:20px 0 6px;padding-top:10px;border-top:2px solid var(--ink)}
.chipnav h3{display:flex;align-items:center;gap:8px;font-size:15.5px;margin:10px 0 4px}
.chipnav h3 .in{font-size:12px;color:var(--shu);border:1.5px solid var(--shu);background:var(--paper)}
.chipl{display:flex;flex-wrap:wrap;gap:4px 16px}
.chipl a{font-size:15px;color:var(--ai);border:none!important;background:none!important;padding:2px 0!important}
.tool-area{display:flex;flex-direction:column;gap:20px}
.mnav{display:flex;gap:18px;margin:0 0 8px}
.mpager a,.yearl a{color:var(--ai);font-size:16px;text-decoration:underline;text-underline-offset:4px}
.mnav{gap:10px}
.mnav a{display:inline-flex;align-items:center;min-height:48px;padding:6px 22px;border:1.5px solid var(--ink);color:var(--ink);text-decoration:none;font-weight:700;font-size:17px;background:var(--paper)}
.mnav a:hover{background:var(--tint)}
.mnav .mprev::before{content:"前の月　"}.mnav .mnext::after{content:"　次の月"}
.ks2{display:flex;flex-direction:column;align-items:center;gap:2px}
.more{font-size:12px;font-weight:700;color:var(--ink)}
.klg .lnote{display:block;flex-basis:100%;font-size:14px;color:var(--muted)}
.lnote a{color:var(--ai)}
.find h2{margin:0 0 8px}
.fctl{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:0 0 8px}
.fctl label{display:flex;flex-direction:column;gap:4px;font-size:14.5px;font-weight:700}
.fctl select{font:inherit;font-size:17px;min-height:46px;padding:4px 8px;border:1.5px solid var(--ink);border-radius:2px;background:var(--paper);color:var(--ink)}
.fctl .chk{flex-direction:row;align-items:center;gap:6px;min-height:46px}
.fctl .chk input{width:22px;height:22px;accent-color:var(--ink)}
.kline{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin:0;padding:8px 0;border-bottom:1px solid var(--line)}
.kline .kl{display:flex;align-items:center;gap:6px;font-weight:700;min-width:9em}
.kline .kds{display:flex;flex-wrap:wrap;gap:2px 12px}
.kline .kds a{color:var(--ai);font-family:var(--display);font-weight:700;font-size:17px}
.mfirst h2{margin-top:6px}
.uses-best li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}
.uses-best b{min-width:4em}
.mnav a[hidden]{display:none}
.kcy{font-size:.75em;margin-right:4px}
.yearl{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin:10px 0 0;font-size:15px}
.strip h2{font-size:19px;margin:0 0 6px}
.sbar{display:flex;gap:0;overflow-x:auto;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);scrollbar-width:thin}
.sd{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:8px 6px;border-right:1px solid var(--line);text-decoration:none;color:var(--ink)}
.sd:hover{background:var(--tint)}
.sdd{font-family:var(--display);font-weight:700;font-size:19px}
.sd.sun .sdd{color:var(--shu)}.sd.sat .sdd{color:var(--ai)}
.sdw{font-size:13px;color:var(--muted)}
.wall.big .kd{min-height:76px}.wall.big .kd .kn{font-size:24px}
.kgroup h3{display:flex;align-items:center;gap:8px;font-size:17px;margin:16px 0 6px}
.kgroup .dates{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0}
.kgroup .dates a{color:var(--ai);font-family:var(--display);font-weight:700;font-size:17px}
.uses-best{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.uses-best li{padding:10px 0;border-bottom:1px solid var(--line)}
.uses-best a{color:var(--ai);font-family:var(--display);font-weight:700}
.mpager{display:flex;justify-content:space-between;gap:10px;border-top:2px solid var(--ink);padding-top:12px}
#answer .badge{display:none}
.mylab{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:17px}
.mycheck input.mydate{width:100%;height:52px;font-size:18px}

/* 紹介のリンクが決まるまで、道具の PR の枠（main.js が描く）も出さない */
#pr,#pr2,.pr{display:none!important}
