:root{color-scheme:dark;--bg:#101315;--panel:#191d20;--edge:#303639;--text:#edf0ec;--muted:#9aa3a5;--yellow:#e7ed83;--blue:#83c2dc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:var(--text);background:#242a2d;border:1px solid var(--edge);border-radius:8px;padding:10px 14px;transition:background .15s}button:hover{background:#343c40}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}input,select{color:var(--text);background:#121618;border:1px solid #3c4346;border-radius:8px;padding:12px;width:100%}label{display:block;font-size:12px;color:#c4cccc;margin:18px 0 7px}label span{float:right;color:var(--muted)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(38px,4.7vw,64px);font-weight:500;line-height:1.2;letter-spacing:-3px}h1 em{font-style:normal;color:var(--yellow)}h2{font-size:24px;font-weight:500;letter-spacing:-.7px}h3{font-size:16px;font-weight:600}.site-header{max-width:1400px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--edge);gap:20px}.brand{font:700 21px Manrope,sans-serif;white-space:nowrap;letter-spacing:-.7px}.domain{font-weight:400;color:var(--muted)}.brand-icon{font-size:31px;vertical-align:-3px;color:var(--yellow);margin-right:9px}.site-header nav{display:flex;gap:32px;font-size:13px;color:var(--muted)}.site-header nav a:hover,.site-header nav .active{color:var(--text)}.local-badge{font-size:9px;letter-spacing:1.2px;color:var(--muted)}i.live-dot,.local-badge i{display:inline-block;width:6px;height:6px;background:var(--yellow);border-radius:50%;margin-right:8px}main{max-width:1240px;padding:0 34px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:end;padding:47px 0 35px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:var(--muted);margin-bottom:12px}.intro p:last-child{color:var(--muted);margin-top:14px}.intro-date{text-align:right;font-size:12px;display:grid;gap:5px;padding-bottom:3px}.intro-date b{font-weight:400;color:var(--muted);font-size:10px}.workspace{display:grid;grid-template-columns:1.18fr 1fr;border:1px solid var(--edge);border-radius:18px;overflow:hidden;background:var(--panel)}.clock-stage{position:relative;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at 50% 48%,#2d3338 0%,#1a2023 44%,#151a1d 76%);padding:18px 24px 20px;min-height:566px}.stage-top{width:100%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.6px;color:var(--muted)}.quiet{border:0;background:transparent;font-size:11px;padding:8px}.face{width:340px;aspect-ratio:1;position:relative;border-radius:50%;background:radial-gradient(circle,#171b1f,#080b0e);box-shadow:0 0 0 2px #080a0b,0 0 0 4px #828b8f,0 0 0 6px #202629,0 15px 30px #0008,inset 0 0 25px #000;margin:27px auto 18px;flex-shrink:0;isolation:isolate}.face svg{width:100%;height:100%;display:block;overflow:visible}.face .tick{stroke:#b9c2c6;stroke-width:1}.face .major{stroke:#ecf0e6;stroke-width:3}.face .numeral{fill:#dce2e3;font:20px Manrope,sans-serif;text-anchor:middle;dominant-baseline:middle}.face .hour-hand{stroke:var(--yellow);stroke-width:7}.face .minute-hand{stroke:var(--yellow);stroke-width:5}.face .second-hand{stroke:var(--yellow);stroke-width:1.2}.face .hand{stroke-linecap:round;filter:drop-shadow(0 0 2px #e7ed8355)}.face .dial{fill:#0b0e10;stroke:#495157;stroke-width:1}.face .dial-label{fill:#a7b0b3;font:6px 'DM Sans',sans-serif;text-anchor:middle}.face .dial-value{fill:#e8edeb;font:11px monospace;text-anchor:middle}.face .dial-track{fill:none;stroke:var(--yellow);stroke-width:1.5}.face .face-date{fill:#bcc4c5;font:8px 'DM Sans',sans-serif;text-anchor:middle;letter-spacing:1px}.face .face-brand{fill:#839093;font:6px 'DM Sans',sans-serif;letter-spacing:2px;text-anchor:middle}.face .mini-dial{cursor:pointer}.face .mini-dial:hover .dial{stroke:var(--yellow)}.face.space{background:radial-gradient(circle at 64% 28%,#72abd044 0 3%,transparent 4%),radial-gradient(ellipse at 36% 37%,#27567e,#101c37 38%,#050a12 74%)}.face.space .major{stroke:#9ce0ff;filter:drop-shadow(0 0 3px #4cafdf)}.face.square,.face.world{border-radius:23%}.face.square{background:repeating-conic-gradient(from 0deg,#171c20 0deg 2deg,#14181b 2deg 4deg)}.face.hybrid{box-shadow:0 0 0 2px #0a0c0d,0 0 0 4px #6c767b,inset 0 0 0 12px #0a0c0d,inset 0 0 0 13px #a6ad57,0 15px 30px #0008}.face.world{background:radial-gradient(ellipse at 45% 64%,#327784 0 5%,transparent 6%),radial-gradient(ellipse at 60% 50%,#456c57 0 15%,transparent 16%),radial-gradient(ellipse at 36% 43%,#3a6762 0 14%,transparent 15%),radial-gradient(circle at 50% 51%,#163b66 0 42%,#71b9ce 43%,#0a1425 45%,#050c17 65%)}.face.mechanical{background:repeating-conic-gradient(#181f23 0deg 20deg,#2f383c 20deg 27deg,#0b0f13 27deg 30deg)}.face.mechanical .major{stroke:var(--yellow);stroke-width:5}.face .gear{display:none}.face.mechanical .gear{display:block}.clock-caption{display:flex;align-items:center;gap:15px;margin-top:8px}.clock-caption #digital-time{font:500 22px Manrope,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:1px}.clock-caption #face-name{font-size:10px;color:var(--muted);border-left:1px solid #455056;padding-left:15px}.mini-hint{font-size:10px;color:var(--muted);margin-top:13px}.mini-controls{display:flex;gap:6px;margin-top:10px}.mini-controls button{font-size:9px;padding:5px 8px;background:transparent;border-color:#384145}.control-panel{border-left:1px solid var(--edge);padding:0 30px 20px}.tabs{display:flex;gap:21px;border-bottom:1px solid var(--edge);margin-bottom:25px}.tabs button{background:none;border:0;border-radius:0;padding:20px 0 14px;font-size:12px;color:var(--muted);position:relative}.tabs button[aria-selected=true]{color:var(--yellow)}.tabs button[aria-selected=true]:after{position:absolute;content:'';height:2px;bottom:-1px;left:0;right:0;background:var(--yellow)}.tool-panel .eyebrow{font-size:8px;margin-bottom:5px}.tool-panel h2{font-size:25px}.tool-panel input[type=time]{font:500 37px Manrope,sans-serif;padding:8px 15px;letter-spacing:2px}.presets{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.presets button{font-size:10px;padding:6px 12px;background:transparent;color:#bdc5c7}.presets button[aria-pressed=true]{color:var(--yellow);border-color:#7a804c}.sound-row{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:17px}.sound-row label{flex:1}.sound-row select{font-size:12px;margin-top:7px}.sound-row button{margin-bottom:9px;white-space:nowrap}.primary{background:var(--yellow);color:#191e15;border-color:var(--yellow);font-weight:700}.primary:hover{background:#f0f6a2}form>.primary{width:100%;padding:12px}.panel-bottom{border-top:1px solid var(--edge);margin-top:22px;padding-top:2px}.switch-label{display:flex;align-items:center;font-size:11px;gap:8px}.switch-label input{width:14px;height:14px;accent-color:var(--yellow)}.switch-label span{margin-left:auto;font-size:10px}#status{font-size:11px;color:var(--yellow);margin:11px 0}.reliability-note{font-size:10px;line-height:1.6;color:var(--muted)}.reliability-note a{color:#c7cfcf}.session-state{font-size:12px;margin-top:12px}.session-state button{font-size:10px;padding:5px 8px}.countdown{font:500 clamp(45px,5vw,64px) Manrope,sans-serif;letter-spacing:-3px;font-variant-numeric:tabular-nums;text-align:center;margin:35px 0}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions .primary{flex:1}.muted{color:var(--muted);font-size:12px;margin:15px 0}.text-link{display:block;color:var(--muted);font-size:12px;margin-top:20px}#laps{font:12px monospace;max-height:130px;overflow:auto;padding-left:25px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:23px;gap:20px}.section-heading .eyebrow{margin-bottom:7px}.section-heading>span{font-size:11px;color:var(--muted)}.face-section{padding:39px 0 35px}.face-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.face-option{padding:16px 8px 10px;background:#181d20;border:1px solid #2c3438;border-radius:12px;text-align:center}.face-option[aria-pressed=true]{border-color:var(--yellow);background:#202522}.face-option .face{width:95px;margin:7px auto 17px;box-shadow:0 0 0 1px #879296,0 0 0 3px #272f32,0 6px 10px #0007}.face-option .face .hand{filter:none}.face-option span{font-size:10px;display:block}.face-option small{font-size:8px;color:var(--muted)}.tools-section{border-top:1px solid var(--edge);padding:30px 0 36px}.tool-links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.tool-links>a{border-top:1px solid #30383c;padding-top:15px}.tool-symbol{font-size:28px;color:var(--yellow)}.tool-links h3{margin:12px 0 8px;font-size:14px}.tool-links h3 span{float:right;color:var(--muted)}.tool-links p{font-size:12px;color:var(--muted);max-width:310px}.tool-links a:hover h3{color:var(--yellow)}.help-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--edge);padding:38px 0 55px}.help-section p{color:var(--muted);font-size:12px;margin:17px 0}.help-section a{font-size:11px;color:#d5dfb1}.help-section summary{cursor:pointer;padding:17px 0;border-bottom:1px solid var(--edge);font-size:12px}.help-section details p{font-size:12px}.help-section h2{font-size:25px}footer{border-top:1px solid var(--edge);display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1400px;margin:auto;padding:25px 5%}footer .brand{font-size:17px}footer>span,footer nav{font-size:10px;color:var(--muted)}footer nav{display:flex;gap:20px}dialog{border:1px solid #697441;background:#1a2023;color:var(--text);border-radius:16px;padding:35px;max-width:calc(100vw - 32px);width:410px}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog p{margin:15px 0}dialog .actions{margin-top:25px}.skip{position:fixed;top:-80px;left:15px;background:var(--yellow);color:#111;padding:10px;z-index:30}.skip:focus{top:10px}[hidden]{display:none!important}.noscript{text-align:center;padding:25px}.workspace:fullscreen{border:0;border-radius:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#101518}.workspace:fullscreen .clock-stage{background:none;width:100%;height:100%;justify-content:center}.workspace:fullscreen .control-panel{display:none}.workspace:fullscreen .stage-top{position:absolute;top:20px;padding:0 20px}.workspace:fullscreen #hero-clock{width:min(66vh,70vw)}.workspace:fullscreen .clock-caption{margin-top:25px}.visual-disk{display:none}.classroom .visual-disk{display:grid;place-content:center;width:300px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--yellow) var(--progress,100%),#323c40 0);color:#121713;font:600 52px Manrope,sans-serif;box-shadow:inset 0 0 0 12px #ffffff10;margin:35px auto}.classroom #hero-clock,.classroom .mini-hint,.classroom .mini-controls,.classroom #face-name{display:none}.classroom .workspace:fullscreen .visual-disk{width:min(65vh,75vw);font-size:clamp(40px,10vw,120px)}
@media(min-width:1400px){.face{width:355px}.clock-stage{min-height:590px}}@media(max-width:1000px){.local-badge{display:none}.face{width:290px;margin-top:45px}.control-panel{padding-inline:20px}.tabs{gap:16px}.face-option .face{width:78px}.intro-date{display:none}.help-section{gap:35px}.face-option span{font-size:9px}}@media(max-width:720px){main{padding:0 20px}.site-header{padding:16px 20px;flex-wrap:wrap;gap:15px}.site-header nav{gap:20px;font-size:12px;width:100%;justify-content:space-between}.brand{font-size:20px}.intro{padding:30px 0 25px}h1{letter-spacing:-2px}.intro .eyebrow{font-size:8px;letter-spacing:1.4px}.intro p:last-child{font-size:12px;max-width:280px}.workspace{grid-template-columns:1fr}.clock-stage{min-height:auto;padding-bottom:24px}.face{width:min(290px,70vw);margin-top:22px}.control-panel{border-left:0;border-top:1px solid var(--edge);padding:0 24px 22px}.tabs{justify-content:space-between}.face-picker{grid-template-columns:repeat(3,1fr)}.face-option .face{width:min(80px,19vw)}.section-heading{align-items:start}.section-heading h2{font-size:21px}.section-heading>span{display:none}.tool-links{grid-template-columns:1fr;gap:20px}.tool-symbol{float:left;margin-right:17px}.tool-links h3{margin-top:5px}.tool-links p{max-width:none;margin-left:46px}.help-section{grid-template-columns:1fr;gap:20px}.help-section h2 br{display:none}footer{flex-wrap:wrap;padding:25px 20px}footer>span{display:none}footer nav{gap:16px}button{min-height:36px}.quiet{min-height:36px}.countdown{margin:25px 0;font-size:58px}.classroom .visual-disk{width:250px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.classroom .visual-disk{position:relative}.visual-disk span{position:relative;background:#151a1d;color:#edf0ec;border-radius:12px;padding:4px 14px;font-variant-numeric:tabular-nums}.classroom .text-link[href="/classroom-timer/"]{display:none}
:root{--hand-color:#e7ed83}
.face .hand{stroke:var(--hand-color);filter:drop-shadow(0 0 2px var(--hand-color))}
.face svg>g[pointer-events="none"]>circle:first-of-type{fill:var(--hand-color)}
.clock-color{position:relative;display:flex;align-items:center;gap:2px}
.color-toggle{display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:50%}
.color-toggle:hover,.color-toggle[aria-expanded=true]{border-color:#586365;background:#ffffff0a}
.color-toggle i.live-dot{width:9px;height:9px;margin:0;background:var(--hand-color);box-shadow:0 0 0 3px #ffffff08}
.color-panel{position:absolute;left:0;top:40px;width:240px;padding:16px;background:#222a2e;border:1px solid #586365;border-radius:12px;box-shadow:0 12px 30px #0008;z-index:10;letter-spacing:0;color:var(--text)}
.color-panel p{font-size:13px;font-weight:600}
.color-swatches{display:flex;gap:7px;margin:13px 0}
.color-swatches button{width:28px;height:28px;min-height:28px;padding:0;border-radius:50%;background:var(--swatch);border:3px solid #222a2e;outline:1px solid transparent}
.color-swatches button[aria-pressed=true]{outline-color:#fff}
.color-swatches button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.color-panel label{display:flex;align-items:center;justify-content:space-between;margin:0;font-size:12px}
.color-panel input[type=color]{width:48px;height:32px;padding:2px;cursor:pointer}
.classroom .clock-color{display:none}
.classroom .clock-color{display:flex}.classroom .color-toggle{display:none}
.face,.face-option .face,.face.hybrid{background:none!important;box-shadow:none!important}.watch-settings{width:100%;max-width:340px;margin-top:14px;font-size:11px;color:var(--muted)}.watch-settings summary{cursor:pointer;text-align:center}.watch-settings label{font-size:11px}.watch-settings select{margin-top:5px;font-size:12px}.watch-settings p{font-size:10px;margin-top:5px}.classroom .watch-settings{display:none}.clock-stage .face{width:min(380px,100%)}@media(max-width:720px){.clock-stage .face{width:min(300px,100%)}}.workspace:fullscreen .clock-stage .face{width:min(66vh,70vw)}

.weather-search-row{display:flex;gap:8px}.weather-search-row input{min-width:0;flex:1;background:#101617;border:1px solid #48534f;border-radius:8px;padding:10px;color:var(--text)}.weather-settings button{padding:8px 12px;border:1px solid #48534f;background:#202927;color:var(--text);border-radius:8px;cursor:pointer}.weather-results{display:grid;gap:5px;margin-top:8px}.weather-results button{text-align:left}.weather-actions{display:flex;gap:8px}.weather-settings p{line-height:1.5}.weather-settings a{text-decoration:underline}

.reliability-note a{text-decoration:underline;text-underline-offset:3px}
.fullscreen-alarm-button{display:none;touch-action:manipulation}.workspace:fullscreen .fullscreen-alarm-button{display:inline-flex;margin-left:auto;margin-right:12px}.fullscreen-alarm-info{position:absolute;z-index:20;bottom:24px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:16px 24px;border:1px solid var(--edge);border-radius:12px;background:#171d20f5;text-align:center;box-shadow:0 8px 32px #0008}.fullscreen-alarm-info p{font-size:20px;overflow-wrap:anywhere}.fullscreen-alarm-info small{color:var(--muted);font-size:12px}#alarm-time.alarm-time-highlight{outline:3px solid var(--yellow);outline-offset:5px;box-shadow:0 0 0 8px #e7ed831a}.workspace:fullscreen .stage-top{z-index:21}

/* The sound library stays inside the app, including on mobile. */
.sound-picker-trigger{display:block;width:100%;min-height:48px;margin-top:4px;text-align:left;background:#121618;border-color:#3c4346}
#sound-picker{width:540px;padding:0;max-height:85vh;max-height:85dvh;overflow:auto;overscroll-behavior:contain}
.sound-picker-heading{display:flex;gap:16px;align-items:flex-start;padding:24px 24px 18px;background:#1a2023;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--edge)}
#sound-picker h2{font-size:23px;line-height:1.3}
#sound-picker .sound-picker-heading p{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.5}
.sound-picker-close{flex-shrink:0;min-width:44px;min-height:44px;padding:8px}
.sound-picker-list{padding:8px 16px}
.sound-picker-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px;padding:7px 0;border-bottom:1px solid var(--edge)}
.sound-picker-row:last-child{border-bottom:0}
.sound-picker-row button{min-height:52px}
.sound-picker-row [data-select-sound]{text-align:left;display:grid;gap:2px;background:transparent;border-color:transparent;padding:8px 12px}
.sound-picker-row [data-select-sound][aria-pressed=true]{border-color:var(--yellow);background:#e7ed830d}
.sound-picker-row small{font-size:10px;color:var(--muted)}
.sound-picker-row [aria-pressed=true] small,.sound-picker-row [data-preview-sound][aria-pressed=true]{color:var(--yellow)}
.sound-picker-row [data-preview-sound]{font-size:12px;align-self:center;min-height:44px}
#sound-picker .sound-picker-status{font-size:11px;color:var(--muted);padding:8px 24px 16px;margin:0}
@media(max-width:540px){#sound-picker{width:calc(100% - 24px);max-width:none;border-radius:16px}.sound-picker-heading{padding:18px 16px 14px}#sound-picker h2{font-size:20px}.sound-picker-list{padding:6px 10px}.sound-picker-row{grid-template-columns:minmax(0,1fr) 88px}.sound-picker-row [data-select-sound]{padding:8px}.sound-picker-row [data-preview-sound]{padding:8px}}

/* Keep fullscreen content reachable even with expanded weather/details panels. */
.workspace:fullscreen .clock-stage{min-height:0;overflow-y:auto;overflow-x:hidden;justify-content:flex-start;justify-content:safe center;padding:76px 24px 24px;scrollbar-gutter:stable}
.workspace:fullscreen .clock-stage> *{flex-shrink:0}
.workspace:fullscreen .stage-top{position:fixed;top:0;left:0;width:100%;min-height:64px;padding:14px 20px;background:#101518;z-index:30}
.workspace:fullscreen #hero-clock{width:min(70vw,max(180px,calc(100vh - 290px)));width:min(70vw,max(180px,calc(100dvh - 290px)));margin:12px auto 18px}
.workspace:fullscreen .clock-stage .face{width:min(70vw,max(180px,calc(100dvh - 290px)))}
