/* SPDX-License-Identifier: GPL-2.0-only; © 2026 Hidden Torah contributors. No warranty. */
@font-face{font-family:CountdownStam;src:url('../fonts/StamSefaradCLM.ttf') format('truetype');font-display:swap}
.countdown-page{margin:0;background:#071323;color:#f4e8d1;font-family:system-ui,-apple-system,sans-serif}
.countdown-scene{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;min-height:100vh;min-height:100dvh;width:100%;overflow:hidden;background:#071323;color:#f4e8d1;padding:clamp(18px,4vw,42px);font-family:system-ui,-apple-system,sans-serif;transition:color .25s ease}
.countdown-scene *{box-sizing:border-box}.countdown-sky{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.countdown-top{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:12px;letter-spacing:.16em}.countdown-top-separator{opacity:.45;margin:0 12px}
.countdown-top button{font:inherit;color:inherit;background:transparent;border:1px solid currentColor;border-radius:3px;letter-spacing:0;padding:10px 16px;min-height:44px;cursor:pointer}.countdown-top button span{font-size:20px;margin-left:10px}.countdown-top button:hover{background:#ffffff14}.countdown-top button:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.countdown-center{text-align:center;padding:32px 0;position:relative}.countdown-center h1{font:400 clamp(22px,4vw,42px)/1.3 Georgia,serif;letter-spacing:.02em;margin:0 0 12px}.countdown-hebrew{font:clamp(23px,4vw,40px)/1.4 CountdownStam,serif;margin:0 0 12px}.countdown-hebrew:empty{display:none}.countdown-location{font-size:14px;opacity:.8;overflow-wrap:anywhere;margin:0 auto 32px;max-width:680px}
.countdown-direction{font-size:11px;letter-spacing:.22em;margin:0 0 16px;opacity:.7}.countdown-clock{font:400 clamp(44px,10.7vw,145px)/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.07em;white-space:nowrap;text-shadow:0 2px 28px #0003}.countdown-fraction{font-size:.48em;letter-spacing:-.04em;opacity:.8}
.countdown-status{display:inline-block;max-width:100%;font-size:14px;letter-spacing:.04em;padding:10px 20px;border:1px solid #ffffff45;border-radius:50px;margin:26px 0 12px;min-height:42px}.countdown-target{font:13px/1.7 ui-monospace,monospace;opacity:.8;margin:0;overflow-wrap:anywhere}.countdown-foot{display:flex;justify-content:space-between;align-items:end;gap:24px;font-size:12px;line-height:1.7;opacity:.7}.countdown-foot p{margin:0;max-width:550px}.countdown-foot>p{text-align:right;flex-shrink:0}.countdown-scene[data-tone=light]{color:#382420}.countdown-scene[data-tone=light] .countdown-status{border-color:#38242055}.countdown-scene[data-phase=arrived] .countdown-status{background:#382420;color:#fff3d6;border-color:#382420}.countdown-scene[data-phase=arrived] .countdown-clock{text-shadow:none}
.countdown-dialog{border:1px solid #6b7c7f;padding:0;width:min(1100px,calc(100vw - 24px));max-width:1100px;height:min(800px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);background:#071323;border-radius:6px;color:#f4e8d1}.countdown-dialog::backdrop{background:#02080ded}.countdown-dialog .countdown-scene{height:100%;min-height:100%;overflow:auto}.countdown-dialog .countdown-clock{font-size:clamp(40px,9vw,122px)}.countdown-finished{padding:48px;text-align:center;font-family:system-ui,sans-serif}.countdown-finished a{color:inherit}[hidden]{display:none!important}
@media(max-width:550px){.countdown-top{font-size:10px;letter-spacing:.08em}.countdown-top-separator{margin:0 5px}.countdown-top button{font-size:12px;padding:8px 12px}.countdown-foot{align-items:start;flex-direction:column;gap:12px;font-size:11px}.countdown-foot>p{text-align:left}.countdown-location{font-size:12px;margin-bottom:30px}.countdown-target{font-size:11px}.countdown-direction{font-size:10px;letter-spacing:.12em}.countdown-dialog .countdown-scene{padding:16px}.countdown-dialog .countdown-clock{font-size:clamp(32px,10vw,52px)}}
@media(prefers-reduced-motion:reduce){.countdown-scene{transition:none}}
.countdown-center h2{font:400 clamp(22px,4vw,42px)/1.3 Georgia,serif;letter-spacing:.02em;margin:0 0 12px}
.countdown-scene[data-long=true] .countdown-clock{font-size:clamp(24px,8vw,112px)}
.countdown-scene .countdown-hebrew{font-family:CountdownStam,serif}
.countdown-scene:not([data-phase=arrived]) .countdown-top{color:#f4e8d1}
/* Hanetz has a red-to-yellow arrival cue. Keep controls legible
   independently of the changing sky, without a full-width overlay. */
.countdown-scene[data-animation=hanetz] .countdown-top{color:#f4e8d1}
.countdown-scene[data-animation=hanetz] .countdown-top>span{background:#071323bc;padding:9px 12px;border-radius:3px}
.countdown-scene[data-animation=hanetz] .countdown-top button{background:#071323bc}
.countdown-scene[data-animation=hanetz] .countdown-clock{text-shadow:0 1px 24px #050b1920}
.countdown-scene[data-animation=hanetz][data-tone=dark] .countdown-center{text-shadow:0 1px 12px #03071888}
/* Presentation changes typography, never the countdown's animation or color cue. */
.countdown-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.countdown-presentation-note{font-size:12px;opacity:.85;margin:16px 0 0}
.countdown-scene[data-presentation=true]{position:fixed;inset:0;min-height:100dvh;height:100dvh;max-height:100dvh;padding:clamp(12px,2vw,28px);justify-content:center;overflow:hidden}
.countdown-scene[data-presentation=true] .countdown-top{position:absolute;top:clamp(12px,2vw,28px);left:clamp(12px,2vw,28px);right:clamp(12px,2vw,28px)}
.countdown-scene[data-presentation=true] .countdown-center{padding:64px 0 24px;width:100%}
.countdown-scene[data-presentation=true] .countdown-center h1,.countdown-scene[data-presentation=true] .countdown-center h2{font-size:clamp(20px,3vw,48px);margin-bottom:8px}
.countdown-scene[data-presentation=true] .countdown-clock{font-size:min(15.5vw,32dvh);font-weight:600;line-height:1.12;letter-spacing:-.075em}
.countdown-scene[data-presentation=true][data-long=true] .countdown-clock{font-size:min(12vw,28dvh)}
.countdown-scene[data-presentation=true] .countdown-fraction{font-size:.4em}
.countdown-scene[data-presentation=true] .countdown-hebrew,.countdown-scene[data-presentation=true] .countdown-location,.countdown-scene[data-presentation=true] .countdown-target,.countdown-scene[data-presentation=true] .countdown-foot{display:none}
.countdown-scene[data-presentation=true] .countdown-direction{margin:16px 0 12px;font-size:clamp(10px,1.4vw,18px)}
.countdown-scene[data-presentation=true] .countdown-status{font-size:clamp(14px,2vw,30px);margin:20px 0 0}
.countdown-dialog[data-presentation=true]{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;overflow:hidden}
.countdown-scene:fullscreen{width:100vw;height:100dvh}
@media(max-width:550px){.countdown-top{gap:8px;flex-wrap:wrap}.countdown-actions{gap:6px;margin-left:auto}.countdown-scene[data-presentation=true] .countdown-top>span{font-size:9px}.countdown-scene[data-presentation=true] .countdown-clock{font-size:15.5vw}.countdown-scene[data-presentation=true][data-long=true] .countdown-clock{font-size:12vw}}
@media(max-height:500px){.countdown-scene[data-presentation=true] .countdown-center{padding-top:52px;padding-bottom:0}.countdown-scene[data-presentation=true] .countdown-center h1,.countdown-scene[data-presentation=true] .countdown-center h2{font-size:20px;margin-bottom:0}.countdown-scene[data-presentation=true] .countdown-direction{margin:8px 0}.countdown-scene[data-presentation=true] .countdown-status{font-size:14px;margin-top:10px;padding:7px 16px;min-height:32px}.countdown-scene[data-presentation=true] .countdown-presentation-note{margin-top:7px;font-size:10px}}
