.ookubo-shibitosuu-calc { max-width: 1024px; margin: 24px auto; font-size: 16px; line-height: 1.7; }
/* 「紫微斗数とは？」紹介ボックス */
/* 上マージン0だと直前の .zwds-json（下マージン0）と実測0pxで接着する（2026-08-08 余白監査） */
.ookubo-shibitosuu-calc .zwds-about { margin: 16px 0; padding: 14px 18px; background: linear-gradient(135deg,#f3eefb 0%,#faf6ff 100%); border: 1px solid #d8cce4; border-left: 4px solid #7a6997; border-radius: 10px; }
/* テーマ側のh3装飾（左の灰色バー・上下左右パディング）が箱の中で浮くので打ち消す */
.ookubo-shibitosuu-calc .zwds-about h3 { margin: 0 0 6px; padding: 0; border: 0; background: none; box-shadow: none; color: #5d4f76; font-size: 1.12em; }
.ookubo-shibitosuu-calc .zwds-about p { margin: 6px 0 0; line-height: 1.85; }
.ookubo-shibitosuu-calc .zwds-form { background: #f7f6fb; border: 1px solid #d8cce4; border-radius: 10px; padding: 16px 18px; }
.ookubo-shibitosuu-calc .zwds-fs { border: 1px solid #cebed7; border-radius: 8px; margin: 0 0 12px; padding: 8px 12px; }
.ookubo-shibitosuu-calc .zwds-fs legend { font-weight: 700; color: #5d4f76; padding: 0 6px; font-size: 0.95em; }
.ookubo-shibitosuu-calc .zwds-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 4px 0; }
.ookubo-shibitosuu-calc .zwds-row input[type="number"] { width: 5em; padding: 6px 8px; border: 1px solid #bfb2c7; border-radius: 6px; }
.ookubo-shibitosuu-calc .zwds-fs label { margin-right: 14px; }
.ookubo-shibitosuu-calc select { padding: 7px 10px; border: 1px solid #bfb2c7; border-radius: 6px; background: #fff; }
.ookubo-shibitosuu-calc .zwds-note { display: block; font-size: 0.88em; color: #6e7781; margin-top: 4px; line-height: 1.6; }
.ookubo-shibitosuu-calc .zwds-custom { margin: 0 0 12px; border: 1px dashed #bfb2c7; border-radius: 8px; background: #fbfaff; }
.ookubo-shibitosuu-calc .zwds-custom > summary { cursor: pointer; list-style: none; padding: 10px 14px; font-weight: 700; color: #5d4f76; border-radius: 8px; }
.ookubo-shibitosuu-calc .zwds-custom > summary::-webkit-details-marker { display: none; }
.ookubo-shibitosuu-calc .zwds-custom > summary::before { content: "▸ "; color: #93839f; }
.ookubo-shibitosuu-calc .zwds-custom[open] > summary { border-bottom: 1px solid #e3dcec; background: #f3eefb; border-radius: 8px 8px 0 0; }
.ookubo-shibitosuu-calc .zwds-custom[open] > summary::before { content: "▾ "; }
.ookubo-shibitosuu-calc .zwds-custom .zwds-fs { margin: 10px 12px; }
.ookubo-shibitosuu-calc .zwds-custom-note { padding: 6px 14px 0; margin: 0; }
.ookubo-shibitosuu-calc .zwds-btn { display: block; width: 100%; margin: 8px 0 0; padding: 0.95em 1.1em; background: linear-gradient(135deg,#7a6997 0%,#93839f 100%); color: #fff; border: 0; border-radius: 8px; font-weight: 700; font-size: 1.0em; cursor: pointer; box-shadow: 0 2px 6px rgba(122,105,151,0.3); }
.ookubo-shibitosuu-calc .zwds-btn:disabled { opacity: 0.6; cursor: default; }
/* 版数バッジ（フォーム末の控えめリンク→更新履歴ページ） */
/* 作成ボタン直下の会員向け案内（JSON出力とプロンプトは合言葉で解錠） */
.ookubo-shibitosuu-calc .zwds-memberhint { margin: 10px 0 0; font-size: 0.9em; line-height: 1.7; color: #6a5a7a; text-align: center; }
.ookubo-shibitosuu-calc .zwds-memberhint a { color: #7a5a9f; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.ookubo-shibitosuu-calc .zwds-verline { margin: 10px 0 0; text-align: right; line-height: 1.4; }
.ookubo-shibitosuu-calc .zwds-verlink { display: inline-flex; align-items: center; gap: 6px; font-size: 0.78em; color: #8a7c9f; text-decoration: none; padding: 4px 8px; border-radius: 5px; transition: background 0.15s, color 0.15s; }
.ookubo-shibitosuu-calc .zwds-verlink:hover { color: #5d4f76; background: #f3eefb; text-decoration: none; }
.ookubo-shibitosuu-calc .zwds-ver { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-weight: 700; color: #7a6997; padding: 1px 5px; background: #f3eefb; border-radius: 3px; font-size: 0.95em; }
.ookubo-shibitosuu-calc .zwds-verlabel { color: inherit; }
.ookubo-shibitosuu-calc .zwds-result { margin: 16px 0 0; }
.ookubo-shibitosuu-calc .zwds-result:empty { display: none; }
.ookubo-shibitosuu-calc .zwds-error { padding: 12px 16px; background: #fdecea; border: 1px solid #e0a39a; border-radius: 8px; color: #8b2c08; }
/* 直前の .zwds-geju と実測8pxで詰まっていたため、ツール内部の律動(12px)に揃える（2026-08-08 余白監査） */
.ookubo-shibitosuu-calc .zwds-info { margin: 12px 0 0; padding: 12px 16px; background: #eef3f8; border: 1px solid #cdd9e5; border-radius: 8px; color: #33414f; }
/* 命盤グリッド（Phase 1 で実装） */
.ookubo-shibitosuu-calc .zwds-board { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; margin-top: 12px; }
.ookubo-shibitosuu-calc .zwds-cell { border: 1px solid #d8cce4; padding: 8px 9px; font-size: 1.0em; background: #fff; display: flex; flex-direction: column; }
.ookubo-shibitosuu-calc .zwds-center { grid-column: 2 / 4; grid-row: 2 / 4; background: #faf6ff; }
/* 星の階層（太字＋色でスマホでも可読性を確保）*/
.ookubo-shibitosuu-calc .zwds-s-main { color: #5d2b8a; font-weight: 700; }
.ookubo-shibitosuu-calc .zwds-s-aux { color: #9a4a1e; font-weight: 600; }
/* 星名は縦書き（伝統的な命盤レイアウト）。各星＝縦1列を横に並べる。
   行間＝縦列の横間隔(line-height)・縦字間(letter-spacing)を広めにして可読性確保 */
.ookubo-shibitosuu-calc .zwds-stars { display: flex; flex-wrap: wrap; gap: 3px 4px; align-items: flex-start; min-height: 3.6em; margin-bottom: 7px; }
.ookubo-shibitosuu-calc .zwds-stars > span { writing-mode: vertical-rl; text-orientation: upright; -webkit-text-orientation: upright; line-height: 1.32; letter-spacing: 0.06em; }
.ookubo-shibitosuu-calc .zwds-stars .zwds-s-main { font-size: 1.08em; }
.ookubo-shibitosuu-calc .zwds-stars .zwds-bright { margin: 0; vertical-align: baseline; }
/* 廟旺利陥マーク（主星に付随）◎廟旺 ◯得地利 △平閑 ▲不得地陥 */
.ookubo-shibitosuu-calc .zwds-bright { font-size: 0.8em; font-weight: 700; margin-left: 1px; vertical-align: 1px; }
.ookubo-shibitosuu-calc .zwds-b-hi { color: #c0392b; }
.ookubo-shibitosuu-calc .zwds-b-mid { color: #b9770e; }
.ookubo-shibitosuu-calc .zwds-b-low { color: #7f8c8d; }
.ookubo-shibitosuu-calc .zwds-b-min { color: #2e6da4; }
/* 生年四化バッジ。星名の下（縦書き内）の色付きボックス。
   色弱対応(カラーユニバーサル/JIS X 8341)：赤緑ペアを廃し Okabe-Ito 系の判別容易な配色。
   文字(禄権科忌)自体でも識別できるため色は補助。 */
.ookubo-shibitosuu-calc .zwds-sh { display: inline-block; font-size: 0.95em; font-weight: 700; line-height: 1.15; color: #fff; border-radius: 3px; padding: 1px 3px; margin-top: 1px; }
.ookubo-shibitosuu-calc .zwds-sh-lu { background: #009E73; }   /* 禄 青緑 */
.ookubo-shibitosuu-calc .zwds-sh-quan { background: #D55E00; } /* 権 朱橙 */
.ookubo-shibitosuu-calc .zwds-sh-ke { background: #0072B2; }   /* 科 青 */
.ookubo-shibitosuu-calc .zwds-sh-ji { background: #2b2b2b; }   /* 忌 黒 */
.ookubo-shibitosuu-calc .zwds-center-sihua { font-size: 0.9em; }
.ookubo-shibitosuu-calc .zwds-center-links { margin-top: 10px; padding-top: 8px; border-top: 1px dashed #d8cce4; font-size: 0.8em; line-height: 1.75; color: #6a5a7a; }
.ookubo-shibitosuu-calc .zwds-center-links a { color: #5d2b8a; text-decoration: underline; }
/* 中央のmond導線（作盤直後の一等地。JSON出力＋プロンプトの案内） */
.ookubo-shibitosuu-calc .zwds-center-mond-lead { display: block; font-weight: 700; color: #4a2a6f; font-size: 1.06em; margin-bottom: 2px; letter-spacing: .02em; }
.ookubo-shibitosuu-calc .zwds-center-mond { display: inline-block; margin: 3px 0 1px; padding: 3px 12px; background: linear-gradient(135deg,#7a5a9f 0%,#9579b8 100%); color: #fff !important; text-decoration: none !important; border-radius: 999px; font-weight: 700; box-shadow: 0 2px 6px rgba(122,90,159,.28); }
.ookubo-shibitosuu-calc .zwds-center-mond:hover { filter: brightness(1.08); }
.ookubo-shibitosuu-calc .zwds-center-sihua .zwds-sh { writing-mode: horizontal-tb; }
/* 自四化バッジ（生年四化と区別＝白地・色枠の「自X」） */
.ookubo-shibitosuu-calc .zwds-self { display: inline-block; font-size: 0.74em; font-weight: 700; line-height: 1.1; border-radius: 3px; padding: 0 2px; margin-top: 1px; background: #fff; border: 1.5px solid #999; }
.ookubo-shibitosuu-calc .zwds-self-lu { color: #009e73; border-color: #009e73; }
.ookubo-shibitosuu-calc .zwds-self-quan { color: #d55e00; border-color: #d55e00; }
.ookubo-shibitosuu-calc .zwds-self-ke { color: #0072b2; border-color: #0072b2; }
.ookubo-shibitosuu-calc .zwds-self-ji { color: #1a1a1a; border-color: #1a1a1a; }
/* 運タグ（宮内・現在の大限/流年/小限）＝横書き。フッターの宮干支の横に表示 */
.ookubo-shibitosuu-calc .zwds-foot-gz { display: inline-flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 3px; }
.ookubo-shibitosuu-calc .zwds-un { display: inline-block; writing-mode: horizontal-tb; font-size: 0.66em; font-weight: 700; color: #fff; border-radius: 3px; padding: 1px 5px; }
.ookubo-shibitosuu-calc .zwds-un-dx { background: #5d2b8a; }
.ookubo-shibitosuu-calc .zwds-un-ln { background: #0072b2; }
.ookubo-shibitosuu-calc .zwds-un-xx { background: #b9770e; }
.ookubo-shibitosuu-calc .zwds-un-ly { background: #0a7d68; }
.ookubo-shibitosuu-calc .zwds-dxrange { font-size: 0.78em; color: #7a6997; font-weight: 600; }
/* 現在の大限/流年の宮を淡くハイライト */
.ookubo-shibitosuu-calc .zwds-cur-dx { background: #f6f0ff; }
.ookubo-shibitosuu-calc .zwds-cur-ln { box-shadow: inset 0 0 0 2px #0072b2; }
/* 運勢レイヤーサマリ */
.ookubo-shibitosuu-calc .zwds-un-summary { margin: 12px 0 0; padding: 12px 16px; background: #faf6ff; border: 1px solid #d8cce4; border-radius: 8px; font-size: 0.92em; line-height: 1.85; }
.ookubo-shibitosuu-calc .zwds-un-title { font-weight: 700; color: #5d4f76; margin-bottom: 4px; }
.ookubo-shibitosuu-calc .zwds-un-line { margin: 2px 0; }
.ookubo-shibitosuu-calc .zwds-un-line .zwds-un { margin-right: 4px; }
.ookubo-shibitosuu-calc .zwds-un-liuyao { color: #345; }
.ookubo-shibitosuu-calc .zwds-liuyao { display: inline-block; font-size: 0.82em; font-weight: 700; color: #0a7d68; background: #e6f4f0; border-radius: 3px; padding: 0 5px; margin-right: 1px; }
.ookubo-shibitosuu-calc .zwds-un-note { font-size: 0.86em; color: #6e7781; margin-top: 4px; }
/* 成立格局（運勢レイヤー下） */
.ookubo-shibitosuu-calc .zwds-geju { margin: 12px 0 0; padding: 12px 16px; background: #fbf7ff; border: 1px solid #d8cce4; border-radius: 8px; }
.ookubo-shibitosuu-calc .zwds-geju-title { font-weight: 700; color: #5d4f76; margin-bottom: 6px; }
.ookubo-shibitosuu-calc .zwds-geju-src { font-size: 0.78em; font-weight: 600; color: #8a7ca0; }
.ookubo-shibitosuu-calc .zwds-geju-list { margin: 0; padding: 0; list-style: none; }
.ookubo-shibitosuu-calc .zwds-geju-item { display: grid; grid-template-columns: auto auto 1fr; gap: 3px 8px; align-items: baseline; padding: 7px 0; border-top: 1px dashed #e3dcec; }
.ookubo-shibitosuu-calc .zwds-geju-item:first-child { border-top: 0; }
.ookubo-shibitosuu-calc .zwds-geju-tag { writing-mode: horizontal-tb; font-size: 0.76em; font-weight: 700; color: #fff; border-radius: 4px; padding: 1px 7px; text-align: center; align-self: center; }
.ookubo-shibitosuu-calc .zwds-geju-tag.g-good { background: #009E73; }
.ookubo-shibitosuu-calc .zwds-geju-tag.g-bad { background: #D55E00; }
.ookubo-shibitosuu-calc .zwds-geju-tag.g-mid { background: #6e7781; }
.ookubo-shibitosuu-calc .zwds-geju-name { font-weight: 700; color: #5d2b8a; white-space: nowrap; }
.ookubo-shibitosuu-calc .zwds-geju-pal { font-size: 0.85em; color: #7a6997; white-space: nowrap; }
.ookubo-shibitosuu-calc .zwds-geju-mean { grid-column: 1 / -1; font-size: 0.92em; line-height: 1.7; color: #443c52; }
.ookubo-shibitosuu-calc .zwds-geju-note { font-size: 0.86em; color: #6e7781; margin-top: 6px; line-height: 1.6; }
/* 流派差アラート */
.ookubo-shibitosuu-calc .zwds-alert { margin: 0 0 12px; padding: 10px 14px; background: #fff8e6; border: 1px solid #e6c34a; border-left: 4px solid #d99b00; border-radius: 8px; color: #6b4e00; font-size: 0.92em; line-height: 1.7; }
.ookubo-shibitosuu-calc .zwds-alert-note { color: #8a6d1f; font-size: 0.9em; }
/* 乙級星以下（小星・神煞）も縦書き。主星より小さめのカラムで横並び */
.ookubo-shibitosuu-calc .zwds-minor { display: flex; flex-wrap: wrap; gap: 3px 7px; font-size: 0.9em; color: #7d6f55; font-weight: 600; margin-top: 6px; }
.ookubo-shibitosuu-calc .zwds-minor > span { writing-mode: vertical-rl; text-orientation: upright; -webkit-text-orientation: upright; line-height: 1.5; letter-spacing: 0.08em; }
/* 流曜（現在の流年の流年諸星）。生来の星と区別できるよう緑バッジ＋縦書きカラムで諸星の直下に置く */
.ookubo-shibitosuu-calc .zwds-cell-liuyao { display: flex; flex-wrap: wrap; gap: 3px 5px; font-size: 0.86em; font-weight: 700; margin-top: 6px; }
.ookubo-shibitosuu-calc .zwds-cell-liuyao > span { writing-mode: vertical-rl; text-orientation: upright; -webkit-text-orientation: upright; line-height: 1.5; letter-spacing: 0.08em; color: #0a7d68; background: #e6f4f0; border-radius: 3px; padding: 3px 1px; }
/* 長生/博士/將前/歳前 十二神も縦書きカラム。最下段がフッター枠に接して切れないよう下に余白 */
.ookubo-shibitosuu-calc .zwds-g { display: flex; flex-wrap: wrap; gap: 3px 7px; font-size: 0.86em; font-weight: 600; margin-top: 5px; margin-bottom: 5px; }
.ookubo-shibitosuu-calc .zwds-g > span { writing-mode: vertical-rl; text-orientation: upright; -webkit-text-orientation: upright; line-height: 1.5; letter-spacing: 0.08em; }
.ookubo-shibitosuu-calc .zwds-g-life { color: #1f8a6a; }
.ookubo-shibitosuu-calc .zwds-g-year { color: #8a5aa0; }
.ookubo-shibitosuu-calc .zwds-cell-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 4px; border-top: 1px dashed #d8cce4; margin-top: auto; padding-top: 8px; font-size: 0.95em; }
.ookubo-shibitosuu-calc .zwds-pname { font-weight: 700; color: #5d4f76; }
.ookubo-shibitosuu-calc .zwds-pbody { color: #b5894b; }
.ookubo-shibitosuu-calc .zwds-pgz { color: #999; }
.ookubo-shibitosuu-calc .zwds-rules { margin: 18px 0 0; border: 1px solid #d8cce4; border-radius: 8px; background: #fcfbfe; }
.ookubo-shibitosuu-calc .zwds-rules summary { cursor: pointer; padding: 12px 16px; font-weight: 700; color: #5d4f76; }
.ookubo-shibitosuu-calc .zwds-rules-body { padding: 0 18px 14px; font-size: 0.92em; }
.ookubo-shibitosuu-calc .zwds-rules-body h4 { margin: 12px 0 6px; color: #5d4f76; }
/* 出典・参考文献（E-E-A-T 権威性） */
.ookubo-shibitosuu-calc .zwds-refs { margin: 16px 0 0; padding: 12px 16px; border-top: 2px solid #e3dcec; font-size: 0.85em; color: #5b5168; }
.ookubo-shibitosuu-calc .zwds-refs h4 { margin: 0 0 6px; color: #5d4f76; font-size: 1.0em; }
.ookubo-shibitosuu-calc .zwds-refs-note { margin: 0 0 6px; color: #6e7781; line-height: 1.6; }
.ookubo-shibitosuu-calc .zwds-refs ul { margin: 0; padding-left: 1.2em; }
.ookubo-shibitosuu-calc .zwds-refs li { margin: 4px 0; line-height: 1.65; }
/* JSON出力（mond会員限定ゲート） */
.ookubo-shibitosuu-calc .zwds-json { margin: 14px 0 0; padding: 14px 16px; background: #f3eefb; border: 1px solid #d8cce4; border-radius: 8px; }
.ookubo-shibitosuu-calc .zwds-json h4 { margin: 0 0 6px; color: #5d4f76; font-size: 1em; }
.ookubo-shibitosuu-calc .zwds-json-badge { display: inline-block; font-size: 0.68em; font-weight: 700; color: #fff; background: #7a6997; border-radius: 4px; padding: 2px 7px; margin-left: 6px; vertical-align: middle; text-decoration: none; }
.ookubo-shibitosuu-calc a.zwds-json-badge:hover { background: #5d4f76; color: #fff; text-decoration: none; }
.ookubo-shibitosuu-calc .zwds-json-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 6px; }
.ookubo-shibitosuu-calc .zwds-json-row input { padding: 8px 10px; border: 1px solid #bfb2c7; border-radius: 6px; font-size: 1em; }
.ookubo-shibitosuu-calc .zwds-json-btn { padding: 8px 18px; background: #7a6997; color: #fff; border: 0; border-radius: 6px; font-weight: 700; cursor: pointer; }
.ookubo-shibitosuu-calc .zwds-json-out { margin-top: 10px; }
.ookubo-shibitosuu-calc .zwds-json-dl { display: inline-block; padding: 8px 14px; background: #0072b2; color: #fff; border-radius: 6px; font-weight: 700; text-decoration: none; }
.ookubo-shibitosuu-calc .zwds-json-err { color: #8b2c08; font-weight: 600; }
/* ※0.9.16以前の単一プロンプトUI（.zwds-json-prompt / -head / -copy / -pick / -pick-wrap / -text）は
   0.9.17のカード展開への刷新で不要になり、0.9.23で削除した。現行は下の .zwds-jp-* を使う。 */
/* AI占い用プロンプト：見出し・説明・必要ファイル・本文ボックスのカード展開（ai-uranai-prompts体裁） */
.ookubo-shibitosuu-calc .zwds-json-prompts { margin-top: 12px; display: flex; flex-direction: column; gap: 12px; }
.ookubo-shibitosuu-calc .zwds-json-prompt-intro { font-size: 0.85em; font-weight: 700; color: #5d4f76; }
.ookubo-shibitosuu-calc .zwds-jp-card { background: #fff; border: 1px solid #d8cce4; border-radius: 8px; padding: 12px 14px; }
.ookubo-shibitosuu-calc .zwds-jp-title { margin: 0 0 6px; font-size: 1.02em; font-weight: 700; color: #4a2f6d; line-height: 1.45; }
.ookubo-shibitosuu-calc .zwds-jp-desc { margin: 0 0 8px; font-size: 0.9em; line-height: 1.65; color: #4b4256; }
.ookubo-shibitosuu-calc .zwds-jp-files { margin: 0 0 8px; font-size: 0.84em; font-weight: 700; color: #0a6b8a; background: #eef7fb; border-radius: 5px; padding: 5px 9px; }
.ookubo-shibitosuu-calc .zwds-jp-note { margin: 0 0 8px; font-size: 0.84em; font-weight: 700; color: #8a5a08; background: #fdf3e3; border-radius: 5px; padding: 5px 9px; line-height: 1.55; }
.ookubo-shibitosuu-calc .zwds-jp-text { width: 100%; box-sizing: border-box; border: 1px solid #cebed7; border-radius: 6px; padding: 8px; font-size: 0.86em; line-height: 1.6; resize: vertical; background: #fbfaff; color: #3a2f4d; }
.ookubo-shibitosuu-calc .zwds-jp-copy { margin-top: 8px; padding: 7px 14px; background: #7a6997; color: #fff; border: 0; border-radius: 6px; font-weight: 700; cursor: pointer; font-size: 0.9em; }
.ookubo-shibitosuu-calc .zwds-jp-copy:hover { background: #6a5a86; }
.ookubo-shibitosuu-calc .zwds-jp-locked { border: 1px dashed #cebed7; border-radius: 6px; padding: 10px; font-size: 0.86em; font-weight: 700; color: #8a7fa0; background: #f6f2fb; text-align: center; }
.ookubo-shibitosuu-calc .zwds-json-msg { font-size: 0.85em; font-weight: 700; color: #8b2c08; }
.ookubo-shibitosuu-calc .zwds-json-nochart { font-size: 0.88em; font-weight: 700; color: #0a6b8a; background: #eef7fb; border-radius: 6px; padding: 8px 12px; }
.ookubo-shibitosuu-calc .zwds-json-prev { margin-top: 8px; }
.ookubo-shibitosuu-calc .zwds-json-prev pre { max-height: 320px; overflow: auto; background: #fff; border: 1px solid #d8cce4; border-radius: 6px; padding: 10px; font-size: 0.8em; white-space: pre-wrap; word-break: break-all; }
@media (max-width: 600px) {
	.ookubo-shibitosuu-calc { font-size: 15px; }
	.ookubo-shibitosuu-calc .zwds-row input[type="number"] { width: 4em; }
	/* スマホ: 文字を縮め過ぎず、太字＋色＋行間で乙級以下も読みやすく */
	.ookubo-shibitosuu-calc .zwds-cell { padding: 5px 5px; font-size: 13px; }
	.ookubo-shibitosuu-calc .zwds-s-main { font-size: 1.14em; }
	.ookubo-shibitosuu-calc .zwds-bright { font-size: 0.92em; }
	.ookubo-shibitosuu-calc .zwds-s-aux { font-size: 1em; font-weight: 700; }
	.ookubo-shibitosuu-calc .zwds-minor { font-size: 0.94em; font-weight: 700; }
	.ookubo-shibitosuu-calc .zwds-g { font-size: 0.9em; font-weight: 700; }
	.ookubo-shibitosuu-calc .zwds-sh { font-size: 1.05em; }
	.ookubo-shibitosuu-calc .zwds-center { font-size: 0.94em; }
	/* スマホ: 主星は詰め、乙級以下は列間を広めにして可読性を確保（はみ出しはwrap） */
	.ookubo-shibitosuu-calc .zwds-stars { gap: 2px 3px; min-height: 3.2em; }
	.ookubo-shibitosuu-calc .zwds-stars > span { line-height: 1.3; letter-spacing: 0.04em; }
	.ookubo-shibitosuu-calc .zwds-cell-liuyao { font-size: 0.9em; }
	.ookubo-shibitosuu-calc .zwds-minor > span,
	.ookubo-shibitosuu-calc .zwds-cell-liuyao > span,
	.ookubo-shibitosuu-calc .zwds-g > span { line-height: 1.5; letter-spacing: 0.06em; }
	.ookubo-shibitosuu-calc .zwds-minor,
	.ookubo-shibitosuu-calc .zwds-cell-liuyao,
	.ookubo-shibitosuu-calc .zwds-g { gap: 2px 6px; }
}

/* v0.9.28: 無料/会員の対比・ゲート直下の入会導線・命盤末尾のジャンプ・出典の折りたたみ */

.ookubo-shibitosuu-calc .zwds-join-cta { margin: 14px 0 0; padding: 16px 18px; text-align: center; background: linear-gradient(135deg,#f7f2ff 0%,#fdf6f8 100%); border: 1px solid #d8cce4; border-radius: 10px; }
.ookubo-shibitosuu-calc .zwds-join-lead { margin: 0 0 6px; font-weight: 700; color: #5d4f76; font-size: 0.98em; }
.ookubo-shibitosuu-calc .zwds-join-benefits { margin: 0 0 12px; font-size: 0.9em; line-height: 1.75; color: #5b5168; text-align: left; }
.ookubo-shibitosuu-calc .zwds-join-btn { display: inline-block; background: linear-gradient(135deg,#7a5a9f 0%,#9c4854 100%); color: #fff; font-weight: 700; text-decoration: none; padding: 13px 26px; border-radius: 9px; font-size: 1.02em; box-shadow: 0 3px 12px rgba(122,90,159,.32); }
.ookubo-shibitosuu-calc .zwds-join-btn:hover { filter: brightness(1.06); color: #fff; }
.ookubo-shibitosuu-calc .zwds-join-note { margin: 10px 0 0; font-size: 0.85em; color: #6e7781; line-height: 1.7; }

.ookubo-shibitosuu-calc .zwds-json-msg-link { display: inline-block; margin-left: 8px; font-weight: 700; color: #7a5a9f; text-decoration: underline; }


.ookubo-shibitosuu-calc details.zwds-refs > summary { cursor: pointer; list-style: none; }
.ookubo-shibitosuu-calc details.zwds-refs > summary::-webkit-details-marker { display: none; }
.ookubo-shibitosuu-calc details.zwds-refs > summary::before { content: "▸ "; color: #93839f; }
.ookubo-shibitosuu-calc details.zwds-refs[open] > summary::before { content: "▾ "; }
.ookubo-shibitosuu-calc details.zwds-refs > summary h4 { display: inline; margin: 0; }

/* v0.9.32: 命盤の手前の分岐バー／「紫微斗数とは？」の折りたたみ */
.ookubo-shibitosuu-calc .zwds-chart-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; margin: 0 0 10px; padding: 10px 14px; background: #f7f4fc; border: 1px solid #d8cce4; border-radius: 9px; }
.ookubo-shibitosuu-calc .zwds-chart-head-msg { font-size: 0.9em; color: #5b5168; }
.ookubo-shibitosuu-calc .zwds-chart-head-jump { flex: 0 0 auto; font-size: 0.92em; font-weight: 700; color: #fff; background: linear-gradient(135deg,#7a5a9f 0%,#9579b8 100%); text-decoration: none; padding: 8px 14px; border-radius: 999px; box-shadow: 0 2px 6px rgba(122,90,159,.26); }
.ookubo-shibitosuu-calc .zwds-chart-head-jump:hover { filter: brightness(1.07); color: #fff; text-decoration: none; }


/* v0.9.33: JS読込完了前に作成ボタンを押したときの案内（inline onsubmit が表示・JS初期化で非表示） */
.ookubo-shibitosuu-calc .zwds-js-wait { display: block; margin: 10px 0 0; padding: 10px 12px; background: #fff8e1; border: 1px solid #e6c34c; border-radius: 8px; color: #6b5410; font-size: 0.92em; line-height: 1.7; }
.ookubo-shibitosuu-calc .zwds-js-wait[hidden] { display: none; }
