.web-timer-section { max-width: 1244px; padding: 24px 32px 48px; margin: auto; }
.web-timer-heading { margin: 40px 0 24px; }
.web-timer-heading h1 { font-size: 36px; line-height: 1.15; letter-spacing: 0; margin: 8px 0; text-transform: none; }
.web-timer-heading p { color: var(--muted); }
.web-timer { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; --phase-color: #f8f8f5; }
.web-timer [hidden] { display: none; }
.web-timer[data-phase="work"] { --phase-color: #76dfaa; }
.web-timer[data-phase="rest"] { --phase-color: #7ebaff; }
.web-timer[data-phase="prepare"] { --phase-color: #ffda75; }
.timer-display { padding: 28px; background: #101113; text-align: center; min-width: 0; }
.timer-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#timer-phase { color: var(--phase-color); text-transform: uppercase; font-weight: 700; letter-spacing: 0; }
#timer-clock { font-size: 112px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; margin: 36px 0 8px; color: var(--phase-color); }
#timer-round { color: var(--muted); margin: 0 0 24px; }
#timer-progress { display: block; width: 100%; height: 6px; accent-color: var(--phase-color); margin-bottom: 28px; }
.timer-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.web-timer button, .web-timer select, .web-timer input[type="number"] { font: inherit; min-height: 46px; border-radius: 6px; border: 1px solid #4a4b50; padding: 10px 12px; color: var(--foreground); background: #242529; }
.web-timer button { cursor: pointer; font-weight: 700; }
.web-timer button:hover:not(:disabled) { background: #37383d; }
.web-timer button:disabled { opacity: .45; cursor: default; }
.web-timer :focus-visible { outline: 3px solid #7ebaff; outline-offset: 3px; }
#timer-start { grid-column: 1 / -1; background: #e3262b; border-color: #e3262b; min-height: 56px; font-size: 20px; }
#timer-start:hover { background: #be2025; }
.timer-settings { padding: 28px; min-width: 0; }
.timer-settings fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.timer-settings legend { font-weight: 700; margin-bottom: 16px; }
.timer-presets { display: flex; gap: 10px; margin-bottom: 22px; }
.timer-presets button { flex: 1; }
.timer-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.timer-settings label { display: grid; gap: 8px; font-size: 14px; color: #d4d5da; }
.timer-settings select, .timer-settings input[type="number"] { width: 100%; }
.timer-settings details { margin: 20px 0; }
.timer-settings summary { cursor: pointer; padding: 10px 0; }
.timer-settings details label { margin: 12px 0; }
.timer-settings .timer-check { display: flex; align-items: center; gap: 10px; min-height: 44px; }
.timer-check input { width: 20px; height: 20px; accent-color: #f13235; }
.timer-audio { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.timer-status { font-size: 13px; line-height: 1.5; color: var(--muted); }
.timer-app-link { font-size: 16px; line-height: 1.6; margin: 24px 0 0; }
.timer-app-link a { text-decoration: underline; text-underline-offset: 4px; }
.timer-app-link span { display: block; font-size: 13px; color: var(--muted); }
.web-timer.is-focused { position: fixed; inset: 0; z-index: 1000; border: 0; border-radius: 0; display: block; background: #101113; overflow: auto; }
.web-timer.is-focused .timer-settings { display: none; }
.web-timer.is-focused .timer-display { max-width: 760px; margin: auto; padding: 24px; min-height: 100%; display: flex; flex-direction: column; justify-content: center; }
.web-timer.is-focused #timer-clock { font-size: 144px; }
body.timer-focused { overflow: hidden; }
@media (max-width: 700px) {
  .web-timer-section { padding: 18px 16px 32px; }
  .web-timer-heading { margin-top: 28px; }
  .web-timer-heading h1 { font-size: 28px; }
  .web-timer { grid-template-columns: 1fr; }
  .timer-display, .timer-settings { padding: 20px; }
  #timer-clock { font-size: 88px; margin-top: 24px; }
  .web-timer.is-focused #timer-clock { font-size: 96px; }
  .web-timer-section .brand span { font-size: 17px; }
  .web-timer-section .app-store.compact { min-width: 0; }
}
