/* TheClock: one quiet sky, one round dial, one gesture. Scoped to the ritual. */
html.pluritual-night, html.pluritual-night body, html.pluritual-night .app-shell {
  background: #080e15;
}
main.ritual-room.clock.has-module-navigation {
  --module-accent: #acd9ef;
  --brand-color: #acd9ef;
  --annual-label-surface: #080e15;
  color: #acd9ef;
  background: radial-gradient(ellipse at 50% 48%, #142331 0%, #0d1721 30%, #080e15 70%);
}
main.ritual-room.clock.has-module-navigation::before,
main.ritual-room.clock.has-module-navigation::after {
  display: none !important;
  content: none !important;
}
main.ritual-room.clock .clock-ritual-panel {
  --clock-scene-size: clamp(150px, min(46vw, calc(100dvh - 390px)), 540px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 0;
  padding: 0;
  overflow: visible;
  isolation: isolate;
}
.clock-stage-accessible {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
main.ritual-room.clock .clock-ritual-readout {
  z-index: 2;
  flex: 0 0 auto;
  text-align: center;
}
main.ritual-room.clock .clock-ritual-readout:focus { outline: none; }
main.ritual-room.clock .clock-ritual-readout .clock-eyebrow {
  margin: 0 0 8px;
  font: 500 11px/1.4 Arial, Helvetica, sans-serif;
  letter-spacing: .17em;
  color: #92b9cf;
}
main.ritual-room.clock .clock-personal-duration {
  font: 400 clamp(54px, 6.4vmin, 80px)/1.04 var(--pluritual-wip-serif, Georgia, serif);
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: -.025em;
  color: #c1e1f2;
}
main.ritual-room.clock .clock-space-scene.clock-ritual-earth {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 var(--clock-scene-size);
  width: var(--clock-scene-size);
  height: var(--clock-scene-size);
  min-height: 0;
  margin: 0;
  padding: 0;
  perspective: none;
  overflow: visible;
  background: none;
  border: none;
  box-shadow: none;
}
main.ritual-room.clock .clock-ritual-earth .clock-earth-shell {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-width: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: none;
  overflow: visible;
  box-shadow: none;
  animation: none;
  transform: none;
}
main.ritual-room.clock .clock-earth-aura { position: absolute; inset: 4%; border-radius: 50%; pointer-events: none; background: radial-gradient(closest-side, #76cfff00 69%, #7ecfff12 82%, #5facd812 90%, #5facd800 100%); filter: blur(9px); opacity: .72; animation: clockAtmosphereBreathe 10s ease-in-out infinite; }
@keyframes clockAtmosphereBreathe { 0%, 100% { opacity: .6; transform: scale(1); } 50% { opacity: .85; transform: scale(1.025); } }
main.ritual-room.clock .is-clock-paused .clock-earth-aura { animation-play-state: paused; }
main.ritual-room.clock .clock-ritual-earth .clock-earth-shell::before,
main.ritual-room.clock .clock-ritual-earth .clock-earth-shell::after {
  display: none;
  content: none;
}
main.ritual-room.clock .clock-ritual-earth .clock-earth-canvas {
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  filter: none;
  pointer-events: none;
  cursor: default;
}
main.ritual-room.clock .clock-ritual-earth .clock-earth-image {
  inset: 9.5%;
  width: 81%;
  height: 81%;
  border-radius: 50%;
  opacity: .96;
  filter: saturate(.38) brightness(.76);
  background: linear-gradient(105deg, #a9d8ee16 0%, transparent 30%, #060e18df 100%), url("https://threejs.org/examples/textures/planets/earth_day_4096.jpg") 46% 48% / 240% 100%;
  box-shadow: inset 8px 0 16px #c7e5fa20, inset -24px -10px 35px #02070deb, 0 0 10px #99d5ef10;
  animation: none;
}
main.ritual-room.clock .clock-ritual-earth.is-webgl-ready .clock-earth-image {
  display: none;
  opacity: 0;
  animation: none;
}
main.ritual-room.clock .clock-dial {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: none;
  pointer-events: none;
  z-index: 3;
  overflow: visible;
}
.clock-dial-ring { stroke: #acd9ef; stroke-width: .6; opacity: .14; }
.clock-dial-ticks { stroke: #acd9ef; stroke-width: .9; opacity: .4; }
.clock-dial-light { stroke: #d4efff; stroke-width: 1.5; stroke-linecap: round; stroke-dasharray: 0 100; transform: rotate(-90deg); transform-origin: center; opacity: .88; }
main.ritual-room.clock .is-clock-moving .clock-dial-light { filter: drop-shadow(0 0 3px #acd9ef80); }
main.ritual-room.clock .is-clock-moving .clock-dial-ring { opacity: .24; }
main.ritual-room.clock .clock-ritual-action {
  z-index: 4;
  flex: 0 0 auto;
  min-height: 64px;
  width: min(440px, 100%);
  margin: 0;
  text-align: center;
}
main.ritual-room.clock .clock-ritual-action > .clock-give-time {
  min-width: 236px;
  min-height: 50px;
  margin: 6px 0 0;
  padding: 14px 28px;
  border: 1px solid #bde4f6;
  border-radius: 5px;
  background: #acd9ef;
  color: #112431;
  font: 700 14px/1.25 Arial, Helvetica, sans-serif;
  letter-spacing: .025em;
  box-shadow: inset 0 1px 0 #ffffff24, 0 5px 28px #00000014;
  transition: background .2s, transform .2s;
}
main.ritual-room.clock .clock-ritual-action > .clock-give-time:hover { background: #c2e5f6; }
main.ritual-room.clock .clock-ritual-action > .clock-give-time:disabled { opacity: .5; }
main.ritual-room.clock .clock-confirmed-summary { position: absolute; left: max(12px, calc(50% - var(--clock-scene-size) / 2 - 252px)); top: 48%; flex: 0 0 auto; width: 220px; min-height: 0; transform: translateY(-50%); text-align: left; z-index: 2; }
main.ritual-room.clock .clock-all-time { margin: 0; }
main.ritual-room.clock .clock-all-time-heading { display: flex; align-items: center; gap: 5px; }
main.ritual-room.clock .clock-all-time-heading > span { font: 500 10px/1.3 Arial, Helvetica, sans-serif; color: #92b9cf; letter-spacing: .16em; }
main.ritual-room.clock .clock-all-time strong { display: block; margin-top: 10px; max-width: 190px; white-space: pre-line; font: 400 27px/1.45 var(--pluritual-wip-serif, Georgia, serif); font-variant-numeric: lining-nums tabular-nums; color: #c1e1f2; letter-spacing: .01em; }
main.ritual-room.clock .phase-done .clock-all-time { animation: totalReveal .45s ease both; }
main.ritual-room.clock .clock-given-note,
main.ritual-room.clock .clock-action-note { margin: 6px 0 0; font: 11px/1.4 Arial, Helvetica, sans-serif; color: #92adbf; }
main.ritual-room.clock .phase-joining .clock-ritual-action { opacity: 1; }
main.ritual-room.clock .phase-done .clock-ritual-action > .clock-give-time { animation: totalReveal .4s ease both; }
main.ritual-room.clock .clock-support-link { position: absolute; right: max(12px, calc(50% - var(--clock-scene-size) / 2 - 240px)); top: 67%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 180px; min-height: 80px; margin: 0; padding: 8px; color: #acd9ef; background: none; border: none; cursor: pointer; }
main.ritual-room.clock .clock-support-link .clock-invite-star { display: grid; place-items: center; width: 44px; height: 44px; margin: 0; font: 400 34px/1 var(--pluritual-wip-serif, Georgia, serif); color: #d4efff; text-shadow: 0 0 14px #b7e4ff70, 0 0 32px #8bc5ea30; transition: transform .35s ease, text-shadow .35s ease; }
main.ritual-room.clock .clock-support-link .clock-invite-label { margin: 0; font: 500 11px/1.3 Arial, Helvetica, sans-serif; letter-spacing: .13em; color: #92b9cf; }
main.ritual-room.clock .clock-support-link:hover .clock-invite-star,
main.ritual-room.clock .clock-support-link:focus-visible .clock-invite-star { transform: scale(1.12); text-shadow: 0 0 18px #b7e4ffb0, 0 0 40px #8bc5ea50; }
main.ritual-room.clock .clock-quiet-sky i { background: #d3e4ef; animation-duration: 12s; }
main.ritual-room.clock .clock-support-sky { z-index: 5; }
main.ritual-room.clock .clock-support-star { left: var(--support-star-x); opacity: 1; min-width: 40px; min-height: 40px; padding: 10px; }
main.ritual-room.clock .clock-support-star-light { display: inline-block; font-size: 15px; text-shadow: 0 0 9px #acd9ef50; }
main.ritual-room.clock .clock-support-star:hover .clock-support-star-light,
main.ritual-room.clock .clock-support-star:focus-visible .clock-support-star-light { text-shadow: 0 0 15px #c4e9ffb0; }
main.ritual-room.clock .clock-star-tooltip { position: absolute; top: 50%; left: calc(100% + 10px); display: flex; flex-direction: column; gap: 5px; width: max-content; max-width: min(190px, 55vw); padding: 8px 0; transform: translateY(calc(-50% + 5px)); text-align: left; color: #c1e1f2; text-shadow: none; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .28s ease, transform .28s ease, visibility .28s; }
main.ritual-room.clock .star-on-right .clock-star-tooltip { left: auto; right: calc(100% + 10px); text-align: right; }
main.ritual-room.clock .clock-star-tooltip strong { font: 400 20px/1.2 var(--pluritual-wip-serif, Georgia, serif); }
main.ritual-room.clock .clock-star-tooltip > span { font: 11px/1.4 Arial, Helvetica, sans-serif; color: #92adbf; }
main.ritual-room.clock .clock-support-star:is(:hover,:focus-visible) { z-index: 6; }
main.ritual-room.clock .clock-support-star:is(:hover,:focus-visible) .clock-star-tooltip { visibility: visible; opacity: 1; transform: translateY(-50%); }
html.pluritual-night .support-dialog .support-amount-choice { display: flex; flex-direction: row; align-items: center; gap: 10px; min-height: 44px; font-size: 12px; }
html.pluritual-night .support-dialog .support-amount-choice input { width: 17px; height: 17px; margin: 0; padding: 0; accent-color: #acd9ef; flex: 0 0 auto; }
main.ritual-room.clock .clock-closing-warning { box-sizing: border-box; width: min(380px, 100%); margin: 0 auto; padding: 14px 6px 0; border: none; border-radius: 0; background: none; box-shadow: none; }
main.ritual-room.clock .clock-closing-warning h2 { margin: 0 0 8px; color: #c1e1f2; font: 400 26px/1.2 var(--pluritual-wip-serif, Georgia, serif); letter-spacing: -.015em; }
main.ritual-room.clock .clock-closing-warning p { margin: 0; color: #91aebf; font: 12px/1.45 Arial, Helvetica, sans-serif; }
main.ritual-room.clock .clock-closing-warning > div { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 17px; }
main.ritual-room.clock .clock-closing-warning button { border-radius: 4px; min-height: 46px; padding: 12px 8px; font: 700 11px/1.25 Arial, Helvetica, sans-serif; letter-spacing: .01em; }
main.ritual-room.clock .clock-closing-warning button:first-child { background: #acd9ef; border: 1px solid #bde4f6; color: #112431; }
main.ritual-room.clock .clock-closing-warning button:last-child { background: none; border: 1px solid #acd9ef40; color: #acd9ef; }
main.ritual-room.clock .clock-closing-warning button:first-child:hover { background: #c2e5f6; }
main.ritual-room.clock .clock-closing-warning button:last-child:hover { background: #acd9ef0a; border-color: #acd9ef80; }
main.ritual-room.clock .clock-ritual-panel:has(.clock-closing-warning) { justify-content: center; overflow: visible; }
main.ritual-room.clock .clock-ritual-panel:has(.clock-closing-warning) .clock-ritual-earth { flex-basis: var(--clock-scene-size); height: var(--clock-scene-size); min-height: 0; }
main.ritual-room.clock .clock-request-error { margin: 10px auto 0; }
main.ritual-room.clock > header.pluritual-header :is(.account-button,.module-how-trigger) { box-sizing: border-box; appearance: none; border: 1px solid color-mix(in srgb,var(--brand-color) 38%,transparent); border-radius: 6px; background: linear-gradient(145deg,color-mix(in srgb,var(--brand-color) 12%,transparent),color-mix(in srgb,var(--brand-color) 3%,transparent)); color: var(--brand-color); text-shadow: none; transform: none; box-shadow: inset 0 1px 0 color-mix(in srgb,var(--brand-color) 12%,transparent),0 4px 12px #00000008; }
main.ritual-room.clock > header.pluritual-header :is(.account-button,.module-how-trigger):hover { border-color: var(--brand-color); background: color-mix(in srgb,var(--brand-color) 17%,transparent); box-shadow: none; }
main.ritual-room.clock > header.pluritual-header :is(.account-button,.module-how-trigger):focus-visible { outline: 2px solid var(--brand-color); outline-offset: 4px; }
main.ritual-room.clock .module-how-trigger > svg.help-question-icon { display: block; width: 25px; height: 25px; margin: 0; }
main.ritual-room.clock .flow-preview-controls { opacity: .65; }
main.ritual-room.clock .flow-preview-controls button[data-action="clock-demo-time"] { border-color: #acd9ef4d; color: #acd9ef; }

@media (max-width: 1100px) {
  main.ritual-room.clock .clock-confirmed-summary { position: static; transform: none; width: auto; text-align: center; }
  main.ritual-room.clock .clock-all-time-heading { justify-content: center; }
  main.ritual-room.clock .clock-all-time strong { margin-top: 3px; max-width: none; white-space: normal; font-size: 22px; }
  main.ritual-room.clock .clock-support-link { position: static; width: auto; min-height: 44px; flex-direction: row; gap: 10px; padding: 4px 10px; }
  main.ritual-room.clock .clock-support-link .clock-invite-star { width: 32px; height: 32px; font-size: 26px; }
  main.ritual-room.clock .time-given { --clock-scene-size: clamp(140px, min(46vw, calc(100dvh - 440px)), 500px); }
}
@media (max-width: 600px) {
  main.ritual-room.clock .clock-support-star { left: var(--support-star-mobile-x); }
  main.ritual-room.clock .clock-ritual-panel { --clock-scene-size: min(78vw, max(120px, calc(100dvh - 370px)), 340px); gap: 10px; }
  main.ritual-room.clock .clock-personal-duration { font-size: 54px; }
  main.ritual-room.clock .clock-ritual-action { min-height: 56px; }
  main.ritual-room.clock .clock-ritual-action > .clock-give-time { min-width: 212px; min-height: 48px; font-size: 13px; }
  main.ritual-room.clock .clock-ritual-readout .clock-eyebrow { font-size: 10px; }
  main.ritual-room.clock .clock-closing-warning { padding: 12px 2px 0; }
  main.ritual-room.clock .clock-closing-warning h2 { font-size: 23px; }
  main.ritual-room.clock > header.pluritual-header :is(.account-button,.module-how-trigger) { border-radius: 8px; }
  main.ritual-room.clock .module-how-trigger > svg.help-question-icon { width: 22px; height: 22px; }
  main.ritual-room.clock .time-given { --clock-scene-size: min(78vw, max(100px, calc(100dvh - 440px)), 340px); }
  main.ritual-room.clock .clock-star-tooltip strong { font-size: 18px; }
}
@media (max-width: 600px) and (max-height: 620px) {
  main.ritual-room.clock .clock-ritual-panel { gap: 7px; }
  main.ritual-room.clock .clock-personal-duration { font-size: 40px; }
  main.ritual-room.clock .clock-ritual-action { min-height: 49px; }
  main.ritual-room.clock .clock-ritual-action > .clock-give-time { min-height: 42px; padding: 11px 22px; }
  main.ritual-room.clock .clock-confirmed-summary { min-height: 0; }
  main.ritual-room.clock .clock-all-time strong { font-size: 19px; }
  main.ritual-room.clock .clock-support-link .clock-invite-label { font-size: 10px; }
  main.ritual-room.clock .clock-given-note { font-size: 10px; }
  main.ritual-room.clock .time-given { --clock-scene-size: min(70vw, max(80px, calc(100dvh - 450px)), 220px); }
  main.ritual-room.clock .flow-preview-notice { display: none; }
  main.ritual-room.clock .flow-preview-controls button { padding: 4px 6px; }
  main.ritual-room.clock .clock-ritual-panel:has(.clock-closing-warning) { --clock-scene-size: 80px; }
}
@media (min-width: 601px) and (max-height: 500px) {
  main.ritual-room.clock .clock-support-star { left: var(--support-star-mobile-x); }
  main.ritual-room.clock .clock-ritual-panel { --clock-scene-size: min(43vw, calc(100dvh - 145px)); display: grid; grid-template-columns: auto minmax(240px, 350px); grid-template-rows: auto auto auto auto; justify-content: center; align-content: center; gap: 6px 36px; }
  main.ritual-room.clock .clock-space-scene.clock-ritual-earth { grid-column: 1; grid-row: 1 / 5; }
  main.ritual-room.clock .clock-ritual-readout { grid-column: 2; grid-row: 1; }
  main.ritual-room.clock .clock-personal-duration { font-size: 43px; }
  main.ritual-room.clock .clock-ritual-action { grid-column: 2; grid-row: 3; min-height: 49px; }
  main.ritual-room.clock .clock-support-link { position: static; grid-column: 2; grid-row: 4; justify-self: center; width: auto; min-height: 44px; flex-direction: row; }
  main.ritual-room.clock .clock-ritual-action > .clock-give-time { min-height: 42px; padding: 11px 22px; }
  main.ritual-room.clock .clock-closing-warning { padding: 10px 2px 0; }
  main.ritual-room.clock .clock-confirmed-summary { position: static; transform: none; grid-column: 2; grid-row: 2; min-height: 0; width: auto; text-align: center; }
  main.ritual-room.clock .clock-all-time strong { max-width: none; font-size: 19px; margin-top: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  main.ritual-room.clock .clock-earth-aura { animation: none !important; }
  main.ritual-room.clock .clock-dial-light,
  main.ritual-room.clock .clock-ritual-action > .clock-give-time,
  main.ritual-room.clock .clock-star-tooltip,
  main.ritual-room.clock .clock-support-link .clock-invite-star { animation: none !important; transition: none !important; }
}
