/* Modern keyboard key style for instructions */
.instructions kbd {
  display: inline-block;
  font-family: 'Chivo Mono', 'Menlo', 'Consolas', monospace;
  font-size: 1.1em;
  background: #222;
  color: #fff;
  border: 1.5px solid #888;
  border-radius: 6px;
  padding: 2px 8px;
  margin: 0 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.12);
  vertical-align: middle;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0.02em;
}
/* Reverse alpha effect for all main buttons: fully opaque by default, dim on hover */
button, .fullscreen-btn, .kofi-btn, .send-btn, .clear-btn, .timer-btn, .clock-btn {
  opacity: 1;
}
button:hover, .fullscreen-btn:hover, .kofi-btn:hover, .send-btn:hover, .clear-btn:hover, .timer-btn:hover, .clock-btn:hover {
  opacity: 0.7;
}
/* Chivo Mono Google Font */
@import url('https://fonts.googleapis.com/css2?family=Chivo+Mono:wght@400;700&display=swap');

:root {
  --instructions-color: #fff;
  --btn-bg: #222;
  --btn-color: #fff;
}

body {
  background-color: black;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  margin: 0;
  font-family: 'Rethink Sans', Arial, sans-serif;
}
#display {
  font-size: 20vw;
  text-align: center;
  margin-bottom: 20px;
  font-family: 'Rethink Sans', Arial, sans-serif;
}
.bottom-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  z-index: 10;
  flex-wrap: wrap;
}
.logo {
  height: 28px;
  width: auto;
  margin-right: 10px;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
  color: var(--text-color);
}

.logo svg {
  display: block;
  height: 70%;
  width: auto;
  vertical-align: middle;
}

.logo.animated-gradient {
  /* Make SVG logo color transparent to show gradient */
  filter: brightness(1.2) grayscale(0.2);
}
.logo.animated-gradient::after {
  content: '';
  position: absolute;
  left: 0; top: 0; right: 0; bottom: 0;
  z-index: 2;
  pointer-events: none;
  border-radius: 6px;
  background: linear-gradient(120deg, #ff9800 0%, #ffe066 50%, #ff9800 100%);
  background-size: 200% 200%;
  opacity: 0.9;
  mix-blend-mode: lighten;
  animation: orangeYellowSweep 2s linear infinite;
}
@keyframes orangeYellowSweep {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}
.instructions {
  position: static;
  font-size: 0.6em;
  color: var(--instructions-color);
  opacity: 0.7;
  letter-spacing: 0.02em;
  font-weight: normal;
  user-select: none;
  pointer-events: none;
  margin-right: 10px;
  text-align: left;
  line-height: 1.4;
}

@media (prefers-color-scheme: light) {
  :root {
    --instructions-color: #000;
  }
}
 .kofi-btn, .fullscreen-btn {
  background-color: transparent !important;
  color: var(--text-color, var(--btn-color)) !important;
  opacity: 1 !important;
  font-weight: normal;
  border: none;
  border-radius: 16px;
  padding: 10px 15px;
  cursor: pointer;
  font-size: 1.2em;
  appearance: none;
  transition: background 0.2s, color 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-right: 10px;
  font-family: 'Rethink Sans', Arial, sans-serif;
}
.kofi-btn:hover {
  background: transparent !important;
  opacity: 1;
}
.input-buttons-container {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 0;
}
input[type="number"] {
  font-size: 1.2em;
  opacity: 0.7;
  padding: 5px;
  width: 80px;
  text-align: center;
  background: transparent;
  border: 1px solid rgba(127,127,127,0.5);
  border-radius: 12px;
  outline: none;
  box-shadow: none;
  transition: box-shadow 0.2s, border 0.2s, color 0.2s;
  font-family: 'Rethink Sans', Arial, sans-serif;
}
input[type="number"]:focus {
  border: 1.5px solid rgba(127,127,127,0.7);
  box-shadow: 0 0 0 2px rgba(127,127,127,0.15);
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}
button, .fullscreen-btn {
  font-family: 'Rethink Sans', Arial, sans-serif;
  background: transparent !important;
  color: var(--btn-color) !important;
  border: none !important;
  border-radius: 16px;
  padding: 10px 15px;
  cursor: pointer;
  font-size: 1.2em;
  appearance: none;
  transition: background 0.2s, color 0.2s, border 0.2s;
}
button:hover, .fullscreen-btn:hover, .kofi-btn:hover {
  background: rgba(127,127,127,0.08) !important;
}
.color-pickers {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-top: 0;
}
.color-label {
  display: flex;
  align-items: center;
  font-size: 1em;
  color: inherit;
  gap: 8px;
}
.color-label input[type="color"] {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #444;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: none;
  cursor: pointer;
  box-shadow: none;
  padding: 0;
}
.color-label input[type="color"]::-webkit-color-swatch-wrapper {
  padding: 0;
  border: none;
  border-radius: 50%;
}
.color-label input[type="color"]::-webkit-color-swatch {
  border: none;
  border-radius: 50%;
}
@keyframes flashAnim {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.2; }
}
.flash {
  animation: flashAnim 0.5s linear 5;
}
input[type="number"],
button, .fullscreen-btn, .kofi-btn,
.color-label, .color-pickers label,
#startBtn, #stopBtn, #clearBtn {
  font-size: 1em;
  color: var(--text-color, var(--btn-color));
}
#startBtn, #stopBtn, #clearBtn, .fullscreen-btn, .kofi-btn {
  opacity: 0.7;
}
#startBtn:hover, #stopBtn:hover, #clearBtn:hover, .fullscreen-btn:hover, .kofi-btn:hover {
  opacity: 1;
}
#clock-view {
  position: fixed;
  left: 0; right: 0; bottom: 0; top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: inherit;
  z-index: 100;
  transition: transform 0.5s cubic-bezier(.77,0,.18,1), opacity 0.5s;
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
}
#clock-view.active {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
#clock-view .bottom-bar {
  transform: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
#clock-display {
  font-size: 20vw;
  color: var(--text-color, var(--btn-color));
  font-family: 'Rethink Sans', Arial, sans-serif;
  margin-bottom: 32px;
  letter-spacing: 0.05em;
}
#date-display {
  font-size: 2.2vw;
  color: var(--text-color, var(--btn-color));
  font-family: 'Rethink Sans', Arial, sans-serif;
  margin-bottom: 32px;
  letter-spacing: -0.01em;
}
#date-display .date-day {
  font-weight: bold;
}
.timer-btn {
  font-size: 0.9em;
  line-height: 1.05;
}
.timer-btn:hover {
  opacity: 0.7;
  background: rgba(127,127,127,0.08);
}
/* Slide timer controls down when clock is active */
body.clock-mode .bottom-bar,
body.clock-mode #display {
  transition: transform 0.5s cubic-bezier(.77,0,.18,1), opacity 0.5s;
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

#display,
.bottom-bar {
  transition: transform 0.5s cubic-bezier(.77,0,.18,1), opacity 0.5s;
  transform: translateY(-100%);
  opacity: 0;
}

#display.active,
.bottom-bar.active {
  transform: translateY(0);
  opacity: 1;
}
body.clock-mode #clock-view {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
body.clock-mode, body.clock-mode * {
  overflow: hidden !important;
  scrollbar-width: none !important;
}
body.clock-mode::-webkit-scrollbar, body.clock-mode *::-webkit-scrollbar {
  display: none !important;
}

/* Remove focus styles from all buttons */
button:focus, .fullscreen-btn:focus, .kofi-btn:focus, .send-btn:focus, .clear-btn:focus, .timer-btn:focus, .clock-btn:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
