#schedule-form,#schedule-player { margin-block: 2rem; border-top: 2px solid var(--accent); padding-top: 1rem; }
#schedule-form label { display:block; }
#schedule-form select,#schedule-example { display:block; max-width:100%; width:100%; min-height:44px; margin-bottom:1rem; white-space:normal; }
#schedule-form input[type="number"] { display:block; width:100%; max-width:12rem; min-width:0; min-height:44px; }
#schedule-form fieldset { min-width:0; margin-block:1rem; padding:1rem; }
.schedule-process { display:grid; grid-template-columns:2rem minmax(0,1fr) minmax(0,1fr); align-items:center; gap:.75rem; padding-block:.75rem; border-bottom:1px solid var(--line); }
#schedule-errors { color:var(--warm); overflow-wrap:anywhere; }
.schedule-controls { display:flex; flex-wrap:wrap; }
#schedule-step { width:100%; min-height:44px; }
#schedule-status { border-left:3px solid var(--green); padding:1rem; background:var(--surface); }
.schedule-ready { display:flex; flex-wrap:wrap; gap:1.5rem; padding-left:2rem; }
.schedule-ready li { padding:.5rem; border:1px solid var(--accent); }
.schedule-scroll { max-width:100%; overflow:auto; margin-block:1rem; border:1px solid var(--line); }
.schedule-track { display:flex; width:max-content; min-height:80px; }
.schedule-segment { flex:none; padding:12px 0; white-space:pre-line; text-align:center; font:14px/1.8 Consolas,monospace; border:1px solid var(--accent); background:#24383a; color:var(--paper); box-sizing:border-box; }
.schedule-segment[data-process="P2"],.schedule-segment[data-process="P5"],.schedule-segment[data-process="P8"] { background:#373322; border-color:var(--warm); }
.schedule-segment[data-process="P3"],.schedule-segment[data-process="P6"] { background:#263929; border-color:var(--green); }
.schedule-segment[data-process="P4"],.schedule-segment[data-process="P7"] { background:#3a2928; border-color:var(--red); }
.schedule-segment[data-process="idle"] { background:var(--surface); border-style:dashed; border-color:var(--muted); }
#schedule-player table { width:100%; }
#schedule-player th,#schedule-player td { white-space:nowrap; }
#schedule-player [hidden],#schedule-form [hidden],#schedule-player[hidden] { display:none; }
#schedule-form button,#schedule-player button,#schedule-load { min-height:44px; min-width:44px; max-width:100%; overflow-wrap:anywhere; }
@media(max-width:480px) { .schedule-process { gap:.5rem; grid-template-columns:1.5rem minmax(0,1fr) minmax(0,1fr); } #schedule-form fieldset {padding:.5rem;} }
