/* routine-clock.css - Talk To Gina motion kit */
.gm{--gm-surface:var(--bone-50,#FBF8F2);--gm-surface-2:var(--bone-100,#F7F3EC);--gm-line:var(--bone-border,#E4DDD3);--gm-text:var(--text-on-light,#14181F);--gm-mut:var(--text-on-light-mut,#55606E);--gm-blue:var(--cobalt-600,#1D4ED8);--gm-blue-2:var(--cobalt-700,#1740B0);--gm-blue-3:var(--cobalt-300,#7CA0F0);--gm-blue-soft:var(--cobalt-50,#EEF3FF);--gm-ok:var(--signal-approved,#0E9F6E);--gm-ok-soft:rgba(14,159,110,.12);--gm-wait:var(--signal-waiting,#C2740A);--gm-shadow:0 8px 30px rgba(11,14,20,.12);--gm-ease:cubic-bezier(.16,1,.3,1);--gm-soft:cubic-bezier(.4,0,.2,1);--gm-mono:var(--font-mono,'Geist Mono',ui-monospace,monospace);position:relative;width:100%;font-family:var(--font-body,'Outfit',system-ui,-apple-system,sans-serif);color:var(--gm-text);line-height:1.45;-webkit-font-smoothing:antialiased}.gm[data-theme=ink]{--gm-surface:var(--ink-700,#141A24);--gm-surface-2:var(--ink-800,#0D1117);--gm-line:var(--ink-600,#1E2530);--gm-text:var(--text-on-dark,#F4F6FA);--gm-mut:var(--text-on-dark-mut,#A6AEBD);--gm-blue-soft:rgba(124,160,240,.13);--gm-ok-soft:rgba(14,159,110,.2);--gm-shadow:0 12px 40px rgba(0,0,0,.35)}.gm *,.gm *::before,.gm *::after{box-sizing:border-box}.gm-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.gm-av{flex:none;display:inline-grid;place-items:center;width:2em;height:2em;border-radius:.6em;font-weight:700;font-size:1em;color:#fff;background:var(--gm-mut)}.gm-av--gina{background:linear-gradient(135deg,var(--gm-blue),var(--gm-blue-2))}.gm-btn{display:inline-flex;align-items:center;gap:.4em;font-weight:600;font-size:.86em;line-height:1;font-family:inherit;cursor:default;padding:.62em 1.05em;border-radius:999px;border:1px solid var(--gm-line);background:transparent;color:var(--gm-text);transition:transform .15s var(--gm-soft),background .2s,box-shadow .2s,border-color .2s}.gm-btn--p{background:var(--gm-blue);border-color:var(--gm-blue);color:#fff}.gm-btn.is-press{transform:scale(.93);box-shadow:0 0 0 5px color-mix(in srgb,var(--gm-blue) 22%,transparent)}.gm-wave{display:inline-block;width:1.9em;height:.9em;vertical-align:middle;color:var(--gm-blue)}.gm-wave path{stroke-dasharray:40;animation:gm-wave 1.1s linear infinite}@keyframes gm-wave{from{stroke-dashoffset:80}to{stroke-dashoffset:0}}.gm-dots{display:inline-flex;gap:3px;vertical-align:middle}.gm-dots i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.35;animation:gm-dot 1s infinite}.gm-dots i:nth-child(2){animation-delay:.15s}.gm-dots i:nth-child(3){animation-delay:.3s}@keyframes gm-dot{30%{opacity:1;transform:translateY(-2px)}}.gm-paused,.gm-paused *,.gm-paused *::before,.gm-paused *::after{animation-play-state:paused!important}.gm-static *,.gm-static *::before,.gm-static *::after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.gm *,.gm *::before,.gm *::after{transition:none!important;animation:none!important}}
/* 3. Routines around the clock */
.gm-clock{container-type:inline-size;max-width:980px;margin-inline:auto;font-size:15px}
.gm .gm-alt{margin:0;color:var(--gm-mut)}
.gm.gm-ready .gm-alt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rc-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4cqw,48px);align-items:center;transition:opacity .6s}
.rc-stage.is-out{opacity:0}
.rc-dial{position:relative;width:100%;max-width:460px;margin-inline:auto;aspect-ratio:1}
.rc-dial svg{display:block;width:100%;height:100%;overflow:visible}
.rc-face{fill:var(--gm-surface);stroke:var(--gm-line)}
.rc-night{fill:none;stroke:var(--gm-blue-2);stroke-width:14;opacity:.28}
.rc-day{fill:none;stroke:var(--gm-wait);stroke-width:14;opacity:.2}
.gm[data-theme=ink] .rc-day{stroke:#F7F3EC;opacity:.1}
.gm[data-theme=ink] .rc-night{stroke:var(--gm-blue-3);opacity:.22}
.rc-tick{stroke:var(--gm-mut);stroke-width:1.5;opacity:.5}
.rc-tick.maj{stroke-width:2.5;opacity:.9}
.rc-hl{font:500 13px var(--gm-mono);fill:var(--gm-mut);text-anchor:middle;dominant-baseline:middle}
.rc-dots{fill:none;stroke:var(--gm-line);stroke-width:4;stroke-linecap:round}
.rc-lit{fill:none;stroke:var(--gm-blue);stroke-width:4.4;stroke-linecap:round}
.gm[data-theme=ink] .rc-lit{stroke:var(--gm-blue-3)}
.rc-hand{stroke:var(--gm-text);stroke-width:3;stroke-linecap:round}
.rc-knob{fill:var(--gm-blue)}
.rc-hub{fill:var(--gm-text)}
.rc-mk circle.m{fill:var(--gm-surface);stroke:var(--gm-mut);stroke-width:2.5;transition:fill .3s,stroke .3s}
.rc-mk .ring{fill:none;stroke:var(--gm-blue);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.rc-mk text{font:500 12.5px var(--gm-mono);fill:var(--gm-mut);text-anchor:middle;dominant-baseline:middle;transition:fill .3s}
.rc-mk.on circle.m{fill:var(--gm-blue);stroke:var(--gm-blue)}
.rc-mk.on text{fill:var(--gm-text)}
.rc-mk.on .ring{animation:rc-ping 1.1s var(--gm-ease)}
@keyframes rc-ping{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
.rc-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}
.rc-day-l{font-size:.8em;color:var(--gm-mut);font-weight:500}
.rc-time{font-size:clamp(2em,7cqw,2.9em);font-weight:700;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}
.rc-cap{position:relative;height:1.4em;margin-top:.3em;font-size:.86em;font-weight:500}
.rc-cap span{position:absolute;inset:0;white-space:nowrap;transition:opacity .6s,transform .6s var(--gm-ease)}
.rc-cap .n{color:var(--gm-blue)}
.gm[data-theme=ink] .rc-cap .n{color:var(--gm-blue-3)}
.rc-cap .d{color:var(--gm-ok);opacity:0;transform:translateY(6px)}
.rc-stage.is-day .rc-cap .n{opacity:0;transform:translateY(-6px)}
.rc-stage.is-day .rc-cap .d{opacity:1;transform:none}
.rc-log{display:flex;flex-direction:column;gap:.6em;min-height:24em}
.rc-pin{display:flex;gap:.8em;align-items:center;padding:.85em 1em;border-radius:14px;border:1px dashed color-mix(in srgb,var(--gm-blue) 45%,transparent);background:var(--gm-blue-soft)}
.rc-pin b{display:block;font-size:.92em;font-weight:600}
.rc-pin small{display:block;font-size:.8em;color:var(--gm-mut)}
.rc-pin small span{font-family:var(--gm-mono)}
.rc-live{flex:none;width:.7em;height:.7em;border-radius:50%;background:var(--gm-blue);box-shadow:0 0 0 0 color-mix(in srgb,var(--gm-blue) 50%,transparent);animation:rc-live 1.6s infinite}
@keyframes rc-live{70%{box-shadow:0 0 0 .6em transparent}100%{box-shadow:0 0 0 0 transparent}}
.rc-items{display:flex;flex-direction:column;gap:.6em}
.rc-it{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s var(--gm-ease),opacity .4s .1s}
.rc-it.in{grid-template-rows:1fr;opacity:1}
.rc-it>div{min-height:0;overflow:hidden}
.rc-card{display:grid;grid-template-columns:3.6em 1fr auto;gap:.4em .8em;align-items:center;padding:.8em 1em;background:var(--gm-surface);border:1px solid var(--gm-line);border-radius:14px;box-shadow:var(--gm-shadow)}
.rc-card time{font:500 .8em var(--gm-mono);color:var(--gm-mut)}
.rc-card b{display:block;font-size:.93em;font-weight:600;line-height:1.25}
.rc-card small{display:block;font-size:.8em;color:var(--gm-mut);line-height:1.3}
.rc-tag{font-size:.7em;font-weight:600;padding:.3em .7em;border-radius:999px;background:var(--gm-ok-soft);color:var(--gm-ok);white-space:nowrap}
.rc-tag.w{background:rgba(194,116,10,.13);color:var(--gm-wait)}
@container (max-width:640px){
  .gm-clock .rc-stage{grid-template-columns:1fr}
  .gm-clock .rc-dial{max-width:340px}
  .gm-clock .rc-card small{display:none}
  .gm-clock .rc-log{min-height:0}
  .gm-clock .rc-time{font-size:2.3em}
}
@container (max-width:380px){.gm-clock .rc-card{grid-template-columns:1fr auto}.gm-clock .rc-card time{grid-column:1/-1}}
/* reserve height before the script mounts (no layout shift) */
.gm-clock:not(.gm-ready){min-height:460px}
@media (max-width:700px){.gm-clock:not(.gm-ready){min-height:740px}}
