/* === 由来: ookubo-shukuyo-workplace.php（宿曜 職場相性） === */
.ookubo-shukuyo-workplace { background: #fbfaff; border: 1px solid #dfd7ee; border-radius: 12px; padding: 24px 22px; margin: 28px 0; line-height: 1.9; color: #2f2a3a; }
.ookubo-shukuyo-workplace h3 { margin: 0 0 10px; font-size: 1.28em; color: #3a2a6f; line-height: 1.5; }
.ookubo-shukuyo-workplace .skw-note { font-size: 0.9em; color: #55506a; margin: 0 0 18px; }
.ookubo-shukuyo-workplace .skw-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ookubo-shukuyo-workplace .skw-field-group { border: 1px solid #ded6ee; border-radius: 10px; padding: 12px 14px; margin: 0; background: #fff; }
.ookubo-shukuyo-workplace .skw-field-group legend { font-weight: 700; font-size: 0.92em; color: #4a2a6f; padding: 0 6px; }
.ookubo-shukuyo-workplace .skw-fields-row { display: flex; gap: 8px; align-items: flex-end; }
.ookubo-shukuyo-workplace .skw-fields-row label { font-size: 0.82em; color: #55506a; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.ookubo-shukuyo-workplace .skw-in { width: 100%; box-sizing: border-box; padding: 7px 8px; border: 1px solid #cfc3e4; border-radius: 6px; font-size: 1em; background: #fff; color: #2f2a3a; }
.ookubo-shukuyo-workplace .skw-submit { margin-top: 16px; text-align: center; }
.ookubo-shukuyo-workplace .skw-calc { background: #6a4a9f; color: #fff; border: none; border-radius: 8px; padding: 12px 30px; font-size: 1.02em; font-weight: 700; cursor: pointer; transition: background 0.15s ease; }
.ookubo-shukuyo-workplace .skw-calc:hover { background: #56397f; }
/* JSON／鑑定用プロンプトへのピル2本。5ツール共通の見た目と挙動（2026-09-01 統一）。
   AI+JSON占いという「機能」の導線なので、ツールごとのテーマ色ではなく紫で揃える。
   どのページでも同じものだと一目で分かることを、テーマ色との調和より優先した。
   鑑定はページ到達時に自動実行されるので、鑑定前に隠す処理は持たない（常時表示）。 */
.ookubo-shukuyo-calc .skc-jump-link,
.ookubo-shukuyo-aishou-love .skl-jump-link,
.ookubo-shukuyo-triangle .skt-jump-link,
.ookubo-shukuyo-parents .skp-jump-link,
.ookubo-shukuyo-workplace .skw-jump-link {
    margin: 14px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    font-size: 0.95em;
}
.ookubo-shukuyo-calc .skc-jump-link a,
.ookubo-shukuyo-aishou-love .skl-jump-link a,
.ookubo-shukuyo-triangle .skt-jump-link a,
.ookubo-shukuyo-parents .skp-jump-link a,
.ookubo-shukuyo-workplace .skw-jump-link a {
    min-height: 44px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 22px;
    /* 各ツールの本文の行間（1.6〜1.9）を継承すると高さが5ページでズレるので明示する。
       16.15px × 1.6 = 25.84px ＋ padding16px ＋ 枠1.33px = 43.17px → min-height 44px で揃う。
       （2026-09-02 実測: 揃える前は 44 / 46.27 / 48.69px とバラついていた） */
    line-height: 1.6;
    color: #4a2a6f;
    text-decoration: none;
    border: 1px solid #b9a2d6;
    border-radius: 999px;
    background: #f7f3ff;
    font-weight: 600;
    letter-spacing: 0.04em;
    transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.ookubo-shukuyo-calc .skc-jump-link a:hover,
.ookubo-shukuyo-aishou-love .skl-jump-link a:hover,
.ookubo-shukuyo-triangle .skt-jump-link a:hover,
.ookubo-shukuyo-parents .skp-jump-link a:hover,
.ookubo-shukuyo-workplace .skw-jump-link a:hover,
.ookubo-shukuyo-calc .skc-jump-link a:focus-visible,
.ookubo-shukuyo-aishou-love .skl-jump-link a:focus-visible,
.ookubo-shukuyo-triangle .skt-jump-link a:focus-visible,
.ookubo-shukuyo-parents .skp-jump-link a:focus-visible,
.ookubo-shukuyo-workplace .skw-jump-link a:focus-visible {
    background: #ede3ff;
    border-color: #8a63c0;
    box-shadow: 0 2px 8px rgba(122,90,170,0.18);
}
.ookubo-shukuyo-workplace .skw-err { color: #a3283a; font-weight: 700; margin: 14px 0 0; }
.ookubo-shukuyo-workplace .skw-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 22px 0 0; }
.ookubo-shukuyo-workplace .skw-card { background: #fff; border: 1px solid #ded6ee; border-radius: 10px; padding: 14px 16px; }
.ookubo-shukuyo-workplace .skw-card-label { font-size: 0.82em; color: #6f6785; margin: 0 0 4px; }
.ookubo-shukuyo-workplace .skw-card-shuku { font-size: 1.7em; font-weight: 700; color: #4a2a6f; line-height: 1.3; }
.ookubo-shukuyo-workplace .skw-card-shuku a { color: #4a2a6f; text-decoration: underline; text-underline-offset: 3px; }
.ookubo-shukuyo-workplace .skw-card-lunar { font-size: 0.8em; color: #7a7290; margin: 2px 0 8px; }
.ookubo-shukuyo-workplace .skw-card-essence { font-size: 0.9em; color: #3f3950; margin: 0; }
.ookubo-shukuyo-workplace .skw-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 18px 0 0; }
.ookubo-shukuyo-workplace .skw-panel { background: #fff; border: 1px solid #ded6ee; border-radius: 10px; padding: 14px 16px; }
.ookubo-shukuyo-workplace .skw-panel-head { font-size: 0.86em; color: #6f6785; margin: 0 0 6px; }
.ookubo-shukuyo-workplace .skw-panel-rel { font-size: 1.12em; font-weight: 700; color: #3a2a6f; margin: 0 0 8px; }
.ookubo-shukuyo-workplace .skw-mark { display: inline-block; padding: 2px 10px; border-radius: 4px; margin-left: 8px; font-weight: 700; font-size: 0.88em; }
.ookubo-shukuyo-workplace .skw-mark-good { background: #d4edda; color: #155724; }
.ookubo-shukuyo-workplace .skw-mark-ok { background: #e6efff; color: #1e3a6f; }
.ookubo-shukuyo-workplace .skw-mark-neu { background: #e5e5e5; color: #57606a; }
.ookubo-shukuyo-workplace .skw-mark-warn { background: #fff3cd; color: #856404; }
.ookubo-shukuyo-workplace .skw-mark-bad { background: #f8d7da; color: #721c24; }
.ookubo-shukuyo-workplace .skw-panel-text { font-size: 0.92em; margin: 0; color: #3f3950; }
.ookubo-shukuyo-workplace .skw-positions { background: #fff; border: 1px solid #ded6ee; border-radius: 10px; padding: 14px 16px; margin: 18px 0 0; }
.ookubo-shukuyo-workplace .skw-positions-title { font-weight: 700; color: #4a2a6f; margin: 0 0 8px; font-size: 0.98em; }
.ookubo-shukuyo-workplace .skw-positions ul { margin: 0; padding-left: 1.2em; }
.ookubo-shukuyo-workplace .skw-positions li { font-size: 0.9em; margin: 4px 0; }
.ookubo-shukuyo-workplace .skw-cta { background: #f5efff; border-left: 4px solid #6a4a9f; border-radius: 6px; padding: 12px 16px; margin: 18px 0 0; font-size: 0.9em; line-height: 1.85; }
.ookubo-shukuyo-workplace .skw-cta a { color: #4a2a6f; text-decoration: underline; text-underline-offset: 2px; }
.ookubo-shukuyo-workplace .skw-export { background: #fff; border: 1px solid #ded6ee; border-radius: 10px; padding: 16px 18px; margin: 22px 0 0; }
.ookubo-shukuyo-workplace .skw-export-title { font-weight: 700; color: #4a2a6f; margin: 0 0 6px; }
.ookubo-shukuyo-workplace .skw-export-desc { font-size: 0.86em; color: #55506a; margin: 0 0 12px; }
.ookubo-shukuyo-workplace .skw-prompt-input-row { display: flex; gap: 8px; }
.ookubo-shukuyo-workplace .skw-prompt-input { flex: 1; padding: 8px 10px; border: 1px solid #cfc3e4; border-radius: 6px; font-size: 0.95em; }
.ookubo-shukuyo-workplace .skw-prompt-input-err { border-color: #c0392b; background: #fdeaea; }
.ookubo-shukuyo-workplace .skw-prompt-reveal { background: #6a4a9f; color: #fff; border: none; border-radius: 6px; padding: 8px 18px; font-weight: 700; cursor: pointer; }
.ookubo-shukuyo-workplace .skw-prompt-member-note { font-size: 0.82em; color: #6a6080; margin: 10px 0 0; padding: 10px 14px; background: #f7f3fd; border-left: 3px solid #a98ac9; border-radius: 6px; line-height: 1.8; }
.ookubo-shukuyo-workplace .skw-prompt-member-note a { color: #4a2a6f; text-decoration: underline; }
.ookubo-shukuyo-workplace .skw-export-buttons { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ookubo-shukuyo-workplace .skw-export-buttons button { background: #6a4a9f; color: #fff; border: none; border-radius: 6px; padding: 9px 18px; min-height: 44px; font-size: 0.92em; font-weight: 700; cursor: pointer; }
/* 2026-09-08 JSONコピー併設（workplace 1.0.13）: コピーは白地・枠線で DL と区別。copysrc はJS側でインライン配置（画面外） */
.ookubo-shukuyo-workplace .skw-export-buttons button.skw-json-copy { background: #fff; color: #4a2a6f; border: 2px solid #6a4a9f; }
.ookubo-shukuyo-workplace .skw-export-buttons button.skw-json-copy:hover { background: #f5efff; }
.ookubo-shukuyo-workplace .skw-prompt-display-header { display: flex; justify-content: space-between; align-items: center; margin: 0 0 6px; font-weight: 700; font-size: 0.92em; color: #4a2a6f; }
.ookubo-shukuyo-workplace .skw-prompt-copy { background: #6a4a9f; color: #fff; border: none; border-radius: 6px; padding: 6px 14px; font-size: 0.82em; font-weight: 700; cursor: pointer; }
.ookubo-shukuyo-workplace .skw-prompt-textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #ded6ee; border-radius: 8px; background: #fdfcff; font-size: 0.85em; line-height: 1.8; color: #3f3950; resize: vertical; font-family: inherit; min-height: 140px; height: 300px; }
.ookubo-shukuyo-workplace .skw-prompt-hint { font-size: 0.8em; color: #6f6785; margin: 8px 0 0; line-height: 1.7; }
.ookubo-shukuyo-workplace .skw-privacy { font-size: 0.78em; color: #7a7290; margin: 18px 0 0; }
@media (max-width: 540px) {
    .ookubo-shukuyo-workplace { padding: 18px 14px; }
    .ookubo-shukuyo-workplace .skw-pair,
    .ookubo-shukuyo-workplace .skw-cards,
    .ookubo-shukuyo-workplace .skw-panels { grid-template-columns: 1fr; }
    .ookubo-shukuyo-workplace .skw-card-shuku { font-size: 1.5em; }
}

/* === 由来: ookubo-shukuyo-calc.php（宿曜 本体(skc)） === */
.ookubo-shukuyo-calc {
    max-width: 720px;
    margin: 24px auto;
    padding: 20px;
    border: 1px solid #d0d7de;
    border-radius: 10px;
    background: #fafbfc;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Meiryo", sans-serif;
    line-height: 1.6;
    color: #24292f;
}
.ookubo-shukuyo-calc h3 {
    margin: 0 0 8px 0;
    font-size: 1.15em;
    border-bottom: 2px solid #7a5a9f;
    padding-bottom: 4px;
    color: #4a2a6f;
}
.ookubo-shukuyo-calc .skc-note {
    font-size: 0.9em;
    color: #57606a;
    margin: 0 0 16px 0;
}
.ookubo-shukuyo-calc .skc-section-title {
    margin: 18px 0 8px;
    padding: 6px 10px;
    background: #4a2a6f;
    color: #fff;
    font-weight: 700;
    font-size: 1.02em;
    border-radius: 5px;
}
.ookubo-shukuyo-calc .skc-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-bottom: 14px;
    align-items: end;
}
.ookubo-shukuyo-calc .skc-field { display: flex; flex-direction: column; gap: 4px; }
.ookubo-shukuyo-calc .skc-field label { font-size: 0.82em; font-weight: 600; color: #24292f; }
.ookubo-shukuyo-calc .skc-field input[type="number"] {
    padding: 6px 10px;
    border: 1px solid #d0d7de;
    border-radius: 6px;
    background: #fff;
    font-size: 0.95em;
    min-height: 34px;
    color: #24292f;
    width: 90px;
}
.ookubo-shukuyo-calc button.skc-calc {
    padding: 8px 22px;
    background: #7a5a9f;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 0.98em;
    cursor: pointer;
    font-weight: 700;
}
.ookubo-shukuyo-calc button.skc-calc:hover { background: #603f85; }
/* 2026-09-08 JSONコピー併設（shukuyo-calc 1.12.4）: 本命宿計算のエクスポート行。DL・コピーとも min-height 44px */
.ookubo-shukuyo-calc .skc-export-buttons { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ookubo-shukuyo-calc .skc-export-buttons button { background: #6a4a9f; color: #fff; border: none; border-radius: 6px; padding: 9px 18px; min-height: 44px; font-size: 0.92em; font-weight: 700; cursor: pointer; }
.ookubo-shukuyo-calc .skc-export-buttons button.skc-json-copy { background: #fff; color: #4a2a6f; border: 2px solid #6a4a9f; }
.ookubo-shukuyo-calc .skc-export-buttons button.skc-json-copy:hover { background: #f5efff; }
/* 2026-09-08: DL/コピー行の直下の用途注記（本命・恋愛・三角・親子・職場で共通）。14px未満にしない・左揃え */
.ookubo-shukuyo-calc .skc-json-note,
.ookubo-shukuyo-aishou-love .skl-json-note,
.ookubo-shukuyo-triangle .skt-json-note,
.ookubo-shukuyo-parents .skp-json-note,
.ookubo-shukuyo-workplace .skw-json-note { margin: 6px 0 0; font-size: max(14px, 0.9em); line-height: 1.7; color: #5a5468; text-align: left; }
.ookubo-shukuyo-calc .skc-result { margin-top: 14px; }
.ookubo-shukuyo-calc .skc-main-box {
    padding: 14px 18px;
    background: linear-gradient(135deg, #f7edff 0%, #e9d8ff 100%);
    border: 1px solid #c9a8ff;
    border-radius: 8px;
    margin-bottom: 12px;
}
.ookubo-shukuyo-calc .skc-main-box h4 {
    margin: 0 0 6px;
    font-size: 0.92em;
    color: #4a2a6f;
}
.ookubo-shukuyo-calc .skc-main-box .skc-honmei {
    font-size: 1.8em;
    font-weight: 800;
    color: #4a2a6f;
    margin: 0;
    letter-spacing: 0.05em;
}
.ookubo-shukuyo-calc .skc-main-box .skc-honmei-desc {
    margin: 8px 0 0;
    color: #3a2050;
    font-size: 0.92em;
    line-height: 1.7;
}
.ookubo-shukuyo-calc .skc-meta-row {
    display: flex; flex-wrap: wrap;
    gap: 6px 18px;
    font-size: 0.88em;
    color: #57606a;
    margin: 6px 0 0;
}
.ookubo-shukuyo-calc .skc-meta-row strong { color: #24292f; margin-right: 4px; }
.ookubo-shukuyo-calc .skc-lunar-info {
    display: flex; flex-wrap: wrap;
    gap: 4px 14px;
    font-size: 0.82em;
    color: #6a7080;
    margin: 4px 0 8px;
    padding: 4px 2px;
}
.ookubo-shukuyo-calc .skc-lunar-info:empty { display: none; }
.ookubo-shukuyo-calc .skc-lunar-info strong { color: #4a5060; margin-right: 3px; font-weight: 600; }
.ookubo-shukuyo-calc table.skc-lucky {
    width: 100%;
    border-collapse: collapse;
    margin: 6px 0 14px;
    font-size: 0.92em;
    background: #fff;
}
.ookubo-shukuyo-calc table.skc-lucky th,
.ookubo-shukuyo-calc table.skc-lucky td {
    border: 1px solid #d0d7de;
    padding: 6px 8px;
    text-align: center;
}
.ookubo-shukuyo-calc table.skc-lucky th {
    background: #f0e6f8;
    color: #4a2a6f;
    font-weight: 700;
}
.ookubo-shukuyo-calc table.skc-lucky td.skc-lucky-shuku {
    font-weight: 700;
    color: #4a2a6f;
    font-size: 1.15em;
}
.ookubo-shukuyo-calc .skc-today-box {
    padding: 12px 16px;
    background: #fff8e6;
    border: 1px solid #e0c878;
    border-radius: 6px;
    margin-bottom: 12px;
    font-size: 0.95em;
}
.ookubo-shukuyo-calc .skc-today-box .skc-today-rel {
    font-size: 1.25em;
    font-weight: 700;
    color: #8a5a00;
}
.ookubo-shukuyo-calc .skc-today-box .skc-today-mark {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 4px;
    margin-left: 6px;
    font-weight: 700;
    font-size: 0.9em;
}
/* 吉凶マークのチップ。丸みのある塗りつぶし＝押せるUIに見えるのに無反応だと
   デッドクリックになるため、実際に押せるようにして意味を出す。 */
.ookubo-shukuyo-calc .skc-today-mark[data-rel] {
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(122,90,159,0.15);
    transition: filter 0.12s ease, box-shadow 0.12s ease;
}
/* カレンダー側のマークは padding が無く 12px 角ほどしかないため、
   押せるようにするのに合わせて指で押せる大きさのチップにする。 */
.ookubo-shukuyo-calc .skc-cal-mark-slot .skc-today-mark[data-rel] {
    display: inline-block;
    padding: 4px 9px;
    border-radius: 4px;
    font-weight: 700;
    line-height: 1.2;
    position: relative;
}
/* 見た目のチップは 26x21px しかなく WCAG 2.5.8(最小 24x24) の高さを満たさない。
   カレンダーは1行1日のテーブルで行ピッチが 27px しかないため、チップ自体を
   44px 角まで太らせると行が伸びて縦長になる。そこで見た目は変えず、擬似要素で
   当たり判定だけを 44x26px に広げる（行ピッチ 27px 未満なので上下の行と重ならない）。 */
.ookubo-shukuyo-calc .skc-cal-mark-slot .skc-today-mark[data-rel]::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 44px;
    height: 26px;
    transform: translate(-50%, -50%);
}
.ookubo-shukuyo-calc .skc-today-mark[data-rel]:hover,
.ookubo-shukuyo-calc .skc-today-mark[data-rel][aria-expanded="true"] {
    filter: brightness(0.94);
    box-shadow: 0 0 0 2px rgba(122,90,159,0.35);
}
.ookubo-shukuyo-calc .skc-today-mark[data-rel]:focus {
    outline: 2px solid #7a5a9f;
    outline-offset: 1px;
}
.ookubo-shukuyo-calc .skc-mark-hint { font-size: 0.82em; color: #57606a; margin: 6px 0 0; line-height: 1.6; }
.skc-rel-pop {
    position: absolute; z-index: 99999; max-width: 300px;
    background: #fff; border: 1px solid #d8c7e4; border-radius: 10px;
    box-shadow: 0 6px 20px rgba(122,90,159,.25);
    padding: 12px 14px; font-size: 0.86em; line-height: 1.75; color: #333;
}
.skc-rel-pop__name { font-weight: 700; color: #4a2a6f; display: block; margin-bottom: 4px; }
.skc-rel-pop[hidden] { display: none; }
@media (max-width: 480px) { .skc-rel-pop { max-width: 86vw; } }
.ookubo-shukuyo-calc .skc-mark-good { background: #d4edda; color: #155724; }
.ookubo-shukuyo-calc .skc-mark-ok { background: #e6efff; color: #1e3a6f; }
.ookubo-shukuyo-calc .skc-mark-bad { background: #f8d7da; color: #721c24; }
.ookubo-shukuyo-calc .skc-mark-warn { background: #fff3cd; color: #856404; }
.ookubo-shukuyo-calc .skc-mark-neu { background: #e5e5e5; color: #57606a; }
.ookubo-shukuyo-calc .skc-special-row {
    margin: 10px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.ookubo-shukuyo-calc a.skc-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px 4px 4px;
    border-radius: 999px;
    color: #fff;
    font-weight: 700;
    font-size: 0.88em;
    text-decoration: none;
    border: none;
    line-height: 1.2;
}
.ookubo-shukuyo-calc a.skc-badge:hover { opacity: 0.85; color: #fff; }
.ookubo-shukuyo-calc a.skc-badge .skc-badge-disc {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255,255,255,0.28);
    font-size: 0.95em;
    font-weight: 800;
}
.ookubo-shukuyo-calc .skc-cal-mark-slot {
    display: inline-block;
    min-width: 28px;
    text-align: right;
    padding-right: 2px;
    vertical-align: middle;
}
.ookubo-shukuyo-calc .skc-cal-badge-slot {
    display: inline-block;
    min-width: 22px;
    text-align: left;
    padding-left: 2px;
    vertical-align: middle;
}
.ookubo-shukuyo-calc a.skc-cal-badge {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    color: #fff;
    font-size: 0.72em;
    line-height: 18px;
    text-align: center;
    font-weight: 800;
    text-decoration: none;
    vertical-align: middle;
}
.ookubo-shukuyo-calc a.skc-cal-badge:hover { opacity: 0.85; color: #fff; }
.ookubo-shukuyo-calc .skc-badge-kanro    { background: #2a8f4a; }
.ookubo-shukuyo-calc .skc-badge-kongoubu { background: #c89020; }
.ookubo-shukuyo-calc .skc-badge-rasetsu  { background: #a8423d; }
/* 凌犯期間・七曜凌逼・六害宿 (v1.10.0) — リンク先ページなしのため span で表示 */
.ookubo-shukuyo-calc span.skc-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px 4px 4px;
    border-radius: 999px;
    color: #fff;
    font-weight: 700;
    font-size: 0.88em;
    border: none;
    line-height: 1.2;
    cursor: help;
}
.ookubo-shukuyo-calc span.skc-badge .skc-badge-disc {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255,255,255,0.28);
    font-size: 0.95em;
    font-weight: 800;
}
.ookubo-shukuyo-calc span.skc-cal-badge {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    color: #fff;
    font-size: 0.72em;
    line-height: 18px;
    text-align: center;
    font-weight: 800;
    vertical-align: middle;
    cursor: help;
}
.ookubo-shukuyo-calc .skc-badge-ryouhan   { background: #4a5a8f; }
.ookubo-shukuyo-calc .skc-badge-ryouhitsu { background: #6a3a8f; }
.ookubo-shukuyo-calc .skc-badge-rokugai   { background: #7a1f1f; }
.ookubo-shukuyo-calc .skc-beta-tag {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 8px;
    border: 1px solid #c89020;
    border-radius: 999px;
    background: #fffaf0;
    color: #8a5a00;
    font-size: 0.72em;
    font-weight: 700;
    vertical-align: middle;
    line-height: 1.6;
}
.ookubo-shukuyo-calc .skc-ryouhan-note {
    margin: 6px 0 0;
    font-size: 0.88em;
    line-height: 1.65;
}
.ookubo-shukuyo-calc table.skc-rokugai {
    width: 100%;
    border-collapse: collapse;
    margin: 4px 0 6px;
    font-size: 0.9em;
    background: #fff;
}
.ookubo-shukuyo-calc table.skc-rokugai th,
.ookubo-shukuyo-calc table.skc-rokugai td {
    border: 1px solid #d0d7de;
    padding: 5px 8px;
    text-align: left;
    vertical-align: top;
}
.ookubo-shukuyo-calc table.skc-rokugai th {
    background: #f8ecec;
    font-weight: 700;
    color: #7a1f1f;
    white-space: nowrap;
    text-align: center;
}
.ookubo-shukuyo-calc table.skc-rokugai td.skc-rokugai-shuku {
    font-weight: 700;
    white-space: nowrap;
    text-align: center;
}
.ookubo-shukuyo-calc table.skc-calendar {
    width: 100%;
    border-collapse: collapse;
    margin: 4px 0 12px;
    font-size: 0.85em;
    background: #fff;
}
.ookubo-shukuyo-calc table.skc-calendar th,
.ookubo-shukuyo-calc table.skc-calendar td {
    border: 1px solid #d0d7de;
    padding: 4px 6px;
    text-align: center;
}
.ookubo-shukuyo-calc table.skc-calendar th { background: #f0e6f8; font-weight: 700; color: #4a2a6f; }
.ookubo-shukuyo-calc table.skc-calendar td.skc-rel-cell { font-weight: 700; }
.ookubo-shukuyo-calc .skc-aisyou-form {
    display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: end;
    margin: 8px 0 10px;
    padding: 10px 14px;
    background: #f5f0fa;
    border: 1px dashed #c9a8ff;
    border-radius: 6px;
}
.ookubo-shukuyo-calc .skc-aisyou-result {
    margin: 8px 0 0;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #c9a8ff;
    border-radius: 6px;
}
.ookubo-shukuyo-calc .skc-aisyou-result .skc-aisyou-main {
    font-size: 1.1em; font-weight: 700; color: #4a2a6f; margin: 0 0 6px;
}
.ookubo-shukuyo-calc .skc-error {
    padding: 10px 12px;
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
    border-radius: 6px;
    margin-top: 8px;
    font-size: 0.9em;
}
.ookubo-shukuyo-calc .skc-privacy {
    font-size: 0.8em; color: #6a7080; margin-top: 10px;
    padding: 6px 10px; background: #f3f5f7; border-radius: 4px;
    border-left: 3px solid #8a9aae;
}
@media (max-width: 480px) {
    .ookubo-shukuyo-calc .skc-main-box .skc-honmei { font-size: 1.4em; }
    .ookubo-shukuyo-calc table.skc-calendar { font-size: 0.78em; }
    .ookubo-shukuyo-calc table.skc-calendar th,
    .ookubo-shukuyo-calc table.skc-calendar td { padding: 3px 2px; }
}

/* === 由来: ookubo-shukuyo-calc.php（宿曜 相性/恋愛(skl)） === */
/* 30代女性向け繊細パレット: ローズダスト + ローズグレー + クリーム
   既存 .ookubo-shukuyo-calc とは完全に独立したクラス名空間 */
.ookubo-shukuyo-aishou-love {
    max-width: 760px;
    margin: 28px auto;
    padding: 26px 22px;
    border: 1px solid #ead5dc;
    border-radius: 14px;
    background: #fdfafb;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Mincho ProN", "Yu Mincho", "Hiragino Sans", "Meiryo", sans-serif;
    line-height: 1.75;
    color: #4a3744;
    letter-spacing: 0.02em;
}
.ookubo-shukuyo-aishou-love h3 {
    margin: 0 0 10px 0;
    font-size: 1.16em;
    font-weight: 600;
    border-bottom: 1px solid #d9b8c4;
    padding-bottom: 8px;
    color: #8a4a64;
    letter-spacing: 0.05em;
}
.ookubo-shukuyo-aishou-love .skl-note { font-size: 0.9em; color: #7a6470; margin: 0 0 18px 0; line-height: 1.85; }
.ookubo-shukuyo-aishou-love .skl-pair { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.ookubo-shukuyo-aishou-love .skl-field-group { flex: 1; min-width: 240px; padding: 14px 16px; border: 1px solid #e8c5d0; border-radius: 10px; background: #fdf6f8; }
.ookubo-shukuyo-aishou-love .skl-field-group legend { font-weight: 600; color: #8a4a64; padding: 0 8px; font-size: 0.92em; letter-spacing: 0.06em; }
.ookubo-shukuyo-aishou-love .skl-fields-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.ookubo-shukuyo-aishou-love .skl-fields-row label { display: flex; flex-direction: column; gap: 4px; font-size: 0.8em; font-weight: 500; color: #6a5060; }
.ookubo-shukuyo-aishou-love .skl-in { padding: 7px 12px; border: 1px solid #e0c8d2; border-radius: 6px; background: #fff; font-size: 0.95em; min-height: 36px; width: 92px; color: #4a3744; }
.ookubo-shukuyo-aishou-love .skl-in:focus { outline: none; border-color: #c98aa9; box-shadow: 0 0 0 2px rgba(201,138,169,0.18); }
.ookubo-shukuyo-aishou-love .skl-submit { text-align: center; margin: 16px 0 4px; }
.ookubo-shukuyo-aishou-love button.skl-calc {
    padding: 12px 36px;
    background: linear-gradient(135deg, #c98aa9 0%, #b87a9f 100%);
    color: #fff; border: none; border-radius: 999px;
    font-size: 1em; cursor: pointer; font-weight: 600;
    letter-spacing: 0.08em; box-shadow: 0 2px 8px rgba(184,122,159,0.28);
    transition: all 0.2s;
}
.ookubo-shukuyo-aishou-love button.skl-calc:hover { background: linear-gradient(135deg, #b87a9f 0%, #9d6586 100%); box-shadow: 0 3px 12px rgba(184,122,159,0.4); transform: translateY(-1px); }
.ookubo-shukuyo-aishou-love .skl-result { margin-top: 20px; }
.ookubo-shukuyo-aishou-love .skl-error { padding: 12px 14px; background: #fdf0f3; border: 1px solid #e8b8c4; color: #8a4a5a; border-radius: 8px; margin-top: 10px; font-size: 0.9em; }
.ookubo-shukuyo-aishou-love .skl-honmei-cards { display: flex; gap: 14px; flex-wrap: wrap; margin: 12px 0 18px; }
.ookubo-shukuyo-aishou-love .skl-honmei-card { flex: 1; min-width: 220px; padding: 16px 18px; border-radius: 12px; border: 1px solid; background: #fff; }
.ookubo-shukuyo-aishou-love .skl-honmei-card.you { border-color: #d8b8d2; background: linear-gradient(135deg, #fdf8fb 0%, #f4e3ef 100%); }
.ookubo-shukuyo-aishou-love .skl-honmei-card.partner { border-color: #e0b5b8; background: linear-gradient(135deg, #fdf6f5 0%, #f5dfdb 100%); }
.ookubo-shukuyo-aishou-love .skl-honmei-card .skl-label { font-size: 0.82em; font-weight: 600; letter-spacing: 0.1em; }
.ookubo-shukuyo-aishou-love .skl-honmei-card.you .skl-label { color: #8060a0; }
.ookubo-shukuyo-aishou-love .skl-honmei-card.partner .skl-label { color: #a06872; }
.ookubo-shukuyo-aishou-love .skl-honmei-card .skl-shuku { font-size: 1.85em; font-weight: 600; margin: 6px 0; letter-spacing: 0.06em; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; }
.ookubo-shukuyo-aishou-love .skl-honmei-card.you .skl-shuku { color: #6a4a8a; }
.ookubo-shukuyo-aishou-love .skl-honmei-card.partner .skl-shuku { color: #8a4a5a; }
.ookubo-shukuyo-aishou-love .skl-honmei-card .skl-summary { font-size: 0.85em; line-height: 1.7; color: #5a4858; margin-top: 6px; }
.ookubo-shukuyo-aishou-love .skl-honmei-card a { color: inherit; text-decoration: underline; text-decoration-color: rgba(0,0,0,0.2); text-underline-offset: 3px; }
.ookubo-shukuyo-aishou-love .skl-wheel-wrap { background: #fff; border: 1px solid #ead5dc; border-radius: 12px; padding: 16px 10px; margin: 14px 0 18px; }
.ookubo-shukuyo-aishou-love .skl-wheel-toggle { display: flex; gap: 8px; justify-content: center; margin-bottom: 12px; flex-wrap: wrap; }
.ookubo-shukuyo-aishou-love .skl-wheel-btn { padding: 7px 18px; border: 1px solid #d8b8c8; background: #fff; cursor: pointer; border-radius: 999px; font-weight: 500; font-size: 0.88em; color: #6a5060; transition: all 0.2s; letter-spacing: 0.05em; }
.ookubo-shukuyo-aishou-love .skl-wheel-btn:hover { background: #fdf0f5; }
.ookubo-shukuyo-aishou-love .skl-wheel-btn.active { background: #c98aa9; color: #fff; border-color: #c98aa9; }
.ookubo-shukuyo-aishou-love .skl-wheel-svg { display: block; margin: 0 auto; max-width: 100%; height: auto; }
/* 花弁と中央はタップで解説が出る＝押せる部品として見せる */
.ookubo-shukuyo-aishou-love .skl-petal,
.ookubo-shukuyo-aishou-love .skl-shuku-hit { cursor: pointer; -webkit-tap-highlight-color: rgba(201,138,169,0.2); }
.ookubo-shukuyo-aishou-love .skl-petal circle,
.ookubo-shukuyo-aishou-love .skl-shuku-hit circle { transition: filter 0.12s ease; }
.ookubo-shukuyo-aishou-love .skl-petal:hover circle,
.ookubo-shukuyo-aishou-love .skl-shuku-hit:hover circle { filter: brightness(0.95); }
.ookubo-shukuyo-aishou-love .skl-petal[data-open] circle,
.ookubo-shukuyo-aishou-love .skl-shuku-hit[data-open] circle { stroke: #a8577f; stroke-width: 3; }
.ookubo-shukuyo-aishou-love .skl-petal:focus,
.ookubo-shukuyo-aishou-love .skl-shuku-hit:focus { outline: 2px solid #a8577f; outline-offset: 2px; }
.ookubo-shukuyo-aishou-love .skl-wheel-hint { text-align: center; margin: 8px 0 0; font-size: 0.82em; color: #7a6470; line-height: 1.6; }
.skl-info-pop {
    position: absolute; z-index: 99999; max-width: 320px;
    background: #fff; border: 1px solid #ead5dc; border-radius: 10px;
    box-shadow: 0 6px 20px rgba(160,96,128,.25);
    padding: 12px 14px; font-size: 0.86em; line-height: 1.75; color: #3a3038;
}
.skl-info-pop__name { font-weight: 700; color: #8a4a64; display: block; margin-bottom: 4px; }
.skl-info-pop[hidden] { display: none; }
@media (max-width: 480px) { .skl-info-pop { max-width: 86vw; } }
.ookubo-shukuyo-aishou-love .skl-section-title {
    margin: 22px 0 12px;
    padding: 8px 14px;
    background: linear-gradient(135deg, #c98aa9 0%, #b87a9f 100%);
    color: #fff; font-weight: 500; font-size: 0.98em;
    border-radius: 8px; letter-spacing: 0.08em;
}
.ookubo-shukuyo-aishou-love .skl-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ookubo-shukuyo-aishou-love .skl-panel { padding: 16px 18px; border: 1px solid; border-radius: 12px; background: #fff; }
.ookubo-shukuyo-aishou-love .skl-panel.cat-love { border-color: #e8c8d8; background: #fdf6f9; }
.ookubo-shukuyo-aishou-love .skl-panel.cat-marriage { border-color: #d8c8a8; background: #fdfaf2; }
.ookubo-shukuyo-aishou-love .skl-panel.cat-sex { border-color: #d8b0b0; background: #fdf3f3; }
.ookubo-shukuyo-aishou-love .skl-panel-head { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.ookubo-shukuyo-aishou-love .skl-panel-cat { font-weight: 600; font-size: 0.94em; letter-spacing: 0.05em; }
.ookubo-shukuyo-aishou-love .skl-panel.cat-love .skl-panel-cat { color: #a85878; }
.ookubo-shukuyo-aishou-love .skl-panel.cat-marriage .skl-panel-cat { color: #8a7038; }
.ookubo-shukuyo-aishou-love .skl-panel.cat-sex .skl-panel-cat { color: #985858; }
.ookubo-shukuyo-aishou-love .skl-panel-rel { display: inline-block; padding: 3px 12px; border-radius: 999px; font-weight: 600; font-size: 0.82em; letter-spacing: 0.04em; }
.ookubo-shukuyo-aishou-love .skl-rel-good { background: #e8f0e0; color: #4a6a3a; }
.ookubo-shukuyo-aishou-love .skl-rel-ok { background: #e6ecf2; color: #4a5a78; }
.ookubo-shukuyo-aishou-love .skl-rel-warn { background: #f8eed8; color: #8a6a3a; }
.ookubo-shukuyo-aishou-love .skl-rel-bad { background: #f5dde0; color: #8a4a5a; }
.ookubo-shukuyo-aishou-love .skl-rel-neu { background: #e8e0e4; color: #6a5868; }
.ookubo-shukuyo-aishou-love .skl-adult-tag { background: #b87a8a; color: #fff; padding: 2px 10px; border-radius: 999px; font-size: 0.72em; font-weight: 500; letter-spacing: 0.08em; }
.ookubo-shukuyo-aishou-love .skl-panel-body { font-size: 0.9em; line-height: 1.85; margin: 6px 0 0; color: #4a3744; }
.ookubo-shukuyo-aishou-love .skl-panel-body strong { color: #6a4a7a; font-weight: 600; }
.ookubo-shukuyo-aishou-love .skl-direction-label {
    font-weight: 500; font-size: 0.86em; padding: 5px 12px;
    background: #f4e3ef; color: #6a4a7a;
    border-radius: 999px; display: inline-block; margin-bottom: 8px;
    letter-spacing: 0.05em;
}
.ookubo-shukuyo-aishou-love .skl-direction-label.b2a { background: #f5dfdb; color: #8a4a5a; }
.ookubo-shukuyo-aishou-love .skl-export { margin: 22px 0 8px; padding: 18px 20px; background: #fdf8fa; border: 1px solid #ead5dc; border-radius: 12px; scroll-margin-top: 20px; }
.ookubo-shukuyo-aishou-love .skl-export-title { font-weight: 600; font-size: 0.96em; margin-bottom: 8px; color: #8a4a64; letter-spacing: 0.05em; }
.ookubo-shukuyo-aishou-love .skl-export-desc { font-size: 0.86em; margin: 0 0 12px; color: #5a4858; line-height: 1.8; }
.ookubo-shukuyo-aishou-love .skl-export-buttons { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.ookubo-shukuyo-aishou-love .skl-export button { padding: 8px 18px; border: 1px solid #d8b8c8; background: #fff; color: #8a4a64; cursor: pointer; border-radius: 999px; font-weight: 500; font-size: 0.86em; letter-spacing: 0.04em; transition: all 0.2s; }
.ookubo-shukuyo-aishou-love .skl-export button:hover { background: #fdf0f5; border-color: #c98aa9; }
/* 2026-09-08 JSONコピー併設（1.12.4）: ボタン行は 44px 以上・14px 以上に底上げ（既存 0.86em=13.8px は小さすぎ） */
.ookubo-shukuyo-aishou-love .skl-export-buttons { align-items: center; }
.ookubo-shukuyo-aishou-love .skl-export-buttons button { min-height: 44px; font-size: 0.9em; }
.ookubo-shukuyo-aishou-love .skl-export-toggle { font-size: 0.82em; color: #7a6470; cursor: pointer; user-select: none; padding: 4px 0; }
.ookubo-shukuyo-aishou-love .skl-json-pre { background: #2a2530; color: #e8d8e0; padding: 12px 14px; border-radius: 8px; font-size: 0.74em; overflow-x: auto; max-height: 360px; line-height: 1.6; margin-top: 8px; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; }
.ookubo-shukuyo-aishou-love .skl-prompt-section { margin-top: 16px; padding-top: 14px; border-top: 1px dashed #e8d5dc; }
.ookubo-shukuyo-aishou-love .skl-prompt-title { font-weight: 600; font-size: 0.94em; color: #8a4a64; margin-bottom: 8px; letter-spacing: 0.05em; }
.ookubo-shukuyo-aishou-love .skl-prompt-lock-msg { font-size: 0.84em; color: #7a6470; margin: 0 0 10px; line-height: 1.75; }
.ookubo-shukuyo-aishou-love .skl-prompt-input-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ookubo-shukuyo-aishou-love .skl-prompt-input { padding: 9px 14px; border: 1px solid #e0c8d2; border-radius: 999px; background: #fff; font-size: 0.9em; min-width: 200px; color: #4a3744; transition: border-color 0.2s, box-shadow 0.2s; letter-spacing: 0.02em; }
.ookubo-shukuyo-aishou-love .skl-prompt-input:focus { outline: none; border-color: #c98aa9; box-shadow: 0 0 0 2px rgba(201,138,169,0.18); }
.ookubo-shukuyo-aishou-love .skl-prompt-input-err { border-color: #c97070 !important; animation: skl-prompt-shake 0.32s; }
@keyframes skl-prompt-shake {
    0%,100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}
.ookubo-shukuyo-aishou-love .skl-prompt-reveal { padding: 9px 22px; border: 1px solid #c98aa9; background: #fdf6f8; color: #8a4a64; cursor: pointer; border-radius: 999px; font-weight: 600; font-size: 0.86em; letter-spacing: 0.05em; transition: all 0.2s; }
.ookubo-shukuyo-aishou-love .skl-prompt-reveal:hover { background: #c98aa9; color: #fff; box-shadow: 0 2px 8px rgba(201,138,169,0.28); }
.ookubo-shukuyo-aishou-love .skl-prompt-display { margin-top: 12px; padding: 14px 16px; background: #fff; border: 1px solid #ead5dc; border-radius: 10px; }
.ookubo-shukuyo-aishou-love .skl-prompt-display-header { display: flex; gap: 8px; align-items: center; justify-content: space-between; margin-bottom: 8px; flex-wrap: wrap; }
.ookubo-shukuyo-aishou-love .skl-prompt-display-header > span { font-weight: 600; color: #8a4a64; font-size: 0.9em; letter-spacing: 0.04em; }
.ookubo-shukuyo-aishou-love .skl-prompt-copy { padding: 6px 14px; border: 1px solid #d8b8c8; background: #fff; color: #8a4a64; cursor: pointer; border-radius: 999px; font-weight: 500; font-size: 0.82em; letter-spacing: 0.04em; transition: background 0.2s; }
.ookubo-shukuyo-aishou-love .skl-prompt-copy:hover { background: #fdf0f5; border-color: #c98aa9; }
.ookubo-shukuyo-aishou-love .skl-prompt-textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #e0c8d2; border-radius: 8px; background: #fdfafb; font-size: 0.85em; line-height: 1.8; color: #4a3744; resize: vertical; font-family: inherit; min-height: 180px; }
.ookubo-shukuyo-aishou-love .skl-prompt-textarea:focus { outline: none; border-color: #c98aa9; box-shadow: 0 0 0 2px rgba(201,138,169,0.18); }
.ookubo-shukuyo-aishou-love .skl-prompt-hint { font-size: 0.8em; color: #7a6470; margin: 8px 0 0; line-height: 1.7; }
.ookubo-shukuyo-aishou-love .skl-prompt-member-note {
    font-size: 0.82em;
    color: #6a5060;
    margin: 10px 0 0;
    padding: 10px 14px;
    background: #fdf6f8;
    border-left: 3px solid #c98aa9;
    border-radius: 6px;
    line-height: 1.8;
}
.ookubo-shukuyo-aishou-love .skl-prompt-member-note a {
    color: #8a4a64;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
}
.ookubo-shukuyo-aishou-love .skl-prompt-member-note a:hover { color: #6a3a52; }
.ookubo-shukuyo-aishou-love .skl-privacy { font-size: 0.82em; color: #7a6470; margin-top: 16px; padding: 8px 12px; background: #fdf6f8; border-radius: 6px; border-left: 3px solid #d8b8c8; line-height: 1.7; }
@media (max-width: 540px) {
    .ookubo-shukuyo-aishou-love { padding: 18px 14px; }
    .ookubo-shukuyo-aishou-love .skl-panels { grid-template-columns: 1fr; }
    .ookubo-shukuyo-aishou-love .skl-honmei-card .skl-shuku { font-size: 1.5em; }
}

/* === 由来: ookubo-shukuyo-calc.php（宿曜 三九の秘法(skt)） === */
.ookubo-shukuyo-triangle {
    max-width: 780px; margin: 28px auto; padding: 26px 22px;
    border: 1px solid #ead5dc; border-radius: 14px; background: #fdfafb;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Mincho ProN", "Yu Mincho", "Hiragino Sans", "Meiryo", sans-serif;
    line-height: 1.75; color: #4a3744; letter-spacing: 0.02em;
}
.ookubo-shukuyo-triangle h3 { margin: 0 0 10px 0; font-size: 1.16em; font-weight: 600; border-bottom: 1px solid #d9b8c4; padding-bottom: 8px; color: #8a4a64; letter-spacing: 0.05em; }
.ookubo-shukuyo-triangle .skt-note { font-size: 0.9em; color: #7a6470; margin: 0 0 18px 0; line-height: 1.85; }
.ookubo-shukuyo-triangle .skt-trio { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.ookubo-shukuyo-triangle .skt-fieldset { flex: 1; min-width: 220px; padding: 14px 16px; border: 1px solid #e8c5d0; border-radius: 10px; background: #fdf6f8; }
.ookubo-shukuyo-triangle .skt-fieldset.role-self { border-color: #d8b8d2; background: #fdf8fb; }
.ookubo-shukuyo-triangle .skt-fieldset.role-liked { border-color: #e0a8b8; background: #fdf3f6; }
.ookubo-shukuyo-triangle .skt-fieldset.role-rival { border-color: #c8b0d8; background: #f8f4fb; }
.ookubo-shukuyo-triangle .skt-fieldset legend { font-weight: 600; padding: 0 8px; font-size: 0.92em; letter-spacing: 0.05em; }
.ookubo-shukuyo-triangle .role-self legend { color: #6a4a8a; }
.ookubo-shukuyo-triangle .role-liked legend { color: #a04868; }
.ookubo-shukuyo-triangle .role-rival legend { color: #6a5090; }
.ookubo-shukuyo-triangle .skt-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.ookubo-shukuyo-triangle .skt-row label { display: flex; flex-direction: column; gap: 3px; font-size: 0.78em; font-weight: 500; color: #6a5060; }
.ookubo-shukuyo-triangle .skt-in { padding: 7px 10px; border: 1px solid #e0c8d2; border-radius: 6px; background: #fff; font-size: 0.92em; min-height: 36px; width: 76px; color: #4a3744; }
.ookubo-shukuyo-triangle .skt-sex { padding: 7px 10px; border: 1px solid #e0c8d2; border-radius: 6px; background: #fff; font-size: 0.9em; min-height: 36px; color: #4a3744; }
.ookubo-shukuyo-triangle .skt-in:focus, .ookubo-shukuyo-triangle .skt-sex:focus { outline: none; border-color: #c98aa9; box-shadow: 0 0 0 2px rgba(201,138,169,0.18); }
.ookubo-shukuyo-triangle .skt-submit { text-align: center; margin: 16px 0 4px; }
.ookubo-shukuyo-triangle button.skt-calc { padding: 12px 36px; background: linear-gradient(135deg, #c98aa9 0%, #b87a9f 100%); color: #fff; border: none; border-radius: 999px; font-size: 1em; cursor: pointer; font-weight: 600; letter-spacing: 0.08em; box-shadow: 0 2px 8px rgba(184,122,159,0.28); transition: all 0.2s; }
.ookubo-shukuyo-triangle button.skt-calc:hover { background: linear-gradient(135deg, #b87a9f 0%, #9d6586 100%); box-shadow: 0 3px 12px rgba(184,122,159,0.4); transform: translateY(-1px); }
.ookubo-shukuyo-triangle .skt-result { margin-top: 20px; }
.ookubo-shukuyo-triangle .skt-error { padding: 12px 14px; background: #fdf0f3; border: 1px solid #e8b8c4; color: #8a4a5a; border-radius: 8px; margin-top: 10px; font-size: 0.9em; }
.ookubo-shukuyo-triangle .skt-section-title { margin: 22px 0 12px; padding: 8px 14px; background: linear-gradient(135deg, #c98aa9 0%, #b87a9f 100%); color: #fff; font-weight: 500; font-size: 0.98em; border-radius: 8px; letter-spacing: 0.08em; }
.ookubo-shukuyo-triangle .skt-persona-cards { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.ookubo-shukuyo-triangle .skt-persona { padding: 14px 16px; border-radius: 12px; border: 1px solid; background: #fff; }
.ookubo-shukuyo-triangle .skt-persona.role-self { border-color: #d8b8d2; background: linear-gradient(135deg,#fdf8fb 0%,#f1e5f4 100%); }
.ookubo-shukuyo-triangle .skt-persona.role-liked { border-color: #e0a8b8; background: linear-gradient(135deg,#fdf3f6 0%,#f7dfe6 100%); }
.ookubo-shukuyo-triangle .skt-persona.role-rival { border-color: #c8b0d8; background: linear-gradient(135deg,#f8f4fb 0%,#ece3f4 100%); }
.ookubo-shukuyo-triangle .skt-persona .skt-role-label { font-size: 0.8em; font-weight: 600; letter-spacing: 0.08em; }
.ookubo-shukuyo-triangle .role-self .skt-role-label { color: #6a4a8a; }
.ookubo-shukuyo-triangle .role-liked .skt-role-label { color: #a04868; }
.ookubo-shukuyo-triangle .role-rival .skt-role-label { color: #6a5090; }
.ookubo-shukuyo-triangle .skt-persona .skt-shuku { font-size: 1.6em; font-weight: 600; margin: 5px 0; letter-spacing: 0.05em; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; color: #6a4a7a; }
.ookubo-shukuyo-triangle .skt-persona .skt-essence { font-size: 0.84em; line-height: 1.7; color: #5a4858; }
.ookubo-shukuyo-triangle .skt-persona a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ookubo-shukuyo-triangle .skt-pref-box { padding: 16px 18px; border: 1px solid #e0a8b8; border-radius: 12px; background: #fdf3f6; }
.ookubo-shukuyo-triangle .skt-pref-box h4 { margin: 0 0 8px; font-size: 0.98em; color: #a04868; font-weight: 600; }
.ookubo-shukuyo-triangle .skt-pref-item { margin: 8px 0; font-size: 0.9em; line-height: 1.8; }
.ookubo-shukuyo-triangle .skt-pref-item strong { color: #8a4a64; }
.ookubo-shukuyo-triangle .skt-view-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ookubo-shukuyo-triangle .skt-view-card { padding: 14px 16px; border: 1px solid #ead5dc; border-radius: 12px; background: #fff; }
.ookubo-shukuyo-triangle .skt-view-card .skt-view-head { font-weight: 600; font-size: 0.9em; color: #8a4a64; margin-bottom: 6px; }
.ookubo-shukuyo-triangle .skt-rel-pill { display: inline-block; padding: 3px 12px; border-radius: 999px; font-weight: 600; font-size: 0.82em; letter-spacing: 0.04em; margin-left: 4px; }
.ookubo-shukuyo-triangle .skt-rel-good { background: #e8f0e0; color: #4a6a3a; }
.ookubo-shukuyo-triangle .skt-rel-ok { background: #e6ecf2; color: #4a5a78; }
.ookubo-shukuyo-triangle .skt-rel-warn { background: #f8eed8; color: #8a6a3a; }
.ookubo-shukuyo-triangle .skt-rel-bad { background: #f5dde0; color: #8a4a5a; }
.ookubo-shukuyo-triangle .skt-rel-neu { background: #e8e0e4; color: #6a5868; }
.ookubo-shukuyo-triangle .skt-view-body { font-size: 0.86em; line-height: 1.75; color: #4a3744; margin-top: 6px; }
.ookubo-shukuyo-triangle .skt-strength { padding: 18px 20px; border: 1px solid #e0a8b8; border-radius: 14px; background: linear-gradient(135deg, #fdf6f8 0%, #f7e3ea 100%); }
.ookubo-shukuyo-triangle .skt-strength h4 { margin: 0 0 12px; font-size: 1.0em; color: #a04868; font-weight: 600; text-align: center; }
.ookubo-shukuyo-triangle .skt-bar-row { display: flex; align-items: center; gap: 10px; margin: 8px 0; }
.ookubo-shukuyo-triangle .skt-bar-label { flex: 0 0 92px; font-size: 0.85em; font-weight: 600; }
.ookubo-shukuyo-triangle .skt-bar-label.self { color: #6a4a8a; }
.ookubo-shukuyo-triangle .skt-bar-label.rival { color: #6a5090; }
.ookubo-shukuyo-triangle .skt-bar-track { flex: 1; height: 22px; background: #f0e3ea; border-radius: 999px; overflow: hidden; position: relative; }
.ookubo-shukuyo-triangle .skt-bar-fill { height: 100%; border-radius: 999px; transition: width 0.6s ease; }
.ookubo-shukuyo-triangle .skt-bar-fill.self { background: linear-gradient(90deg, #c98ad8 0%, #a86ac0 100%); }
.ookubo-shukuyo-triangle .skt-bar-fill.rival { background: linear-gradient(90deg, #9d80c8 0%, #7a5aa8 100%); }
.ookubo-shukuyo-triangle .skt-bar-val { flex: 0 0 56px; text-align: right; font-size: 0.88em; font-weight: 700; color: #6a4a7a; }
.ookubo-shukuyo-triangle .skt-verdict { margin-top: 12px; text-align: center; font-size: 1.0em; font-weight: 700; padding: 10px; border-radius: 8px; background: #fff; color: #8a4a64; }
.ookubo-shukuyo-triangle .skt-strength-note { font-size: 0.8em; color: #7a6470; margin: 10px 0 0; line-height: 1.7; }
.ookubo-shukuyo-triangle .skt-export { margin: 22px 0 8px; padding: 18px 20px; background: #fdf8fa; border: 1px solid #ead5dc; border-radius: 12px; scroll-margin-top: 20px; }
.ookubo-shukuyo-triangle .skt-export-title { font-weight: 600; font-size: 0.96em; margin-bottom: 8px; color: #8a4a64; letter-spacing: 0.05em; }
.ookubo-shukuyo-triangle .skt-export-desc { font-size: 0.86em; margin: 0 0 12px; color: #5a4858; line-height: 1.8; }
.ookubo-shukuyo-triangle .skt-export-buttons { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.ookubo-shukuyo-triangle .skt-export button { padding: 8px 18px; border: 1px solid #d8b8c8; background: #fff; color: #8a4a64; cursor: pointer; border-radius: 999px; font-weight: 500; font-size: 0.86em; letter-spacing: 0.04em; transition: all 0.2s; }
.ookubo-shukuyo-triangle .skt-export button:hover { background: #fdf0f5; border-color: #c98aa9; }
.ookubo-shukuyo-triangle .skt-export-buttons { align-items: center; }
.ookubo-shukuyo-triangle .skt-export-buttons button { min-height: 44px; font-size: 0.9em; }
.ookubo-shukuyo-triangle .skt-prompt-section { margin-top: 16px; padding-top: 14px; border-top: 1px dashed #e8d5dc; }
.ookubo-shukuyo-triangle .skt-prompt-title { font-weight: 600; font-size: 0.94em; color: #8a4a64; margin-bottom: 8px; letter-spacing: 0.05em; }
.ookubo-shukuyo-triangle .skt-prompt-input-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ookubo-shukuyo-triangle .skt-prompt-input { padding: 9px 14px; border: 1px solid #e0c8d2; border-radius: 999px; background: #fff; font-size: 0.9em; min-width: 220px; color: #4a3744; transition: border-color 0.2s, box-shadow 0.2s; letter-spacing: 0.02em; }
.ookubo-shukuyo-triangle .skt-prompt-input:focus { outline: none; border-color: #c98aa9; box-shadow: 0 0 0 2px rgba(201,138,169,0.18); }
.ookubo-shukuyo-triangle .skt-prompt-input-err { border-color: #c97070 !important; animation: skt-prompt-shake 0.32s; }
@keyframes skt-prompt-shake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.ookubo-shukuyo-triangle .skt-prompt-reveal { padding: 9px 22px; border: 1px solid #c98aa9; background: #fdf6f8; color: #8a4a64; cursor: pointer; border-radius: 999px; font-weight: 600; font-size: 0.86em; letter-spacing: 0.05em; transition: all 0.2s; }
.ookubo-shukuyo-triangle .skt-prompt-reveal:hover { background: #c98aa9; color: #fff; }
.ookubo-shukuyo-triangle .skt-prompt-display { margin-top: 12px; padding: 14px 16px; background: #fff; border: 1px solid #ead5dc; border-radius: 10px; }
.ookubo-shukuyo-triangle .skt-prompt-display-header { display: flex; gap: 8px; align-items: center; justify-content: space-between; margin-bottom: 8px; flex-wrap: wrap; }
.ookubo-shukuyo-triangle .skt-prompt-display-header > span { font-weight: 600; color: #8a4a64; font-size: 0.9em; letter-spacing: 0.04em; }
.ookubo-shukuyo-triangle .skt-prompt-copy { padding: 6px 14px; border: 1px solid #d8b8c8; background: #fff; color: #8a4a64; cursor: pointer; border-radius: 999px; font-weight: 500; font-size: 0.82em; transition: background 0.2s; }
.ookubo-shukuyo-triangle .skt-prompt-copy:hover { background: #fdf0f5; }
/* rows="15" のままだと約390pxになりページが縦長になるため、初期高さを300pxに圧縮。
   height 指定なのでユーザーのドラッグ(resize:vertical)は従来どおり効く。 */
.ookubo-shukuyo-triangle .skt-prompt-textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #e0c8d2; border-radius: 8px; background: #fdfafb; font-size: 0.85em; line-height: 1.8; color: #4a3744; resize: vertical; font-family: inherit; min-height: 140px; height: 300px; }
.ookubo-shukuyo-triangle .skt-prompt-textarea:focus { outline: none; border-color: #c98aa9; box-shadow: 0 0 0 2px rgba(201,138,169,0.18); }
.ookubo-shukuyo-triangle .skt-prompt-hint { font-size: 0.8em; color: #7a6470; margin: 8px 0 0; line-height: 1.7; }
.ookubo-shukuyo-triangle .skt-prompt-member-note { font-size: 0.82em; color: #6a5060; margin: 10px 0 0; padding: 10px 14px; background: #fdf6f8; border-left: 3px solid #c98aa9; border-radius: 6px; line-height: 1.8; }
.ookubo-shukuyo-triangle .skt-prompt-member-note a { color: #8a4a64; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.ookubo-shukuyo-triangle .skt-prompt-member-note a:hover { color: #6a3a52; }
.ookubo-shukuyo-triangle .skt-privacy { font-size: 0.82em; color: #7a6470; margin-top: 16px; padding: 8px 12px; background: #fdf6f8; border-radius: 6px; border-left: 3px solid #d8b8c8; line-height: 1.7; }
@media (max-width: 600px) {
    .ookubo-shukuyo-triangle { padding: 18px 14px; }
    .ookubo-shukuyo-triangle .skt-persona-cards { grid-template-columns: 1fr; }
    .ookubo-shukuyo-triangle .skt-view-grid { grid-template-columns: 1fr; }
    .ookubo-shukuyo-triangle .skt-persona .skt-shuku { font-size: 1.4em; }
}

/* === 由来: ookubo-shukuyo-calc.php（宿曜 親子(skp)） === */
.ookubo-shukuyo-parents {
    max-width: 780px; margin: 28px auto; padding: 26px 22px;
    border: 1px solid #d8dcea; border-radius: 14px; background: #fbfcfe;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Mincho ProN", "Yu Mincho", "Hiragino Sans", "Meiryo", sans-serif;
    line-height: 1.75; color: #37414a; letter-spacing: 0.02em;
}
.ookubo-shukuyo-parents h3 { margin: 0 0 10px 0; font-size: 1.16em; font-weight: 600; border-bottom: 1px solid #b8c4d9; padding-bottom: 8px; color: #3a5a7a; letter-spacing: 0.05em; }
.ookubo-shukuyo-parents .skp-note { font-size: 0.9em; color: #64707a; margin: 0 0 18px 0; line-height: 1.85; }
.ookubo-shukuyo-parents .skp-trio { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.ookubo-shukuyo-parents .skp-fieldset { flex: 1; min-width: 210px; padding: 14px 16px; border: 1px solid #c5d0e0; border-radius: 10px; background: #f6f8fc; }
.ookubo-shukuyo-parents .skp-fieldset.role-father { border-color: #b8c8dc; background: #f3f7fb; }
.ookubo-shukuyo-parents .skp-fieldset.role-mother { border-color: #e0c0cc; background: #fdf5f8; }
.ookubo-shukuyo-parents .skp-fieldset.role-self { border-color: #c0d8c8; background: #f4faf6; }
.ookubo-shukuyo-parents .skp-fieldset legend { font-weight: 600; padding: 0 8px; font-size: 0.92em; letter-spacing: 0.05em; }
.ookubo-shukuyo-parents .role-father legend { color: #3a6a9a; }
.ookubo-shukuyo-parents .role-mother legend { color: #a04868; }
.ookubo-shukuyo-parents .role-self legend { color: #3a8a5a; }
.ookubo-shukuyo-parents .skp-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ookubo-shukuyo-parents .skp-row label { display: flex; flex-direction: column; gap: 3px; font-size: 0.78em; font-weight: 500; color: #5a6570; }
.ookubo-shukuyo-parents .skp-in { padding: 7px 10px; border: 1px solid #cad4e2; border-radius: 6px; background: #fff; font-size: 0.92em; min-height: 36px; width: 76px; color: #37414a; }
.ookubo-shukuyo-parents .skp-in:focus { outline: none; border-color: #7a9ac8; box-shadow: 0 0 0 2px rgba(122,154,200,0.18); }
.ookubo-shukuyo-parents .skp-submit { text-align: center; margin: 16px 0 4px; }
.ookubo-shukuyo-parents button.skp-calc { padding: 12px 36px; background: linear-gradient(135deg, #6a9ac8 0%, #5a7ab0 100%); color: #fff; border: none; border-radius: 999px; font-size: 1em; cursor: pointer; font-weight: 600; letter-spacing: 0.08em; box-shadow: 0 2px 8px rgba(90,122,176,0.28); transition: all 0.2s; }
.ookubo-shukuyo-parents button.skp-calc:hover { background: linear-gradient(135deg, #5a7ab0 0%, #4a6598 100%); box-shadow: 0 3px 12px rgba(90,122,176,0.4); transform: translateY(-1px); }
.ookubo-shukuyo-parents .skp-result { margin-top: 20px; }
.ookubo-shukuyo-parents .skp-error { padding: 12px 14px; background: #fdf0f3; border: 1px solid #e8b8c4; color: #8a4a5a; border-radius: 8px; margin-top: 10px; font-size: 0.9em; }
.ookubo-shukuyo-parents .skp-section-title { margin: 22px 0 12px; padding: 8px 14px; background: linear-gradient(135deg, #6a9ac8 0%, #5a7ab0 100%); color: #fff; font-weight: 500; font-size: 0.98em; border-radius: 8px; letter-spacing: 0.08em; }
.ookubo-shukuyo-parents .skp-persona-cards { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.ookubo-shukuyo-parents .skp-persona { padding: 14px 16px; border-radius: 12px; border: 1px solid; background: #fff; }
.ookubo-shukuyo-parents .skp-persona.role-father { border-color: #b8c8dc; background: linear-gradient(135deg,#f3f7fb 0%,#e3edf6 100%); }
.ookubo-shukuyo-parents .skp-persona.role-mother { border-color: #e0c0cc; background: linear-gradient(135deg,#fdf5f8 0%,#f6e3ea 100%); }
.ookubo-shukuyo-parents .skp-persona.role-self { border-color: #c0d8c8; background: linear-gradient(135deg,#f4faf6 0%,#e3f2e8 100%); }
.ookubo-shukuyo-parents .skp-persona .skp-role-label { font-size: 0.8em; font-weight: 600; letter-spacing: 0.08em; }
.ookubo-shukuyo-parents .role-father .skp-role-label { color: #3a6a9a; }
.ookubo-shukuyo-parents .role-mother .skp-role-label { color: #a04868; }
.ookubo-shukuyo-parents .role-self .skp-role-label { color: #3a8a5a; }
.ookubo-shukuyo-parents .skp-persona .skp-shuku { font-size: 1.6em; font-weight: 600; margin: 5px 0; letter-spacing: 0.05em; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; color: #3a5a7a; }
.ookubo-shukuyo-parents .skp-persona .skp-essence { font-size: 0.84em; line-height: 1.7; color: #4a5560; }
.ookubo-shukuyo-parents .skp-persona a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ookubo-shukuyo-parents .skp-view-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ookubo-shukuyo-parents .skp-view-card { padding: 14px 16px; border: 1px solid #d8dcea; border-radius: 12px; background: #fff; }
.ookubo-shukuyo-parents .skp-view-head { font-weight: 600; font-size: 0.9em; color: #3a5a7a; margin-bottom: 6px; }
.ookubo-shukuyo-parents .skp-rel-pill { display: inline-block; padding: 3px 12px; border-radius: 999px; font-weight: 600; font-size: 0.82em; letter-spacing: 0.04em; margin-left: 4px; }
.ookubo-shukuyo-parents .skp-rel-good { background: #e8f0e0; color: #4a6a3a; }
.ookubo-shukuyo-parents .skp-rel-ok { background: #e6ecf2; color: #4a5a78; }
.ookubo-shukuyo-parents .skp-rel-warn { background: #f8eed8; color: #8a6a3a; }
.ookubo-shukuyo-parents .skp-rel-bad { background: #f5dde0; color: #8a4a5a; }
.ookubo-shukuyo-parents .skp-rel-neu { background: #e8e0e4; color: #6a5868; }
.ookubo-shukuyo-parents .skp-view-body { font-size: 0.86em; line-height: 1.75; color: #37414a; margin-top: 6px; }
.ookubo-shukuyo-parents .skp-kangae { margin-top: 8px; padding: 8px 10px; background: #f6f8fc; border-left: 3px solid #7a9ac8; border-radius: 5px; font-size: 0.82em; line-height: 1.7; color: #4a5560; }
.ookubo-shukuyo-parents .skp-kangae strong { color: #3a5a7a; }
.ookubo-shukuyo-parents .skp-understand { padding: 18px 20px; border: 1px solid #c5d0e0; border-radius: 14px; background: linear-gradient(135deg, #f3f7fb 0%, #e6eef6 100%); }
.ookubo-shukuyo-parents .skp-understand h4 { margin: 0 0 12px; font-size: 1.0em; color: #3a5a7a; font-weight: 600; text-align: center; }
.ookubo-shukuyo-parents .skp-bar-row { display: flex; align-items: center; gap: 10px; margin: 8px 0; }
.ookubo-shukuyo-parents .skp-bar-label { flex: 0 0 100px; font-size: 0.85em; font-weight: 600; }
.ookubo-shukuyo-parents .skp-bar-label.father { color: #3a6a9a; }
.ookubo-shukuyo-parents .skp-bar-label.mother { color: #a04868; }
.ookubo-shukuyo-parents .skp-bar-track { flex: 1; height: 22px; background: #e3e9f0; border-radius: 999px; overflow: hidden; }
.ookubo-shukuyo-parents .skp-bar-fill { height: 100%; border-radius: 999px; transition: width 0.6s ease; }
.ookubo-shukuyo-parents .skp-bar-fill.father { background: linear-gradient(90deg, #7aa8d8 0%, #5a7ab0 100%); }
.ookubo-shukuyo-parents .skp-bar-fill.mother { background: linear-gradient(90deg, #d88ab0 0%, #b86a90 100%); }
.ookubo-shukuyo-parents .skp-bar-val { flex: 0 0 56px; text-align: right; font-size: 0.88em; font-weight: 700; color: #3a5a7a; }
.ookubo-shukuyo-parents .skp-understand-note { font-size: 0.8em; color: #64707a; margin: 10px 0 0; line-height: 1.7; }
.ookubo-shukuyo-parents .skp-export { margin: 22px 0 8px; padding: 18px 20px; background: #f6f9fc; border: 1px solid #d8dcea; border-radius: 12px; scroll-margin-top: 20px; }
.ookubo-shukuyo-parents .skp-export-title { font-weight: 600; font-size: 0.96em; margin-bottom: 8px; color: #3a5a7a; letter-spacing: 0.05em; }
.ookubo-shukuyo-parents .skp-export-desc { font-size: 0.86em; margin: 0 0 12px; color: #4a5560; line-height: 1.8; }
.ookubo-shukuyo-parents .skp-export-buttons { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.ookubo-shukuyo-parents .skp-export button { padding: 8px 18px; border: 1px solid #b8c8dc; background: #fff; color: #3a5a7a; cursor: pointer; border-radius: 999px; font-weight: 500; font-size: 0.86em; letter-spacing: 0.04em; transition: all 0.2s; }
.ookubo-shukuyo-parents .skp-export button:hover { background: #eef4fa; border-color: #7a9ac8; }
.ookubo-shukuyo-parents .skp-export-buttons { align-items: center; }
.ookubo-shukuyo-parents .skp-export-buttons button { min-height: 44px; font-size: 0.9em; }
.ookubo-shukuyo-parents .skp-prompt-section { margin-top: 16px; padding-top: 14px; border-top: 1px dashed #d5dce8; }
.ookubo-shukuyo-parents .skp-prompt-title { font-weight: 600; font-size: 0.94em; color: #3a5a7a; margin-bottom: 8px; letter-spacing: 0.05em; }
.ookubo-shukuyo-parents .skp-prompt-input-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ookubo-shukuyo-parents .skp-prompt-input { padding: 9px 14px; border: 1px solid #cad4e2; border-radius: 999px; background: #fff; font-size: 0.9em; min-width: 220px; color: #37414a; transition: border-color 0.2s, box-shadow 0.2s; letter-spacing: 0.02em; }
.ookubo-shukuyo-parents .skp-prompt-input:focus { outline: none; border-color: #7a9ac8; box-shadow: 0 0 0 2px rgba(122,154,200,0.18); }
.ookubo-shukuyo-parents .skp-prompt-input-err { border-color: #c97070 !important; animation: skp-prompt-shake 0.32s; }
@keyframes skp-prompt-shake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.ookubo-shukuyo-parents .skp-prompt-reveal { padding: 9px 22px; border: 1px solid #7a9ac8; background: #f3f7fb; color: #3a5a7a; cursor: pointer; border-radius: 999px; font-weight: 600; font-size: 0.86em; letter-spacing: 0.05em; transition: all 0.2s; }
.ookubo-shukuyo-parents .skp-prompt-reveal:hover { background: #7a9ac8; color: #fff; }
.ookubo-shukuyo-parents .skp-prompt-member-note { font-size: 0.82em; color: #5a6570; margin: 10px 0 0; padding: 10px 14px; background: #f3f7fb; border-left: 3px solid #7a9ac8; border-radius: 6px; line-height: 1.8; }
.ookubo-shukuyo-parents .skp-prompt-member-note a { color: #3a5a7a; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.ookubo-shukuyo-parents .skp-prompt-display { margin-top: 12px; padding: 14px 16px; background: #fff; border: 1px solid #d8dcea; border-radius: 10px; }
.ookubo-shukuyo-parents .skp-prompt-display-header { display: flex; gap: 8px; align-items: center; justify-content: space-between; margin-bottom: 8px; flex-wrap: wrap; }
.ookubo-shukuyo-parents .skp-prompt-display-header > span { font-weight: 600; color: #3a5a7a; font-size: 0.9em; letter-spacing: 0.04em; }
.ookubo-shukuyo-parents .skp-prompt-copy { padding: 6px 14px; border: 1px solid #b8c8dc; background: #fff; color: #3a5a7a; cursor: pointer; border-radius: 999px; font-weight: 500; font-size: 0.82em; transition: background 0.2s; }
.ookubo-shukuyo-parents .skp-prompt-copy:hover { background: #eef4fa; }
.ookubo-shukuyo-parents .skp-prompt-textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #cad4e2; border-radius: 8px; background: #fbfcfe; font-size: 0.85em; line-height: 1.8; color: #37414a; resize: vertical; font-family: inherit; min-height: 140px; }
.ookubo-shukuyo-parents .skp-prompt-textarea:focus { outline: none; border-color: #7a9ac8; box-shadow: 0 0 0 2px rgba(122,154,200,0.18); }
.ookubo-shukuyo-parents .skp-prompt-hint { font-size: 0.8em; color: #64707a; margin: 8px 0 0; line-height: 1.7; }
.ookubo-shukuyo-parents .skp-privacy { font-size: 0.82em; color: #64707a; margin-top: 16px; padding: 8px 12px; background: #f3f7fb; border-radius: 6px; border-left: 3px solid #b8c8dc; line-height: 1.7; }
@media (max-width: 600px) {
    .ookubo-shukuyo-parents { padding: 18px 14px; }
    .ookubo-shukuyo-parents .skp-persona-cards { grid-template-columns: 1fr; }
    .ookubo-shukuyo-parents .skp-view-grid { grid-template-columns: 1fr; }
    .ookubo-shukuyo-parents .skp-persona .skp-shuku { font-size: 1.4em; }
}

