/* Wakeru Tools：すべて .wk 以下に名前空間を限定。テーマには手を入れない。 */
.wk { --wk-ink:#1f2933; --wk-sub:#52606d; --wk-line:#cbd2d9; --wk-bg:#f7f9fb; --wk-accent:#1f5f8b; --wk-accent-bg:#e6f0f7; --wk-warn:#8a4b00; --wk-warn-bg:#fff4e0; --wk-err:#a61b1b; --wk-err-bg:#fdeaea; --wk-ok:#1c6b3a; --wk-ok-bg:#e8f5ec;
  color:var(--wk-ink); font-size:16px; line-height:1.75; box-sizing:border-box; }
.wk *, .wk *::before, .wk *::after { box-sizing:inherit; }
.wk h2 { font-size:1.25rem; margin:1.8em 0 .6em; line-height:1.4; }
.wk h3 { font-size:1.08rem; margin:1.4em 0 .5em; line-height:1.4; }
.wk p { margin:.5em 0; }
.wk .wk-privacy { background:var(--wk-accent-bg); border-left:4px solid var(--wk-accent); padding:.6em .9em; font-size:.95rem; }
.wk .wk-hint { display:block; color:var(--wk-sub); font-size:.85rem; }
.wk .wk-field { margin:.8em 0; }
.wk .wk-field > label, .wk legend { display:block; font-weight:700; margin-bottom:.25em; }
.wk input[type=text], .wk input[type=number], .wk input[type=search], .wk select, .wk textarea {
  width:100%; max-width:100%; min-height:44px; padding:.5em .7em; font-size:16px; border:1px solid #7b8794; border-radius:6px; background:#fff; color:var(--wk-ink); }
.wk textarea { min-height:7em; font-family:inherit; }
.wk input:focus, .wk select:focus, .wk textarea:focus, .wk button:focus-visible, .wk summary:focus-visible, .wk [tabindex]:focus-visible { outline:3px solid #f2a900; outline-offset:2px; }
.wk fieldset { border:1px solid var(--wk-line); border-radius:8px; padding:.8em 1em 1em; margin:1em 0; background:#fff; }
.wk legend { padding:0 .4em; }
.wk .wk-row { display:flex; flex-wrap:wrap; gap:.6em 1.2em; align-items:flex-start; }
.wk .wk-col { flex:1 1 220px; min-width:0; }
.wk .wk-choice { display:flex; align-items:center; gap:.6em; min-height:44px; padding:.1em .3em; cursor:pointer; }
.wk .wk-choice input { width:22px; height:22px; flex:none; margin:0; }
.wk .wk-choice-box { display:flex; flex-wrap:wrap; gap:.2em 1.2em; }
.wk .wk-btn { min-height:44px; padding:.55em 1.2em; font-size:16px; font-weight:700; color:#fff; background:var(--wk-accent); border:2px solid var(--wk-accent); border-radius:6px; cursor:pointer; }
.wk .wk-btn:hover { background:#174a6c; }
.wk .wk-btn-sub { color:var(--wk-accent); background:#fff; }
.wk .wk-btn-sub:hover { background:var(--wk-accent-bg); }
.wk .wk-btn-small { min-height:36px; padding:.25em .8em; font-size:.9rem; }
.wk .wk-actions { display:flex; flex-wrap:wrap; gap:.6em; margin:1em 0; align-items:center; }
.wk .wk-status { margin-left:.5em; font-size:.9rem; color:var(--wk-ok); }
.wk .wk-error { background:var(--wk-err-bg); color:var(--wk-err); border:1px solid var(--wk-err); border-radius:6px; padding:.6em .9em; font-weight:700; }
.wk .wk-error::before { content:"⚠ "; }
.wk .wk-notice { background:var(--wk-warn-bg); border:1px solid #e0b05c; border-radius:6px; padding:.6em .9em; }
.wk .wk-footer { margin-top:2em; border-top:2px solid var(--wk-line); padding-top:.8em; font-size:.92rem; color:var(--wk-sub); }
.wk .wk-footer .wk-notice { color:var(--wk-ink); }
.wk .wk-tabs { display:flex; flex-wrap:wrap; gap:.4em; margin:1em 0; padding:0; list-style:none; }
.wk .wk-tab { min-height:44px; padding:.5em 1em; font-size:16px; font-weight:700; background:#fff; color:var(--wk-accent); border:2px solid var(--wk-accent); border-radius:6px; cursor:pointer; }
.wk .wk-tab[aria-selected=true] { background:var(--wk-accent); color:#fff; }
.wk .wk-tab[aria-selected=true]::before { content:"✓ "; }
.wk .wk-table-wrap { overflow-x:auto; margin:.6em 0 1em; border:1px solid var(--wk-line); border-radius:6px; }
.wk .wk-table { border-collapse:collapse; width:100%; min-width:420px; font-size:.95rem; background:#fff; }
.wk .wk-table caption { text-align:left; font-weight:700; padding:.5em .7em; background:var(--wk-bg); }
.wk .wk-table th, .wk .wk-table td { border-top:1px solid var(--wk-line); padding:.45em .7em; text-align:left; vertical-align:top; }
.wk .wk-table td { font-variant-numeric:tabular-nums; }
.wk .wk-table thead th { background:var(--wk-bg); }
.wk .wk-result { margin-top:1.5em; padding:1em; border:2px solid var(--wk-accent); border-radius:10px; background:#fff; }
.wk .wk-result > h2:first-child { margin-top:.2em; }
.wk .wk-card { border:1px solid var(--wk-line); border-radius:8px; padding:.7em 1em; margin:.8em 0; background:#fff; }
.wk .wk-card-open { border:2px solid var(--wk-warn); background:var(--wk-warn-bg); }
.wk .wk-card-agreed { border:2px solid var(--wk-ok); background:var(--wk-ok-bg); }
.wk .wk-badge { display:inline-block; padding:.05em .6em; border-radius:99px; font-size:.82rem; font-weight:700; border:1px solid currentColor; margin-right:.5em; }
.wk .wk-badge-open { color:var(--wk-warn); }
.wk .wk-badge-agreed { color:var(--wk-ok); }
.wk .wk-bar-row { display:flex; align-items:center; gap:.6em; margin:.2em 0; }
.wk .wk-bar-label { flex:0 0 11em; max-width:45%; font-size:.92rem; }
.wk .wk-bar { flex:1; height:.9em; background:#e4e7eb; border-radius:3px; overflow:hidden; }
.wk .wk-bar > span { display:block; height:100%; background:var(--wk-accent); }
.wk .wk-bar-n { flex:0 0 3.2em; text-align:right; font-variant-numeric:tabular-nums; font-size:.92rem; }
.wk .wk-code { font-family:ui-monospace,Consolas,monospace; font-size:.85rem; word-break:break-all; }
.wk .wk-item { border:1px solid var(--wk-line); border-radius:8px; padding:.4em .9em .8em; margin:.8em 0; background:#fff; }
.wk .wk-item-head { display:flex; flex-wrap:wrap; gap:.5em; justify-content:space-between; align-items:center; }
.wk .wk-faq { margin-top:2em; }
.wk .wk-faq-item { border:1px solid var(--wk-line); border-radius:6px; margin:.5em 0; padding:.2em .9em; background:#fff; }
.wk .wk-faq-item summary { cursor:pointer; font-weight:700; min-height:44px; display:flex; align-items:center; }
.wk .wk-pre { white-space:pre-wrap; word-break:break-word; background:var(--wk-bg); border:1px solid var(--wk-line); border-radius:6px; padding:.7em .9em; font-size:.92rem; }
.wk .wk-list-plain { margin:.3em 0; padding-left:1.3em; }
.wk .wk-small { font-size:.88rem; color:var(--wk-sub); }
.wk-print-area { display:none; }

@media (max-width: 480px) {
  .wk .wk-btn { width:100%; }
  .wk .wk-copy .wk-btn { width:auto; }
  .wk .wk-bar-label { flex-basis:8em; }
}

/* 印刷（ブラウザの印刷でPDF化できる）。印刷ボタンで body に wk-printing が付いたときだけ有効。 */
@media print {
  body.wk-printing > *:not(.wk-print-area) { display:none !important; }
  body.wk-printing .wk-print-area { display:block !important; width:100%; padding:0; color:#000; background:#fff; font-size:12pt; line-height:1.7; }
  body.wk-printing .wk-print-area h1 { font-size:18pt; margin:0 0 .4em; }
  body.wk-printing .wk-print-area h2 { font-size:13pt; margin:1em 0 .3em; border-bottom:1px solid #000; }
  body.wk-printing .wk-print-area li { margin:.2em 0; }
  body.wk-printing .wk-print-area .wk-print-foot { margin-top:1.5em; padding-top:.5em; border-top:1px solid #000; font-size:10pt; }
  @page { margin:18mm; }
}

/* 署名欄つき印刷（WK.printDoc） */
@media print {
  body.wk-printing .wk-print-area table { width:100%; border-collapse:collapse; font-size:10.5pt; margin:.4em 0; }
  body.wk-printing .wk-print-area th, body.wk-printing .wk-print-area td { border:1px solid #000; padding:.3em .5em; text-align:left; background:#fff; color:#000; }
  body.wk-printing .wk-print-area .wk-card { border:1px solid #666; padding:.3em .7em; margin:.5em 0; break-inside:avoid; background:#fff; }
  body.wk-printing .wk-print-area h3, body.wk-printing .wk-print-area h4 { font-size:11.5pt; margin:.8em 0 .2em; }
  body.wk-printing .wk-print-area .wk-notice, body.wk-printing .wk-print-area .wk-small { font-size:10pt; }
  body.wk-printing .wk-print-sign { break-inside:avoid; margin-top:1.5em; }
  body.wk-printing .wk-print-checks { list-style:none; padding-left:0; display:flex; flex-wrap:wrap; gap:.3em 1.5em; }
  body.wk-printing .wk-print-signdate { margin:.8em 0; font-size:12pt; }
  body.wk-printing .wk-print-signtable td { height:16mm; }
  body.wk-printing .wk-print-signtable th[scope=row] { width:22%; }
  body.wk-printing .wk-print-signtable tbody td:nth-child(2) { width:36%; }
}

/* 遺産分割協議書（1頁目 本文／2頁目 別紙／3頁目 署名押印）。ページ番号は印刷時にブラウザが付ける。 */
@media print {
  @page { margin:18mm 18mm 22mm; @bottom-center { content: counter(page) " / " counter(pages); font-size:10pt; } }
  body.wk-printing .wk-agreement h1 { text-align:center; font-size:22pt; letter-spacing:.3em; margin:0 0 .6em; }
  body.wk-printing .wk-agreement .wk-ag-page { break-before:page; }
  body.wk-printing .wk-agreement .wk-ag-page:first-child { break-before:auto; }
  body.wk-printing .wk-agreement .wk-ag-right { text-align:right; margin:0 0 1em; }
  body.wk-printing .wk-agreement .wk-ag-dec { margin:0 0 1em; }
  body.wk-printing .wk-agreement .wk-ag-line { display:inline-block; border-bottom:1px solid #000; }
  body.wk-printing .wk-agreement .wk-ag-art { break-inside:avoid; margin:.6em 0; }
  body.wk-printing .wk-agreement .wk-ag-art h3 { margin:.6em 0 .2em; }
  body.wk-printing .wk-agreement .wk-ag-date { margin:1.5em 0; font-size:13pt; }
  body.wk-printing .wk-agreement .wk-ag-sign { break-inside:avoid; margin:1.2em 0; }
  body.wk-printing .wk-agreement { line-height:1.5; }
  body.wk-printing .wk-agreement p { margin:.25em 0; }
  body.wk-printing .wk-agreement .wk-ag-page:first-child td { height:6mm; }
  body.wk-printing .wk-agreement table { break-inside:avoid; }
  body.wk-printing .wk-agreement table td { height:7mm; padding-top:.15em; padding-bottom:.15em; }
}
