/* StopwatchKit.com - Main Stylesheet - Optimized for Performance & Mobile-First Design */

/* === RESET & BASE === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;line-height:1.6;color:#2c3e50;background:#f8f9fa;min-height:100vh;display:flex;flex-direction:column}

/* === TYPOGRAPHY === */
h1{font-size:2rem;font-weight:700;color:#2c3e50;margin-bottom:1rem;line-height:1.2}h2{font-size:1.5rem;font-weight:600;color:#34495e;margin:2rem 0 1rem;line-height:1.3}h3{font-size:1.25rem;font-weight:600;color:#34495e;margin:1.5rem 0 0.75rem}p{margin-bottom:1rem;color:#555}a{color:#e74c3c;text-decoration:none;transition:color 0.2s}a:hover{color:#c0392b}ul,ol{margin-left:1.5rem;margin-bottom:1rem}li{margin-bottom:0.5rem}

/* === LAYOUT === */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}header{background:#fff;box-shadow:0 2px 4px rgba(0,0,0,0.1);position:sticky;top:0;z-index:100}nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:1rem 0}.logo{font-size:1.5rem;font-weight:700;color:#e74c3c;text-decoration:none}.nav-links{display:flex;flex-wrap:wrap;gap:0.5rem;list-style:none;margin:0}.nav-links a{padding:0.5rem 1rem;border-radius:4px;font-weight:500;color:#2c3e50;transition:all 0.2s}.nav-links a:hover,.nav-links a.active{background:#e74c3c;color:#fff}

/* === MAIN CONTENT === */
main{flex:1;padding:2rem 0}.hero{text-align:center;padding:2rem 0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;margin-bottom:2rem;border-radius:8px}.hero h1{color:#fff;font-size:2.5rem;margin-bottom:0.5rem}.hero p{color:#f0f0f0;font-size:1.1rem}

/* === TIMER DISPLAY (MASSIVE & CLEAR) === */
.timer-display{background:#2c3e50;color:#fff;font-size:4rem;font-weight:700;font-family:'Courier New',monospace;text-align:center;padding:2rem 1rem;border-radius:8px;margin:2rem 0;box-shadow:0 4px 6px rgba(0,0,0,0.1);min-height:140px;display:flex;align-items:center;justify-content:center;letter-spacing:0.05em;user-select:none}

/* === TIMER CONTROLS === */
.timer-controls{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:2rem 0}.btn{font-size:1.25rem;font-weight:600;padding:1rem 2rem;border:none;border-radius:8px;cursor:pointer;transition:all 0.2s;text-transform:uppercase;letter-spacing:0.5px;min-width:140px;box-shadow:0 2px 4px rgba(0,0,0,0.1);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:active{transform:translateY(2px);box-shadow:0 1px 2px rgba(0,0,0,0.1)}.btn-primary{background:#e74c3c;color:#fff}.btn-primary:hover{background:#c0392b}.btn-secondary{background:#3498db;color:#fff}.btn-secondary:hover{background:#2980b9}.btn-success{background:#27ae60;color:#fff}.btn-success:hover{background:#229954}.btn-warning{background:#f39c12;color:#fff}.btn-warning:hover{background:#d68910}.btn-dark{background:#34495e;color:#fff}.btn-dark:hover{background:#2c3e50}.btn:disabled{background:#95a5a6;cursor:not-allowed;opacity:0.6}

/* === TIMER INPUTS === */
.timer-inputs{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:2rem 0}.input-group{display:flex;flex-direction:column;align-items:center}.input-group label{font-weight:600;margin-bottom:0.5rem;color:#2c3e50;font-size:1rem}.input-group input,.input-group select{font-size:1.5rem;padding:0.75rem;border:2px solid #ddd;border-radius:8px;text-align:center;width:100px;font-weight:600}.input-group input:focus,.input-group select:focus{outline:none;border-color:#e74c3c}

/* === LAP TIMES / RESULTS === */
.lap-times,.results{background:#fff;border-radius:8px;padding:1.5rem;margin:2rem 0;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.lap-times h3,.results h3{margin-top:0}.lap-item,.result-item{display:flex;justify-content:space-between;padding:0.75rem;border-bottom:1px solid #ecf0f1;font-size:1.1rem}.lap-item:last-child,.result-item:last-child{border-bottom:none}.lap-number{font-weight:600;color:#7f8c8d}.lap-time{font-family:'Courier New',monospace;font-weight:700;color:#2c3e50}

/* === CONTENT SECTIONS === */
.content-section{background:#fff;padding:2rem;margin:2rem 0;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,0.05)}.content-section h2{margin-top:0}.how-to-use{background:#fff3cd;border-left:4px solid #f39c12;padding:1.5rem;margin:2rem 0;border-radius:4px}.how-to-use h3{color:#f39c12;margin-top:0}.steps{list-style:none;margin:0;counter-reset:step-counter}.steps li{counter-increment:step-counter;margin-bottom:1rem;padding-left:2.5rem;position:relative;font-size:1.05rem}.steps li::before{content:counter(step-counter);position:absolute;left:0;top:0;background:#e74c3c;color:#fff;width:1.8rem;height:1.8rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.9rem}

/* === FAQ SECTION === */
.faq-section{background:#fff;padding:2rem;margin:2rem 0;border-radius:8px}.faq-item{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #ecf0f1}.faq-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.faq-question{font-size:1.15rem;font-weight:600;color:#2c3e50;margin-bottom:0.5rem}.faq-answer{color:#555;line-height:1.7}

/* === DISCLAIMER === */
.disclaimer{background:#e8f4f8;border-left:4px solid #3498db;padding:1.5rem;margin:2rem 0;border-radius:4px;font-size:0.95rem;color:#555}.disclaimer strong{color:#2c3e50}

/* === FOOTER === */
footer{background:#2c3e50;color:#ecf0f1;padding:2rem 0;margin-top:auto}.footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.footer-section h3{color:#fff;font-size:1.1rem;margin-bottom:1rem}.footer-links{list-style:none;margin:0}.footer-links a{color:#ecf0f1;display:block;padding:0.25rem 0}.footer-links a:hover{color:#e74c3c}.footer-bottom{text-align:center;padding-top:1.5rem;border-top:1px solid #34495e;font-size:0.9rem;color:#95a5a6}

/* === INTERVAL TIMER SPECIFIC === */
.interval-status{text-align:center;font-size:1.5rem;font-weight:600;padding:1rem;border-radius:8px;margin:1rem 0}.status-work{background:#27ae60;color:#fff}.status-rest{background:#e74c3c;color:#fff}.status-complete{background:#95a5a6;color:#fff}.rounds-display{text-align:center;font-size:1.3rem;font-weight:600;color:#2c3e50;margin:1rem 0}

/* === METRONOME SPECIFIC === */
.bpm-display{font-size:3rem;font-weight:700;text-align:center;color:#e74c3c;margin:1rem 0}.bpm-slider{width:100%;max-width:400px;height:8px;-webkit-appearance:none;appearance:none;background:#ddd;border-radius:4px;outline:none;margin:1rem auto;display:block}.bpm-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:30px;height:30px;background:#e74c3c;border-radius:50%;cursor:pointer}.bpm-slider::-moz-range-thumb{width:30px;height:30px;background:#e74c3c;border-radius:50%;cursor:pointer;border:none}

/* === SPLIT TIMER / MULTI-LANE === */
.lane-container{margin:2rem 0}.lane{background:#fff;border:2px solid #ddd;border-radius:8px;padding:1rem;margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.lane-name{font-weight:600;font-size:1.2rem;min-width:100px}.lane-time{font-family:'Courier New',monospace;font-size:1.8rem;font-weight:700;color:#2c3e50;flex:1;text-align:center}.lane-controls{display:flex;gap:0.5rem}

/* === CLOCK SPECIFIC === */
.clock-display{background:#2c3e50;color:#fff;font-size:6rem;font-weight:700;font-family:'Courier New',monospace;text-align:center;padding:3rem 1rem;border-radius:8px;margin:2rem 0;box-shadow:0 4px 6px rgba(0,0,0,0.1);letter-spacing:0.1em}.date-display{text-align:center;font-size:1.5rem;color:#7f8c8d;margin-top:1rem}

/* === RESPONSIVE DESIGN === */
@media(min-width:768px){h1{font-size:2.5rem}h2{font-size:2rem}.timer-display{font-size:6rem;min-height:180px}.clock-display{font-size:8rem}.btn{font-size:1.3rem;padding:1.25rem 2.5rem;min-width:160px}.input-group input,.input-group select{width:120px;font-size:1.75rem}.nav-links{gap:1rem}}@media(max-width:767px){.nav-links{width:100%;justify-content:center;margin-top:1rem}.hero h1{font-size:2rem}.timer-display{font-size:3rem}.clock-display{font-size:4rem}.lane{flex-direction:column;text-align:center}.lane-controls{width:100%;justify-content:center}}

/* === UTILITY CLASSES === */
.text-center{text-align:center}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.hidden{display:none}.pulse{animation:pulse 1s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}

/* === ACCESSIBILITY === */
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}:focus-visible{outline:3px solid #e74c3c;outline-offset:2px}