@font-face { font-family: "Space Grotesk"; src: url("fonts/space-grotesk.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }
@property --rim-angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
:root { --bg: #080a0d; --ink: #f5f5f3; --muted: #949a9f; --line: rgba(218,233,239,.14); --accent: #b7dcd7; --font: "Space Grotesk",Arial,sans-serif; color-scheme: dark; }
* { box-sizing: border-box; margin: 0; padding: 0; }
html { min-width: 0; background: var(--bg); }
body { color: var(--ink); font-family: var(--font); -webkit-font-smoothing: antialiased; overflow-x: clip; }
button,a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button { font: inherit; color: inherit; cursor: pointer; }
button:disabled { opacity: .45; cursor: default; }
button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
a { color: inherit; text-decoration: none; }
[hidden] { display: none !important; }
::selection { background: #b7dcd7; color: #080a0d; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
.main:focus { outline: none; }
.eyebrow { font-size: 10px; font-weight: 500; letter-spacing: .24em; color: var(--muted); line-height: 1.5; }

/* Atmosphere: restrained color, depth, and suspended light. */
.atmosphere { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; background: radial-gradient(ellipse at 32% 43%,#10171d 0,transparent 52%),var(--bg); }
.nebula { position: absolute; width: 75vw; height: 75vw; max-width: 1200px; max-height: 1200px; opacity: .4; border-radius: 50%; will-change: transform; }
.nebula--blue { left: -29%; top: -25%; background: radial-gradient(ellipse,rgba(57,88,125,.32),transparent 65%); animation: nebula-drift 24s ease-in-out infinite alternate; }
.nebula--mint { right: -37%; bottom: -55%; background: radial-gradient(ellipse,rgba(82,126,122,.2),transparent 64%); animation: nebula-drift 29s ease-in-out -12s infinite alternate-reverse; }
.ambient-light { position: absolute; inset: 0; background: radial-gradient(ellipse 38% 48% at var(--pointer-x,65%) var(--pointer-y,45%),rgba(163,199,211,.045),transparent 80%); }
#particles { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .7; }
.grain { position: absolute; inset: 0; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23fff' d='M0 0h180v180H0z' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.vignette { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 45%,transparent 35%,rgba(0,0,0,.4) 100%); }
.site { position: relative; z-index: 1; min-height: 100svh; max-width: 1800px; margin: auto; display: flex; flex-direction: column; padding: 0 clamp(24px,5.6vw,108px); padding-top: env(safe-area-inset-top,0px); }
.icon-button { width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.015); display: grid; place-items: center; transition: background .25s,border-color .25s; }
.icon-button:hover { background: rgba(255,255,255,.08); border-color: #7c9299; }
.icon-button svg { width: 16px; height: 16px; }
.sound-on-icon { display: none; }
.sound-enabled .sound-off-icon { display: none; }
.sound-enabled .sound-on-icon { display: block; }
.sound-button[aria-pressed="true"] { border-color: #b7dcd766; background: #b7dcd712; color: #d4ece8; }
.main { flex: 1; display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(38px,7vw,130px); padding: 64px 0 70px; width: 100%; max-width: 1250px; margin: 0 auto; }

/* A luminous clock with several independent orbital planes. */
.countdown { text-align: center; min-width: 0; position: relative; }
.welcome { --greeting-accent: #d1c7a9; display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 auto 23px; color: #d1d8dc; font-size: 15px; font-weight: 400; letter-spacing: .035em; line-height: 1.5; }
.welcome:before,.welcome:after { content: ""; width: 27px; height: 1px; background: linear-gradient(90deg,transparent,#b7cbd02b); }
.welcome:after { transform: rotate(180deg); }
.welcome[data-period="afternoon"] { --greeting-accent: #d6b797; }
.welcome[data-period="night"] { --greeting-accent: #a7c3dc; }
.welcome__icon { display: grid; place-items: center; width: 27px; height: 27px; color: var(--greeting-accent); background: radial-gradient(circle,color-mix(in srgb,var(--greeting-accent) 10%,transparent),transparent 72%); }
.welcome__icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.welcome__moon,.welcome[data-period="night"] .welcome__sun { display: none; }
.welcome[data-period="night"] .welcome__moon { display: block; }
.clock-face { position: relative; width: min(100%,480px); max-width: 46vh; aspect-ratio: 1; margin: 0 auto; display: grid; place-items: center; isolation: isolate; }
.orb { position: absolute; inset: 0; z-index: -1; transform: translate3d(calc(var(--parallax-x,0)*5px),calc(var(--parallax-y,0)*5px),0); transition: transform .7s ease-out; }
.orb:before { content: ""; position: absolute; inset: 7.3%; border-radius: 50%; background: radial-gradient(ellipse at 28% 19%,rgba(213,236,249,.06),transparent 38%),radial-gradient(ellipse at 62% 89%,rgba(126,181,177,.035),transparent 60%),linear-gradient(150deg,rgba(197,220,229,.015),rgba(0,0,0,.3)); box-shadow: inset 0 0 70px rgba(0,0,0,.5),0 0 75px rgba(96,146,176,.04); }
.orb__rim { position: absolute; inset: 7%; border-radius: 50%; padding: 1px; background: conic-gradient(from var(--rim-angle),transparent 2%,#a7c7d322 9%,#ecf7ffbc 20%,#96c2cf44 29%,transparent 40%,#95babc13 51%,#b2d9d799 64%,transparent 80%); -webkit-mask: linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); mask-composite: exclude; animation: rim-orbit 28s linear infinite; }
.orb__track { position: absolute; inset: 0; border-radius: 50%; border: 1px solid #b7d1df0b; }
.orb__track:after { content: ""; position: absolute; inset: 3.5%; border-radius: 50%; border: 1px dashed #b7d1df12; transform: rotate(-24deg); }
.orb__arc { position: absolute; inset: 1.5%; border: 1px solid transparent; border-top-color: #c9dce545; border-left-color: #c9dce509; border-radius: 50%; transform: rotate(-35deg); animation: orbit 65s linear infinite; }
.orb__inner { position: absolute; inset: 10%; border-radius: 50%; border: 1px solid #e3edee06; }
.orb__star { position: absolute; inset: 7%; border-radius: 50%; animation: orbit 28s linear infinite; }
.orb__star:before { content: ""; position: absolute; left: 50%; top: -1px; width: 4px; height: 4px; border-radius: 50%; background: #e1f1f7; box-shadow: 0 0 8px 2px #bce0ea88,0 0 30px 7px #84bdc632; }
.day-count { padding-top: 10px; display: flex; flex-direction: column; align-items: center; width: 100%; }
.day-count .eyebrow { font-size: 10px; letter-spacing: .36em; color: #a2acb5; margin-bottom: 10px; }
.digits { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; display: block; }
.days { font-size: clamp(108px,13.3vw,190px); font-weight: 300; letter-spacing: -.075em; line-height: 1.1; padding-right: .075em; background: linear-gradient(140deg,#fff 12%,#f0f3f5 43%,#a3b6c2 100%); background-clip: text; -webkit-background-clip: text; color: transparent; text-shadow: 0 0 65px #a5c7de10; }
.day-label { font-size: 11px; letter-spacing: .5em; text-indent: .5em; color: #bcc7ce; margin-top: 12px; }
.clock-coordinate { position: absolute; top: 50%; font-size: 8px; color: #8d9da96b; letter-spacing: .1em; background: #0c1015; padding: 7px 0; }
.clock-coordinate--left { left: -4px; }
.clock-coordinate--right { right: -3px; }
.time-row { display: flex; justify-content: center; align-items: flex-start; gap: 20px; margin-top: 17px; }
.time-unit { min-width: 70px; }
.digit-window { display: block; overflow: hidden; }
.time-unit .digits { font-size: 39px; line-height: 1.15; font-weight: 300; letter-spacing: -.04em; }
.time-unit--seconds .digits { color: var(--accent); }
.time-label { display: block; font-size: 8px; letter-spacing: .2em; margin-top: 11px; color: #8f9ba3; }
.time-separator { color: #66757e; font-size: 24px; font-weight: 300; line-height: 1.6; }
.countdown-progress { width: min(100%,292px); margin-inline: auto; }
.countdown__caption { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 29px; font-size: 8px; letter-spacing: .16em; color: #929fa8; }
.countdown__caption span:last-child { color: #65737c; }
.countdown-progress__track { position: relative; height: 3px; margin-top: 14px; border-radius: 20px; overflow: hidden; background: linear-gradient(90deg,#819faa16,#b7dcd72d,#819faa16); box-shadow: 0 0 0 1px #c4dbe707,0 0 20px #8fbbb508; }
.countdown-progress__fill { position: absolute; inset-block: 0; left: 0; width: calc(var(--countdown-progress,0) * 100%); min-width: 0; border-radius: inherit; background: linear-gradient(90deg,#789eaa,#b7dcd7 72%,#e1f0eb); box-shadow: 0 0 12px #b7dcd74d; transition: width 1.2s cubic-bezier(.22,1,.36,1); overflow: hidden; }
.countdown-progress__fill:after { content: ""; position: absolute; right: 0; top: 50%; width: 4px; height: 4px; border-radius: 50%; background: #edf8f5; box-shadow: 0 0 8px 2px #b7dcd780; transform: translateY(-50%); }
.countdown-progress__fill i { position: absolute; inset-block: 0; left: -35%; width: 32%; background: linear-gradient(90deg,transparent,#ffffffa8,transparent); animation: countdown-sheen 6s ease-in-out infinite; }
.countdown-progress.is-complete .countdown-progress__track { background: #b7dcd71a; box-shadow: 0 0 0 1px #b7dcd72a,0 0 18px #b7dcd716; }
.countdown-progress.is-complete .countdown-progress__fill { width: 100%; }

/* Light keeps travelling across the complete phrase after the reveal. */
.statement { position: relative; min-width: 0; padding-top: 11px; }
.message { font-size: clamp(46px,5.4vw,84px); font-weight: 400; line-height: 1.11; letter-spacing: -.065em; }
.message__line { display: block; overflow: hidden; padding: .1em .09em .12em 0; margin: -.1em -.09em -.12em 0; }
.message__text { display: inline-block; background: linear-gradient(112deg,#f6f6f4 0%,#f6f6f4 36%,#a4b6c0 45%,#fff 50%,#d4e4e7 54%,#f6f6f4 64%,#f6f6f4 100%); background-size: 280% 100%; background-position: 100% 0; background-clip: text; -webkit-background-clip: text; color: transparent; animation: message-sheen 9s ease-in-out infinite; }
.message__text--soft { background-image: linear-gradient(112deg,#8b9197 0%,#8b9197 36%,#e5ebee 50%,#8b9197 64%,#8b9197 100%); animation-delay: .17s; }
.message__line--last { margin-top: 3px; }
.message__text--hero { font-size: 1.77em; line-height: 1.02; font-weight: 500; letter-spacing: -.08em; animation-delay: .34s; }
.message__period { color: var(--accent); -webkit-text-fill-color: var(--accent); }
.statement__light { height: 1px; position: relative; width: 100%; margin-top: 31px; background: linear-gradient(90deg,#b7dcd743,rgba(255,255,255,.07) 65%,transparent); overflow: visible; }
.statement__light span { position: absolute; top: 0; left: 0; width: 25%; height: 1px; background: linear-gradient(90deg,transparent,#defbf8,transparent); box-shadow: 0 0 14px #b7dcd744; animation: light-travel 7s ease-in-out infinite; }
.statement__bottom { margin-top: 24px; }
.statement__bottom p { font-size: 12px; color: #969da3; letter-spacing: .025em; }
.statement__primary-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.statement__secondary-actions { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); margin-top: 12px; border-top: 1px solid #c4d9df18; border-bottom: 1px solid #c4d9df0d; }
.quiet-action { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 49px; padding: 0 15px 0 0; border: 0; background: transparent; color: #89989f; font-size: 9px; letter-spacing: .045em; text-align: left; transition: color .25s,background .25s; }
.quiet-action + .quiet-action { padding-left: 16px; border-left: 1px solid #c4d9df13; }
.quiet-action i { width: 4px; height: 4px; flex: 0 0 auto; border-radius: 50%; background: #94b9ba; box-shadow: 0 0 8px #b7dcd743; transition: background .25s,box-shadow .25s,transform .25s; }
.quiet-action span { min-width: 0; line-height: 1.35; }
.quiet-action svg { width: 12px; height: 12px; margin-left: auto; color: #71858d; transition: color .25s,transform .25s; }
.quiet-action:hover { color: #d7e8e5; background: linear-gradient(90deg,#b7dcd709,transparent); }
.quiet-action:hover i { background: var(--accent); box-shadow: 0 0 12px #b7dcd782; transform: scale(1.2); }
.quiet-action:hover svg { color: var(--accent); transform: translateX(3px); }
.share-button { display: flex; align-items: center; gap: 27px; font-size: 11px; letter-spacing: .04em; border: 1px solid #ccdfe528; border-radius: 3px; background: linear-gradient(115deg,#d9edf208,transparent); padding: 14px 17px; min-height: 46px; transition: background .25s,border-color .25s; }
.share-button:hover { background: #d9edf213; border-color: #b7dcd780; }
.share-button svg { width: 16px; height: 16px; transition: transform .25s; }
.share-button:hover svg { transform: translate(2px,-2px); }
.finale { font-size: 14px; letter-spacing: .1em; margin-top: 25px; color: var(--accent); }

.interest-form { display: grid; grid-template-columns: 1fr 1fr; gap: 23px 18px; min-width: 0; }
.interest-field { position: relative; display: grid; gap: 10px; min-width: 0; }
.interest-field:first-child { grid-column: 1 / -1; }
.interest-field > span { color: #aab3b8; font-size: 9px; font-weight: 500; letter-spacing: .17em; text-transform: uppercase; }
.interest-field input,.interest-field select { width: 100%; min-width: 0; height: 57px; padding: 0 18px; border: 1px solid #cbdfe622; border-radius: 3px; outline: 0; color: #eef3f3; background: rgba(255,255,255,.025); font: 400 13px/1 var(--font); transition: border-color .25s,background .25s,box-shadow .25s; }
.interest-field input::placeholder { color: #737d83; opacity: 1; }
.interest-field input:hover,.interest-field select:hover { border-color: #cbdfe642; background: rgba(255,255,255,.038); }
.interest-field input:focus,.interest-field select:focus { border-color: #b7dcd786; background: rgba(183,220,215,.045); box-shadow: 0 0 0 3px #b7dcd70b,0 8px 30px #0002; }
.interest-field select { appearance: none; padding-right: 46px; cursor: pointer; }
.interest-field select:invalid { color: #737d83; }
.interest-field select option { color: #eef3f3; background: #101419; }
.interest-field--select:after { content: ""; position: absolute; right: 19px; bottom: 23px; width: 7px; height: 7px; border-right: 1px solid #b7dcd7; border-bottom: 1px solid #b7dcd7; transform: rotate(45deg); pointer-events: none; }
.interest-submit { position: relative; grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 58px; margin-top: 3px; padding: 0 19px 0 21px; overflow: hidden; border: 1px solid #b7dcd75c; border-radius: 3px; background: linear-gradient(105deg,#b7dcd718,rgba(183,220,215,.04)); color: #eff9f7; font-size: 11px; letter-spacing: .04em; transition: border-color .25s,background .25s,box-shadow .25s; }
.interest-submit:before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg,transparent 20%,#ffffff12 50%,transparent 80%); transform: translateX(-110%); transition: transform .7s cubic-bezier(.22,1,.36,1); }
.interest-submit:hover:not(:disabled) { border-color: #b7dcd7b3; background: linear-gradient(105deg,#b7dcd726,#b7dcd709); box-shadow: 0 12px 38px #0003,0 0 28px #b7dcd70d; }
.interest-submit:hover:not(:disabled):before { transform: translateX(110%); }
.interest-submit svg { width: 18px; transition: transform .25s; }
.interest-submit:hover:not(:disabled) svg { transform: translateX(4px); }
.interest-submit:disabled { opacity: 1; color: #b7dcd7; background: #b7dcd70c; }
.interest-form__privacy { grid-column: 1 / -1; margin-top: -9px; color: #69767d; font-size: 9px; line-height: 1.5; letter-spacing: .025em; }
.interest-form__status { grid-column: 1 / -1; margin-top: -6px; padding-left: 15px; border-left: 1px solid var(--accent); color: #cfe3df; font-size: 11px; line-height: 1.55; }
.interest-form.is-preview .interest-field { opacity: .58; }
.footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid var(--line); min-height: 113px; padding: 24px 0 max(24px,env(safe-area-inset-bottom,0px)); }
.target-date { display: flex; align-items: center; gap: 22px; }
.target-date .eyebrow { font-size: 8px; letter-spacing: .2em; }
.target-date time { font-size: 15px; font-weight: 400; letter-spacing: .1em; white-space: nowrap; }
.target-date time span { color: #64717a; margin: 0 5px; }
.footer__center { display: flex; align-items: center; color: #819098; font-size: 8px; letter-spacing: .15em; }
.footer__right { display: flex; align-items: center; gap: 18px; }
.replay { display: flex; align-items: center; gap: 10px; font-size: 10px; color: #a8b1b7; border: 0; background: none; min-height: 44px; transition: color .2s; }
.replay:hover { color: white; }
.replay svg { width: 14px; height: 14px; }
.noscript { font-size: 12px; text-align: center; padding: 12px; color: var(--accent); }

/* Opening: one accessible layer, with the live countdown below it. */
.intro { position: fixed; inset: 0; z-index: 10; background: #080a0d; overflow: clip; display: flex; flex-direction: column; align-items: center; justify-content: center; perspective: 1000px; }
.intro__glow { position: absolute; inset: -20%; background: radial-gradient(ellipse at 30% 45%,#2e6da418,transparent 36%),radial-gradient(ellipse at 70% 53%,#c43e2f0c,transparent 38%); pointer-events: none; }
.intro__orbit { position: absolute; width: 75vw; max-width: 1080px; aspect-ratio: 1; border-radius: 50%; border: 1px solid #d4e4ea0a; box-shadow: 0 0 100px #d4e4ea03,inset 0 0 100px #d4e4ea03; transform: rotateX(65deg) rotate(-22deg); pointer-events: none; }
.intro__eyebrow { position: absolute; top: 14%; font-size: 10px; letter-spacing: .4em; color: #868f98; }
.intro__title { position: relative; width: 100%; text-align: center; padding: 0 22px; }
.intro__name { font-size: clamp(43px,12.2vw,185px); font-weight: 700; line-height: 1.05; letter-spacing: 0; white-space: nowrap; perspective: 700px; }
.intro__name span { display: inline-block; padding-inline: .035em; margin-inline: -.035em; color: var(--c); background: linear-gradient(155deg,color-mix(in srgb,var(--c) 65%,white),var(--c) 50%,color-mix(in srgb,var(--c) 70%,#080a0d)); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; transform-origin: 50% 100%; text-shadow: 0 20px 50px #0005; }
.intro__rule { display: flex; gap: 5px; justify-content: center; margin: 30px auto 0; width: 110px; height: 2px; }
.intro__rule i { display: block; flex: 1; background: #2e6da4; }
.intro__rule i:nth-child(2) { background: #c43e2f; }
.intro__rule i:nth-child(3) { background: #e07b2a; }
.intro__year { font-size: 13px; letter-spacing: .65em; color: #bdc2c5; margin-top: 25px; text-indent: .65em; }
.intro__bottom { position: absolute; left: 5.6vw; right: 5.6vw; bottom: max(34px,env(safe-area-inset-bottom)); display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: 8px; letter-spacing: .2em; color: #78818a; }
.intro__actions { display: flex; align-items: center; gap: 10px; }
.intro__bottom button { background: none; border: 1px solid #ffffff1f; border-radius: 3px; padding: 14px 18px; font-size: 10px; letter-spacing: .03em; color: #c6ccd0; min-height: 44px; }
.intro__bottom #introSoundBtn { border-color: #b7dcd74d; color: #d5ebe8; }
.intro__bottom #introSoundBtn[aria-pressed="true"] { background: #b7dcd71c; }
.intro__bottom button:hover { background: #ffffff0c; }
.intro__progress { position: absolute; bottom: 0; left: 0; height: 1px; background: linear-gradient(90deg,#2e6da4,#c43e2f,#e07b2a); width: 100%; transform: scaleX(0); transform-origin: left; }

/* Native dialogs provide focus containment, Escape and inert backgrounds. */
dialog { color: var(--ink); font-family: var(--font); border: 1px solid #b9d2df2e; background: #101419; margin: auto; box-shadow: 0 24px 100px #0008; max-height: calc(100dvh - 32px); overflow: auto; }
dialog::backdrop { background: #030508bb; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.share-dialog { width: min(460px,calc(100% - 32px)); padding: 45px 30px 23px; border-radius: 12px; }
.dialog-close { position: absolute; right: 15px; top: 15px; width: 32px; height: 32px; }
.share-dialog h2 { font-size: 30px; font-weight: 400; letter-spacing: -.05em; margin-top: 20px; }
.interest-dialog { width: min(620px,calc(100% - 32px)); padding: 45px 34px 29px; background: radial-gradient(circle at 100% 100%,#355b5818,transparent 48%),#101419; }
.interest-dialog h2 { font-size: 38px; }
.interest-dialog h2 span { color: var(--accent); }
.interest-dialog .dialog-description { max-width: 480px; line-height: 1.65; }
.dialog-description { font-size: 13px; color: var(--muted); margin: 12px 0 28px; }
.dialog-action { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 15px; font-size: 12px; text-align: left; min-height: 54px; padding: 14px 0; border: 0; border-top: 1px solid var(--line); background: none; transition: color .2s; }
.dialog-action:hover { color: var(--accent); }
.share-video { display: block; width: auto; height: min(36dvh,270px); max-width: 100%; aspect-ratio: 9/16; margin: 7px auto 15px; background: var(--bg); border: 1px solid var(--line); border-radius: 4px; }
.dialog-download { width: 100%; display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 12px; letter-spacing: .05em; min-height: 52px; margin: 0 0 4px; padding: 16px 18px; border: 1px solid #b7dcd766; border-radius: 6px; background: linear-gradient(115deg,#b7dcd71f,#b7dcd708); color: #d9ece8; transition: background .25s,border-color .25s; }
.dialog-download:hover { background: linear-gradient(115deg,#b7dcd72e,#b7dcd714); border-color: #b7dcd7a3; }
.dialog-download svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.dialog-status { font-size: 11px; color: var(--accent); line-height: 1.6; min-height: 18px; margin-top: 12px; overflow-wrap: anywhere; }
.rec-dialog { padding: 22px; max-width: calc(100% - 32px); border-radius: 12px; text-align: center; }
#recCanvas { display: block; max-height: 63dvh; max-width: 100%; width: auto; height: 560px; aspect-ratio: 9/16; object-fit: contain; background: var(--bg); margin: auto; }
#recStatus { font-size: 12px; margin: 20px 0 12px; }
#recProgress { display: block; width: 100%; height: 3px; appearance: none; border: 0; background: #27333b; accent-color: var(--accent); }
#recProgress::-webkit-progress-bar { background: #27333b; }
#recProgress::-webkit-progress-value { background: var(--accent); }
.text-button { min-height: 44px; padding: 12px; font-size: 11px; border: 0; background: none; color: #b5bec4; margin-top: 8px; }

@keyframes message-sheen { 0%,12% { background-position: 100% 0; } 55%,100% { background-position: 0% 0; } }
@keyframes light-travel { 0%,12% { transform: translateX(0); opacity: 0; } 25% { opacity: .9; } 65% { opacity: .7; } 85%,100% { transform: translateX(300%); opacity: 0; } }
@keyframes orbit { to { transform: rotate(360deg); } }
@keyframes rim-orbit { to { --rim-angle: 360deg; } }
@keyframes nebula-drift { to { transform: translate3d(10%,6%,0) scale(1.15); opacity: .65; } }
@keyframes countdown-sheen { 0%,18% { transform: translateX(0); opacity: 0; } 30% { opacity: .75; } 72% { opacity: .45; } 86%,100% { transform: translateX(430%); opacity: 0; } }
.motion-paused *,.motion-paused *:before,.motion-paused *:after,.page-hidden *,.page-hidden *:before,.page-hidden *:after { animation-play-state: paused !important; }
.motion-paused .orb { transform: none; }

@media(min-width:1600px) {
  .main { gap: 150px; } .message { font-size: 89px; } .clock-face { width: 510px; } .days { font-size: 202px; }
}
@media(min-width:901px) and (max-height:800px) {
  .main { padding: 35px 0 40px; max-width: 1120px; gap: 6vw; }
  .clock-face { max-width: 365px; } .days { font-size: 145px; } .message { font-size: clamp(46px,5.1vw,70px); }
  .footer { min-height: 90px; } .time-row { margin-top: 6px; }
  .time-unit .digits { font-size: 32px; } .countdown__caption { margin-top: 21px; }
  .welcome { margin-bottom: 14px; font-size: 14px; }
}
@media(max-width:1100px) {
  .footer__center { display: none; } .main { gap: 5vw; } .share-button { gap: 17px; }
}
@media(max-width:900px) {
  .site { padding-inline: 28px; }
  .main { grid-template-columns: 1fr; max-width: 540px; gap: 51px; padding: 38px 0 51px; }
  .countdown { order: 0; } .clock-face { width: 355px; max-width: 100%; } .days { font-size: 143px; }
  .welcome { margin-bottom: 21px; }
  .time-row { margin-top: 6px; gap: 22px; } .time-unit .digits { font-size: 33px; } .countdown__caption { margin-top: 25px; }
  .statement { padding-top: 0; width: 100%; }
  .message { text-align: center; font-size: clamp(48px,8.4vw,72px); line-height: 1.06; }
  .message__text--hero { font-size: 1.7em; } .message__line--last { margin-top: 0; } .statement__light { margin-top: 26px; }
  .statement__bottom { margin-top: 21px; } .statement__bottom p { font-size: 11px; } .footer { min-height: 97px; }
  .target-date { gap: 12px; } .target-date time { font-size: 12px; } .target-date .eyebrow { font-size: 7px; } .finale { text-align: center; }
}
@media(max-width:520px) {
  .site { padding-inline: 23px; }
  .icon-button { width: 35px; height: 35px; } .footer__right { gap: 12px; }
  .main { padding: 22px 0 26px; gap: 25px; } .clock-face { width: clamp(215px,29svh,285px); } .days { font-size: clamp(96px,11.8svh,116px); }
  .day-count .eyebrow { font-size: 8px; margin-bottom: 8px; } .day-label { font-size: 9px; margin-top: 10px; }
  .time-row { gap: 16px; margin-top: 4px; } .time-unit { min-width: 59px; } .time-unit .digits { font-size: 28px; }
  .time-label { font-size: 7px; margin-top: 7px; } .time-separator { font-size: 19px; }
  .countdown__caption { font-size: 8px; letter-spacing: .16em; margin-top: 19px; } .message { font-size: 42px; }
  .welcome { margin-bottom: 15px; gap: 8px; font-size: 13px; } .welcome__icon { width: 24px; height: 24px; } .welcome__icon svg { width: 17px; height: 17px; }
  .countdown-progress { width: min(100%,238px); } .countdown-progress__track { margin-top: 11px; }
  .message__text--hero { font-size: 1.85em; }
  .statement__light { margin-top: 20px; } .statement__bottom { margin-top: 18px; }
  .statement__secondary-actions { grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); margin-top: 10px; }
  .quiet-action { min-height: 47px; padding-right: 10px; font-size: 8.5px; gap: 7px; }
  .quiet-action + .quiet-action { padding-left: 12px; }
  .share-button { font-size: 10px; padding: 12px 14px; gap: 22px; min-height: 44px; } .footer { gap: 15px; min-height: 90px; }
  .target-date { align-items: flex-start; flex-direction: column; gap: 8px; } .target-date time { font-size: 12px; } .target-date time span { margin: 0 3px; }
  .replay { font-size: 9px; gap: 7px; } .intro__eyebrow { font-size: 8px; letter-spacing: .3em; top: 20%; }
  .intro__name { font-size: 12.2vw; } .intro__rule { margin-top: 24px; width: 78px; } .intro__year { font-size: 11px; margin-top: 21px; }
  .intro__orbit { width: 135vw; } .intro__bottom { left: 23px; right: 23px; font-size: 6px; letter-spacing: .12em; justify-content: flex-end; }
  .intro__caption { display: none; } .intro__bottom button { font-size: 9px; padding: 12px; }
  .interest-dialog { width: calc(100% - 24px); padding: 44px 22px 24px; } .interest-dialog h2 { font-size: 33px; }
  .interest-form { grid-template-columns: 1fr; gap: 19px; } .interest-field:first-child { grid-column: auto; }
  .interest-field input,.interest-field select { height: 54px; } .interest-submit { min-height: 55px; margin-top: 2px; }
}
@media(max-width:360px) {
  .site { padding-inline: 18px; } .message { font-size: 39px; } .statement__bottom p { font-size: 10px; }
  .quiet-action { font-size: 8px; letter-spacing: .025em; }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .orb { transform: none; } .message__text { background: none; color: var(--ink); } .message__text--soft { color: #a6acb2; } .statement__light span { display: none; }
  .countdown-progress__fill i { display: none; }
}
@media(prefers-reduced-transparency:reduce) {
  dialog::backdrop { background: #030508f5; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
