.tc-tool {
  margin: 8px 0 58px;
  border: 1px solid var(--tc-line, rgba(255,255,255,.12));
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(13,25,30,.98), rgba(7,15,19,.98));
  box-shadow: 0 30px 85px rgba(0,0,0,.28);
  overflow: hidden;
}
.tc-tool__header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:26px 28px; border-bottom:1px solid var(--tc-line, rgba(255,255,255,.12)); }
.tc-tool__header h2 { margin:6px 0 5px !important; color:var(--tc-text,#fff); font-size:clamp(27px,4vw,38px) !important; line-height:1.1; }
.tc-tool__header p { margin:0; color:var(--tc-muted,#96a7a8); font-size:14px; }
.tc-tool__status { display:inline-flex; align-items:center; gap:7px; color:var(--tc-accent,#b6f24a); font-size:10px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.tc-tool__status i { width:7px; height:7px; border-radius:50%; background:var(--tc-accent,#b6f24a); box-shadow:0 0 12px rgba(182,242,74,.7); }
.tc-icon-button { width:40px; height:40px; flex:0 0 40px; border:1px solid var(--tc-line,rgba(255,255,255,.12)); border-radius:10px; background:transparent; color:var(--tc-muted,#96a7a8); cursor:pointer; }
.tc-icon-button:hover { color:var(--tc-accent,#b6f24a); border-color:var(--tc-accent,#b6f24a); }
.tc-tool__body { padding:28px; }
.tc-tool__note { display:flex; gap:10px; padding:16px 28px; border-top:1px solid var(--tc-line,rgba(255,255,255,.12)); color:#708181; font-size:11px; }
.tc-tool-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:26px; align-items:start; }
.tc-tool-grid--running { grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr); }
.tc-form, .tc-result { min-width:0; padding:23px; border:1px solid var(--tc-line,rgba(255,255,255,.12)); border-radius:17px; background:rgba(255,255,255,.018); }
.tc-form { display:grid; gap:17px; }
.tc-result { background:rgba(3,9,12,.43); }
.tc-field { display:grid; gap:7px; margin:0; }
.tc-field > span, .tc-time-input > span, .tc-pace-input > span { color:#aebbbb; font-size:11px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.tc-field input:not([type="range"]), .tc-field select, .tc-time-input input, .tc-form textarea {
  width:100%; height:48px; padding:0 13px; border:1px solid rgba(255,255,255,.13); border-radius:8px; outline:0; background:#081216; color:#f3f7f5; font-size:15px;
}
.tc-field input:focus, .tc-field select:focus, .tc-time-input input:focus { border-color:var(--tc-accent,#b6f24a); box-shadow:0 0 0 3px rgba(182,242,74,.08); }
.tc-field input[type="range"] { width:100%; accent-color:var(--tc-accent,#b6f24a); }
.tc-field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:end; }
.tc-field-row:has(.tc-swap) { grid-template-columns:1fr 42px 1fr; }
.tc-time-input { display:grid; gap:8px; }
.tc-time-input > div { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:start; gap:8px; }
.tc-time-input label { position:relative; }
.tc-time-input input { padding-right:36px; font-variant-numeric:tabular-nums; }
.tc-time-input small { position:absolute; right:9px; top:14px; color:#687a7b; font-size:9px; font-weight:850; }
.tc-time-input b { align-self:center; color:#718182; }
.tc-segmented { display:flex; gap:5px; padding:4px; margin:0; border:1px solid rgba(255,255,255,.11); border-radius:9px; }
.tc-segmented legend { width:100%; margin-bottom:7px; color:#aebbbb; font-size:11px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.tc-segmented label { flex:1; cursor:pointer; }
.tc-segmented input { position:absolute; opacity:0; pointer-events:none; }
.tc-segmented span { display:grid; place-items:center; min-height:38px; padding:7px 10px; border-radius:6px; color:#90a0a1; font-size:12px; font-weight:750; text-align:center; }
.tc-segmented input:checked + span { background:#172a30; color:var(--tc-accent,#b6f24a); box-shadow:inset 0 0 0 1px rgba(182,242,74,.2); }
.tc-check { display:flex; align-items:flex-start; gap:10px; color:#aebbbb; font-size:13px; cursor:pointer; }
.tc-check input { margin-top:4px; accent-color:var(--tc-accent,#b6f24a); }
.tc-button--tool { width:100%; border:0; margin-top:3px; }
.tc-form-error { margin:0; color:#ff8d8d; font-size:12px; }
.tc-form-help { margin:0; color:#718183; font-size:11px; }
.tc-input-suffix { position:relative; }
.tc-input-suffix input { padding-right:38px !important; }
.tc-input-suffix b { position:absolute; right:13px; top:12px; color:var(--tc-muted,#96a7a8); }
.tc-swap { display:grid; place-items:end center; }
.tc-swap button { width:38px; height:48px; border:1px solid rgba(255,255,255,.13); border-radius:8px; background:#081216; color:var(--tc-accent,#b6f24a); cursor:pointer; }
.tc-result__eyebrow { color:var(--tc-accent,#b6f24a); font-size:10px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.tc-result__headline { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:20px 0 22px; border-bottom:1px solid var(--tc-line,rgba(255,255,255,.12)); }
.tc-result__headline > span { color:#91a1a2; font-size:13px; }
.tc-result__headline strong { color:#f5f8f6; font-size:clamp(31px,5vw,48px); line-height:1; font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.tc-result__headline--date { display:block; }
.tc-result__headline--date strong { display:block; margin-top:9px; font-size:clamp(25px,4vw,38px); line-height:1.2; }
.tc-metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 -8px; padding:18px 0; }
.tc-metric-grid > div { min-width:0; padding:0 10px; border-right:1px solid var(--tc-line,rgba(255,255,255,.12)); }
.tc-metric-grid > div:last-child { border-right:0; }
.tc-metric-grid span { display:block; color:#778889; font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.tc-metric-grid strong { display:block; margin:5px 0 0; color:#f3f7f5; font-size:22px; line-height:1.2; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.tc-metric-grid small { color:#718183; font-size:10px; }
.tc-metric-grid--stack { grid-template-columns:1fr; margin-top:20px; }
.tc-metric-grid--stack > div { display:flex; justify-content:space-between; align-items:center; padding:15px 0; border-right:0; border-bottom:1px solid var(--tc-line,rgba(255,255,255,.12)); }
.tc-metric-grid--stack strong { margin:0; }
.tc-result-actions { display:flex; flex-wrap:wrap; gap:7px; padding:0 0 18px; }
.tc-result-actions button, .tc-copy-list button, .tc-secret button { min-height:34px; padding:0 11px; border:1px solid rgba(255,255,255,.12); border-radius:7px; background:transparent; color:#aebbbb; font-size:10px; font-weight:750; cursor:pointer; }
.tc-result-actions button:hover, .tc-copy-list button:hover, .tc-secret button:hover { border-color:var(--tc-accent,#b6f24a); color:var(--tc-accent,#b6f24a); }
.tc-split-panel { border-top:1px solid var(--tc-line,rgba(255,255,255,.12)); }
.tc-split-panel__head { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 0 10px; }
.tc-split-panel__head h3 { margin:0 !important; font-size:16px !important; }
.tc-split-panel__head span { padding:4px 8px; border:1px solid rgba(182,242,74,.18); border-radius:99px; color:var(--tc-accent,#b6f24a); font-size:9px; font-weight:800; text-transform:uppercase; }
.tc-table-wrap { max-height:330px; overflow:auto; border:1px solid rgba(255,255,255,.07); border-radius:9px; }
.tc-split-table { width:100%; margin:0 !important; border-collapse:collapse; font-size:11px !important; font-variant-numeric:tabular-nums; }
.tc-split-table th { position:sticky; top:0; z-index:2; background:#0b171b; color:#718183; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.tc-split-table th, .tc-split-table td { padding:9px 10px !important; border-bottom:1px solid rgba(255,255,255,.065) !important; }
.tc-split-table td { color:#cbd4d3 !important; }
.tc-split-table td:first-child { color:var(--tc-accent,#b6f24a) !important; font-weight:800; }
.tc-related-journey { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:18px; padding:13px 15px; border:1px solid rgba(182,242,74,.13); border-radius:9px; background:rgba(182,242,74,.035); }
.tc-related-journey span { color:#718183; font-size:9px; font-weight:800; text-transform:uppercase; }
.tc-related-journey a { color:var(--tc-accent,#b6f24a) !important; font-size:11px; font-weight:800; text-decoration:none; }
.tc-copy-list { display:grid; gap:8px; margin-top:20px; }
.tc-copy-list > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 11px; border:1px solid rgba(255,255,255,.09); border-radius:8px; background:#081216; }
.tc-copy-list code { color:#dce4e3; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; }
.tc-secret { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; margin-top:20px; }
.tc-secret code { min-height:58px; display:flex; align-items:center; padding:12px; border:1px solid rgba(255,255,255,.1); border-radius:8px; background:#061014; color:var(--tc-accent,#b6f24a); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:15px; overflow-wrap:anywhere; }
.tc-secret button { min-height:58px; }
.tc-strength { display:flex; justify-content:space-between; gap:15px; margin-top:14px; color:#778889; font-size:11px; }
.tc-strength strong { color:#d7dfde; }
.tc-random-output { margin-top:25px; color:var(--tc-accent,#b6f24a); font-size:clamp(43px,8vw,80px); font-weight:850; line-height:1.1; letter-spacing:-.04em; overflow-wrap:anywhere; }
.tc-decision-tool { min-height:330px; display:grid; place-items:center; align-content:center; gap:20px; text-align:center; }
.tc-decision-result { width:150px; height:150px; display:grid; place-items:center; border:1px solid rgba(182,242,74,.25); border-radius:50%; background:radial-gradient(circle,rgba(182,242,74,.1),transparent 68%); color:var(--tc-accent,#b6f24a); font-size:50px; font-weight:900; }
.tc-decision-tool .tc-button { width:min(300px,100%); }
.tc-decision-tool p { color:#718183; font-size:12px; }
.tc-countdown { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:24px; }
.tc-countdown > div { padding:15px 6px; border:1px solid rgba(255,255,255,.09); border-radius:9px; text-align:center; }
.tc-countdown strong { display:block; color:var(--tc-accent,#b6f24a); font-size:clamp(24px,4vw,39px); line-height:1; font-variant-numeric:tabular-nums; }
.tc-countdown span { display:block; margin-top:8px; color:#718183; font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.tc-countdown-status { margin:15px 0 0; color:#879899; font-size:12px; }
.tc-timezone-detail { margin-top:18px; color:#91a1a2; font-size:13px; }
.tc-tool-directory { margin-bottom:50px; }

@media (max-width: 900px) {
  .tc-tool-grid, .tc-tool-grid--running { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
  .tc-tool__header, .tc-tool__body { padding:19px; }
  .tc-tool__note { padding:14px 19px; }
  .tc-form, .tc-result { padding:17px; }
  .tc-field-row { grid-template-columns:1fr; }
  .tc-field-row:has(.tc-swap) { grid-template-columns:1fr; }
  .tc-swap { place-items:center; }
  .tc-swap button { width:100%; height:38px; }
  .tc-metric-grid { grid-template-columns:1fr; margin:0; }
  .tc-metric-grid > div { padding:12px 0; border-right:0; border-bottom:1px solid var(--tc-line,rgba(255,255,255,.12)); }
  .tc-metric-grid > div:last-child { border-bottom:0; }
  .tc-result__headline { display:block; }
  .tc-result__headline strong { display:block; margin-top:8px; }
  .tc-related-journey { display:block; }
  .tc-related-journey a { display:block; margin-top:5px; }
  .tc-countdown { grid-template-columns:repeat(2,1fr); }
}
@media print {
  .tc-site-header, .tc-site-footer, .tc-page-hero, .tc-form, .tc-tool__header, .tc-tool__note, .tc-result-actions, .tc-page-aside, .tc-related-journey { display:none !important; }
  body { background:#fff !important; color:#111 !important; }
  .tc-page-layout, .tc-tool-grid { display:block !important; }
  .tc-tool, .tc-result { border:0 !important; box-shadow:none !important; background:#fff !important; color:#111 !important; }
  .tc-result *, .tc-split-table td, .tc-split-table th { color:#111 !important; background:#fff !important; }
  .tc-table-wrap { max-height:none !important; overflow:visible !important; }
}
[hidden] { display: none !important; }
.tc-prediction-list, .tc-training-list, .tc-interval-list { display:grid; gap:0; margin-top:18px; border-top:1px solid var(--tc-line,rgba(255,255,255,.12)); }
.tc-prediction-list > div, .tc-interval-list > div { display:grid; grid-template-columns:minmax(90px,.7fr) 1fr 1fr; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--tc-line,rgba(255,255,255,.12)); }
.tc-prediction-list span, .tc-interval-list span { color:#aebbbb; font-size:12px; font-weight:750; }
.tc-prediction-list strong, .tc-interval-list strong { color:var(--tc-accent,#b6f24a); font-size:20px; font-variant-numeric:tabular-nums; }
.tc-prediction-list small, .tc-interval-list small { color:#718183; text-align:right; }
.tc-training-list > div { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid var(--tc-line,rgba(255,255,255,.12)); }
.tc-training-list strong { display:block; color:#e7edeb; font-size:14px; }
.tc-training-list small { display:block; color:#718183; font-size:10px; }
.tc-training-list b { flex:0 0 auto; color:var(--tc-accent,#b6f24a); font-size:15px; font-variant-numeric:tabular-nums; }
.tc-result-disclaimer { margin:18px 0 0; color:#718183 !important; font-size:11px; }
@media (max-width:600px){
  .tc-prediction-list > div, .tc-interval-list > div { grid-template-columns:1fr auto; }
  .tc-prediction-list small, .tc-interval-list small { grid-column:1/-1; text-align:left; }
  .tc-training-list > div { display:block; }
  .tc-training-list b { display:block; margin-top:6px; }
}
/* Keep time values legible inside narrow calculator columns. */
.tc-time-input label { display:grid; gap:4px; }
.tc-time-input input { padding:0 6px; text-align:center; }
.tc-time-input small { position:static; display:block; text-align:center; color:#687a7b; font-size:8px; font-weight:850; letter-spacing:.08em; }
.tc-time-input b { align-self:start; padding-top:12px; }


/* Source and methodology notes for assumption-sensitive running tools. */
.tc-method-note {
  display:grid;
  gap:5px;
  margin-top:16px;
  padding:14px 15px;
  border:1px solid rgba(182,242,74,.13);
  border-radius:9px;
  background:rgba(182,242,74,.035);
}
.tc-method-note strong {
  color:var(--tc-accent,#b6f24a);
  font-size:9px;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.tc-method-note span {
  color:#d8e1df;
  font-size:12px;
  font-weight:750;
}
.tc-method-note small {
  color:#718183;
  font-size:10px;
  line-height:1.55;
}
