/* ============================================================
   Today (Phase T) — daily planning workspace. Token-driven (Brand
   OS), light-mode-clean, mirrors the .gt-* look of the War Map.
   ============================================================ */
.td-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap;
  padding:28px 30px; border-radius:var(--radius-lg); border:1px solid var(--line);
  background:linear-gradient(180deg, var(--surface), var(--surface-grad-2)); margin-bottom:22px; }
.td-hero .kicker { font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.td-hero h1 { margin:8px 0 0; font-family:var(--serif); font-size:30px; line-height:1.05; letter-spacing:-.02em; }
.td-hero .sub { margin:10px 0 0; color:var(--muted); font-size:14px; max-width:60ch; }
.td-hero-rating { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.td-rating-lbl { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.td-rating-val { font-family:var(--serif); font-size:34px; font-weight:700; color:var(--gold); line-height:1; }

.td-sec { padding:22px 24px; border-radius:var(--radius-lg); border:1px solid var(--line);
  background:linear-gradient(180deg, var(--surface), var(--surface-grad-2)); margin-bottom:16px; }
.td-sec-head { display:flex; align-items:flex-start; gap:12px; margin-bottom:16px; }
.td-sec-num { flex:0 0 auto; width:26px; height:26px; display:grid; place-items:center; border-radius:8px;
  border:1px solid var(--gold-line); background:var(--gold-soft); color:var(--gold); font-family:var(--mono); font-size:12px; }
.td-sec-head h3 { margin:0; font-size:17px; }
.td-sec-head p { margin:3px 0 0; font-size:12.5px; color:var(--muted); max-width:64ch; }

/* shared form bits */
.td-in { width:100%; padding:9px 11px; border-radius:9px; border:1px solid var(--line-2);
  background:var(--surface); color:var(--ivory); font-size:13.5px; font-family:inherit; }
.td-in:focus { outline:none; border-color:var(--gold-2); box-shadow:0 0 0 2px var(--gold-soft); }
.td-ta { resize:vertical; min-height:46px; line-height:1.5; }
.td-in-sm { width:120px; }
.td-btn { padding:9px 14px; border-radius:9px; border:1px solid var(--line-2); background:var(--surface); color:var(--ivory);
  font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap; transition:transform .15s, border-color .15s; }
.td-btn:hover { transform:translateY(-1px); border-color:var(--gold-line); }
.td-btn.ghost { background:transparent; }
.td-x { flex:0 0 auto; width:26px; height:26px; border-radius:7px; border:1px solid transparent; background:transparent;
  color:var(--muted); cursor:pointer; font-size:15px; line-height:1; }
.td-x:hover { color:var(--red); border-color:var(--red); }
.td-empty { color:var(--muted); font-size:12.5px; font-style:italic; margin:4px 0; }

/* 3-column board */
.td-board { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.td-col { display:flex; flex-direction:column; gap:10px; padding:14px; border-radius:12px; border:1px solid var(--line);
  background:var(--surface); }
.td-col-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.td-col-head h4 { margin:0; font-size:13.5px; }
.td-col-head span { font-size:11px; color:var(--muted); }
.td-col-items { display:flex; flex-direction:column; gap:6px; min-height:8px; }
.td-item, .td-task { display:flex; align-items:center; gap:8px; padding:7px 9px; border-radius:8px;
  border:1px solid var(--line); background:linear-gradient(180deg, var(--surface), var(--surface-grad-2)); }
.td-item-txt { flex:1; min-width:0; font-size:13px; word-break:break-word; }
.td-check { flex:1; display:flex; align-items:center; gap:8px; min-width:0; cursor:pointer; }
.td-check input { flex:0 0 auto; width:15px; height:15px; accent-color:var(--gold); }
.td-check span { font-size:13px; word-break:break-word; }
.td-task.done .td-check span { text-decoration:line-through; color:var(--muted); }
.td-add { display:flex; gap:7px; margin-top:2px; }
.td-add .td-in { flex:1 1 auto; }

/* anti-focus + alignment */
.td-anti .td-col-items { margin-bottom:10px; }
.td-anti .td-item { background:var(--surface); }
.td-align { display:flex; flex-wrap:wrap; gap:10px; }
.td-align-item { display:flex; align-items:center; gap:8px; padding:9px 13px; border-radius:999px;
  border:1px solid var(--line-2); background:var(--surface); font-size:13px; cursor:pointer; }
.td-align-item input { width:15px; height:15px; accent-color:var(--gold); }

/* questions + fields */
.td-q { margin-bottom:12px; }
.td-q label, .td-field label { display:block; font-size:12.5px; color:var(--muted); margin-bottom:5px; }
.td-field { margin-bottom:12px; }
.td-field-row { display:flex; align-items:center; gap:10px; }
.td-field-row label { margin:0; flex:1; }
.td-suffix { color:var(--muted); font-size:13px; }
.td-eod { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:8px; }
.td-eod .td-field { margin-bottom:0; }

@media (max-width:760px) {
  .td-board { grid-template-columns:1fr; }
  .td-hero { padding:22px 18px; }
  .td-sec { padding:18px 16px; }
}
