:root{color:#222;background-color:#f5f7fb;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*,:before,:after{box-sizing:border-box}body{margin:0}#root{min-height:100vh}.app-root{max-width:1200px;margin:0 auto;padding:1.5rem}.app-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.6rem;display:flex}.app-title{margin:0;font-size:1.8rem}.app-subtitle{color:#555;margin:.1rem 0 0;font-size:.95rem}.title-and-powered{flex-direction:column;gap:.1rem;display:flex}.powered-by-below{align-items:center;gap:.5rem;margin-top:-2px;display:flex}.app-actions{flex-direction:column;align-items:flex-end;gap:.4rem;display:flex}.app-stat{color:#333;font-size:.9rem}.saved-circuit-controls{align-items:center;gap:.35rem;font-size:.8rem;display:flex}.saved-circuit-controls select{background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:.15rem .6rem;font-size:.8rem}.app-title-block{flex-direction:column;gap:.25rem;display:flex}.app-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.app-header-left{flex-direction:column;gap:0;display:flex}.app-header-top-row{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.powered-by-badge{align-items:center;gap:.5rem;display:flex}.powered-by-banner{justify-content:center;align-items:center;gap:.3rem;margin-top:.25rem;margin-bottom:.5rem;display:flex}.powered-by-below{justify-content:center;align-items:center;gap:.5rem;margin-top:-4px;margin-bottom:8px;display:flex}.powered-by-label{color:#6b7280;font-size:.9rem;font-weight:500}.powered-by-logo{width:auto;height:140px}.powered-by-link{text-decoration:none}.app-layout{grid-template-columns:minmax(260px,320px) 1fr;align-items:flex-start;gap:1.25rem;display:grid}.circuit-panel{flex-direction:column;gap:.75rem;display:flex}.palette{background:#fff;border-radius:.75rem;flex-direction:column;max-height:80vh;padding:1rem;display:flex;box-shadow:0 2px 6px #0f172a14}.section-title{margin:0 0 .25rem;font-size:1.2rem}.section-subtitle{color:#666;margin:0 0 .75rem;font-size:.85rem}.palette-tabs{background:#e5edff;border-radius:999px;margin-bottom:.6rem;padding:.15rem;display:inline-flex}.palette-tab{cursor:pointer;color:#4b5563;background:0 0;border:none;border-radius:999px;padding:.25rem .8rem;font-size:.8rem}.palette-tab-active{color:#fff;background:#2563eb}.palette-items{flex-direction:column;gap:.5rem;padding-right:.2rem;display:flex;overflow-y:auto}.palette-item{cursor:grab;background:#f8fafc;border-left:4px solid #94a3b8;border-radius:.6rem;padding:.5rem .6rem}.palette-item-name{align-items:center;font-size:.9rem;font-weight:600;display:flex}.palette-item-icon{margin-right:.4rem;font-size:1rem}.palette-item-description{color:#555;margin-top:.1rem;font-size:.8rem}.palette-item-instructions{color:#4b5563;margin-top:.2rem;font-size:.78rem}.palette-item-meta{color:#777;margin-top:.2rem;font-size:.75rem}.palette-search{margin-bottom:.5rem}.palette-search input{border:1px solid #d1d5db;border-radius:999px;width:100%;padding:.35rem .6rem;font-size:.85rem}.palette-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.5rem;display:grid}.palette-empty{color:#6b7280;font-size:.8rem}.palette-item-description--compact{color:#4b5563;max-height:3.1em;margin-top:.1rem;font-size:.78rem;line-height:1.3;overflow:hidden}.circuit-layout{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.9rem;display:grid}.circuit-column{background:#fff;border-radius:.75rem;flex-direction:column;align-items:stretch;min-height:auto;padding:.6rem;display:flex;box-shadow:0 2px 6px #0f172a14}.circuit-column-compact{min-height:130px}.circuit-column-header h3{margin:0;font-size:1rem}.circuit-column-subtitle{color:#666;margin:.15rem 0 .4rem;font-size:.8rem}.circuit-column-empty{color:#94a3b8;text-align:center;border:1px dashed #cbd5f5;border-radius:.6rem;flex:0;padding:.5rem .6rem;font-size:.8rem}.circuit-column-content{flex-direction:column;gap:.6rem;margin-top:.4rem;display:flex}.circuit-activity-wrapper{background:#f9fafb;border-top:4px solid #cbd5f5;border-radius:.6rem;padding:.4rem}.circuit-recommendation{color:#6b7280;margin-bottom:.3rem;font-size:.75rem}.phase-progress{margin-top:.5rem}.phase-progress-bar{background:#e5e7eb;border-radius:999px;height:6px;overflow:hidden}.phase-progress-fill{border-radius:inherit;background:#2563eb;height:100%}.phase-progress-text{color:#6b7280;margin-top:.15rem;font-size:.75rem}.timer-card{background:#fff;border:1px solid #e2e8f0;border-radius:.6rem;padding:.5rem .6rem .6rem}.timer-header{justify-content:space-between;align-items:center;display:flex}.timer-label{font-size:.9rem;font-weight:600}.timer-remove{cursor:pointer;color:#ef4444;background:0 0;border:none;font-size:.9rem}.timer-row{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.4rem;display:flex}.timer-time{font-family:ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1.1rem}.timer-controls{gap:.4rem;display:flex}.timer-duration{margin-top:.45rem;font-size:.8rem}.timer-duration input{width:3.5rem}.timer-details{color:#4b5563;margin-top:.4rem;font-size:.78rem}.timer-description{margin:0 0 .2rem}.timer-instructions{margin:0}.btn{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:999px;padding:.25rem .7rem;font-size:.8rem}.btn-secondary{color:#111827;background:#e2e8f0}.btn-danger{color:#fff;background:#ef4444}.btn:disabled{opacity:.6;cursor:default}.btn-primary-large{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:999px;padding:.6rem 1.8rem;font-size:1rem;font-weight:600;box-shadow:0 10px 25px #2563eb59}.btn-primary-large:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.run-button-row{flex-direction:column;align-items:center;gap:.35rem;margin-top:.5rem;display:flex}.run-button-hint{color:#6b7280;font-size:.8rem}.run-screen{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.run-card{text-align:center;background:#fff;border-radius:.9rem;width:100%;max-width:480px;padding:1.5rem 1.75rem;box-shadow:0 10px 30px #0f172a2e}.run-progress{color:#6b7280;margin-top:.25rem;font-size:.85rem}.run-timer-display{margin-top:.5rem;font-family:ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:2.4rem}.run-note{color:#6b7280;margin-top:.5rem;font-size:.85rem}.run-complete{color:#16a34a;margin-top:.75rem;font-size:.9rem;font-weight:600}.run-controls{justify-content:center;gap:.75rem;margin-top:1.25rem;display:flex}.run-progress-bar{background:#e5e7eb;border-radius:999px;width:100%;height:6px;margin-top:.5rem;overflow:hidden}.run-progress-fill{border-radius:inherit;background:#2563eb;height:100%}.run-progress-summary{color:#4b5563;margin-top:.25rem;font-size:.8rem}.run-phase-header{align-items:center;gap:.4rem;margin-top:.9rem;font-size:.9rem;font-weight:600;display:flex}.run-phase-icon{font-size:1.3rem}.run-phase-text{color:#111827}.run-duration-summary{color:#374151;font-size:.85rem}.run-activity-meta{text-align:left;margin-top:.8rem}.run-activity-title{align-items:center;gap:.4rem;font-size:1.05rem;font-weight:600;display:flex}.run-activity-icon{font-size:1.4rem}.run-activity-description{color:#4b5563;margin-top:.25rem;font-size:.9rem}.run-activity-instructions{color:#374151;margin-top:.3rem;font-size:.85rem}.run-upnext{border-top:1px solid #e5e7eb;margin-top:.75rem;padding-top:.5rem}.run-upnext-label{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-bottom:.15rem;font-size:.8rem}.run-upnext-name{color:#111827;font-size:.9rem;font-weight:600}.transition-overlay{z-index:9999;color:#fff;pointer-events:none;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.transition-countdown-text{letter-spacing:1px;text-align:center;font-size:3rem;font-weight:700}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@media (max-width:960px){.app-layout,.circuit-layout{grid-template-columns:1fr}.app-header{flex-direction:column;align-items:flex-start}.app-actions{align-items:flex-start}}.palette-filters{color:#374151;margin-bottom:.5rem;font-size:.8rem}.palette-filter-checkbox{align-items:center;gap:.35rem;display:inline-flex}.palette-filter-checkbox input{accent-color:#2563eb}@keyframes flashFade{0%{opacity:.9}to{opacity:0}}
