.tn-goal-date-page {
  --tng-paper:#faf6ee; --tng-wash:#f5efdf; --tng-ink:#1a1208; --tng-muted:#5a4a30;
  --tng-line:#b8a888; --tng-soft:#ddd4be; --tng-button:#ede6d4; --tng-hover:#dfd4bb;
  --tng-accent:#c44a00; --tng-primary:#1a1208; --tng-primary-hover:#41311e; --tng-primary-text:#f7ead1;
  --tng-sans:-apple-system,BlinkMacSystemFont,"Pretendard","Segoe UI",system-ui,sans-serif;
  --tng-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  width:100%; max-width:1180px; min-width:0; margin-inline:auto; color:var(--tng-ink); -webkit-text-fill-color:var(--tng-ink);
}
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-d="dark"],[data-scheme="auto"][data-l="dark"]) .tn-goal-date-page,
html:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-d="dark"],[data-scheme="auto"][data-l="dark"]) body:not([data-scheme="light"]) .tn-goal-date-page {
  --tng-paper:#241d12; --tng-wash:#322a1a; --tng-ink:#efe6d2; --tng-muted:#c3b492; --tng-line:#6f6047; --tng-soft:#574a37;
  --tng-button:#2f2115; --tng-hover:#3a2a1b; --tng-accent:#e8823f; --tng-primary:#6a3b1f; --tng-primary-hover:#824826; color-scheme:dark;
}
@media(prefers-color-scheme:dark) {
  body[data-scheme="auto"] .tn-goal-date-page, html[data-scheme="auto"] body:not([data-scheme="light"]) .tn-goal-date-page {
    --tng-paper:#241d12; --tng-wash:#322a1a; --tng-ink:#efe6d2; --tng-muted:#c3b492; --tng-line:#6f6047; --tng-soft:#574a37;
    --tng-button:#2f2115; --tng-hover:#3a2a1b; --tng-accent:#e8823f; --tng-primary:#6a3b1f; --tng-primary-hover:#824826; color-scheme:dark;
  }
}

.tn-goal-date-page .tng-ad { display:flow-root; width:100%; max-width:900px; min-height:90px; height:auto; max-height:none; overflow:visible; margin-inline:auto; background:transparent; }
.tn-goal-date-page .tng-ad--top { margin-block:54px 20px; }
.tn-goal-date-page .tng-ad--bottom { margin-block:28px 26px; }
@media(max-width:540px) { .tn-goal-date-page .tng-ad--top { margin-top:48px; } }

.tn-goal-date-page .tng-workspace,.tn-goal-date-page .tng-workspace * { box-sizing:border-box; }
.tn-goal-date-page .tng-workspace {
  display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); border-block:3px double var(--tng-line);
  background:var(--tng-paper); font:14px/1.55 var(--tng-sans); font-variant-numeric:lining-nums tabular-nums; -webkit-font-smoothing:antialiased;
}
.tn-goal-date-page .tng-workspace :is(h2,h3,p,dl,dt,dd,fieldset,legend) { margin:0; padding:0; }
.tn-goal-date-page .tng-workspace :is(h2,h3) { font:700 15px/1.5 var(--tng-sans); color:var(--tng-ink); -webkit-text-fill-color:var(--tng-ink); }
.tn-goal-date-page :is(.tng-input-pane,.tng-result-pane) { min-width:0; padding:24px; }
.tn-goal-date-page .tng-input-pane { border-right:1px solid var(--tng-line); }
.tn-goal-date-page .tng-result-pane { background:var(--tng-wash); display:flex; flex-direction:column; gap:13px; align-items:stretch; }
.tn-goal-date-page .tng-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; margin-top:15px; }
.tn-goal-date-page .tng-field { display:grid; gap:5px; min-width:0; align-content:start; }
.tn-goal-date-page .tng-field:has(#tngStart) { grid-column:1 / -1; }
.tn-goal-date-page .tng-workspace label { color:var(--tng-ink); -webkit-text-fill-color:var(--tng-ink); font:700 12px/1.5 var(--tng-sans); padding:0; }
.tn-goal-date-page .tng-workspace :is(input,textarea) {
  display:block; width:100%; min-width:0; min-height:42px; margin:0; padding:9px 10px; border:1px solid var(--tng-line); border-radius:0;
  outline:none; box-shadow:none; background:var(--tng-paper); color:var(--tng-ink); -webkit-text-fill-color:var(--tng-ink);
  font:600 14px/1.4 var(--tng-sans); font-variant-numeric:lining-nums tabular-nums;
}
.tn-goal-date-page .tng-workspace textarea { resize:vertical; min-height:80px; font-size:13px; }
.tn-goal-date-page .tng-workspace input::placeholder,.tn-goal-date-page .tng-workspace textarea::placeholder { color:var(--tng-muted); -webkit-text-fill-color:var(--tng-muted); opacity:.35; font-weight:400; }
.tn-goal-date-page .tng-workspace :is(input,textarea,button,summary):focus-visible { outline:2px solid var(--tng-accent); outline-offset:2px; }
.tn-goal-date-page .tng-weekdays { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; margin-top:12px; }
.tn-goal-date-page .tng-day { display:grid; gap:6px; text-align:center; min-width:0; }
.tn-goal-date-page .tng-day input { padding-inline:3px; text-align:center; }
.tn-goal-date-page .tng-day small { font-size:11px; color:var(--tng-muted); -webkit-text-fill-color:var(--tng-muted); }
.tn-goal-date-page .tng-workspace fieldset { border:0; margin-top:23px; }
.tn-goal-date-page .tng-workspace legend { font-weight:700; font-size:13px; }
.tn-goal-date-page .tng-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:15px; }
.tn-goal-date-page .tng-workspace button {
  display:inline-flex; align-items:center; justify-content:center; min-height:40px; margin:0; padding:9px 12px;
  border:1px solid var(--tng-line); border-radius:0; box-shadow:none; background:var(--tng-button); color:var(--tng-ink); -webkit-text-fill-color:var(--tng-ink);
  font:700 12px/1 var(--tng-mono); cursor:pointer; text-align:center; transition:background-color .15s ease;
}
.tn-goal-date-page .tng-workspace button:hover:not(:disabled) { background:var(--tng-hover); }
.tn-goal-date-page .tng-workspace button:disabled { opacity:.45; cursor:not-allowed; }
.tn-goal-date-page .tng-workspace .tng-btn--primary { background:var(--tng-primary); color:var(--tng-primary-text); -webkit-text-fill-color:var(--tng-primary-text); }
.tn-goal-date-page .tng-workspace .tng-btn--primary:hover:not(:disabled) { background:var(--tng-primary-hover); color:var(--tng-primary-text); -webkit-text-fill-color:var(--tng-primary-text); }
.tn-goal-date-page :is(.tng-hint,.tng-caption,#tngResultStatus) { color:var(--tng-muted); -webkit-text-fill-color:var(--tng-muted); font-size:12px; line-height:1.65; }
.tn-goal-date-page .tng-hint { margin-top:8px!important; }
.tn-goal-date-page .tng-options { margin-top:20px; padding-block:12px; border-block:1px solid var(--tng-soft); }
.tn-goal-date-page .tng-workspace summary { cursor:pointer; font-weight:700; font-size:12px; padding:2px 0; }
.tn-goal-date-page .tng-options[open] > :not(summary) { margin-top:12px; }
.tn-goal-date-page #tngResultDate { font:800 clamp(23px,2.4vw,34px)/1.3 var(--tng-sans); letter-spacing:-.03em; font-variant-numeric:lining-nums tabular-nums; color:var(--tng-accent); -webkit-text-fill-color:var(--tng-accent); overflow-wrap:anywhere; }
.tn-goal-date-page .tng-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--tng-line); gap:0 16px; }
.tn-goal-date-page .tng-stats > div { display:grid; gap:4px; padding-block:12px; border-bottom:1px solid var(--tng-soft); min-width:0; }
.tn-goal-date-page .tng-stats dt { color:var(--tng-muted); -webkit-text-fill-color:var(--tng-muted); font-size:11px; }
.tn-goal-date-page .tng-stats dd { font:800 17px/1.4 var(--tng-sans); font-variant-numeric:lining-nums tabular-nums; }
.tn-goal-date-page .tng-progress-track { height:5px; background:var(--tng-soft); overflow:hidden; margin-block:6px; }
.tn-goal-date-page #tngProgress { display:block; height:100%; width:0; background:var(--tng-accent); }
.tn-goal-date-page #tngDeadlineResult { padding:11px 0; border-block:1px solid var(--tng-soft); font-size:12px; line-height:1.6; }
.tn-goal-date-page :is(.tng-milestone,.tng-week-row) { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--tng-soft); font-size:12px; }
.tn-goal-date-page :is(.tng-milestone,.tng-week-row) strong { text-align:right; font:800 12px/1.55 var(--tng-sans); }
.tn-goal-date-page #tngMilestones:empty,.tn-goal-date-page #tngWeeklyPlan:empty { display:none; }
.tn-goal-date-page #tngError { padding:10px 0; color:var(--tng-accent); -webkit-text-fill-color:var(--tng-accent); font-size:12px; }
.tn-goal-date-page #tngLive { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:1050px) { .tn-goal-date-page .tng-workspace { grid-template-columns:1fr; } .tn-goal-date-page .tng-input-pane { border-right:0; border-bottom:1px solid var(--tng-line); } }
@media(max-width:540px) {
  .tn-goal-date-page :is(.tng-input-pane,.tng-result-pane) { padding:18px 13px; }
  .tn-goal-date-page .tng-weekdays { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
  .tn-goal-date-page .tng-day { grid-template-columns:24px minmax(0,1fr) auto; align-items:center; text-align:left; gap:6px; }
  .tn-goal-date-page .tng-day input { text-align:left; padding-inline:10px; }
  .tn-goal-date-page .tng-workspace button { padding-inline:10px; font-size:11px; }
  .tn-goal-date-page .tng-week-row { flex-direction:column; gap:2px; }
  .tn-goal-date-page .tng-week-row strong { text-align:left; }
  .tn-goal-date-page #tngResultDate { font-size:28px; }
}
/* Workspace details follow the tool's published markup. */
.tn-goal-date-page .tng-pane-head { display:grid; gap:5px; }
.tn-goal-date-page .tng-kicker { color:var(--tng-accent); -webkit-text-fill-color:var(--tng-accent); font:700 10px/1.4 var(--tng-mono); letter-spacing:.09em; }
.tn-goal-date-page .tng-pane-head p,.tn-goal-date-page .tng-field small,.tn-goal-date-page .tng-rule { color:var(--tng-muted); -webkit-text-fill-color:var(--tng-muted); font-size:11px; line-height:1.65; }
.tn-goal-date-page :is(.tng-control,.tng-day-control) { display:flex; align-items:center; border:1px solid var(--tng-line); background:var(--tng-paper); min-width:0; }
.tn-goal-date-page :is(.tng-control,.tng-day-control) input { border:0; flex:1 1 auto; }
.tn-goal-date-page :is(.tng-control,.tng-day-control) > b { flex:0 0 auto; padding-inline:8px; border-left:1px solid var(--tng-soft); font:400 11px/1.5 var(--tng-sans); color:var(--tng-muted); -webkit-text-fill-color:var(--tng-muted); }
.tn-goal-date-page .tng-day-control { flex-direction:row; }
.tn-goal-date-page .tng-day-control > b { padding:0 4px; font-size:10px; }
.tn-goal-date-page .tng-day-control input { font-size:13px; }
.tn-goal-date-page :is(.tng-control,.tng-day-control) > b { align-self:stretch; display:flex; align-items:center; border-right:1px solid var(--tng-line); border-bottom:1px solid var(--tng-line); }
.tn-goal-date-page .tng-day i { display:none; }
.tn-goal-date-page .tng-week-header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:24px; padding-top:16px; border-top:1px solid var(--tng-soft); }
.tn-goal-date-page .tng-week-header p,.tn-goal-date-page .tng-week-header > span { font-size:11px; color:var(--tng-muted); -webkit-text-fill-color:var(--tng-muted); }
.tn-goal-date-page .tng-week-header > span { padding:3px 6px; border:1px solid var(--tng-soft); white-space:nowrap; }
.tn-goal-date-page .tng-presets { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:12px; }
.tn-goal-date-page .tng-presets > span { font-size:11px; margin-right:3px; color:var(--tng-muted); -webkit-text-fill-color:var(--tng-muted); }
.tn-goal-date-page .tng-presets button { font-size:11px; min-height:36px; padding-inline:9px; }
.tn-goal-date-page .tng-options summary > span { font-size:10px; font-weight:400; margin-left:6px; color:var(--tng-muted); -webkit-text-fill-color:var(--tng-muted); }
.tn-goal-date-page .tng-option-grid { display:grid; gap:14px; }
.tn-goal-date-page .tng-date-result { display:grid; gap:7px; padding-block:8px 5px; }
.tn-goal-date-page .tng-date-result > span { font-size:11px; color:var(--tng-muted); -webkit-text-fill-color:var(--tng-muted); }
.tn-goal-date-page .tng-progress-head { display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.tn-goal-date-page .tng-progress-head > span { color:var(--tng-muted); -webkit-text-fill-color:var(--tng-muted); font-size:11px; }
.tn-goal-date-page .tng-plan-details { padding-block:4px; }
.tn-goal-date-page #tngCopy { align-self:start; }
.tn-goal-date-page input[aria-invalid="true"],.tn-goal-date-page textarea[aria-invalid="true"] { outline:1px solid var(--tng-accent); outline-offset:-1px; }
@media(max-width:540px) {
  .tn-goal-date-page .tng-day { grid-template-columns:38px minmax(0,1fr); }
  .tn-goal-date-page .tng-day-control { flex-direction:row; }
  .tn-goal-date-page .tng-day-control > b { border-left:1px solid var(--tng-soft); padding:0 6px; }
  .tn-goal-date-page .tng-presets { gap:5px; }
  .tn-goal-date-page .tng-presets > span { flex-basis:100%; }
}
