/* ORATIO 성무일도 본체 통합 스타일 — 기존 ORATIO 테마 변수만 사용 */
#screen-liturgy{padding-bottom:86px}.liturgy-shell{max-width:680px;margin:0 auto;color:var(--ink)}.liturgy-view{display:none}.liturgy-view.active{display:block}.liturgy-hero{padding:28px 22px;margin:0 0 22px;border-radius:18px;background:linear-gradient(145deg,var(--accent),var(--hero-to));color:#fff;box-shadow:var(--shadow)}.liturgy-hero.compact{padding:23px 20px}.liturgy-eyebrow{font-size:12px;font-weight:800;opacity:.84;letter-spacing:.04em}.liturgy-hero h2{font-size:27px;line-height:1.35;margin:9px 0 12px}.liturgy-hero p{font-size:14px;line-height:1.65;margin:0;opacity:.9}.liturgy-choice{width:100%;position:relative;text-align:left;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);border-radius:14px;padding:16px 42px 16px 16px;margin-bottom:10px;box-shadow:var(--shadow)}.liturgy-choice b{display:block;font-size:16px;margin-bottom:5px}.liturgy-choice span{display:block;font-size:13px;line-height:1.45;color:var(--ink-soft)}.liturgy-choice i{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--accent);font-style:normal}.liturgy-remember{display:block;font-size:12.5px;color:var(--ink-soft);padding:10px 3px}.liturgy-article{max-width:620px;margin:auto;padding:18px 6px 34px}.liturgy-page-no{font-size:12px;font-weight:800;color:var(--accent);margin-bottom:12px}.liturgy-article h2,.liturgy-prayer h2{font-size:27px;line-height:1.35;margin:0 0 22px}.liturgy-article p{font-size:17px;line-height:1.78;margin:0 0 18px}.liturgy-article .lead{font-size:19px;font-weight:700;line-height:1.65}.liturgy-quote{margin:26px 0;padding:18px;border-left:3px solid var(--gold);background:var(--bg-elevated);border-radius:0 12px 12px 0;font-size:15.5px;line-height:1.7;color:var(--ink-soft)}.liturgy-time-row{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:25px 0}.liturgy-time-row span{text-align:center;background:var(--accent-soft);color:var(--accent);border-radius:10px;padding:10px 3px;font-size:13px;font-weight:800}.liturgy-primary{width:100%;margin-top:18px}.liturgy-hours{display:grid;gap:9px}.liturgy-hours button{width:100%;display:flex;gap:12px;align-items:flex-start;text-align:left;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);border-radius:14px;padding:14px;box-shadow:var(--shadow)}.liturgy-hour-symbol{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:800}.liturgy-hour-copy b{display:block;font-size:15px;margin-bottom:4px}.liturgy-hour-copy span{font-size:12.5px;line-height:1.45;color:var(--ink-soft)}.liturgy-badge{font-size:10px;margin-left:5px;padding:2px 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.liturgy-prayer{padding:8px 2px 35px}.liturgy-prayer-head{text-align:center;border-bottom:1px solid var(--line);padding:8px 0 20px;margin-bottom:18px}.liturgy-prayer-head p{color:var(--ink-soft);font-size:14px}.liturgy-prayer-body{font-size:17px;line-height:1.76}.liturgy-prayer-body p{margin:0 0 19px}.liturgy-prayer-body .lit-section{font-size:18px;color:var(--accent);margin:32px 0 13px}.liturgy-prayer-body .lit-subhead{font-size:16px;margin:21px 0 9px}.liturgy-prayer-body .antiphon{display:flex;gap:9px;padding:12px 13px;margin:11px 0 17px;border-radius:12px;background:var(--accent-soft);line-height:1.55}.liturgy-prayer-body .antiphon-label{font-size:11px;font-weight:800;color:var(--accent);padding-top:2px}.liturgy-prayer-body .rubric{font-size:13.5px;line-height:1.6;color:var(--ink-soft);background:var(--bg-elevated);border:1px solid var(--line);padding:12px;border-radius:12px}.liturgy-prayer-body .response{font-size:16px;line-height:1.65}.liturgy-prayer-body .response-all{font-weight:650}.liturgy-prayer-body .roman{text-align:center;color:var(--ink-soft);font-weight:800;margin:13px 0}.liturgy-prayer-body .or-divider{display:flex;align-items:center;gap:10px;margin:24px 0;color:var(--ink-soft);font-size:12px;font-weight:800}.liturgy-prayer-body .or-divider:before,.liturgy-prayer-body .or-divider:after{content:'';height:1px;flex:1;background:var(--line)}.liturgy-ttsbar{position:sticky;top:58px;z-index:3;display:flex;gap:7px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);padding:7px 0;margin:10px 0 18px}.liturgy-ttsbar button{border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:700;background:var(--bg-elevated);color:var(--ink)}.liturgy-ttsbar button:first-child{background:var(--accent);border-color:var(--accent);color:#fff}.liturgy-reminder-card{margin:18px 0 24px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--bg-elevated);box-shadow:var(--shadow)}.liturgy-reminder-card h3{font-size:17px;margin:0 0 5px}.liturgy-reminder-card>p{font-size:13px;line-height:1.55;color:var(--ink-soft);margin:0 0 14px}.liturgy-preset-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.liturgy-preset-row button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:700}.liturgy-reminder-row{display:grid;grid-template-columns:1fr 92px;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.liturgy-reminder-row label{display:flex;gap:9px}.liturgy-reminder-row b{display:block;font-size:14px}.liturgy-reminder-row small{display:block;font-size:11px;color:var(--ink-soft);margin-top:2px}.liturgy-reminder-row input[type=time]{width:92px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);padding:8px 6px}.liturgy-preview-btn{width:100%;border:1px solid var(--accent);background:transparent;color:var(--accent);font-weight:800;border-radius:12px;padding:12px;margin-top:14px}.liturgy-text-btn{display:block;margin:18px auto;border:0;background:none;color:var(--accent);font-weight:700}.liturgy-prayer-veil{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(4,6,11,0);opacity:0;visibility:hidden;transition:opacity .9s ease,background 1.2s ease,visibility 0s linear 1.2s;backdrop-filter:blur(0)}.liturgy-prayer-veil.show{opacity:1;visibility:visible;background:rgba(4,6,11,.90);backdrop-filter:blur(8px);transition:opacity 1s ease,background 1.2s ease}.liturgy-veil-inner{position:relative;width:min(88vw,420px);min-height:470px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}.liturgy-christ{position:absolute;top:66px;left:50%;transform:translateX(-50%);width:210px;height:250px;opacity:.08}.liturgy-christ-head{width:72px;height:88px;border-radius:50%;background:#fff;margin:auto}.liturgy-christ-shoulders{width:190px;height:140px;border-radius:50% 50% 20% 20%;background:#fff;margin:-7px auto 0}.liturgy-cross-mark{position:relative;width:76px;height:108px;margin-bottom:38px;filter:drop-shadow(0 0 16px rgba(255,255,255,.35));animation:liturgyPulse 1.15s ease-in-out 3}.liturgy-cross-mark:before,.liturgy-cross-mark:after{content:'';position:absolute;background:#fff;border-radius:3px;left:50%;top:50%;transform:translate(-50%,-50%)}.liturgy-cross-mark:before{width:9px;height:108px}.liturgy-cross-mark:after{width:76px;height:9px;top:39%}@keyframes liturgyPulse{0%,100%{opacity:.38}50%{opacity:1}}.liturgy-veil-kicker{font-size:11px;letter-spacing:.14em;opacity:.65;font-weight:800}.liturgy-veil-inner h2{font-size:28px;margin:8px 0 8px}.liturgy-veil-inner p{font-size:15px;line-height:1.6;opacity:.88}.liturgy-veil-actions{display:flex;gap:8px;margin-top:22px}.liturgy-veil-actions button{border:1px solid rgba(255,255,255,.32);background:transparent;color:#fff;border-radius:999px;padding:10px 14px}.liturgy-veil-actions .liturgy-veil-pray{background:#fff;color:#111;border-color:#fff;font-weight:800}@media(min-width:540px){.liturgy-hours{grid-template-columns:1fr 1fr}.liturgy-hours button:first-child{grid-column:1/-1}}@media(max-width:420px){.liturgy-article{padding-left:0;padding-right:0}.liturgy-prayer-body{font-size:16.5px;line-height:1.7}}


/* 2026-09-03 V5 — 기도 초대 알림: 팝업이 아니라 천천히 나타나는 전례적 페이드 */
.liturgy-prayer-veil{
  background:rgba(4,6,11,0);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  backdrop-filter:blur(0);
  transition:opacity 1.05s ease,background 1.25s ease,backdrop-filter 1.25s ease,visibility 0s linear 1.25s;
}
.liturgy-prayer-veil .liturgy-veil-inner{
  opacity:0;
  transform:translateY(8px) scale(.985);
  transition:opacity 1.15s ease .18s,transform 1.3s cubic-bezier(.22,.61,.36,1) .18s;
}
.liturgy-prayer-veil .liturgy-christ{
  opacity:0;
  filter:blur(4px);
  transition:opacity 2.1s ease .55s,filter 2.1s ease .55s;
}
.liturgy-prayer-veil .liturgy-cross-mark{
  opacity:0;
  transform:scale(.94);
  animation:none;
  transition:opacity 1.35s ease .38s,transform 1.5s cubic-bezier(.22,.61,.36,1) .38s;
}
.liturgy-prayer-veil.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  background:rgba(4,6,11,.90);
  backdrop-filter:blur(8px);
  transition:opacity 1.05s ease,background 1.25s ease,backdrop-filter 1.25s ease;
}
.liturgy-prayer-veil.show .liturgy-veil-inner{opacity:1;transform:translateY(0) scale(1)}
.liturgy-prayer-veil.show .liturgy-christ{opacity:.075;filter:blur(0)}
.liturgy-prayer-veil.show .liturgy-cross-mark{
  opacity:1;
  transform:scale(1);
  animation:liturgyPrayerGlow 1.18s ease-in-out 1.45s 3;
}
@keyframes liturgyPrayerGlow{
  0%,100%{opacity:.58;filter:drop-shadow(0 0 12px rgba(255,255,255,.22))}
  50%{opacity:1;filter:drop-shadow(0 0 24px rgba(255,255,255,.58))}
}
.liturgy-day-heading{font-size:22px!important;margin:10px 0 7px!important}
#liturgy-day-line{white-space:normal;line-height:1.45}
@media(min-width:520px){#liturgy-day-line{white-space:nowrap}}


/* ORATIO Prayer Call — light-on effect
   화면이 갑자기 번쩍이지 않고, 어둠 속에 빛이 켜지듯 천천히 밝아집니다. */
.liturgy-alarm-overlay::after,
#liturgyAlarmOverlay::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(circle at 50% 42%,
      rgba(255,255,240,.34) 0%,
      rgba(255,248,220,.18) 18%,
      rgba(255,244,210,.07) 38%,
      rgba(255,255,255,0) 68%);
  mix-blend-mode: screen;
  animation: oratioPrayerLight 4.8s ease-in-out forwards;
}

@keyframes oratioPrayerLight {
  0%   { opacity: 0; transform: scale(.96); }
  20%  { opacity: .35; }
  48%  { opacity: .92; transform: scale(1); }
  72%  { opacity: .62; }
  100% { opacity: .38; transform: scale(1.015); }
}

/* 십자가에도 은은한 빛 번짐을 추가 */
.liturgy-alarm-cross,
#liturgyAlarmCross {
  filter:
    drop-shadow(0 0 7px rgba(255,250,225,.50))
    drop-shadow(0 0 20px rgba(255,245,205,.24));
}

/* 사용자가 동작 줄이기를 선택한 경우 과한 애니메이션을 피함 */
@media (prefers-reduced-motion: reduce) {
  .liturgy-alarm-overlay::after,
  #liturgyAlarmOverlay::after {
    animation: none;
    opacity: .38;
    transform: none;
  }
}


/* ===== 성무일도 날짜 이전/오늘/다음 ===== */
.liturgy-date-nav{
  display:grid;
  grid-template-columns:46px minmax(130px,1fr) auto 46px;
  gap:8px;
  align-items:center;
  max-width:280px;
  margin:-10px auto 22px;
}
.liturgy-date-nav button{
  min-height:40px;
  border:1px solid var(--line);
  background:var(--bg-elevated);
  color:var(--ink);
  border-radius:12px;
  font:inherit;
  font-size:20px;
  font-weight:800;
  box-shadow:var(--shadow);
}
.liturgy-date-nav button.selected-date{
  font-size:13px;
  letter-spacing:.02em;
}
.liturgy-date-nav button.selected-date.is-active{
  border-color:var(--accent);
  color:var(--accent);
  background:var(--accent-soft);
}

/* ===== 기도문 하단 이전/목록/다음 ===== */
.liturgy-prayer-nav{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:8px;
  align-items:stretch;
  margin:34px 0 12px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.liturgy-prayer-nav button{
  min-height:46px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--bg-elevated);
  color:var(--ink);
  font:inherit;
  font-size:13px;
  font-weight:800;
  padding:10px 12px;
  box-shadow:var(--shadow);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.liturgy-prayer-nav button:first-child{text-align:left}
.liturgy-prayer-nav button:last-child{text-align:right}
.liturgy-prayer-nav button.list{
  color:var(--accent);
  background:var(--accent-soft);
  border-color:transparent;
}
.liturgy-prayer-nav button:disabled{
  opacity:.28;
  box-shadow:none;
}
.liturgy-hours button:disabled{
  opacity:.48;
  cursor:wait;
}

@media(max-width:430px){
  .liturgy-date-nav{max-width:240px}
  .liturgy-prayer-nav{grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr)}
  .liturgy-prayer-nav button{font-size:12px;padding:9px 8px}
  .liturgy-prayer-nav button span{display:inline}
}


/* FINAL polish: 날짜 이동 피드백 + HERO 한 줄 */
.liturgy-date-nav button.selected-date{
  padding-left:14px;
  padding-right:14px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.liturgy-date-nav button:disabled{opacity:.45}
@media (min-width:761px){
  .liturgy-hero h1,
  .liturgy-hero h2,
  .liturgy-hero .liturgy-hero-title{white-space:nowrap}
}


/* 명시적인 '오늘로' 복귀 버튼 */
.liturgy-date-nav .jump-today{
  min-width:64px;
  padding:0 12px;
  font-size:12px;
  color:var(--accent);
  background:var(--accent-soft);
  border-color:transparent;
  white-space:nowrap;
}
.liturgy-date-nav .jump-today[hidden]{
  display:none !important;
}
.liturgy-date-nav .selected-date{
  cursor:default;
}
@media(max-width:520px){
  .liturgy-date-nav{
    grid-template-columns:42px minmax(110px,1fr) auto 42px;
    max-width:100%;
  }
  .liturgy-date-nav .jump-today{
    min-width:58px;
    padding:0 9px;
    font-size:11px;
  }
}


/* ===== FINAL: 기도가 주인공인 성무일도 첫 화면 ===== */
[data-liturgy-view="hours"] .liturgy-hero.compact{
  padding:24px 28px !important;
  min-height:0 !important;
}
[data-liturgy-view="hours"] .liturgy-hero.compact h1,
[data-liturgy-view="hours"] .liturgy-hero.compact h2,
[data-liturgy-view="hours"] .liturgy-hero.compact .liturgy-hero-title{
  display:none !important;
}
[data-liturgy-view="hours"] .liturgy-hero.compact p,
[data-liturgy-view="hours"] .liturgy-hero.compact .liturgy-hero-desc,
[data-liturgy-view="hours"] .liturgy-hero.compact .subtitle{
  margin:8px 0 0 !important;
  font-size:15px !important;
  line-height:1.55 !important;
}
[data-liturgy-view="hours"] .liturgy-date-nav{
  margin:14px auto 20px !important;
  transform:scale(.92);
  transform-origin:center top;
}
[data-liturgy-view="hours"] .liturgy-section-title{
  display:none !important;
}
@media(max-width:520px){
  [data-liturgy-view="hours"] .liturgy-hero.compact{
    padding:20px 20px !important;
  }
  [data-liturgy-view="hours"] .liturgy-date-nav{
    transform:none;
  }
}


/* 2026-09-03 TTS 통합 보정
   성무일도 TTS 바는 본문 위를 가리지 않도록 sticky가 아닌 normal flow로 둔다. */
#screen-liturgy .liturgy-ttsbar{
  position:static !important;
  top:auto !important;
  z-index:auto !important;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 !important;
  margin:16px 0 22px !important;
}
#screen-liturgy .liturgy-ttsbar button{
  border:1px solid var(--line);
  border-radius:999px;
  min-height:38px;
  padding:8px 13px;
  font-size:13px;
  font-weight:800;
  background:var(--bg-elevated);
  color:var(--ink);
}
#screen-liturgy .liturgy-ttsbar .liturgy-tts-play{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}
#screen-liturgy .liturgy-ttsbar .liturgy-tts-restart{
  color:var(--accent);
  background:var(--accent-soft);
}
#screen-liturgy .liturgy-source-note{
  margin:30px 0 8px;
  padding-top:16px;
  border-top:1px dashed var(--line);
  color:var(--ink-soft);
  font-size:12.5px;
  line-height:1.55;
}


/* 2026-09-03 소소한 안정화
   오늘 상태에서는 좌/중앙/우 3열을 고정하고,
   다른 날짜일 때만 '오늘로' 열을 추가한다. */
.liturgy-date-nav{
  grid-template-columns:46px minmax(130px,1fr) 46px !important;
}
.liturgy-date-nav.has-today-jump{
  grid-template-columns:46px minmax(130px,1fr) auto 46px !important;
}
.liturgy-date-nav > button[aria-label="이전 날"],
.liturgy-date-nav > button[aria-label="다음 날"]{
  width:46px;
  min-width:46px;
  max-width:46px;
  justify-self:center;
}
@media(max-width:520px){
  .liturgy-date-nav{
    grid-template-columns:42px minmax(110px,1fr) 42px !important;
  }
  .liturgy-date-nav.has-today-jump{
    grid-template-columns:42px minmax(110px,1fr) auto 42px !important;
  }
  .liturgy-date-nav > button[aria-label="이전 날"],
  .liturgy-date-nav > button[aria-label="다음 날"]{
    width:42px;
    min-width:42px;
    max-width:42px;
  }
}

/* 기도 본문 첫 줄이 헤더/조작부와 시각적으로 붙지 않도록 최소 여유 확보 */
.liturgy-prayer-body{
  padding-top:2px;
}
