/* v0.6.4 (docs build) */
.tau-wrapper { --tau-line:#9aa89d; --tau-ink:#2d2f2d; --tau-box:#ffffff; --tau-label-bg:#f7f8f6;
  --tau-req-bg:#fff3e6; --tau-req-line:#f0c7a6; --tau-opt-bg:#eef6ff; --tau-opt-line:#c9def7; --tau-opt-chip:#e2efff; }
.tau-form { background: var(--tau-box); border: 1.5px solid var(--tau-line); border-radius: 12px; padding: 14px; margin-bottom: 14px; }
.tau-form-row { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.tau-form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tau-form label { font-weight: 700; }
.tau-cute-field .tau-cute-input, .tau-cute-radio { display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: center; border: 1px solid var(--tau-line);
  border-radius: 12px; padding: 8px; background:#fff; }
.tau-inline { display: flex; gap: 8px; align-items: center; }
.tau-inline > .tau-cute-chip { flex: 0 0 auto; }
.tau-inline > input[type="text"] { flex: 1 1 auto; min-width: 120px; }
.tau-inline > .tau-btn { flex: 0 0 auto; }
.tau-cute-chip { background: #f3e1da; border: 1px solid #e6d7c9; border-radius: 999px; padding: 4px 10px; font-size: 12px; color: #5b5047; }
.tau-field--optional .tau-cute-chip { background: var(--tau-opt-chip); border-color: var(--tau-opt-line); }
.tau-cute-input input[type="text"] { border: none; background: transparent; padding: 8px 6px; outline: none; font-size: 15px; width: 100%; }
.tau-field--required .tau-cute-input, .tau-field--required .tau-cute-radio { background: var(--tau-req-bg); border-color: var(--tau-req-line); }
.tau-field--optional .tau-cute-input, .tau-field--optional .tau-cute-radio { background: var(--tau-opt-bg); border-color: var(--tau-opt-line); }
.tau-helper { font-size: 12px; color: #7a6f66; }

/* birth */
.tau-birth { border: 1.5px solid var(--tau-line); border-radius: 10px; padding: 10px; background: var(--tau-req-bg); border-color: var(--tau-req-line); }
.tau-birth-quick { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; margin-bottom: 6px; }
.tau-birth-quick input { padding: 8px 10px; border: 1px solid var(--tau-line); border-radius: 8px; background: #fff; }
.tau-birth-grid { display: grid; grid-template-columns: 120px 90px 90px auto; gap: 8px; align-items: center; }
.tau-birth-grid input[type="text"], .tau-birth-grid select { padding: 6px 8px; border: 1px solid var(--tau-line); border-radius: 8px; background: #fff; }
.tau-birth-quick-preview { font-size: 13px; color: #444; }
.tau-birth-status { margin-top: 4px; font-size: 13px; color: #444; }
.tau-row-compact .tau-quickbox { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; }
.tau-row-compact #time-hhmm, .tau-row-compact #tau-place { height: 40px; padding: 6px 10px; border: 1px solid var(--tau-opt-line); border-radius: 10px; background: var(--tau-opt-bg); }
.tau-quick-preview { font-size: 12px; color: #666; }

/* radio/buttons */
.tau-radio { display: flex; gap: 16px; align-items: center; }
.tau-btn { border: 1px solid var(--tau-line); background: #fff; border-radius: 10px; padding: 8px 12px; cursor: pointer; }
.tau-btn-primary { background: #2b5d4b; color: #fff; border-color: #2b5d4b; }
.tau-btn-accent { background: #145c9e; color: #fff; border-color: #145c9e; }
.tau-form-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* table + modal */
.tau-box { background: var(--tau-box); border: 1.5px solid var(--tau-line); border-radius: 12px; padding: 12px; }
.tau-meishiki-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.tau-meishiki-table thead th { padding: 10px 6px; border-bottom: 1.5px solid var(--tau-line); }
.tau-meishiki-table th, .tau-meishiki-table td { border-right: 1px solid var(--tau-line); }
.tau-meishiki-table td { height: 42px; border-bottom: 1px solid var(--tau-line); }
.tau-rowlabel { background: var(--tau-label-bg); padding: 0 10px; }

/* modal */
.tau-modal[aria-hidden="true"]{ display:none; }
.tau-modal{ position:fixed; inset:0; background:rgba(0,0,0,.35); display:flex; align-items:flex-start; justify-content:center; padding:4vh 2vw; z-index:9999; }
.tau-modal__dialog{ background:#fff; border:1px solid var(--tau-line); border-radius:12px; width:min(900px,96vw); max-height:90vh; overflow:auto; }
.tau-modal__head{ display:flex; justify-content:space-between; padding:10px 12px; border-bottom:1px solid var(--tau-line); }
.tau-modal__body{ padding:12px; }
.tau-cand{ border:1px solid var(--tau-line); border-radius:10px; padding:10px; margin-bottom:10px; display:grid; grid-template-columns:1fr auto; gap:10px; }
.tau-cand-actions{ display:flex; gap:8px; align-items:center; }
