.app{max-width:560px;margin:0 auto;padding:1rem}.timer-display{text-align:center;margin-bottom:1.5rem}.time{font-size:3.5rem;font-weight:300;font-variant-numeric:tabular-nums;color:#111827;letter-spacing:-.02em}.total-estimate{font-size:1rem;color:#059669;margin-top:.25rem;font-weight:500}.controls{display:flex;justify-content:center;gap:.5rem;margin-bottom:.75rem}.control-btn{padding:.5rem 1.25rem;font-size:.875rem;font-family:inherit;border:none;cursor:pointer;background:#e5e7eb;color:#374151;transition:background .15s;min-width:5.5rem}.control-btn:hover{background:#d1d5db}.control-btn:active{background:#9ca3af}.control-btn:disabled{opacity:.4;cursor:not-allowed}.lap-btn{background:#d1fae5;color:#065f46}.lap-btn:hover{background:#a7f3d0}.reset-btn{background:#fee2e2;color:#991b1b}.reset-btn:hover{background:#fecaca}.undo-redo{display:flex;justify-content:center;gap:.375rem;margin-bottom:1.5rem}.undo-btn,.redo-btn{padding:.375rem .75rem;font-size:.75rem;font-family:inherit;border:none;cursor:pointer;background:#f3f4f6;color:#6b7280;transition:all .15s}.undo-btn:hover:not(:disabled),.redo-btn:hover:not(:disabled){background:#e5e7eb;color:#374151}.undo-btn:disabled,.redo-btn:disabled{opacity:.4;cursor:not-allowed}.practice-btn{padding:.375rem .75rem;font-size:.75rem;font-family:inherit;border:none;cursor:pointer;background:#8b5cf6;color:#fff;transition:background .15s}.practice-btn:hover:not(:disabled){background:#7c3aed}.practice-btn:disabled{opacity:.4;cursor:not-allowed}.template-queue{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:.75rem;background:#f5f3ff;font-size:.8125rem}.queue-label{color:#7c3aed;font-weight:500}.queue-item{font-weight:600;color:#5b21b6}.queue-remaining{font-size:.75rem;color:#a78bfa}.laps{margin-bottom:1.5rem}.laps h3{font-size:.6875rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}.lap-list{list-style:none;padding:0;margin:0}.lap-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;margin-bottom:2px;background:#fff;transition:background .15s;position:relative}.lap-item:hover{background:#f9fafb}.lap-item.selected{background:#ecfdf5;border-left:2px solid #10b981;padding-left:calc(.5rem - 2px)}.select-btn{width:22px;height:22px;border:1.5px solid #d1d5db;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#9ca3af;transition:all .15s;flex-shrink:0}.select-btn:hover{border-color:#10b981;color:#10b981}.select-btn.selected{background:#10b981;border-color:#10b981;color:#fff}.lap-duration{font-variant-numeric:tabular-nums;font-weight:500;color:#111827;min-width:3.5rem;cursor:pointer;padding:.125rem .375rem;transition:background .15s;font-size:.875rem}.lap-duration:hover{background:#f3f4f6}.duration-input{width:3.5rem;padding:.125rem .375rem;font-size:.875rem;font-family:inherit;font-variant-numeric:tabular-nums;border:1.5px solid #3b82f6;outline:none;text-align:center}.duration-input:focus{border-color:#2563eb}.lap-section{flex:1;color:#6b7280;cursor:pointer;padding:.125rem .375rem;transition:background .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.875rem}.lap-section:hover{background:#f3f4f6}.expected-duration{position:absolute;right:100%;margin-right:.5rem;color:#a78bfa;font-size:.75rem;white-space:nowrap}.running-total{color:#6b7280;font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}.diff-plus{color:#10b981}.diff-minus{color:#ef4444}.section-input{flex:1;padding:.125rem .375rem;font-size:.875rem;font-family:inherit;border:1.5px solid #10b981;outline:none}.section-input:focus{border-color:#059669}.move-btn{width:22px;height:22px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8125rem;color:#9ca3af;transition:all .15s;flex-shrink:0}.move-btn:hover:not(:disabled){background:#f3f4f6;color:#374151}.move-btn:disabled{opacity:.3;cursor:not-allowed}.delete-btn{width:22px;height:22px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#9ca3af;transition:all .15s;flex-shrink:0}.delete-btn:hover{background:#fee2e2;color:#dc2626}.selected-total{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem .75rem;margin-bottom:.75rem;background:#ecfdf5}.total-label{font-weight:500;color:#065f46;font-size:.875rem}.total-time{font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;color:#047857}.total-count{color:#10b981;font-size:.75rem}.copy-btn{margin-left:.25rem;padding:.25rem .5rem;font-size:.75rem;font-family:inherit;border:none;background:#d1fae5;color:#065f46;cursor:pointer;transition:background .15s}.copy-btn:hover{background:#a7f3d0}.import-btn{position:fixed;top:1rem;right:1rem;padding:.375rem .75rem;font-size:.75rem;font-family:inherit;border:none;background:#f3f4f6;color:#6b7280;cursor:pointer;transition:all .15s}.import-btn:hover{background:#e5e7eb;color:#374151}@media (max-width: 640px){.import-btn{padding:.375rem;top:.5rem;right:.5rem;font-size:1rem;line-height:1}.import-icon{display:inline}.import-text{display:none}.copy-btn{padding:.25rem;font-size:.875rem;line-height:1}.copy-icon{display:inline}.copy-text{display:none}}.tag-container{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;margin-left:.25rem}.tag-chip{display:inline-flex;align-items:center;gap:.125rem;padding:.125rem .375rem;background:#dbeafe;color:#1d4ed8;font-size:.6875rem;font-weight:500;border-radius:9999px}.tag-remove{border:none;background:transparent;color:#3b82f6;cursor:pointer;font-size:.75rem;padding:0;margin-left:.125rem;line-height:1;transition:color .15s}.tag-remove:hover{color:#dc2626}.add-tag-btn{width:18px;height:18px;border:1px dashed #9ca3af;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;border-radius:9999px;transition:all .15s}.add-tag-btn:hover{border-color:#3b82f6;color:#3b82f6}.tag-input{width:4rem;padding:.125rem .375rem;font-size:.6875rem;font-family:inherit;border:1px solid #3b82f6;border-radius:9999px;outline:none}.tag-input:focus{border-color:#2563eb}.tag-totals{margin-bottom:1rem}.tag-totals h3{font-size:.6875rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}.tag-totals-list{display:flex;flex-direction:column;gap:.25rem}.tag-total-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:#eff6ff}.tag-total-name{color:#1d4ed8;font-weight:500;font-size:.8125rem}.tag-total-time{font-variant-numeric:tabular-nums;font-weight:600;color:#1e40af;font-size:.9375rem}.tag-total-count{color:#60a5fa;font-size:.75rem}.section-picker{margin-bottom:1rem;padding:.75rem;background:#faf5ff;border-left:3px solid #8b5cf6}.section-list{display:flex;flex-wrap:wrap;gap:.375rem}.section-item{padding:.375rem .625rem;font-size:.8125rem;font-family:inherit;border:1.5px solid #c4b5fd;border-radius:.25rem;background:#fff;color:#5b21b6;cursor:pointer;transition:all .15s}.section-item:hover{background:#ede9fe;border-color:#8b5cf6}.section-item.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.section-expected{margin-left:.25rem;font-size:.75rem;opacity:.7}.repeat-icon{margin-right:.25rem}.section-item.repeat{background:#7c3aed;border-color:#6d28d9}.section-item.next{border-color:#8b5cf6;border-width:2px;background:#ede9fe}.section-item.done{border-color:#10b981}.section-stats{margin-bottom:1rem}.section-stats h3{font-size:.6875rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}.section-stats-list{display:flex;flex-direction:column;gap:.25rem}.section-stat-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:#f5f3ff;flex-wrap:wrap}.section-stat-name{color:#5b21b6;font-weight:500;font-size:.8125rem;min-width:6rem}.section-stat-total{font-variant-numeric:tabular-nums;font-weight:600;color:#7c3aed;font-size:.9375rem}.section-stat-count{color:#a78bfa;font-size:.75rem}.section-stat-avg,.section-stat-best,.section-stat-worst{font-size:.75rem;color:#6b7280;font-variant-numeric:tabular-nums}.section-stat-best{color:#10b981}.section-stat-worst{color:#ef4444}:root{font-family:Libre Baskerville,Georgia,Times New Roman,serif;line-height:1.6;font-weight:400;color:#374151;background-color:#f9fafb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{max-width:100%;margin:0 auto;padding:1.5rem}
