body{color:#111827;background:#f3f4f6;min-height:100vh;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background-color .18s,color .18s}body[data-theme=light]{color:#111827;background:#f3f4f6}body[data-theme=pastel]{color:#40284b;background:radial-gradient(circle at 0 0,#ffe8f7 0%,#f3efff 45%,#e8f7ff 100%)}body[data-theme=dark]{color:#e5e7eb;background:#050a14}#root{min-height:100vh}.app{--bg-page:#f3f4f6;--text-main:#111827;--text-muted:#6b7280;--text-soft:#374151;--panel-bg:#fff;--panel-border:#e5e7eb;--input-bg:#fff;--input-border:#d1d5db;--button-bg:#f9fafb;--button-border:#d1d5db;--button-text:#111827;--accent-bg:#eff6ff;--accent-border:#2563eb;--accent-ring:#bfdbfe;--row-bg:#f9fafb;--drop-bg:#dbeafe;--drop-border:#9ca3af;--overlay-bg:#11182773;width:min(980px,94vw);color:var(--text-main);gap:1rem;margin:2.5rem auto;display:grid}.app.theme-pastel{--bg-page:#eef6ff;--text-main:#1e3a5f;--text-muted:#54749a;--text-soft:#3f5f84;--panel-bg:#f7fbff;--panel-border:#c8dcf4;--input-bg:#fafdff;--input-border:#b8d0ec;--button-bg:linear-gradient(135deg, #e8f4ff, #f2f8ff);--button-border:#9fc2e8;--button-text:#20456c;--accent-bg:#dff0ff;--accent-border:#4d8fd3;--accent-ring:#b8d9fb;--row-bg:#eff7ff;--drop-bg:#dceeff;--drop-border:#7cb0e2;--overlay-bg:#385b8859}.app.theme-dark{--bg-page:#0b1220;--text-main:#e5e7eb;--text-muted:#9ca3af;--text-soft:#cbd5e1;--panel-bg:#111827;--panel-border:#374151;--input-bg:#1f2937;--input-border:#4b5563;--button-bg:#1f2937;--button-border:#4b5563;--button-text:#e5e7eb;--accent-bg:#1e293b;--accent-border:#60a5fa;--accent-ring:#334155;--row-bg:#1f2937;--drop-bg:#1e3a5f;--drop-border:#64748b;--overlay-bg:#020617b3}.app h1{margin:0}.header-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.subtitle{color:var(--text-muted);margin:.25rem 0 0}.tabs{gap:.5rem;display:flex}.tabs button.active{background:var(--accent-bg);border-color:var(--accent-border)}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:1rem}.panel h2{margin:0 0 .8rem;font-size:1.1rem}.routine-create{flex-wrap:wrap;gap:.5rem;display:flex}input[type=text],input[type=number],select{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-main);border-radius:8px;padding:.5rem .65rem;font-size:.95rem}input[type=number]{width:90px}button{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);cursor:pointer;border-radius:8px;padding:.55rem .9rem;font-size:.95rem}button:disabled,input:disabled,select:disabled{opacity:.45;cursor:not-allowed}.routine-list{gap:.45rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.routine-list li{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem;display:flex}.routine-list li.selected{background:#eff6ff;border-color:#2563eb}.routine-list li button:first-child{text-align:left;flex:1}.block-form{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.7rem;display:flex}.add-block-toggle{text-align:left;width:100%}.modal-backdrop{background:var(--overlay-bg);z-index:50;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;gap:.75rem;width:min(560px,94vw);padding:1rem;display:grid}.modal-card h2{margin:0;font-size:1.1rem}.timeline{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.timeline li{background:var(--row-bg);border:1px solid var(--panel-border);border-radius:8px;grid-template-columns:auto minmax(180px,1fr) 92px;align-items:center;gap:.4rem;min-height:2rem;padding:.32rem .45rem;display:grid}.timeline li.active{border-color:var(--accent-border);background:var(--accent-bg)}.drag-handle{color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:.06em;padding:0 .25rem;font-weight:700}.block-name{font-weight:600}.timeline li.selected{border-color:var(--accent-border);box-shadow:0 0 0 1px var(--accent-ring) inset}.timeline li.dragging{opacity:.55}.timeline li.drag-over{border-color:var(--accent-border);background:var(--drop-bg)}.timeline-workspace{grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:.9rem;display:grid}.timeline-column,.timeline-options-column{gap:.65rem;display:grid}.timeline-options-column h3{color:var(--text-soft);margin:.5rem 0 0;font-size:.95rem}.timeline-options{flex-wrap:wrap;gap:.45rem;display:flex}.saved-blocks{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.saved-blocks li{background:var(--row-bg);border:1px solid var(--panel-border);border-radius:8px;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:.5rem;padding:.5rem;display:grid}.timeline-dropzone{border:1px dashed var(--drop-border);background:var(--row-bg);border-radius:8px;padding:1rem}.runner{text-align:center}.mode-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.75rem}.current-name{margin:.2rem 0 0;font-size:1.15rem;font-weight:600}.timer-value{margin:.35rem 0 .85rem;font-size:clamp(2.2rem,9vw,4rem);font-weight:700}.actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.settings-row{justify-content:center;align-items:center;gap:.9rem;margin:.2rem 0 .8rem;display:flex}.settings-row label{align-items:center;gap:.35rem;display:inline-flex}.progress{color:var(--text-soft);margin:0 0 .75rem}.empty{color:var(--text-muted);margin:0}.theme-toggle{gap:.35rem;display:flex}.theme-icon{border-radius:999px;place-items:center;width:2.2rem;height:2.2rem;padding:0;font-size:1rem;display:inline-grid}.theme-icon.active{border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-ring) inset}.site-footer{text-align:center;color:var(--text-muted);margin-top:.5rem}.site-footer a{color:inherit;border-bottom:1px solid var(--panel-border);padding-bottom:1px;text-decoration:none}.site-footer a:hover{border-bottom-color:var(--accent-border)}.summary-list li{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=860px){.timeline li{grid-template-columns:auto minmax(130px,1fr) 90px}.saved-blocks li{grid-template-columns:minmax(120px,1fr) auto}.timeline-workspace{grid-template-columns:1fr}}@media (width<=700px){.timeline li{grid-template-columns:1fr 1fr;gap:.5rem}.drag-handle{display:none}}
