/**
 * til.re Main Styles
 * Global reset and base layout
 */

/* Reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Root elements */
html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* App container */
#app {
  width: 100%;
  height: 100%;
}

/* Countdown container (default theme) */
#countdown-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  text-align: center;
  padding: 2rem;
}

/* Title */
.title {
  font-size: 1.5rem;
  font-weight: 300;
  margin-bottom: 1rem;
  opacity: 0.8;
}

.title:empty {
  display: none;
}

/* Timer */
.timer {
  display: flex;
  align-items: baseline;
  justify-content: center;
  font-variant-numeric: tabular-nums;
}

.time-part {
  font-weight: 200;
}

.separator {
  font-weight: 200;
  opacity: 0.6;
}

/* Message */
.message {
  font-size: 1.25rem;
  font-weight: 300;
  margin-top: 1rem;
  opacity: 0.8;
}

.message:empty {
  display: none;
}

/* State classes */
.state-rest .timer {
  opacity: 0.7;
}

.state-finished .timer {
  opacity: 0.5;
}

.state-paused .timer {
  animation: blink 1s ease-in-out infinite;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* Responsive */
@media (max-width: 480px) {
  .title {
    font-size: 1.25rem;
  }

  .message {
    font-size: 1rem;
  }
}

/* Cursor auto-hide */
body.cursor-hidden,
body.cursor-hidden * {
  cursor: none !important;
}
