
:root{--navy:#020c16;--navy2:#061725;--navy3:#0a2235;--gold:#e8c37f;--gold2:#c99750;--ivory:#fff8e8;--cream:#ded1bc;--muted:#a9a194;--line:rgba(232,195,127,.36);--panel:rgba(5,22,37,.92);--shadow:0 26px 80px rgba(0,0,0,.48)}
*{box-sizing:border-box}html{background:var(--navy);scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ivory);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 50% 8%,rgba(63,116,151,.22),transparent 28%),linear-gradient(180deg,#04101c,#071827 58%,#020b13);line-height:1.55;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;background:linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px) 0 0/68px 68px,radial-gradient(circle at 50% 62%,rgba(232,195,127,.055),transparent 34%)}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid rgba(246,223,170,.88);outline-offset:3px}.skip{position:fixed;left:16px;top:-80px;background:white;color:#10243a;padding:10px 14px;border-radius:8px;z-index:99}.skip:focus{top:16px}
.header{min-height:90px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:12px clamp(18px,4vw,60px);border-bottom:1px solid rgba(207,159,88,.5);background:rgba(2,12,22,.86);backdrop-filter:blur(14px);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:13px;width:max-content}.mark{width:44px;height:50px;border:2px solid var(--gold);border-radius:22px 22px 7px 7px;display:grid;place-items:center;color:var(--gold);font:700 .82rem Georgia,serif;box-shadow:inset 0 0 18px rgba(232,195,127,.07)}.brandtext{display:grid}.brandtext strong{font:600 1.55rem Georgia,serif;color:var(--gold)}.brandtext span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#bfb5a6}.nav{display:flex;gap:7px;padding:5px;border:1px solid rgba(232,195,127,.25);border-radius:999px;background:rgba(4,20,33,.55)}.nav a{padding:8px 15px;border-radius:999px;color:#cfc4b3;font-size:.84rem}.nav a:hover,.nav a.active{background:rgba(232,195,127,.15);color:var(--gold)}.tag{justify-self:end;color:var(--gold);font:italic .94rem Georgia,serif}
main{width:min(1320px,100%);margin:0 auto;padding:clamp(34px,5vw,70px) clamp(16px,4vw,46px) 70px}.hero{text-align:center;max-width:760px;margin:0 auto 34px}.kicker{color:var(--gold2);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800}.hero h1{margin:9px 0 9px;font:500 clamp(2.5rem,5vw,4.65rem)/1.02 Georgia,"Times New Roman",serif;color:var(--gold);letter-spacing:-.035em}.hero p{margin:0 auto;color:var(--cream);font:italic clamp(1rem,2vw,1.2rem) Georgia,serif;max-width:650px}.today-pill{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(6,24,40,.65);color:#d8cbb7;font-size:.8rem}.today-pill strong{color:var(--gold)}
.mystery-picker{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:0 auto 30px}.mystery-btn{border:1px solid rgba(232,195,127,.4);background:rgba(5,22,37,.72);color:#d6cab7;border-radius:999px;padding:9px 15px;transition:.2s ease}.mystery-btn:hover{border-color:var(--gold);transform:translateY(-1px)}.mystery-btn.active{background:linear-gradient(135deg,#f0d69f,#c99750);color:#102236;border-color:transparent;font-weight:800}.mystery-btn .suggested{font-size:.66rem;opacity:.7;margin-left:5px;text-transform:uppercase;letter-spacing:.08em}
.rosary-layout{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(380px,1.1fr);gap:clamp(20px,3vw,42px);align-items:start}.card{background:linear-gradient(180deg,rgba(6,25,42,.95),rgba(3,16,29,.96));border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden;position:relative}.card:before{content:"";position:absolute;inset:1px;border-radius:22px;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 35%)}
.rosary-card{min-height:735px;padding:25px;display:grid;grid-template-rows:auto 1fr auto;isolation:isolate}.rosary-card:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.18;background:radial-gradient(circle at 50% 34%,rgba(237,205,146,.55),transparent 15%),radial-gradient(ellipse at 50% 40%,rgba(55,108,146,.45),transparent 43%);transition:1.8s ease}.rosary-card.complete:after{opacity:.72;animation:heavenGlow 4s ease-in-out infinite alternate}.rosary-card.complete{border-color:rgba(246,223,170,.72);box-shadow:var(--shadow),0 0 70px rgba(232,195,127,.12)}@keyframes heavenGlow{from{transform:scale(.96)}to{transform:scale(1.04)}}
.visual-head{text-align:center;position:relative;z-index:2}.visual-head .eyebrow{color:var(--gold2);font-size:.69rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.visual-head h2{margin:4px 0 2px;font:500 1.55rem Georgia,serif;color:var(--gold)}.visual-head p{margin:0;color:#bdb4a6;font-size:.82rem}.rosary-stage{display:grid;place-items:center;min-height:560px}.rosary-svg{width:min(100%,500px);height:auto;overflow:visible}.cord{fill:none;stroke:rgba(201,151,80,.46);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.connector-line{fill:none;stroke:rgba(201,151,80,.46);stroke-width:3;stroke-linecap:round}.bead{fill:#0d2b42;stroke:#b88645;stroke-width:2;transition:.3s ease}.bead.small{r:6.2}.bead.large{fill:#143650;stroke-width:2.5}.bead.completed{fill:#d7aa63;stroke:#f4ddb0;filter:drop-shadow(0 0 7px rgba(238,198,126,.55))}.bead.current{fill:#fff0c7;stroke:#fff8e8;stroke-width:3;filter:drop-shadow(0 0 12px rgba(255,239,190,.92));animation:pulseBead 1.5s ease-in-out infinite alternate}@keyframes pulseBead{to{transform:scale(1.18);transform-origin:center}}.medallion{fill:#0a2032;stroke:#d0a05a;stroke-width:2.4}.medallion-ring{fill:none;stroke:rgba(244,221,176,.7);stroke-width:1.6}.medallion-detail{stroke:#e6c887;stroke-width:2;stroke-linecap:round;fill:none;opacity:.95}.medallion-monogram{fill:none;stroke:#f2d698;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.98}.cross-line{stroke:#d1a25d;stroke-width:7;stroke-linecap:round}.cross-body{fill:rgba(232,195,127,.24);stroke:#d1a25d;stroke-width:1.5}.cross-highlight{fill:rgba(255,248,232,.24);stroke:rgba(255,244,214,.6);stroke-width:1}.cross-ray{stroke:rgba(245,224,178,.42);stroke-width:3;stroke-linecap:round}.cross-glow{filter:drop-shadow(0 0 9px rgba(232,195,127,.4))}.rosary-caption{margin-top:10px;text-align:center;color:#d2c4b0;font:italic .84rem Georgia,serif}.rosary-card.complete .bead{fill:#d7aa63;stroke:#fff0c7;filter:drop-shadow(0 0 8px rgba(238,198,126,.48))}.gateway-message{text-align:center;min-height:48px;color:var(--gold);font:italic 1.18rem Georgia,serif;opacity:0;transform:translateY(8px);transition:.8s ease}.rosary-card.complete .gateway-message{opacity:1;transform:none}
.guide-card{padding:clamp(24px,4vw,40px)}.progress-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;color:#b9b0a2;font-size:.78rem}.progress-track{height:5px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;flex:1}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold2),var(--gold));transition:.45s ease}.section-tag{margin:0 0 8px;color:var(--gold2);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.guide-card h2{margin:0;color:var(--gold);font:500 clamp(1.85rem,3vw,2.7rem)/1.1 Georgia,serif}.mystery-reflection{margin:12px 0 0;color:#e5d9c5;font:italic 1rem Georgia,serif}.prayer-box{margin:24px 0 18px;padding:22px;border:1px solid rgba(232,195,127,.3);border-radius:17px;background:rgba(1,12,21,.52);min-height:265px;display:flex;flex-direction:column;justify-content:center}.prayer-name{text-align:center;color:var(--gold2);font-size:.71rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;margin-bottom:13px}.prayer-text{margin:0;white-space:pre-line;text-align:center;color:var(--ivory);font:1.05rem/1.72 Georgia,"Times New Roman",serif}.count-note{text-align:center;color:#b9b0a2;font-size:.78rem;margin-top:12px}.ourfather-audio{display:none;margin:0 0 18px;padding:12px;border:1px solid rgba(232,195,127,.25);border-radius:13px;background:rgba(7,30,48,.6)}.ourfather-audio.visible{display:block}.audio-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px}.audio-btn{border:0;border-radius:999px;background:linear-gradient(135deg,#f0d69f,#c99750);color:#102236;font-weight:800;padding:9px 14px}.audio-status{color:#c8bdad;font-size:.76rem}.audio-time{color:var(--gold);font-variant-numeric:tabular-nums;font-size:.72rem}.actions{display:grid;grid-template-columns:auto 1fr;gap:10px}.prev,.next{min-height:52px;border-radius:999px;font-weight:800}.prev{width:54px;border:1px solid rgba(232,195,127,.45);background:transparent;color:var(--gold)}.prev:disabled{opacity:.3;cursor:not-allowed}.next{border:0;background:linear-gradient(135deg,#f3dda9,#cf9c55);color:#102236;box-shadow:0 12px 30px rgba(201,151,80,.17)}.next:hover{transform:translateY(-1px)}.below-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:14px}.text-button{border:0;background:transparent;color:#bdb3a4;text-decoration:underline;text-underline-offset:4px;font-size:.76rem}.completion{display:none;text-align:center;margin-top:17px;padding:17px;border-top:1px solid rgba(232,195,127,.2);color:#d9cdbb;font:italic .94rem Georgia,serif}.completion.visible{display:block}.completion strong{display:block;color:var(--gold);font-size:1.2rem;margin-bottom:4px}.footer{text-align:center;margin-top:46px;color:#9f978b;font-size:.76rem}.footer strong{color:var(--gold2)}
@media(max-width:900px){.header{grid-template-columns:1fr auto;min-height:78px}.nav{grid-row:2;grid-column:1/-1;justify-self:stretch;justify-content:center}.tag{display:none}.rosary-layout{grid-template-columns:1fr}.rosary-card{min-height:650px}.rosary-stage{min-height:500px}}
@media(max-width:560px){main{padding-left:12px;padding-right:12px}.brandtext strong{font-size:1.25rem}.mark{width:39px;height:44px}.nav a{padding:7px 12px}.hero h1{font-size:2.55rem}.mystery-picker{display:grid;grid-template-columns:1fr 1fr}.rosary-card{padding:15px;min-height:590px}.rosary-stage{min-height:450px}.guide-card{padding:22px 17px}.prayer-box{padding:18px 14px;min-height:300px}.prayer-text{font-size:1rem}.today-pill{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}



@media (orientation:landscape) and (max-height:680px){
  .guide-card{display:flex!important;flex-direction:column!important;gap:2px!important}
  .progress-row,.section-tag,.guide-card h2{flex:0 0 auto!important}
  .prayer-box{flex:1 1 auto!important;height:auto!important;min-height:0!important;margin:2px 0!important}
  .actions{flex:0 0 auto!important}
}



@media (orientation:landscape) and (max-height:430px){
  body{grid-template-rows:minmax(0,1fr)!important}
  .header{display:none!important}
  main{grid-row:1!important;height:100dvh!important;grid-template-rows:25px minmax(0,1fr)!important;padding:2px 4px max(3px,env(safe-area-inset-bottom))!important}
  .mystery-picker{height:25px!important;min-height:25px!important;padding-bottom:3px!important}
  .mystery-btn{height:22px!important;font-size:.55rem!important;padding:3px 8px!important}
  .rosary-layout{grid-template-columns:minmax(155px,36%) minmax(0,64%)!important}
  .visual-head h2{font-size:.68rem!important}
  .guide-card h2{font-size:.82rem!important}
  .section-tag{font-size:.45rem!important}
  .progress-row{font-size:.46rem!important}
  .prayer-name{font-size:.46rem!important}
  .prayer-text{font-size:.66rem!important;line-height:1.28!important}
  .count-note{font-size:.46rem!important}
  .actions{height:30px!important;min-height:30px!important;grid-template-columns:32px minmax(0,1fr)!important}
  .prev,.next{height:30px!important;min-height:30px!important;font-size:.55rem!important}
  .prev{width:32px!important}
}



/* V17 ROSARY — normal document flow, no locked viewport or trapped scroll. */
html.rosary-document{
  height:auto!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
}
body.book-heaven[data-page="rosary"]{
  display:block!important;
  height:auto!important;
  min-height:100dvh!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:auto!important;
}
body.book-heaven[data-page="rosary"] .header{
  position:relative!important;
  height:auto!important;
  min-height:66px!important;
  overflow:visible!important;
}
body.book-heaven[data-page="rosary"] .nav{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  scrollbar-width:thin!important;
}
body.book-heaven[data-page="rosary"] .celestial-page-panel{
  width:min(1120px,88vw)!important;
  max-width:1120px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:18px auto 30px!important;
  padding:20px!important;
  overflow:visible!important;
}
body.book-heaven[data-page="rosary"] main{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
body.book-heaven[data-page="rosary"] .hero{
  display:block!important;
  width:100%!important;
  margin:0 0 14px!important;
  text-align:center!important;
}
body.book-heaven[data-page="rosary"] .hero p{
  display:block!important;
  max-width:760px!important;
  margin:8px auto!important;
  text-align:center!important;
}
body.book-heaven[data-page="rosary"] .today-pill{
  display:inline-flex!important;
  margin:6px auto 0!important;
}
body.book-heaven[data-page="rosary"] .mystery-picker{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:8px!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 16px!important;
  padding:0!important;
  overflow:visible!important;
}
body.book-heaven[data-page="rosary"] .mystery-btn{
  height:auto!important;
  min-height:38px!important;
  padding:8px 14px!important;
  font-size:.76rem!important;
  line-height:1.15!important;
}
body.book-heaven[data-page="rosary"] .rosary-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
body.book-heaven[data-page="rosary"] .rosary-card,
body.book-heaven[data-page="rosary"] .guide-card{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  border-radius:18px!important;
}
body.book-heaven[data-page="rosary"] .rosary-card{
  padding:16px!important;
}
body.book-heaven[data-page="rosary"] .rosary-stage{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:8px 0!important;
  overflow:visible!important;
}
body.book-heaven[data-page="rosary"] .rosary-svg{
  display:block!important;
  width:min(100%,460px)!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  overflow:visible!important;
}
body.book-heaven[data-page="rosary"] .gateway-message{
  display:block!important;
  min-height:28px!important;
}
body.book-heaven[data-page="rosary"] .guide-card{
  padding:18px!important;
}
body.book-heaven[data-page="rosary"] .progress-row,
body.book-heaven[data-page="rosary"] .section-tag,
body.book-heaven[data-page="rosary"] .guide-card h2,
body.book-heaven[data-page="rosary"] .mystery-reflection,
body.book-heaven[data-page="rosary"] .ourfather-audio,
body.book-heaven[data-page="rosary"] .actions,
body.book-heaven[data-page="rosary"] .below-actions,
body.book-heaven[data-page="rosary"] .completion{
  position:static!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
body.book-heaven[data-page="rosary"] .prayer-box{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:240px!important;
  max-height:none!important;
  margin:16px 0!important;
  padding:18px!important;
  overflow:visible!important;
  overscroll-behavior:auto!important;
  touch-action:auto!important;
}
body.book-heaven[data-page="rosary"] .prayer-name{
  position:static!important;
  top:auto!important;
}
body.book-heaven[data-page="rosary"] .actions{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:8px!important;
}
body.book-heaven[data-page="rosary"] .prev,
body.book-heaven[data-page="rosary"] .next{
  height:auto!important;
  min-height:44px!important;
}
/* There is intentionally no footer/status shortcut bar on the Rosary page. */
body.book-heaven[data-page="rosary"] .celestial-footer,
body.book-heaven[data-page="rosary"] .footer,
body.book-heaven[data-page="rosary"] .cyber-statusbar{
  display:none!important;
}

/* Tablet and phone: stack the full Rosary above the guide and let the browser scroll. */
@media(max-width:900px){
  body.book-heaven[data-page="rosary"] .celestial-page-panel{
    width:min(94vw,760px)!important;
    max-width:94vw!important;
    margin:10px auto 22px!important;
    padding:14px!important;
  }
  body.book-heaven[data-page="rosary"] .rosary-layout{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  body.book-heaven[data-page="rosary"] .rosary-svg{
    width:min(100%,430px)!important;
  }
  body.book-heaven[data-page="rosary"] .guide-card{
    padding:16px!important;
  }
}
@media(max-width:560px){
  body.book-heaven[data-page="rosary"] .celestial-page-panel{
    width:calc(100% - 12px)!important;
    max-width:none!important;
    margin:6px auto 18px!important;
    padding:10px 8px 14px!important;
    border-radius:18px!important;
  }
  body.book-heaven[data-page="rosary"] .header{
    min-height:58px!important;
  }
  body.book-heaven[data-page="rosary"] .mystery-picker{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  body.book-heaven[data-page="rosary"] .mystery-btn{
    width:100%!important;
    min-height:40px!important;
  }
  body.book-heaven[data-page="rosary"] .rosary-card{
    padding:12px!important;
  }
  body.book-heaven[data-page="rosary"] .rosary-svg{
    width:min(100%,390px)!important;
  }
  body.book-heaven[data-page="rosary"] .prayer-box{
    min-height:0!important;
    padding:15px 12px!important;
  }
  body.book-heaven[data-page="rosary"] .prayer-text{
    font-size:.98rem!important;
    line-height:1.58!important;
  }
}
/* Short landscape phones also stack and scroll; no full-screen lock. */
@media(orientation:landscape) and (max-height:520px){
  html.rosary-document,
  body.book-heaven[data-page="rosary"]{
    height:auto!important;
    min-height:100%!important;
    overflow-y:auto!important;
  }
  body.book-heaven[data-page="rosary"] .celestial-page-panel{
    width:min(92vw,820px)!important;
    max-width:92vw!important;
    height:auto!important;
    overflow:visible!important;
  }
  body.book-heaven[data-page="rosary"] .rosary-layout{
    grid-template-columns:1fr!important;
    height:auto!important;
    overflow:visible!important;
  }
  body.book-heaven[data-page="rosary"] .rosary-svg{
    width:min(100%,360px)!important;
    height:auto!important;
  }
  body.book-heaven[data-page="rosary"] .guide-card,
  body.book-heaven[data-page="rosary"] .prayer-box{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}


/* =========================================================
   321 PRAY V89 — ROSARY VISUAL LOCK
   Functional Rosary geometry above is retained.
   These overrides align it with the transparent V89 system.
   ========================================================= */

html,body{
  max-width:100%!important;
  overflow-x:hidden!important;
}
body[data-page="rosary"]{
  color:#203f68!important;
}
body[data-page="rosary"] .v89-page-shell{
  width:min(1100px,calc(100% - 18px))!important;
  margin:0 auto!important;
  padding:4px 0 28px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow-x:hidden!important;
}
body[data-page="rosary"] main{
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:8px 0 26px!important;
  overflow-x:hidden!important;
}
.hero{
  text-align:center!important;
  max-width:760px!important;
  margin:0 auto 18px!important;
  padding:15px 8px 0!important;
}
.kicker,.eyebrow,.section-tag,.prayer-name{
  color:#98610a!important;
}
.hero h1{
  color:#12376c!important;
  font:700 clamp(2.3rem,5vw,4.2rem)/.98 Georgia,"Times New Roman",serif!important;
}
.hero p{
  color:#3d5b7b!important;
  font:600 .92rem/1.52 Arial,sans-serif!important;
}
.today-pill{
  background:transparent!important;
  border:0!important;
  color:#536b88!important;
  padding:6px 0!important;
}
.today-pill strong{color:#98610a!important}

.mystery-picker{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:8px!important;
  margin:0 auto 14px!important;
}
.mystery-btn{
  background:transparent!important;
  border:0!important;
  color:#12376c!important;
  min-height:34px!important;
  padding:5px 7px!important;
  box-shadow:none!important;
}
.mystery-btn.active{
  color:#98610a!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

.rosary-layout{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  gap:24px!important;
}
.card,.rosary-card,.guide-card{
  min-width:0!important;
  max-width:100%!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.rosary-card,.guide-card{
  border-top:1px solid rgba(151,104,24,.17)!important;
  border-bottom:1px solid rgba(151,104,24,.13)!important;
}
.visual-head h2,.guide-card h2{
  color:#12376c!important;
}
.visual-head p,.progress-row,.count-note,.audio-status{
  color:#657892!important;
}
.rosary-caption{
  color:#536b88!important;
}
.gateway-message{
  color:#98610a!important;
}

.progress-track{
  background:rgba(36,75,120,.10)!important;
}
.progress-fill{
  background:linear-gradient(90deg,#c9952b,#98610a)!important;
}
.mystery-reflection{
  color:#405d7c!important;
  font:italic .96rem/1.48 Georgia,"Times New Roman",serif!important;
}

.prayer-box,.ourfather-audio{
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(120,96,57,.10)!important;
  border-bottom:1px solid rgba(120,96,57,.10)!important;
  border-radius:0!important;
  padding:18px 0!important;
}
.prayer-text{
  color:#24466f!important;
}
.audio-btn,.prev,.next,.text-button,#restartBtn,.page-share{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#12376c!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
.audio-time{
  color:#98610a!important;
}
.actions{
  gap:12px!important;
}
.prev,.next{
  min-height:40px!important;
  border-radius:0!important;
}
.next:hover{transform:none!important}
.below-actions{
  gap:14px!important;
}
.completion{
  border-top:1px solid rgba(151,104,24,.17)!important;
  color:#4f6884!important;
}
.completion strong{
  color:#98610a!important;
}

/* Keep the Rosary itself legible on the brighter page. */
.cord,.connector-line{
  stroke:rgba(152,97,10,.42)!important;
}
.bead{
  fill:#f8fbff!important;
  stroke:#a8741a!important;
}
.bead.large{
  fill:#eef5fb!important;
}
.bead.completed{
  fill:#d9b15c!important;
  stroke:#fff4cf!important;
}
.bead.current{
  fill:#fff1b8!important;
  stroke:#ffffff!important;
}
.medallion{
  fill:#eef5fb!important;
  stroke:#a8741a!important;
}
.medallion-ring,.medallion-detail,.medallion-monogram,
.cross-line,.cross-ray{
  stroke:#b78124!important;
}
.cross-body{
  fill:rgba(217,177,92,.18)!important;
  stroke:#b78124!important;
}
.cross-highlight{
  fill:rgba(255,255,255,.55)!important;
  stroke:rgba(183,129,36,.45)!important;
}

body[data-page="rosary"] *{
  min-width:0;
}
.rosary-svg{
  max-width:100%!important;
}
.prayer-text,.mystery-reflection,.hero p,.audio-status{
  overflow-wrap:anywhere!important;
}

/* Landscape remains supported naturally — no orientation gate. */
@media(max-width:900px){
  .rosary-layout{
    grid-template-columns:1fr!important;
  }
  .rosary-card,.guide-card{
    width:100%!important;
  }
}
@media(max-width:560px){
  body[data-page="rosary"] .v89-page-shell{
    width:calc(100% - 12px)!important;
  }
  .hero{
    padding-top:10px!important;
    margin-bottom:12px!important;
  }
  .hero h1{
    font-size:2.35rem!important;
  }
  .mystery-picker{
    gap:5px!important;
  }
  .mystery-btn{
    font-size:.66rem!important;
  }
  .rosary-stage{
    min-height:430px!important;
  }
  .guide-card{
    padding-left:0!important;
    padding-right:0!important;
  }
  .prayer-text{
    font-size:.94rem!important;
    line-height:1.55!important;
  }
}
