/* 周公解夢 夢占いツール（ookubo-yume-calc.php・[yume_calc] のあるページだけ読む）
   設計: 色＝夜の藍 #1f2a44・紙 #fbfaf6・罫 #d5dae4・薄い藍の地 #eef1f7・朱 #b3372b（誤りの知らせだけ）。
         書体＝本文 Noto Sans JP、題だけ明朝。単一カラム、ラベルは欄の上、塗りの主ボタンは「夢のJSONを作る」だけ。
   文字は 14px 以上（注記 14／本文と入力 17／見出し 20・24）。角丸は 4/8/12。 */
.ymk-root{--ymk-ink:#1f2a44;--ymk-ink2:#4a5468;--ymk-paper:#fbfaf6;--ymk-bg:#eef1f7;--ymk-line:#d5dae4;--ymk-accent:#b3372b;
  max-width:100%;min-width:0;margin:32px 0;color:#222;font-family:var(--ff-sans,"Noto Sans JP",sans-serif);font-size:var(--fs-m,17px);line-height:var(--lh-m,1.8);
  line-break:strict;overflow-wrap:anywhere;word-break:normal}
.ymk-root [hidden]{display:none !important}
.ymk-root *{box-sizing:border-box}

.ymk-gate,.ymk-app{background:var(--ymk-paper);border:1px solid var(--ymk-line);border-top:4px solid var(--ymk-ink);border-radius:8px;padding:24px}
.entry-content .ymk-root h3.ymk-gate-title,.entry-content .ymk-root h3.ymk-h{margin:0 0 12px;padding:0;border:0;background:none;color:var(--ymk-ink);
  font-family:var(--ff-serif,"Shippori Mincho B1",serif);font-size:var(--fs-xl,24px);font-weight:var(--fw-b,700);line-height:var(--lh-xl,1.4);letter-spacing:.04em}
.entry-content .ymk-root h3.ymk-h{font-size:var(--fs-l,20px);margin-top:32px;padding-bottom:8px;border-bottom:1px solid var(--ymk-line)}
.entry-content .ymk-root .ymk-form>h3.ymk-h:first-child{margin-top:0}
.ymk-badge{display:inline-block;margin-left:8px;padding:4px 12px;border-radius:12px;background:var(--ymk-ink);color:#fff;
  font-family:var(--ff-sans,"Noto Sans JP",sans-serif);font-size:var(--fs-s,14px);font-weight:var(--fw-b,700);line-height:var(--lh-ui,1.4);letter-spacing:.02em;vertical-align:middle;white-space:nowrap}
.ymk-root p.ymk-note{margin:8px 0 0;color:var(--ymk-ink2);font-size:var(--fs-s,14px);line-height:var(--lh-s,1.7)}
.ymk-gate>p.ymk-note{font-size:var(--fs-m,17px);line-height:var(--lh-m,1.8);color:#222;margin:0 0 12px}
.ymk-root .haio-pill-row{margin:12px 0}

.ymk-json-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.ymk-root .ymk-in-pass{font:inherit;font-size:var(--fs-m,17px);min-height:48px;padding:8px 12px;border:1px solid var(--ymk-ink2);border-radius:4px;background:#fff;color:#222;flex:1 1 140px;min-width:140px;max-width:320px}
.ymk-root .ymk-unlock{font:inherit;font-weight:var(--fw-b,700);line-height:var(--lh-ui,1.4);min-height:48px;margin:0;padding:12px 20px;border:0;border-radius:4px;background:var(--ymk-ink);color:#fff;cursor:pointer}
.ymk-json-msg{flex:1 1 100%;color:var(--ymk-accent);font-size:var(--fs-m,17px)}
.ymk-json-msg:empty{display:none}
.ymk-json-msg-link{margin-left:8px;font-weight:var(--fw-b,700)}

.ymk-join-cta{margin-top:24px;padding:16px;background:linear-gradient(135deg,#f3eefb,#e9e0f7);border-radius:8px}
.ymk-root p.ymk-join-lead{margin:0 0 8px;font-weight:var(--fw-b,700)}
.ymk-root p.ymk-join-benefits{margin:0 0 12px}
.ymk-root a.ymk-join-btn{display:inline-block;line-height:var(--lh-ui,1.4);min-height:48px;padding:12px 20px;background:linear-gradient(135deg,#6a3fa0,#8f5bd0);color:#fff;font-weight:var(--fw-b,700);border-radius:8px;text-decoration:none}
.ymk-root p.ymk-join-note{margin:8px 0 0;font-size:var(--fs-s,14px);color:var(--ymk-ink2)}

.ymk-field{margin:0 0 16px}
.ymk-label{display:block;margin:0 0 4px;color:var(--ymk-ink);font-weight:var(--fw-b,700)}
.ymk-root textarea.ymk-text{display:block;width:100%;min-height:200px;margin:0;padding:12px;border:1px solid var(--ymk-ink2);border-radius:4px;background:#fff;color:#222;font:inherit;font-size:var(--fs-m,17px);line-height:var(--lh-m,1.8);resize:vertical}
.ymk-row{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:flex-end}
.ymk-row .ymk-label{margin:0}
.ymk-root input.ymk-date,.ymk-root input.ymk-time{display:block;min-height:48px;margin:4px 0 0;padding:8px 12px;border:1px solid var(--ymk-ink2);border-radius:4px;background:#fff;color:#222;font:inherit;font-size:var(--fs-m,17px);font-weight:var(--fw-r,400)}
.ymk-root input.ymk-time:disabled{opacity:.45}
.ymk-check{display:inline-flex;align-items:center;gap:8px;min-height:48px;cursor:pointer}
.ymk-root input.ymk-notime{width:20px;height:20px;margin:0}
.ymk-root button.ymk-cast{display:block;width:100%;max-width:420px;min-height:56px;margin:24px auto 0;padding:12px 24px;border:0;border-radius:8px;background:var(--ymk-ink);color:#fff;
  font:inherit;font-size:var(--fs-l,20px);font-weight:var(--fw-b,700);line-height:var(--lh-ui,1.4);letter-spacing:.04em;cursor:pointer;box-shadow:0 2px 6px rgba(31,42,68,.26)}
.ymk-root button.ymk-cast:hover,.ymk-root .ymk-unlock:hover{background:#2c3a5c}
.ymk-root button:focus-visible,.ymk-root input:focus-visible,.ymk-root textarea:focus-visible{outline:3px solid #7a8fc4;outline-offset:2px}
.ymk-root p.ymk-form-msg{margin:12px 0 0;color:var(--ymk-accent);font-weight:var(--fw-b,700);text-align:center}
.ymk-root p.ymk-form-msg:empty{display:none}

.ymk-jp-dl{margin:12px 0 0}
.ymk-root .ymk-json-dl,.ymk-root .ymk-json-copy,.ymk-root .ymk-jp-copy{font:inherit;font-weight:var(--fw-b,700);line-height:var(--lh-ui,1.4);min-height:48px;margin:0 8px 8px 0;padding:12px 20px;border:1px solid var(--ymk-ink);border-radius:4px;background:#fff;color:var(--ymk-ink);cursor:pointer}
.ymk-root .ymk-json-dl:hover,.ymk-root .ymk-json-copy:hover,.ymk-root .ymk-jp-copy:hover{background:var(--ymk-bg)}
.ymk-json-copysrc{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ymk-jp-card{margin-top:16px;padding:16px;border:1px solid var(--ymk-line);border-left:4px solid var(--ymk-ink);border-radius:4px;background:#fff}
.entry-content .ymk-root .ymk-jp-card h4{margin:0 0 8px;padding:0;border:0;background:none;color:var(--ymk-ink);font-size:var(--fs-l,20px);font-weight:var(--fw-b,700);line-height:var(--lh-l,1.5)}
.ymk-root .ymk-jp-copy{margin:12px 0 8px}
.ymk-root textarea.ymk-jp-text{display:block;width:100%;min-height:160px;margin:0;padding:8px;border:1px solid var(--ymk-line);border-radius:4px;background:var(--ymk-bg);color:#222;font:var(--fs-s,14px)/1.6 var(--ff-mono,monospace);white-space:pre-wrap}

.ymk-root p.ymk-privacy{margin:12px 0 0;color:var(--ymk-ink2);font-size:var(--fs-s,14px);line-height:var(--lh-s,1.7)}
.ymk-root p.ymk-verline{margin:4px 0 0;color:var(--ymk-ink2);font-size:var(--fs-s,14px);text-align:right}

@media (max-width:480px){
  .ymk-gate,.ymk-app{padding:16px}
  .ymk-root .ymk-in-pass{max-width:none}
  .ymk-root .ymk-unlock{flex:1 1 100%}
  .ymk-row{gap:8px 16px}
  .ymk-root .ymk-json-dl,.ymk-root .ymk-json-copy,.ymk-root .ymk-jp-copy{width:100%;margin-right:0}
}
