.fp{--clock-col:minmax(0, 5fr);--body-col:minmax(0, 7fr)}.fp .sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fp-hero{padding:clamp(56px,10vh,112px) 0 clamp(56px,9vh,96px)}.fp-intro{grid-template-columns:var(--clock-col) var(--body-col);gap:16px clamp(32px,6vw,96px);margin-top:40px;display:grid}.fp-intro p{margin:0}.fp-intro>p:first-child{color:var(--muted);grid-column:2;font-size:clamp(18px,1.45vw,21px);line-height:1.5}.fp-hint,.fp-legend{color:var(--muted);grid-column:2;font-size:15px}.fp-pro{background:var(--sage-soft);color:var(--sage);font-family:var(--sans);vertical-align:2px;white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;line-height:1.6;display:inline-block}.fp-day{margin:0;padding:0;list-style:none}.fp-moment{grid-template-columns:var(--clock-col) var(--body-col);border-top:1px solid var(--line-strong);gap:24px clamp(32px,6vw,96px);padding:clamp(56px,10vh,104px) 0;display:grid}.fp-clock{align-self:start;position:sticky;top:112px}.fp-time{color:var(--ink);font-family:var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin:0;font-size:clamp(72px,10vw,148px);line-height:.85}.fp-time em{letter-spacing:0;color:var(--muted);font-size:.32em}.fp-time.is-words{max-width:6ch;font-size:clamp(56px,7vw,104px);font-style:italic;line-height:.9}.fp-place{color:var(--muted);margin:16px 0 0;font-size:15px;font-weight:600}.fp-body h2{letter-spacing:-.025em;margin:0;font-size:clamp(32px,3.4vw,46px);line-height:1.02}.fp-situation{max-width:52ch;color:var(--muted);margin:16px 0 0;font-size:18px}.fp-features{border-top:1px solid var(--line);margin:32px 0 0;padding:0;list-style:none}.fp-features li{border-bottom:1px solid var(--line);padding:18px 0}.fp-features h3{color:var(--ink);font-family:var(--sans);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;font-size:18px;font-weight:600;line-height:1.35;display:flex}.fp-features p{max-width:58ch;color:var(--body);margin:4px 0 0;font-size:16px;line-height:1.55}.fp .pr-never{border-top:1px solid var(--line-strong);padding-top:clamp(56px,10vh,104px)}.fp-actions{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:20px;display:flex}.fp-actions .pr-cta{margin-top:0}.fp-link{color:var(--on-moss);text-underline-offset:4px;-webkit-text-decoration:underline #a9c4ae;text-decoration:underline #a9c4ae}.fp-link:focus-visible{outline-color:#a9c4ae}.fp-dock{z-index:15;width:min(560px, 100% - 2 * var(--gutter));border:1px solid var(--sage);background:var(--cream);border-radius:20px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:12px 18px 12px 20px;transition:opacity .25s,transform .25s;display:grid;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #1c292224}.dark .fp-dock{box-shadow:0 12px 32px #0006}.fp-dock.is-away{opacity:0;pointer-events:none;transform:translate(-50%,16px)}.fp-dock-label{border-right:1px solid var(--line);color:var(--ink);font-family:var(--serif);padding-right:16px;font-size:28px;line-height:1}.fp-dock-task{min-width:0;animation:.3s cubic-bezier(.2,.7,.2,1) fp-swap}.fp-dock-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:10px;margin:0;font-size:16px;font-weight:600;display:flex;overflow:hidden}.fp-dock-title.is-empty{color:var(--muted);font-weight:400}.fp-check{border:1.5px solid var(--sage);background:var(--sage-soft);border-radius:5px;flex:none;width:18px;height:18px}.fp-dock-note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:14px;overflow:hidden}.fp-dock-note.is-swap{color:var(--sage);font-weight:600}.motion .fp-dock{animation:.9s cubic-bezier(.2,.7,.2,1) 1.1s backwards fp-dock-in}@keyframes fp-dock-in{0%{opacity:0;transform:translate(-50%,32px)}}@keyframes fp-swap{0%{opacity:0;transform:translateY(8px)}}@media (width<=860px){.fp-intro,.fp-moment{grid-template-columns:1fr}.fp-intro>p:first-child,.fp-hint,.fp-legend{grid-column:1}.fp-clock{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex;position:static}.fp-time{font-size:clamp(56px,16vw,88px)}.fp-time.is-words{max-width:none;font-size:clamp(44px,12vw,64px)}.fp-place{margin:0}}@media (width<=480px){.fp-dock{gap:12px;padding:10px 14px;bottom:12px}.fp-dock-label{padding-right:12px;font-size:24px}}@media (prefers-reduced-motion:reduce){.fp-dock,.fp-dock-task,.motion .fp-dock{transition:none;animation:none}}
