.timeline-planner{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:24px;padding:0;overflow:hidden}.timeline-planner [hidden]{display:none}.timeline-planner :focus-visible{outline:3px solid var(--eyebrow);outline-offset:4px}.timeline-header{justify-content:space-between;align-items:flex-start;gap:28px;padding:32px;display:flex}.timeline-header h2{letter-spacing:-.03em;margin:10px 0 14px;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.timeline-header p:last-child{color:var(--muted);max-width:700px}.timeline-header-actions{flex-wrap:wrap;flex-shrink:0;gap:10px;display:flex}.timeline-button{border:1px solid var(--line);background:var(--paper);min-height:48px;color:var(--ink);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:12px 16px;font-size:.85rem;font-weight:650;line-height:1.4;display:inline-flex}.timeline-button:hover{background:var(--mist)}.timeline-button:disabled{opacity:.5;cursor:not-allowed}.timeline-primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.timeline-primary:hover{background:#20483d}.timeline-upload{position:relative}.timeline-upload input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.timeline-upload:has(input:focus-visible){outline:3px solid var(--eyebrow);outline-offset:4px}.timeline-upload:has(input:disabled){opacity:.5}.timeline-workspace{border-top:1px solid var(--line);grid-template-columns:290px minmax(0,1fr);display:grid}.timeline-settings{border-right:1px solid var(--line);min-width:0;padding:28px 24px}.timeline-planner h3{margin:0;font-size:1.1rem;font-weight:750;line-height:1.4}.timeline-field{gap:8px;min-width:0;margin-top:18px;font-size:.85rem;font-weight:650;display:grid}.timeline-field input,.timeline-field select,.timeline-field textarea{border:1px solid var(--line);width:100%;min-width:0;min-height:48px;color:var(--ink);background:#fff;border-radius:6px;padding:10px 12px;font-size:1rem;font-weight:400}.timeline-field textarea{resize:vertical;line-height:1.5}.timeline-help{color:var(--muted);overflow-wrap:anywhere;margin:12px 0 0;font-size:.8rem;line-height:1.6}.timeline-check{align-items:center;gap:10px;min-height:48px;margin-top:18px;font-size:.85rem;font-weight:600;display:flex}.timeline-check input{width:18px;height:18px;accent-color:var(--ink);flex-shrink:0}.timeline-exclude{align-items:flex-end;gap:8px;display:flex}.timeline-exclude .timeline-field{flex:1}.timeline-exclude input{padding-inline:6px;font-size:.9rem}.timeline-excluded-dates{margin:12px 0 0;padding:0;list-style:none}.timeline-excluded-dates li{justify-content:space-between;align-items:center;gap:10px;font-size:.85rem;display:flex}.timeline-excluded-dates button,.timeline-text-button{color:var(--ink);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;min-height:44px;padding:8px;font-size:.8rem;text-decoration:underline}.timeline-main{background:var(--workbench);min-width:0}.timeline-overview{padding:28px}.timeline-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.timeline-section-heading .eyebrow{margin:0 0 8px}.timeline-axis{color:var(--muted);justify-content:space-between;gap:20px;margin:24px 0 12px;font:.75rem/1.5 monospace;display:flex}.timeline-events{gap:12px;display:grid}.timeline-event{text-align:left;border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:8px;padding:16px 18px}.timeline-event[aria-pressed=true]{border-color:var(--ink);background:var(--mist)}.timeline-event-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.timeline-event-title{overflow-wrap:anywhere;font-size:.95rem;font-weight:750}.timeline-event-owner{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem}.timeline-event-track{height:18px;margin:10px 6px;display:block;position:relative}.timeline-event-track:before{content:"";background:var(--line);height:2px;position:absolute;top:8px;left:0;right:0}.timeline-event-dot{left:var(--timeline-position);background:var(--ink);border-radius:50%;width:14px;height:14px;position:absolute;top:2px;transform:translate(-50%)}.timeline-event[data-launch=true] .timeline-event-dot{background:var(--orange)}.timeline-event-time{overflow-wrap:anywhere;font-size:.8rem;line-height:1.6;display:block}.timeline-event-time-secondary{color:var(--muted)}.timeline-issues,.timeline-warnings{overflow-wrap:anywhere;margin-top:18px;padding:14px 16px;font-size:.85rem;line-height:1.6}.timeline-issues{color:#964116;background:#fff2e9}.timeline-warnings{background:var(--mist);color:var(--ink)}.timeline-issues p,.timeline-warnings p{margin:0}.timeline-editor{border-top:1px solid var(--line);background:var(--paper);padding:28px;scroll-margin-top:110px}.timeline-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.timeline-selected-time{color:var(--muted);overflow-wrap:anywhere;margin-top:20px;font-size:.85rem;line-height:1.6}.timeline-export{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex}.timeline-export>div:first-child{flex:300px}.timeline-export-actions{flex-wrap:wrap;gap:12px;display:flex}.timeline-status{min-height:44px;color:var(--muted);overflow-wrap:anywhere;margin:0;padding:0 32px 24px;font-size:.85rem;line-height:1.6}.timeline-status[data-error=true]{color:#964116}@media (width<=900px){.timeline-header{flex-wrap:wrap}.timeline-workspace{grid-template-columns:250px minmax(0,1fr)}.timeline-settings{padding:24px 18px}.timeline-overview,.timeline-editor{padding:24px 18px;scroll-margin-top:110px}}@media (width<=680px){.timeline-header{gap:18px;padding:24px 20px}.timeline-workspace{grid-template-columns:1fr}.timeline-settings{border-right:0;border-bottom:1px solid var(--line)}.timeline-editor-grid{grid-template-columns:1fr}.timeline-export{padding:24px 20px}.timeline-status{padding-inline:20px}.timeline-event{padding:14px 12px}}
