/* 오늘 할 일 3개 보드 */
[data-app="today-three"]{ display:flex; flex-direction:column; gap:10px; }
[data-app="today-three"] .tt-top{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
[data-app="today-three"] .tt-date{ margin:0; min-width:0; font-size:13px; font-weight:800; color:#4B5059; }
[data-app="today-three"] .tt-count{ margin:0; flex:none; padding:1px 9px; border-radius:999px; background:#E9EEFA; font-size:12.5px; font-weight:800; color:#314B86; font-variant-numeric:tabular-nums; white-space:nowrap; }
/* 예시 안내 줄(예시 글이 있을 때만) */
[data-app="today-three"] .tt-exnote{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 10px; margin:0; padding:7px 8px 7px 10px; border-radius:10px; background:#FFF7E0; color:#6B5300; font-size:12.5px; line-height:1.5; }
[data-app="today-three"] .tt-exnote .ndt-btn{ background:#fff; border-color:#E5CF8F; color:#4A3800; }
[data-app="today-three"] .tt-ask{ margin:-4px 0 0; font-size:18px; font-weight:900; letter-spacing:-.02em; color:#1A1A1A; }
[data-app="today-three"] .tt-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
[data-app="today-three"] .tt-slot{ display:grid; grid-template-columns:48px minmax(0,1fr); gap:10px; align-items:start; padding:9px 10px; border:1.5px solid #E3E5EA; border-radius:14px; background:#FAFAFB; }
[data-app="today-three"] .tt-slot:has(.tt-t:focus){ border-color:#2563EB; background:#fff; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
[data-app="today-three"] .tt-slot.done{ background:#F3F8F5; border-color:#D4E9DC; }
[data-app="today-three"] .tt-chk{ display:flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:2px solid #C9CDD4; border-radius:50%; background:#fff; color:#6B717B; font-size:18px; font-weight:900; line-height:1; cursor:pointer; -webkit-tap-highlight-color:transparent; }
/* 바뀔 때만 부드럽게 — 처음 열 때는 바로 그림(tt-anim 은 첫 그림 뒤에 붙음) */
[data-app="today-three"].tt-anim .tt-slot{ transition:background .2s, border-color .2s; }
[data-app="today-three"].tt-anim .tt-chk{ transition:background .15s, border-color .15s; }
[data-app="today-three"] .tt-chk:hover{ border-color:#0D7A43; color:#0D7A43; }
[data-app="today-three"] .tt-slot.empty .tt-chk{ border-style:dashed; color:#A0A6AF; }
[data-app="today-three"] .tt-slot.done .tt-chk{ background:#0D7A43; border-color:#0D7A43; border-style:solid; color:#fff; font-size:22px; }
[data-app="today-three"] .tt-body{ min-width:0; }
[data-app="today-three"] .tt-t{ display:block; width:100%; min-height:48px; margin:0; padding:11px 2px; border:0; border-radius:0; background:transparent; resize:none; overflow:hidden; font:inherit; font-size:17px; font-weight:800; line-height:1.45; color:#1A1A1A; word-break:keep-all; overflow-wrap:anywhere; }
[data-app="today-three"] .tt-t:focus{ outline:none; }
[data-app="today-three"] .tt-t::placeholder{ color:#A0A6AF; font-weight:600; }
[data-app="today-three"] .tt-slot.done .tt-t{ color:#8A8F98; text-decoration:line-through; text-decoration-thickness:2px; text-decoration-color:#0D7A43; }
[data-app="today-three"] .tt-meta{ margin:-6px 0 2px; padding:0 2px; font-size:12.5px; color:#6B717B; }
[data-app="today-three"] .tt-meta:empty{ display:none; }
[data-app="today-three"] .tt-slot.done .tt-meta{ color:#0D7A43; }
[data-app="today-three"] .tt-slot.stale .tt-meta{ color:#8A4B00; font-weight:700; }
[data-app="today-three"] .tt-win{ margin:0; padding:12px 14px; border-radius:12px; background:#E7F6EC; color:#13703F; font-size:15.5px; font-weight:900; line-height:1.45; text-align:center; animation:today-three-pop .35s ease-out; }
@keyframes today-three-pop{ from{ transform:scale(.96); opacity:0; } to{ transform:none; opacity:1; } }
[data-app="today-three"] .tt-carry{ display:flex; flex-direction:column; gap:6px; padding:10px; border:1.5px dashed #B9C7E6; border-radius:12px; background:#F3F6FC; }
[data-app="today-three"] .tt-pull{ width:100%; min-height:44px; white-space:normal; line-height:1.3; }
[data-app="today-three"] .tt-carry-list{ margin:0; font-size:12.5px; color:#4B5059; overflow-wrap:anywhere; }
[data-app="today-three"] .tt-msg{ margin:0; min-height:0; font-size:13px; font-weight:700; color:#314B86; }
[data-app="today-three"] .tt-msg:empty{ display:none; }
[data-app="today-three"] .tt-foot{ justify-content:flex-end; }
[data-app="today-three"] .tt-help{ margin:0; }
@media (max-width:420px){
  [data-app="today-three"] .tt-slot{ grid-template-columns:44px minmax(0,1fr); gap:8px; padding:8px; }
  [data-app="today-three"] .tt-chk{ width:44px; height:44px; }
  [data-app="today-three"] .tt-t{ min-height:44px; padding:9px 2px; font-size:16.5px; }
}
/* 두 번 눌러 확인(NDT.confirm2): 공통 런타임이 누르기 전 폭으로 단추를 묶어 「판 비우기」(70px)가 세 줄로 쪼개짐(10/2 시험)
   → 이 도구에서는 확인 문구 길이만큼 넓힘(최대 11em, 넘으면 두 줄) */
[data-app="today-three"] .ndt-btn.ndt-arm{ width:auto !important; max-width:min(100%, 11em); }
