/* Shared D-070–D-073 Clock composition. */
body main.ritual-room.clock :is(.phase-ready,.phase-departing) {
  --clock-scene-size:clamp(160px,min(62vw,calc(100dvh - 430px)),640px);
  grid-template-rows:minmax(106px,1fr) var(--clock-scene-size) minmax(106px,1fr);
}
body main.ritual-room.clock :is(.phase-ready,.phase-departing) .clock-ritual-readout {
  grid-row:1;align-self:end;margin:0 0 24px;height:82px;width:min(520px,calc(100% - 24px));min-width:0;z-index:6;pointer-events:none;
  display:grid;place-items:center;
  text-shadow:0 2px 12px #000,0 0 26px #0009;
}
body main.ritual-room.clock :is(.phase-ready,.phase-departing) .clock-personal-readout {
  position:static;transform:none;opacity:1;
}
body main.ritual-room.clock :is(.phase-ready,.phase-departing) .clock-personal-readout .clock-personal-duration {
  font-size:clamp(40px,6.4vmin,70px);color:#e2f4ff;
}
body main.ritual-room.clock .phase-departing .clock-day-readout {opacity:0;}
body main.ritual-room.clock .phase-departing .clock-personal-prefix {display:none;}
body main.ritual-room.clock .phase-gift .clock-day-readout {opacity:0;}
body main.ritual-room.clock .clock-dial-light {stroke:hsl(199 65% var(--clock-dial-lightness,79%));}
body main.ritual-room.clock .clock-dial-completed {stroke:hsl(199 65% var(--clock-dial-completed-lightness,79%));stroke-width:1.5;}
body main.ritual-room.clock .clock-dial-tip {fill:hsl(199 65% var(--clock-dial-lightness,79%));stroke:#def4ff;stroke-width:.6;filter:drop-shadow(0 0 3px #acd9ef80);}
/* Angular color follows the circular path. The last full lap stays underneath. */
body main.ritual-room.clock .clock-dial-gradient {position:relative;width:100%;height:100%;}
body main.ritual-room.clock .clock-dial-gradient > span {
  position:absolute;inset:0;border-radius:50%;
  mask-image:radial-gradient(circle closest-side,transparent 95.6%,#000 95.65%,#000 96.35%,transparent 96.4%);
}
body main.ritual-room.clock .clock-dial-gradient-history {
  opacity:var(--clock-history-opacity,0);
  background:conic-gradient(hsl(199 65% min(91%,calc(var(--clock-dial-completed-lightness,79%) + 22%))) 0deg,hsl(199 65% var(--clock-dial-completed-lightness,79%)) 360deg);
}
body main.ritual-room.clock .clock-dial-gradient-current {
  opacity:.96;
  background:conic-gradient(hsl(199 65% min(91%,calc(var(--clock-dial-lightness,79%) + 22%))) 0deg,hsl(199 65% var(--clock-dial-lightness,79%)) calc(var(--clock-progress,0) * 360deg),transparent 0deg);
}
@supports(background:conic-gradient(red,blue)) {
  body main.ritual-room.clock :is(.clock-dial-light,.clock-dial-completed) {opacity:0!important;}
}
@supports not (background:conic-gradient(red,blue)) {
  body main.ritual-room.clock .clock-dial-gradient-layer {display:none;}
}
body main.ritual-room.clock .phase-done {
  grid-template-rows:minmax(174px,1fr) 76px var(--clock-scene-size) minmax(36px,1fr);
}
body main.ritual-room.clock .phase-done .clock-ritual-readout {grid-row:1;margin-bottom:0;}
body main.ritual-room.clock .phase-done .clock-ritual-action {grid-row:2;align-self:center;margin:0;min-height:0;z-index:8;}
body main.ritual-room.clock .phase-done .clock-ritual-earth {grid-row:3;}
body main.ritual-room.clock .clock-save-imprint {
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:54px;padding:12px 23px;background:#afdaef;border:1px solid #c9eafa;border-radius:14px;
  color:#061821;font:800 13px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.015em;
  box-shadow:0 4px 25px #acd9ef18;
}
body main.ritual-room.clock .clock-save-imprint-seal {display:block;width:28px;height:28px;flex:none;background:currentColor;mask:url('pluritual-symbol-round-v023.svg?build=20261102-v024-clock-arrival1') center/contain no-repeat;}
body main.ritual-room.clock .clock-save-imprint:is(:hover,:focus-visible) {background:#d5effb;border-color:#e2f4ff;}
body main.ritual-room.clock .clock-ritual-action > .clock-give-time {
  border-radius:999px;min-height:58px;padding:16px 30px;
  font:800 18px/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.035em;
  position:relative;isolation:isolate;border:0;box-shadow:none;
}
/* A quiet organic fallback also survives reduced motion or an unavailable canvas. */
body main.ritual-room.clock .clock-ritual-action > .clock-give-time::before {
  content:'';display:block;position:absolute;inset:0;z-index:-1;background:#afdaef;
  border-radius:47% 53% 51% 49% / 48% 46% 54% 52%;
  transform:skew(-1.2deg);pointer-events:none;
}
body main.ritual-room.clock .clock-ritual-action > .clock-give-time,
body main.ritual-room.clock .clock-ritual-action > .clock-give-time:is(:hover,:active,:disabled) {background:transparent;opacity:1;}
body main.ritual-room.clock .clock-ritual-action > .clock-give-time.has-organic-skin::before {display:none;}
body main.ritual-room.clock .clock-give-label {position:relative;z-index:1;}
body main.ritual-room.clock .clock-give-time:focus-visible {outline:2px solid #e2f4ff;outline-offset:6px;}
body main.ritual-room.clock .clock-give-time.wip-action-attraction::before,
body main.ritual-room.clock .clock-give-time.wip-action-attraction::after {animation:none;opacity:1;}
body main.ritual-room.clock .clock-give-time.wip-action-attraction::after {display:none;}
body .wip-action-waves {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:-1;}
body main.ritual-room.clock .clock-support-link {top:auto;bottom:6%;}
/* The element stays stable. Only two delicate contours travel toward it. */
body .wip-action-attraction {position:relative;isolation:isolate;overflow:visible;animation:none!important;transform:none!important;}
body .wip-action-attraction::before,body .wip-action-attraction::after {
  content:'';position:absolute;inset:0;border:1px solid currentColor;border-radius:inherit;
  pointer-events:none;z-index:-1;opacity:0;animation:wipActionAttraction 4.8s ease-out infinite;
}
body .wip-action-attraction::after {animation-delay:.45s;}
@keyframes wipActionAttraction {
  0%{opacity:0;transform:scale(1.28,1.7);}12%{opacity:.13;}
  43%{opacity:0;transform:scale(1.01,1.04);}100%{opacity:0;transform:scale(1.01,1.04);}
}
body .wip-action-attraction:is(:hover,:focus-visible)::before,body .wip-action-attraction:is(:hover,:focus-visible)::after,
body:has(dialog[open]) .wip-action-attraction::before,body:has(dialog[open]) .wip-action-attraction::after,
body.wip-page-hidden .wip-action-attraction::before,body.wip-page-hidden .wip-action-attraction::after {animation:none;opacity:0;}
/* Keep the whole room behind the existing transparent foreground Earth. */
body main.clock.is-earth-departing :is(.ritual-header,.annual-progress,.clock-ritual-readout,.clock-ritual-action,.clock-support-sky,.clock-support-link,.clock-dial,.clock-explore-entry,.flow-preview-controls,.flow-preview-notice) {opacity:1;transition:none;}
body main.clock.is-earth-departing .clock-personal-prefix {display:none;}
@media(max-width:600px) {
  body main.ritual-room.clock :is(.phase-ready,.phase-departing) {--clock-scene-size:min(88vw,max(120px,calc(100dvh - 380px)),380px);grid-template-rows:minmax(86px,1fr) var(--clock-scene-size) minmax(86px,1fr);}
  body main.ritual-room.clock :is(.phase-ready,.phase-departing) .clock-ritual-readout {height:64px;margin-bottom:16px;}
  body main.ritual-room.clock :is(.phase-ready,.phase-departing) .clock-personal-readout .clock-personal-duration {font-size:46px;}
  body main.ritual-room.clock .clock-support-link {bottom:10px;}
  body main.ritual-room.clock .phase-done {grid-template-rows:minmax(150px,1fr) 72px var(--clock-scene-size) minmax(76px,1fr);}
  body main.ritual-room.clock .clock-ritual-action > .clock-give-time {min-height:54px;font-size:17px;padding:15px 28px;}
}
@media(max-height:620px) and (min-width:601px) {
  body main.ritual-room.clock :is(.phase-ready,.phase-departing) {--clock-scene-size:min(40vw,calc(100dvh - 370px));grid-template-columns:1fr;grid-template-rows:minmax(80px,1fr) var(--clock-scene-size) minmax(80px,1fr);}
  body main.ritual-room.clock :is(.phase-ready,.phase-departing) .clock-ritual-earth {grid-column:1;grid-row:2;}
  body main.ritual-room.clock :is(.phase-ready,.phase-departing) .clock-ritual-readout {grid-column:1;grid-row:1;height:54px;margin-bottom:12px;}
  body main.ritual-room.clock :is(.phase-ready,.phase-departing) .clock-ritual-action {grid-column:1;grid-row:3;margin-top:14px;}
  body main.ritual-room.clock .phase-done {grid-template-columns:1fr;--clock-scene-size:min(40vw,calc(100dvh - 300px));grid-template-rows:160px 60px var(--clock-scene-size) 8px;}
  body main.ritual-room.clock .phase-done :is(.clock-ritual-readout,.clock-ritual-action,.clock-ritual-earth) {grid-column:1;}
  body main.ritual-room.clock .phase-done .clock-ritual-readout {align-self:end;}
  body main.ritual-room.clock .clock-support-link {position:absolute;left:auto;right:12px;bottom:8%;transform:none;}
}
@media(prefers-reduced-motion:reduce) {
  body .wip-action-attraction::before,body .wip-action-attraction::after {animation:none;display:none;}
  body .wip-action-waves {display:none;}
}
