@font-face{font-family:DSEG;src:url('assets/DSEG7Classic-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{color-scheme:dark;--bg:#101614;--panel:#151e19;--accent:#39ff7a;--accent-rgb:57,255,122;--text:#e4ece6;--muted:#93a398;--border:#2a382e}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Noto Sans",sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{transition:background .15s,border-color .15s}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:hover:not(:disabled){border-color:#6e957b}a{color:inherit;text-decoration:none}.app{max-width:1120px;padding:0 48px;margin:auto}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}header a{font-size:21px;font-weight:650;letter-spacing:-1px}header a span{color:var(--muted)}.wordmark,.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--muted)}main{max-width:760px;margin:auto}.intro{padding:58px 0 27px}.eyebrow{color:#a0bda8}h1{font-weight:500;font-size:36px;letter-spacing:-1.4px;margin:10px 0}.dot{color:var(--accent)}.intro p{font-size:13px;color:var(--muted);margin:0}.timer{border:1px solid var(--border);background:var(--panel);border-radius:16px;padding:18px 26px 26px}.timer-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:1.8px}.timer-top i{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:7px}.text-button{background:none;border:0;padding:8px;color:var(--muted);font-size:12px;letter-spacing:0}.clock-wrap{height:190px;display:flex;align-items:center;justify-content:center}.clock{position:relative;font:700 clamp(48px,10vw,100px)/1.4 DSEG,monospace;letter-spacing:-3px;white-space:nowrap;color:var(--accent);text-shadow:0 0 25px rgba(var(--accent-rgb),.145)}.clock.hours{font-size:clamp(38px,8vw,78px)}.ghost{position:absolute;inset:0;color:rgba(var(--accent-rgb),.043);text-shadow:none}#digits{position:relative}#status{text-align:center;color:var(--muted);font-size:12px;min-height:18px;margin:0 0 24px}.actions{display:flex;justify-content:center;gap:12px}.actions button{height:48px;border-radius:8px;font-size:13px}.primary{width:196px;background:var(--accent);color:#101614;border:1px solid var(--accent);font-weight:650;display:flex;justify-content:center;align-items:center;gap:48px}.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.12)}.reset{padding:0 18px;border:1px solid #344a3b;background:transparent;color:#b1c0b6}.reset span{margin-left:6px}.sound{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:11px;margin-top:26px}.sound input{width:100px;accent-color:var(--accent);height:4px}.sound output{min-width:30px}.settings{padding-top:30px}.settings-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}h2{font-size:13px;font-weight:500;margin:0}.settings-heading>span{font-size:9px;letter-spacing:1.4px;color:var(--muted)}.presets{display:grid;grid-template-columns:repeat(10,1fr);gap:8px}.presets button{background:transparent;border:1px solid var(--border);height:45px;border-radius:7px;font-size:14px;font-variant-numeric:tabular-nums}.presets button[aria-pressed=true]{background:rgba(var(--accent-rgb),.07);border-color:rgba(var(--accent-rgb),.5);color:var(--accent)}.custom{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:0}.custom label{color:var(--muted);font-size:11px}.stepper{display:flex;align-items:center;border:1px solid var(--border);border-radius:7px;height:38px}.stepper button{width:38px;height:36px;border:0;background:transparent;color:var(--muted)}.stepper input{width:44px;appearance:textfield;-moz-appearance:textfield;background:none;border:0;text-align:center;color:var(--text);font-size:13px}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper>span{font-size:10px;color:var(--muted);padding-right:8px}.note{font-size:11px;text-align:center;color:var(--muted);margin:34px 0 45px}footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:23px 0 30px;color:#7a9081;font-size:9px;letter-spacing:1.5px}.app:fullscreen{max-width:none;background:var(--bg);overflow:auto;display:flex;flex-direction:column;justify-content:center}.app:fullscreen .intro,.app:fullscreen .note{display:none}.app:fullscreen main{width:100%;max-width:1000px;margin:24px auto}.app:fullscreen .clock-wrap{height:40vh}.app:fullscreen .clock{font-size:clamp(60px,15vw,170px)}.app:fullscreen .clock.hours{font-size:clamp(40px,11vw,125px)}
@media(max-width:600px){.app{padding:0 20px}header{height:76px}.wordmark{font-size:8px;letter-spacing:1.3px}header a{font-size:18px}.intro{padding:32px 0 24px}h1{font-size:31px}.timer{padding:14px 15px 22px}.clock-wrap{height:155px}.clock{font-size:clamp(48px,14vw,80px);letter-spacing:-2px}.clock.hours{font-size:clamp(35px,10.5vw,60px)}.presets{grid-template-columns:repeat(5,1fr)}.custom{justify-content:space-between}.note{font-size:10px;line-height:1.9;margin:28px 0}.primary{width:170px;gap:35px}.reset{padding:0 13px}.settings{padding-top:25px}footer{font-size:8px}.app:fullscreen .clock-wrap{height:30vh}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

:root[data-theme="amber"]{--accent:#f5a324;--accent-rgb:245,163,36}
:root[data-theme="purple"]{--accent:#d93cff;--accent-rgb:217,60,255}
:root[data-theme="pink"]{--accent:#ff8fbc;--accent-rgb:255,143,188}
.preferences{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px}.themes{display:flex;align-items:center;gap:6px}.theme-label{color:var(--muted);font-size:11px;margin-right:8px}.swatch{display:grid;place-items:center;width:32px;height:32px;background:transparent;border:1px solid transparent;border-radius:50%;padding:0}.swatch::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--swatch)}.swatch[aria-pressed="true"]{border-color:var(--swatch)}.swatch[aria-pressed="true"]::before{box-shadow:0 0 12px var(--swatch)}.app:fullscreen tool-footer{width:100%;max-width:1000px;margin:0 auto}.app:fullscreen .tool-footer{padding:15px 0}.app:fullscreen main{margin-bottom:8px}
@media(max-width:600px){.intro{padding-top:36px}.preferences{flex-wrap:wrap;gap:18px}.custom{margin-left:auto}.themes{gap:3px}.theme-label{margin-right:4px}#status{min-height:32px;line-height:1.5}}

/* Ads belong to the setup document only. The player never loads AdSense. */
.back-link{display:block;width:fit-content;margin-bottom:24px;font-size:12px;color:var(--muted)}
.back-link:hover{color:var(--accent)}
.timer-help{border-top:1px solid var(--border);padding-top:26px;margin:0 0 28px;color:var(--muted);font-size:12px;line-height:1.8}
.timer-help h2{color:var(--text);font-size:14px}
.ad-section{margin:32px 0 48px;min-height:140px}
.ad-label{font-size:10px;letter-spacing:.7px;color:var(--muted);text-align:center;margin:0 0 12px}
.setup-page .primary{gap:24px}
/* Anchor the coffee UI to the footer on the ad page so it cannot cover an ad. */
.setup-page .app{position:relative}
.setup-page #bmc-wbtn{position:absolute!important;bottom:18px!important;right:18px!important}
.setup-page .coffee-bubble{position:absolute;bottom:26px;right:88px}
.setup-page #fullscreen[hidden]{display:none}
