/* Cron Schedule Collision Planner landing page only (/tools/cron-schedule-collision-planner).
   Paste check in the hero; ids are used by /assets/tp-cron-schedule-collision-planner.js. */

.tp-cc{--cc-ink:#071b35;--cc-muted:#4a5c73;--cc-line:#d7e1ee;--cc-blue:#1f5cf0;--cc-run:#5b82e6;--cc-hit:#c2410c;--cc-zone:#8f1239;--cc-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.tp-cc.mt-public{padding-top:clamp(20px,3.2vw,44px)}
.tp-cc code{font-family:var(--cc-mono);font-size:.88em;background:#eef3fb;border-radius:4px;padding:1px 5px;overflow-wrap:anywhere}

/* hero */
.tp-cc-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(22px,3.6vw,48px);align-items:start}
.tp-cc-intro{min-width:0}
.tp-cc-intro h1{margin:10px 0 12px;font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.04;letter-spacing:-.05em;overflow-wrap:anywhere}
.tp-cc-lede{margin:0 0 18px;color:var(--cc-muted);font-size:1.06rem;line-height:1.6}

.tp-cc-card{border:1px solid #bfd0e5;border-radius:18px;background:#fff;box-shadow:0 18px 44px rgba(9,34,70,.1);padding:18px}
.tp-cc-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:0 0 8px;font-weight:800;font-size:.95rem;color:var(--cc-ink)}
.tp-cc-label span{font-weight:650;font-size:.8rem;color:var(--cc-muted);font-family:var(--cc-mono)}
.tp-cc-input{display:block;width:100%;box-sizing:border-box;min-height:150px;resize:vertical;padding:12px;border:1px solid #b7c6da;border-radius:10px;background:#f7f9fc;color:var(--cc-ink);font:500 .95rem/1.65 var(--cc-mono);white-space:pre;overflow-x:auto;tab-size:4}
.tp-cc-input:focus-visible,.tp-cc-day input:focus-visible{outline:none;border-color:var(--cc-blue);box-shadow:0 0 0 3px rgba(31,92,240,.22)}
.tp-cc-help{margin:8px 0 12px;font-size:.84rem;line-height:1.55;color:var(--cc-muted)}
.tp-cc-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.tp-cc-day{display:grid;gap:4px;flex:1 1 150px;min-width:0}
.tp-cc-day label{font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--cc-muted)}
.tp-cc-day input{box-sizing:border-box;width:100%;min-height:44px;padding:8px 10px;border:1px solid #b7c6da;border-radius:10px;background:#fff;color:var(--cc-ink);font:600 .95rem var(--cc-mono)}
.tp-cc-run,.tp-cc-reset{min-height:44px;padding:0 18px;border-radius:10px;font:800 .95rem/1 Manrope,system-ui,sans-serif;cursor:pointer}
.tp-cc-run{border:1px solid #1548c7;background:#1f5cf0;color:#fff}
.tp-cc-run:hover{background:#1548c7}
.tp-cc-reset{border:1px solid #b7c6da;background:#fff;color:#1548c7}
.tp-cc-reset:hover{background:#eef3fb}
.tp-cc-run:focus-visible,.tp-cc-reset:focus-visible{outline:3px solid rgba(31,92,240,.45);outline-offset:2px}
.tp-cc-note{margin:12px 0 0;font-size:.86rem;line-height:1.55;color:var(--cc-muted)}
.tp-cc-note a{color:#1548c7;font-weight:800;text-underline-offset:3px}

/* result panel */
.tp-cc-result{min-width:0;border:1px solid var(--cc-line);border-radius:18px;background:#fff;padding:18px;scroll-margin-top:90px}
.tp-cc-result-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;margin:0 0 12px}
.tp-cc-result-head h2{margin:0;font-size:1.2rem;letter-spacing:-.02em}
.tp-cc-result-head p{margin:0;color:var(--cc-muted);font-size:.84rem;font-weight:700}
.tp-cc-zoom{display:flex;align-items:center;gap:8px;flex:1 1 100%;margin-top:8px}
.tp-cc-zoom label{font-size:.8rem;font-weight:800;color:var(--cc-muted)}
.tp-cc-zoom select{min-height:40px;max-width:100%;padding:6px 10px;border:1px solid #b7c6da;border-radius:10px;background:#fff;color:var(--cc-ink);font:700 .88rem Manrope,system-ui,sans-serif}
.tp-cc-zoom select:focus-visible{outline:3px solid rgba(31,92,240,.45);outline-offset:2px}
.tp-cc-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}
.tp-cc-stats>div{border:1px solid var(--cc-line);border-radius:12px;padding:8px 10px;background:#f7f9fc;min-width:0}
.tp-cc-stats dt{font-size:.74rem;font-weight:800;color:var(--cc-muted);line-height:1.3}
.tp-cc-stats dd{margin:2px 0 0;font:800 1.5rem/1.1 Sora,Manrope,system-ui,sans-serif;color:var(--cc-ink)}
.tp-cc-stats .is-alert{border-color:#f3b8a6;background:#fff4ef}
.tp-cc-stats .is-alert dd{color:#9a3412}
.tp-cc-stats .is-ok{border-color:#a7dcc2;background:#effaf4}
.tp-cc-stats .is-ok dd{color:#087a4d}

.tp-cc-timeline{display:grid;gap:6px;min-height:120px}
.tp-cc-row{display:grid;grid-template-columns:minmax(0,9.5rem) minmax(0,1fr);gap:10px;align-items:center}
.tp-cc-name{min-width:0;display:grid;line-height:1.25}
.tp-cc-name b{font-size:.85rem;overflow-wrap:anywhere}
.tp-cc-name code{background:none;padding:0;font-size:.72rem;color:var(--cc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-cc-row.is-zone .tp-cc-name b{color:var(--cc-zone)}
.tp-cc-lane{display:block;width:100%;height:22px;border-radius:6px;background-color:#f1f5fb;background-image:linear-gradient(to right,#d5deea 1px,transparent 1px);background-size:12.5% 100%}
.tp-cc-lane.is-zone{background-color:#fdf3f2}
.tp-cc-lane .r{fill:var(--cc-run)}
.tp-cc-lane .h{fill:var(--cc-hit)}
.tp-cc-lane .p{fill:#1f5cf0}
.tp-cc-lane .z{fill:var(--cc-zone)}
.tp-cc-axis{align-items:end}
.tp-cc-timeline.is-6 .tp-cc-ticks{grid-template-columns:repeat(6,minmax(0,1fr))}
.tp-cc-timeline.is-6 .tp-cc-lane{background-size:16.6667% 100%}
.tp-cc-ticks{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));font:700 .7rem/1 var(--cc-mono);color:var(--cc-muted)}
.tp-cc-ticks span{padding-left:2px}

.tp-cc-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;font-size:.8rem;color:var(--cc-muted);font-weight:700}
.tp-cc-key{display:inline-flex;align-items:center;gap:6px}
.tp-cc-key::before{content:"";width:14px;height:10px;border-radius:2px;background:var(--cc-run)}
.tp-cc-key.is-hit::before{background:var(--cc-hit)}
.tp-cc-key.is-zone::before{background:var(--cc-zone)}

.tp-cc-list-title{margin:16px 0 8px;font-size:.95rem}
.tp-cc-list,.tp-cc-errors{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.tp-cc-list li{display:grid;gap:2px;padding:9px 12px;border-left:4px solid var(--cc-hit);border-radius:8px;background:#fff7f3;line-height:1.4}
.tp-cc-list li b{font-size:.92rem;overflow-wrap:anywhere}
.tp-cc-list li span{font-size:.84rem;color:#5b4032}
.tp-cc-list li.is-self{border-left-color:#8a5a00;background:#fffaeb}
.tp-cc-list li.is-self span{color:#5c4400}
.tp-cc-list li.is-clear{border-left-color:#087a4d;background:#effaf4}
.tp-cc-list li.is-clear span{color:#1f5a3f}
.tp-cc-list li.is-more{border-left-color:var(--cc-line);background:#f7f9fc;font-size:.84rem}
.tp-cc-errors{margin-top:10px}
.tp-cc-errors[hidden]{display:none}
.tp-cc-errors li{padding:8px 12px;border:1px solid #f0b4b4;border-radius:8px;background:#fdf1f1;color:#8c2b2b;font-size:.85rem;line-height:1.45;overflow-wrap:anywhere}

/* full planner */
.tp-cc-full{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,3.6vw,48px);align-items:start;margin:64px 0 0;padding-top:40px;border-top:1px solid var(--cc-line);scroll-margin-top:80px}
.tp-cc-full-text{min-width:0}
.tp-cc-full h2{margin:0 0 10px;font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em;line-height:1.15}
.tp-cc-full-text>p{margin:0 0 14px;color:var(--cc-muted);line-height:1.6}
.tp-cc-facts{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:8px}
.tp-cc-facts li{position:relative;padding-left:22px;line-height:1.5;font-size:.95rem}
.tp-cc-facts li::before{content:"";position:absolute;left:4px;top:.55em;width:8px;height:8px;border-radius:2px;background:var(--cc-blue)}
.tp-cc-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;padding:10px 14px;border:1px solid var(--cc-line);border-radius:12px;background:#fff}
.tp-cc-price span{color:var(--cc-muted);font-size:.88rem;font-weight:650}
.tp-cc .wt-drop{max-width:none}
.tp-cc .wt-drop-alt{gap:6px 18px}
.tp-cc .wt-drop-alt a{display:inline-flex;align-items:center;min-height:40px}

.tp-cc-files{min-width:0;border:1px solid var(--cc-line);border-radius:18px;background:#fff;padding:18px}
.tp-cc-files h3{margin:0 0 10px;font-size:1.1rem}
.tp-cc-files ol{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:8px}
.tp-cc-files li{display:grid;gap:2px;padding:8px 0;border-bottom:1px solid #e8eef6;line-height:1.45}
.tp-cc-files li b{font-family:var(--cc-mono);font-size:.92rem;color:#1548c7}
.tp-cc-files li span{font-size:.88rem;color:var(--cc-muted)}
.tp-cc-sample{margin:0 0 12px}
.tp-cc-sample figcaption,.tp-cc-csv-hint{margin:0 0 6px;font-size:.8rem;font-weight:800;color:var(--cc-muted)}
.tp-cc-sample pre,.tp-cc-csv{margin:0;padding:10px 12px;border-radius:10px;background:#0b1d3a;color:#e6eefc;font:500 .78rem/1.6 var(--cc-mono);overflow-x:auto;white-space:pre}

/* rules */
.tp-cc-rules ul{margin:0 0 16px;padding:0;list-style:none;display:grid;gap:10px;max-width:860px}
.tp-cc-rules li{line-height:1.6;padding-left:14px;border-left:3px solid var(--cc-line)}
.tp-cc-links{display:flex;flex-wrap:wrap;gap:8px 18px}
.tp-cc-links a{display:inline-flex;align-items:center;min-height:40px}

@media (max-width:980px){
  .tp-cc-hero,.tp-cc-full{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .tp-cc-card,.tp-cc-result,.tp-cc-files{padding:14px;border-radius:14px}
  .tp-cc-row{grid-template-columns:minmax(0,1fr);gap:3px}
  .tp-cc-axis .tp-cc-name{display:none}
  .tp-cc-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px}
  .tp-cc-stats dd{font-size:1.25rem}
  .tp-cc-input{min-height:112px}
  .tp-cc-zoom select{flex:1 1 auto;min-width:0}
  .tp-cc-run,.tp-cc-reset{flex:1 1 auto}
  .tp-cc-full{margin-top:44px;padding-top:28px}
}
@media (prefers-reduced-motion:reduce){
  .tp-cc *{transition:none;scroll-behavior:auto}
}
