/* Lane R1: silent prayer room, today's course, cells and buddies. Everything lives inside the existing sheet; nothing floats over the scene.
   Quiet and warm: gold on night, slow fades, no alarms. */
.rh{display:flex;flex-direction:column;gap:14px;word-break:keep-all;overflow-wrap:anywhere;min-width:0}
.rh button,.rh summary,.rh select,.rh input{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.rh-ic{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.rh-lead{font-family:var(--f-display);font-size:17px;line-height:1.7;margin:0;text-wrap:balance}
.rh-note{color:var(--muted);font-size:13.5px;margin:0;line-height:1.6}
.rh-note.ok{color:#cfe3c4}
.rh-err{margin:0;color:#f0c8a8;font-size:13.5px;line-height:1.6}
.rh-lbl{font-size:13px;color:var(--muted)}
.rh-h{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--f-display);font-size:17px;font-weight:700}
.rh-h .rh-ic{color:var(--gold)}
.rh-lamp{display:flex;align-items:center;gap:8px;margin:0;font-size:13.5px;color:var(--muted);min-height:1.4em}
.rh-lamp.on{color:#ffd88a}
.rh-lamp .rh-ic{width:18px;height:18px}

/* buttons, chips, inputs */
.rh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--ink);font-size:14.5px}
.rh-btn.primary{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);font-weight:700}
.rh-btn.ghost{background:none}
.rh-btn.wide{width:100%}
.rh-btn:disabled{opacity:.55}
.rh-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rh-quiet{align-self:center;background:none;border:0;color:var(--muted);font-size:13px;min-height:44px;padding:0 14px;text-decoration:underline;text-underline-offset:3px}
.rh-link{background:none;border:0;color:#ffd88a;font-size:13px;min-height:36px;padding:0 4px;text-decoration:underline;text-underline-offset:3px}
.rh-back{align-self:flex-start;background:none;border:0;color:var(--muted);font-size:14px;min-height:44px;padding:0 6px}
.rh-chips{display:flex;flex-wrap:wrap;gap:8px}
.rh-chip{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--muted);font-size:14px}
.rh-chip.big{flex:1 1 calc(50% - 8px);min-height:48px;font-size:15px}
.rh-chip[aria-pressed="true"]{background:var(--gold-soft);border-color:rgba(233,184,92,.5);color:var(--ink)}
.rh-chip.static{min-height:30px;padding:0 12px;font-size:13px;display:inline-flex;align-items:center}
.rh-chip.static.me{border-color:rgba(233,184,92,.45);color:var(--ink)}
.rh-in{width:100%;box-sizing:border-box;min-height:44px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:8px 12px;color:var(--ink);font-size:16px;font-family:inherit}
.rh-in.code{letter-spacing:.3em;text-transform:uppercase;text-align:center;font-size:18px}
.rh-in:focus{outline:2px solid var(--gold);outline-offset:1px}
.rh-time{min-height:44px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:6px 10px;color:var(--ink);font-size:16px;color-scheme:dark}
.rh-form{display:flex;flex-direction:column;gap:8px}
.rh-send{display:flex;gap:8px}
.rh-send .rh-in{flex:1;min-width:0}
.rh-send .rh-btn{padding:0 16px}

/* entry cards (also inside the worship and prayer sheets) */
.rh-entries{display:flex;flex-direction:column;gap:8px}
.rh-card,.rh-cards .rh-card{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;text-align:start;min-height:56px;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink)}
.rh-card .rh-ic{width:24px;height:24px;color:var(--gold)}
.rh-card-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.rh-card-t b{font-family:var(--f-display);font-size:16px}
.rh-card-t small{color:var(--muted);font-size:12.5px;line-height:1.45}
.rh-card.on{border-color:rgba(233,184,92,.55);background:var(--gold-soft)}
.rh-cards{display:flex;flex-direction:column;gap:8px}
.rh-celllist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}

/* silent room */
.rh-with{margin:0;text-align:center;color:#ffe3a6;font-size:14px;min-height:1.5em}
.rh-silent.rh-dark,.rh-play{align-items:stretch}
.rh-room{position:relative;width:min(100%,280px);aspect-ratio:1;margin:4px auto 0;border-radius:50%;background:radial-gradient(circle at 50% 40%,#171b33 0%,#0b0d1a 62%,#06070f 100%);box-shadow:inset 0 0 40px rgba(0,0,0,.7),0 0 38px rgba(233,184,92,.07)}
.rh-orb{position:absolute;inset:0;width:100%;height:100%}
.rh-ring-bg{fill:none;stroke:rgba(255,246,224,.07);stroke-width:1}
.rh-ring{fill:none;stroke:rgba(255,216,138,.7);stroke-width:1.2;stroke-linecap:round;transition:stroke-dashoffset 1s linear}
.rh-seat{fill:#ffe9b8;opacity:.07;transition:opacity 1.6s ease}
.rh-seat.lit{opacity:.8;animation:rhTw var(--p,4s) ease-in-out var(--d,0s) infinite;filter:drop-shadow(0 0 2px rgba(255,214,140,.9))}
.rh-seat.me{opacity:1;r:3.4;fill:#fff6e0;filter:drop-shadow(0 0 4px rgba(255,226,170,1));animation:rhTwMe 5s ease-in-out infinite}
@keyframes rhTw{0%,100%{opacity:.45}50%{opacity:.95}}
@keyframes rhTwMe{0%,100%{opacity:.85}50%{opacity:1}}
.rh-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.rh-left{font-size:15px;color:rgba(255,246,224,.5);font-variant-numeric:tabular-nums;letter-spacing:.08em}
.rh-after{display:flex;flex-direction:column;gap:14px;align-items:stretch;padding-top:6px}
.rh-bigic{align-self:center;color:#ffd88a}.rh-bigic .rh-ic{width:40px;height:40px}
.rh-mine summary,.rh-remind summary{cursor:pointer;color:var(--muted);font-size:13.5px;min-height:44px;display:flex;align-items:center}
.rh-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rh-list li{display:flex;gap:10px;font-size:14px;line-height:1.6}
.rh-when{color:var(--muted);flex:none;font-variant-numeric:tabular-nums}
.rh-remind-b{display:flex;flex-direction:column;gap:10px;padding-bottom:6px}

/* course */
.rh-together{border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;font-size:14px;color:#ffe3a6}
.rh-together p:empty{display:none}
.rh-order{list-style:none;margin:0;padding:0}
.rh-order li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.rh-order li .t{font-variant-numeric:tabular-nums;flex:none}
.rh-where{margin:0;font-size:12.5px;color:var(--muted);letter-spacing:.06em}
.rh-part{margin:0;font-family:var(--f-display);font-size:24px;text-wrap:balance}
.rh-cap{min-height:7.5em;max-height:12em;overflow:auto;font-family:var(--f-display);font-size:18px;line-height:1.85;color:#fff1cc;white-space:pre-line;border-inline-start:2px solid rgba(233,184,92,.4);padding:4px 0 4px 14px;overscroll-behavior:contain}
.rh-cap.prayer{color:#ffe3a6}
.rh-bars{display:flex;flex-direction:column;gap:6px}
.rh-bar{height:4px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden}
.rh-bar.thin{height:2px}
.rh-bar i{display:block;height:100%;width:0;background:var(--gold);transition:width .3s linear}
.rh-times{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.rh-ctl{display:flex;justify-content:center;align-items:center;gap:22px}
.rh-ico{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--ink);display:flex;align-items:center;justify-content:center;padding:0}
.rh-ico.big{width:64px;height:64px;background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.rh-ico svg{width:24px;height:24px;stroke:currentColor;fill:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}

/* cells */
.rh-safe{position:sticky;top:-16px;z-index:2;display:flex;gap:8px;align-items:flex-start;margin:-4px 0 0;padding:10px 12px;border-radius:12px;border:1px solid rgba(233,184,92,.3);background:#221c12;color:#f3e6c4;font-size:12.5px;line-height:1.55}
.rh-safe .rh-ic{width:16px;height:16px;margin-top:2px;color:var(--gold)}
.rh-code{margin:0;font-size:13.5px;color:var(--muted)}
.rh-code b{color:#ffe3a6;letter-spacing:.25em;font-size:16px}
.rh-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rh-notes li{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:rgba(255,255,255,.02)}
.rh-notes li.me{border-color:rgba(233,184,92,.3)}
.rh-notes li.ans{background:rgba(233,184,92,.07)}
.rh-notes p{margin:0;font-size:15px;line-height:1.65}
.rh-who{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.rh-who time{margin-inline-start:auto;font-variant-numeric:tabular-nums}
.rh-act{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rh-amen{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(233,184,92,.45);background:none;color:#ffe3a6;font-size:14px}
.rh-amen[aria-pressed="true"]{background:var(--gold-soft);color:var(--ink)}
.rh-amened,.rh-count{font-size:12.5px;color:var(--muted)}
.rh-badge{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:#ffd88a}.rh-badge .rh-ic{width:14px;height:14px}
.rh-menu{position:relative}
.rh-menu summary{list-style:none;cursor:pointer;min-width:40px;min-height:30px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:18px;letter-spacing:.1em}
.rh-menu summary::-webkit-details-marker{display:none}
.rh-menu-b{position:absolute;inset-inline-end:0;top:100%;z-index:3;background:#161a2c;border:1px solid var(--line);border-radius:10px;padding:4px 8px;min-width:96px}

/* touch targets: at least 40px for the small buttons */
.rh-link{min-height:40px;min-width:40px;display:inline-flex;align-items:center;justify-content:center}
.rh-menu summary{min-height:40px}
.rh-amen,.rh-chip,.rh-chip.big{min-height:40px}
.rh-chip.static{min-height:30px}
.rh-offer{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:12px}
.rh-offer-q{font-size:16px}
.rh-offer .rh-remind summary{display:none}

/* keyboard: keep the sheet above it when the field has focus (in-app browsers) */
body.rh-kb .sheet{bottom:calc(var(--rh-kb,0px) + 6px)!important;height:min(70vh,calc(var(--rh-vvh,100vh) - 24px))!important}
@media (prefers-reduced-motion:reduce){.rh-seat.lit,.rh-seat.me{animation:none}.rh-ring,.rh-bar i,.rh-seat{transition:none}}
