:root{
  --bg:#fff6f8;--panel:#fff;--panel-soft:#ffe3eb;
  --text:#4a1228;--text-soft:#7a3b50;
  --accent:#d63b5f;--accent-soft:#f4a6c1;
  --line:#f0c4d4;--shadow:0 10px 30px rgba(214,59,95,0.08);
  --veil-opacity:0.32;
}
[data-theme="lunar"]{
  --bg:#270610;--panel:#380b17;--panel-soft:#491222;
  --text:#f5e1e8;--text-soft:#d9a8bb;
  --accent:#f4a6c1;--accent-soft:#d63b5f;
  --line:#652033;--shadow:0 10px 40px rgba(244,166,193,0.07);
  --veil-opacity:0.16;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);color:var(--text);
  font-family:'Lora',serif;overflow-x:hidden;
  cursor:none;transition:background 0.6s,color 0.6s;
  min-height:100vh;
}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:0.01em;}
a{color:inherit;text-decoration:none;}

/* ── AMBIENT BACKGROUND ── */
#veil-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.veil-layer{
  position:absolute;width:160%;height:160%;top:-30%;left:-30%;
  opacity:var(--veil-opacity);filter:blur(65px);
  animation:driftA 40s ease-in-out infinite;transition:opacity 0.6s;
  background:radial-gradient(ellipse at 30% 30%,var(--accent-soft) 0%,transparent 60%),
             radial-gradient(ellipse at 70% 70%,var(--accent) 0%,transparent 55%);
}
.veil-layer.b{
  animation:driftB 54s ease-in-out infinite;
  opacity:calc(var(--veil-opacity)*0.65);
  background:radial-gradient(ellipse at 65% 20%,var(--accent) 0%,transparent 50%),
             radial-gradient(ellipse at 20% 80%,var(--accent-soft) 0%,transparent 55%);
}
@keyframes driftA{0%,100%{transform:translate(0,0) rotate(0deg);}50%{transform:translate(5%,8%) rotate(7deg);}}
@keyframes driftB{0%,100%{transform:translate(0,0) rotate(0deg);}50%{transform:translate(-6%,-4%) rotate(-6deg);}}

/* Crescent moon — lunar only */
#float-menorah{
  position:absolute;top:50%;left:4%;
  width:150px;height:150px;
  transform:translateY(-50%);
  opacity:0;pointer-events:none;
  transition:opacity 1.2s ease;
  animation:floatMenorah 9s ease-in-out infinite;
}
[data-theme="lunar"] #float-menorah{opacity:0.5;}
[data-theme="lunar"] .veil-layer{animation-play-state:paused;opacity:calc(var(--veil-opacity)*0.5);}
@keyframes floatMenorah{0%,100%{transform:translateY(-50%) translateY(0);}50%{transform:translateY(-50%) translateY(-18px);}}
#float-menorah svg{width:100%;height:100%;filter:drop-shadow(0 0 14px var(--accent-soft)) drop-shadow(0 0 30px var(--accent-soft));}
#float-menorah .m-arm{fill:none;stroke:var(--accent-soft);stroke-width:2;opacity:0.9;stroke-linecap:round;stroke-linejoin:round;}
/* Living candle flames — warm gold core with a cherry-rose halo, gently flickering */
#float-menorah .m-flame{
  fill:#ffd48a;opacity:1;
  filter:drop-shadow(0 0 2px #ffe6b0) drop-shadow(0 0 5px #ffab52) drop-shadow(0 0 10px var(--accent-soft)) drop-shadow(0 0 16px var(--accent-soft));
  transform-box:fill-box;transform-origin:center bottom;
  animation:flameFlicker 2.6s ease-in-out infinite;
}
@keyframes flameFlicker{
  0%,100%{opacity:0.9;transform:scaleY(0.94) scaleX(1.02);}
  50%{opacity:1;transform:scaleY(1.14) scaleX(0.95);}
}
#float-menorah .m-flame:nth-child(6){animation-delay:0s;}
#float-menorah .m-flame:nth-child(7){animation-delay:-0.6s;}
#float-menorah .m-flame:nth-child(8){animation-delay:-1.2s;}
#float-menorah .m-flame:nth-child(9){animation-delay:-0.4s;}
#float-menorah .m-flame:nth-child(10){animation-delay:-1.7s;}
#float-menorah .m-flame:nth-child(11){animation-delay:-0.9s;}
#float-menorah .m-flame:nth-child(12){animation-delay:-1.4s;}
@media(prefers-reduced-motion:reduce){#float-menorah .m-flame{animation:none;}}
#float-menorah .m-vine{fill:none;stroke:var(--accent-soft);stroke-width:1.4;opacity:0.85;stroke-linecap:round;}
#float-menorah .m-leaf{fill:var(--accent-soft);opacity:0.78;}
#float-menorah .m-tendril{fill:none;stroke:var(--accent-soft);stroke-width:1.1;opacity:0.7;stroke-linecap:round;}
@media(max-width:900px){#float-menorah{width:100px;left:2%;}}

/* LIGHT (solar) mode: a soft cherry Star of David with a flower at its heart, on the right */
#float-star{
  position:absolute;top:44%;right:4%;
  width:155px;height:155px;
  transform:translateY(-50%);
  opacity:0.62;pointer-events:none;
  transition:opacity 1.2s ease;
  animation:floatStar 10s ease-in-out infinite;
}
[data-theme="lunar"] #float-star{opacity:0;}   /* only shown in light mode */
@keyframes floatStar{0%,100%{transform:translateY(-50%) translateY(0);}50%{transform:translateY(-50%) translateY(-16px);}}
#float-star svg{width:100%;height:100%;filter:drop-shadow(0 0 10px var(--accent-soft)) drop-shadow(0 0 22px var(--accent-soft));}
#float-star .fs-star{fill:none;stroke:var(--accent);stroke-width:1.5;opacity:0.75;stroke-linejoin:round;}
#float-star .fs-petal{fill:#fff;stroke:var(--accent);stroke-width:1;}
#float-star .fs-center{fill:var(--accent);}
@media(max-width:900px){#float-star{width:100px;right:2%;}}

/* ── CURSOR ── */
#cdot,#cring,#cglow{position:fixed;pointer-events:none;transform:translate(-50%,-50%);border-radius:50%;}
#cdot{width:7px;height:7px;background:var(--accent);z-index:9999;transition:background 0.5s;}
#cring{width:22px;height:22px;border:1.5px solid var(--accent-soft);z-index:9998;transition:border-color 0.5s,width 0.18s,height 0.18s;}
#cglow{width:48px;height:48px;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 70%);opacity:0.45;z-index:9997;}
@media(hover:none){#cdot,#cring,#cglow{display:none;}body{cursor:auto;}}

/* ── HEADER & NAV ── */
header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;gap:16px;
  padding:16px 5vw;
  background:linear-gradient(to bottom,var(--bg) 60%,transparent);
  backdrop-filter:blur(8px);
  flex-wrap:wrap;
}
.brand{
  font-family:'Cormorant Garamond',serif;
  font-size:1.55rem;font-style:italic;
  color:var(--accent);cursor:pointer;
  white-space:nowrap;flex-shrink:0;
}
.brand span{
  display:block;font-family:'Lora',serif;font-style:normal;
  font-size:0.58rem;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--text-soft);margin-top:2px;
}
nav{display:flex;flex-wrap:wrap;gap:3px;flex:1;justify-content:center;}
nav a{
  font-size:0.75rem;letter-spacing:0.04em;color:var(--text-soft);
  padding:7px 12px;border-radius:12px;cursor:pointer;
  transition:background 0.25s,color 0.25s;white-space:nowrap;
}
nav a:hover{background:var(--panel-soft);color:var(--accent);}
nav a.on{background:var(--accent);color:#fff;}
[data-theme="lunar"] nav a.on{color:#270610;}

/* theme toggle */
#toggle{
  width:60px;height:32px;border-radius:20px;
  background:var(--panel-soft);border:1px solid var(--line);
  cursor:pointer;display:flex;align-items:center;padding:3px;
  flex-shrink:0;
}
#toggle .knob{
  width:24px;height:24px;border-radius:50%;
  background:var(--accent);font-size:13px;
  display:flex;align-items:center;justify-content:center;
  transition:transform 0.5s cubic-bezier(.6,-.2,.3,1.3);
}
[data-theme="lunar"] #toggle .knob{transform:translateX(28px);}

/* burger – mobile only */
#burger{
  display:none;position:fixed;top:14px;right:14px;z-index:60;
  width:40px;height:40px;border-radius:50%;
  background:var(--panel);border:1px solid var(--line);
  color:var(--accent);font-size:1rem;cursor:pointer;
  box-shadow:var(--shadow);
}
@media(max-width:860px){
  nav{display:none;width:100%;flex-direction:column;order:3;}
  nav.open{display:flex;}
  nav a{padding:11px 14px;border-radius:8px;}
  #burger{display:flex;align-items:center;justify-content:center;}
  #toggle{order:2;}
}

/* ── MAIN ── */
main{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:3vh 5vw 12vh;}

/* pages */
.pg{animation:fadeUp 0.55s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}

/* home hero */
.eyebrow{font-size:0.68rem;letter-spacing:0.32em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
h1.hero{font-size:clamp(2rem,5.5vw,3.4rem);line-height:1.1;margin-bottom:16px;}
h1.hero em{color:var(--accent);font-style:italic;}
.lede{font-size:1.1rem;color:var(--text-soft);max-width:62ch;line-height:1.75;margin-bottom:50px;}

/* ── HOME: daily verse feature ── */
.verse-feature{
  position:relative;overflow:hidden;text-align:center;
  background:var(--panel);border:1px solid var(--line);border-radius:20px;
  padding:46px 38px 40px;box-shadow:var(--shadow);margin:6px 0 30px;
}
.verse-feature::before{
  content:"\201C";position:absolute;top:-22px;left:20px;
  font-family:'Cormorant Garamond',serif;font-size:7rem;line-height:1;
  color:var(--accent-soft);opacity:0.35;
}
.dv-label{font-size:0.64rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;}
#dv-text{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(1.45rem,3.2vw,2.15rem);line-height:1.4;color:var(--text);
  margin:0 auto 18px;max-width:36ch;transition:opacity 0.6s;
}
#dv-ref{display:block;font-size:0.9rem;letter-spacing:0.08em;color:var(--text-soft);}

/* ── HOME: live widgets ── */
.home-widgets{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:22px;}
/* Top row: three cards each two columns wide (fills the row edge-to-edge).
   Bottom row: two cards each three columns wide. Prayer & verse already span full width,
   so every row now lines up flush with the big blocks. */
#hw-sabbath,#hw-feast,#hw-moon{grid-column:span 2;}
#hw-wake,#hw-hebrew{grid-column:span 3;}
@media(max-width:900px){
  .home-widgets{grid-template-columns:repeat(2,1fr);}
  #hw-sabbath,#hw-feast,#hw-moon,#hw-wake,#hw-hebrew{grid-column:auto;}
}
@media(max-width:540px){
  .home-widgets{grid-template-columns:1fr;}
  #hw-sabbath,#hw-feast,#hw-moon,#hw-wake,#hw-hebrew{grid-column:1/-1;}
}
.hw{
  background:var(--panel);border:1px solid var(--line);border-radius:16px;
  padding:22px 20px;box-shadow:var(--shadow);text-align:center;
  display:flex;flex-direction:column;align-items:center;
}
.hw h4{font-family:'Cormorant Garamond',serif;color:var(--accent);font-size:1.12rem;margin-bottom:12px;letter-spacing:0.02em;}
.hw .hw-big{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--text);line-height:1.2;margin-bottom:4px;}
.hw .hw-sub{font-size:0.8rem;color:var(--text-soft);line-height:1.4;}
.hw .hw-times{font-size:0.82rem;color:var(--accent);line-height:1.5;margin-top:10px;letter-spacing:0.01em;}
.hw .hw-note{font-size:0.82rem;color:var(--text-soft);line-height:1.55;font-style:italic;max-width:38ch;margin:12px auto 0;}
.hw svg{margin-bottom:10px;}
#moon-face .disk{fill:var(--panel-soft);stroke:var(--line);stroke-width:1;}
#moon-face .rim{fill:none;stroke:var(--line);stroke-width:1;}
#moon-face .lit{fill:var(--accent-soft);}
.prayer-list{list-style:none;padding:0;margin:0;width:100%;}
.prayer-list li{display:flex;justify-content:space-between;gap:8px;font-size:0.85rem;color:var(--text-soft);padding:6px 4px;border-bottom:1px solid var(--line);}
.prayer-list li:last-child{border-bottom:none;}
.prayer-list li.next{color:var(--accent);font-weight:600;}
.prayer-list .pname{letter-spacing:0.02em;}

/* Prayer Today — a glowing sun/moon wave that peaks at each prayer time */
#hw-prayer{grid-column:1/-1;}
.ptl{width:100%;max-width:540px;margin:0 auto;padding:6px 6px 0;}
.pt-svg{width:100%;height:auto;overflow:visible;display:block;}
.pt-wave{fill:none;stroke:var(--line);stroke-width:1;opacity:0.45;stroke-linecap:round;}
.pt-wave-glow{fill:none;stroke:var(--accent);stroke-width:4;opacity:0.22;stroke-linecap:round;filter:blur(6px);}
.pt-wave-lit{fill:none;stroke:var(--accent);stroke-width:1.4;stroke-linecap:round;filter:drop-shadow(0 0 3px var(--accent-soft)) drop-shadow(0 0 7px var(--accent-soft));}
.pt-dot{fill:var(--panel);stroke:var(--accent-soft);stroke-width:1.4;}
.pt-dot.past{fill:var(--accent-soft);stroke:var(--accent-soft);filter:drop-shadow(0 0 2px var(--accent-soft));}
.pt-dot.next{fill:var(--accent);stroke:var(--accent);filter:drop-shadow(0 0 4px var(--accent-soft)) drop-shadow(0 0 8px var(--accent-soft));}
.pt-name{fill:var(--text-soft);font-size:9px;text-anchor:middle;font-family:'Lora',serif;letter-spacing:0.02em;}
.pt-time{fill:var(--text);font-size:9px;text-anchor:middle;font-family:'Lora',serif;font-weight:600;}
.pt-name.next,.pt-time.next{fill:var(--accent);}
.pt-name.past,.pt-time.past{opacity:0.5;}
.pt-sunev{fill:var(--text-soft);font-size:8px;text-anchor:middle;font-family:'Lora',serif;opacity:0.85;}
.pt-orb-glow{fill:var(--accent);opacity:0.28;filter:blur(4px);}
.pt-orb{fill:var(--accent);filter:drop-shadow(0 0 4px var(--accent-soft)) drop-shadow(0 0 10px var(--accent-soft)) drop-shadow(0 0 16px var(--accent-soft));}
.pt-orb-glyph{fill:#fff;font-size:7px;text-anchor:middle;dominant-baseline:central;}
[data-theme="lunar"] .pt-orb-glyph{fill:#270610;}
.ptl-caption{font-size:0.82rem;color:var(--text-soft);margin-top:10px;text-align:center;font-style:italic;}

/* Adjustable prayer times */
.ptl-set{text-align:center;margin-top:6px;}
.ptl-adjust{background:none;border:none;color:var(--text-soft);font-family:'Lora',serif;font-size:0.8rem;cursor:pointer;padding:4px 8px;border-radius:8px;letter-spacing:0.02em;transition:color 0.2s,background 0.2s;}
.ptl-adjust:hover,.ptl-adjust.open{color:var(--accent);}
.ptl-panel{max-width:420px;margin:10px auto 2px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(214,59,95,0.04);text-align:left;}
.ptl-modes{display:flex;gap:8px;margin-bottom:12px;}
.ptl-mode{flex:1;padding:8px 6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text-soft);font-family:'Lora',serif;font-size:0.8rem;cursor:pointer;transition:all 0.2s;}
.ptl-mode:hover{border-color:var(--accent-soft);color:var(--text);}
.ptl-mode.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft);background:rgba(214,59,95,0.06);}
.ptl-rows{display:flex;flex-direction:column;gap:8px;}
.ptl-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:0.86rem;color:var(--text);}
.ptl-row input[type=time]{font-family:'Lora',serif;font-size:0.9rem;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);}
.ptl-row input[type=time]:disabled{opacity:0.55;}
.ptl-row-fixed .ptl-fixed{font-size:0.82rem;color:var(--text-soft);font-style:italic;}
.ptl-note{font-size:0.76rem;color:var(--text-soft);line-height:1.5;margin:12px 0;}
.ptl-actions{display:flex;align-items:center;gap:12px;}
.ptl-save{padding:7px 20px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-family:'Lora',serif;font-size:0.84rem;cursor:pointer;transition:filter 0.2s;}
.ptl-save:hover{filter:brightness(1.08);}
.ptl-saved{font-size:0.8rem;color:var(--accent);font-style:italic;}

/* Next Sacred Day widget */
#hw-feast .fw-name{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--text);line-height:1.2;margin-bottom:4px;}
#hw-feast .fw-date{font-size:0.92rem;color:var(--accent);letter-spacing:0.02em;}
#hw-feast .fw-he{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.95rem;color:var(--text-soft);margin-bottom:6px;}
#hw-feast .fw-away{font-size:0.8rem;color:var(--text-soft);margin-top:2px;}
#hw-feast .fw-short{font-size:0.86rem;color:var(--text-soft);line-height:1.5;max-width:34ch;margin:12px auto 2px;}
#hw-feast .fw-link{display:inline-block;margin-top:10px;font-size:0.8rem;color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-soft);}
.fw-fast,.fw-rest{display:inline-block;font-size:0.62rem;letter-spacing:0.04em;text-transform:uppercase;padding:2px 8px;border-radius:10px;vertical-align:middle;margin-left:4px;}
.fw-fast{background:var(--accent);color:#fff;}
[data-theme="lunar"] .fw-fast{color:#270610;}
.fw-rest{background:var(--panel-soft);color:var(--accent);}

/* Sacred Calendar page — collapsible feast list */
.cal-list{margin-top:8px;}
.cal-item{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:var(--panel);box-shadow:var(--shadow);overflow:hidden;}
.cal-head{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:transparent;border:none;cursor:pointer;padding:16px 20px;font-family:'Lora',serif;flex-wrap:wrap;}
.cal-head:hover{background:var(--panel-soft);}
.cal-when{font-size:0.82rem;color:var(--accent);letter-spacing:0.02em;min-width:150px;}
.cal-arrow{display:inline-block;width:1em;}
.cal-title{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--text);flex:1;min-width:140px;}
.cal-away{font-size:0.78rem;color:var(--text-soft);}
.cal-tag{display:inline-block;font-size:0.6rem;letter-spacing:0.04em;text-transform:uppercase;padding:2px 8px;border-radius:9px;margin-left:6px;vertical-align:middle;}
.cal-tag.fast{background:var(--accent);color:#fff;}
[data-theme="lunar"] .cal-tag.fast{color:#270610;}
.cal-tag.rest{background:var(--panel-soft);color:var(--accent);}
.cal-tag.opt{background:transparent;border:1px solid var(--line);color:var(--text-soft);}
.cal-body{padding:2px 20px 20px;border-top:1px solid var(--line);}
.cal-body p{max-width:76ch;margin-top:10px;font-size:0.94rem;}
.cal-body .cal-heb{color:var(--text-soft);font-style:italic;margin-top:12px;}
.cal-he{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--text-soft);font-style:italic;}
.cal-item.is-fast{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft),var(--shadow);}
.cal-item.is-fast .cal-head{background:var(--panel-soft);}
.cal-how{background:var(--panel-soft);border-radius:10px;padding:12px 14px;margin-top:14px;}
.cal-hint{font-size:0.85rem;color:var(--text-soft);text-align:center;margin:0 0 14px;font-style:italic;}
.hw-hebrew{font-family:'Cormorant Garamond',serif;font-size:2.3rem;color:var(--accent);margin-bottom:4px;direction:rtl;transition:text-shadow 0.32s;}
#hw-hebrew:hover .hw-hebrew{text-shadow:0 0 14px var(--accent-soft);}

.home-cta{text-align:center;margin:4px 0;}
.home-cta button{
  font-family:'Lora',serif;font-size:0.9rem;letter-spacing:0.04em;color:#fff;
  background:var(--accent);border:none;border-radius:14px;padding:12px 26px;
  cursor:pointer;box-shadow:var(--shadow);transition:transform 0.25s,background 0.25s;
}
[data-theme="lunar"] .home-cta button{color:#270610;}
.home-cta button:hover{transform:translateY(-2px);}
.home-note{text-align:center;font-size:0.78rem;color:var(--text-soft);font-style:italic;margin-top:16px;}

/* forms & buttons (Companion page) */
.panel label{display:block;font-size:0.85rem;color:var(--text-soft);margin-bottom:4px;}
.form-input{
  width:100%;font-family:'Lora',serif;font-size:0.92rem;color:var(--text);
  background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;
  padding:10px 14px;margin-bottom:2px;
}
.form-input:focus{outline:none;border-color:var(--accent-soft);}
textarea.form-input{resize:vertical;font-family:'Lora',serif;}
.btn{
  font-family:'Lora',serif;font-size:0.9rem;letter-spacing:0.02em;color:#fff;
  background:var(--accent);border:none;border-radius:12px;padding:10px 22px;
  cursor:pointer;transition:transform 0.25s,opacity 0.25s;
}
[data-theme="lunar"] .btn{color:#270610;}
.btn:hover{transform:translateY(-1px);opacity:0.92;}
.entry-row{padding:10px 0;border-bottom:1px solid var(--line);}
.entry-row:last-child{border-bottom:none;}
.entry-del{float:right;cursor:pointer;color:var(--accent);}
.timeline{list-style:none;padding:0;margin:8px 0 2px;}
.timeline li{position:relative;padding:2px 0 18px 22px;border-left:1px solid var(--line);margin-left:8px;}
.timeline li:last-child{border-left:none;padding-bottom:0;}
.timeline li::before{content:"";position:absolute;left:-6px;top:4px;width:11px;height:11px;border-radius:50%;background:var(--accent);border:2px solid var(--panel);}
.timeline .t-date{font-size:0.76rem;color:var(--accent);letter-spacing:0.04em;display:block;margin-bottom:2px;}
.timeline .t-label{font-weight:600;}
.plog-tag{display:inline-block;font-size:0.7rem;padding:2px 10px;border-radius:10px;}
.plog-tag.prayer{background:var(--panel-soft);color:var(--accent);}
.plog-tag.gratitude{background:var(--accent-soft);color:#fff;}
[data-theme="lunar"] .plog-tag.gratitude{color:#270610;}
.plog-answered{text-decoration:line-through;opacity:0.6;}
.plog-toggle{display:block;width:100%;text-align:left;font-family:'Lora',serif;font-size:0.95rem;font-weight:600;color:var(--accent);background:transparent;border:none;border-bottom:1px solid var(--line);padding:6px 0 10px;margin-bottom:12px;cursor:pointer;}
.plog-toggle span{display:inline-block;width:1em;}
.plog-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:10px;flex-wrap:wrap;}
.plog-selall{display:flex;align-items:center;gap:6px;font-size:0.85rem;cursor:pointer;}
.plog-count{margin-left:auto;font-size:0.8rem;color:var(--text-soft);}
.btn-mini{font-family:'Lora',serif;font-size:0.8rem;color:var(--accent);background:transparent;border:1px solid var(--accent-soft);border-radius:10px;padding:5px 14px;cursor:pointer;transition:background 0.2s,color 0.2s,opacity 0.2s;}
.btn-mini:hover:not(:disabled){background:var(--accent);color:#fff;}
[data-theme="lunar"] .btn-mini:hover:not(:disabled){color:#270610;}
.btn-mini:disabled{opacity:0.45;cursor:default;border-color:var(--line);color:var(--text-soft);}
.plog-scroll{max-height:340px;overflow-y:auto;padding-right:8px;}
.plog-row{display:flex;align-items:flex-start;gap:10px;}
.plog-row .pg-check{margin-top:5px;flex-shrink:0;cursor:pointer;accent-color:var(--accent);}
.plog-row .plog-body{flex:1;min-width:0;}

/* HOME: hover glow + expand on the blocks */
.hw{transition:transform 0.32s,box-shadow 0.32s,border-color 0.32s;}
.hw:hover{transform:translateY(-6px) scale(1.02);border-color:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-soft),0 18px 44px rgba(214,59,95,0.20);}
#hw-moon .lit{transition:filter 0.32s;}
#hw-moon:hover{box-shadow:0 0 26px var(--accent-soft),0 18px 44px rgba(214,59,95,0.24);}
#hw-moon:hover .lit{filter:drop-shadow(0 0 7px var(--accent-soft));}
.verse-feature{transition:transform 0.32s,box-shadow 0.32s,border-color 0.32s;}
.verse-feature:hover{transform:translateY(-3px);border-color:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-soft),0 20px 48px rgba(214,59,95,0.16);}

/* HOME: location control */
.home-loc{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin:2px 0 6px;}
.home-loc button,.home-loc select{
  font-family:'Lora',serif;font-size:0.82rem;color:var(--text-soft);
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:9px 16px;cursor:pointer;transition:border-color 0.25s,color 0.25s;
}
.home-loc button:hover,.home-loc select:hover{border-color:var(--accent-soft);color:var(--accent);}
.loc-status{width:100%;text-align:center;font-size:0.76rem;color:var(--accent);min-height:1em;}

/* page internals */
.crumb{display:inline-flex;align-items:center;gap:6px;font-size:0.78rem;color:var(--accent);cursor:pointer;margin-bottom:24px;letter-spacing:0.04em;}
.crumb:hover{text-decoration:underline;}
.pill{display:inline-block;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--panel-soft);color:var(--accent);padding:4px 12px;border-radius:20px;margin-bottom:12px;}
.pg h2{font-size:clamp(1.7rem,4vw,2.5rem);margin-bottom:4px;}
.pg .tag{color:var(--text-soft);font-style:italic;margin-bottom:10px;font-size:1.02rem;}
.flourish{width:100px;height:12px;margin-bottom:28px;opacity:0.5;}
.flourish svg{display:block;width:100%;height:100%;}
.flourish path{stroke:var(--accent);fill:none;stroke-width:1;}
.flourish circle{fill:var(--accent-soft);stroke:none;}

/* panels */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:32px 40px;margin-bottom:18px;box-shadow:var(--shadow);line-height:1.8;}
.panel h3{color:var(--accent);font-size:1.2rem;margin-bottom:12px;}
.panel p{margin-bottom:14px;max-width:76ch;}
.panel p:last-child{margin-bottom:0;}
.panel>ul.cl,.panel>ol.cl{max-width:76ch;}
.verse{border-left:3px solid var(--accent-soft);padding:10px 18px;font-style:italic;color:var(--text-soft);margin:16px 0;font-size:0.97rem;line-height:1.65;max-width:76ch;}
ul.cl{padding-left:1.2em;}
ul.cl li{margin-bottom:10px;}
ol.cl{padding-left:1.2em;}
ol.cl li{margin-bottom:10px;}

/* step-by-step tutorial lists */
.steps{list-style:none;counter-reset:step;padding:0;margin:8px 0 2px;}
.steps li{position:relative;padding:2px 0 18px 20px;border-left:1px solid var(--line);margin-left:16px;line-height:1.7;}
.steps li:last-child{border-left:none;padding-bottom:0;}
.steps li::before{
  counter-increment:step;content:counter(step);
  position:absolute;left:-16px;top:-2px;width:32px;height:32px;border-radius:50%;
  background:var(--accent);color:#fff;font-family:'Cormorant Garamond',serif;font-size:0.95rem;
  display:flex;align-items:center;justify-content:center;
}
[data-theme="lunar"] .steps li::before{color:#270610;}
.steps li strong{display:block;margin-bottom:2px;}
.note{font-size:0.83rem;color:var(--text-soft);border-top:1px dashed var(--line);margin-top:16px;padding-top:12px;}
.panel a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;transition:opacity 0.2s;}
.panel a:hover{opacity:0.7;}

/* opinion callout box */
.opinion-box{
  border:1px solid var(--accent-soft);border-radius:12px;
  padding:16px 20px;margin:14px 0;max-width:76ch;
  background:var(--panel-soft);
}
.opinion-box strong{color:var(--accent);font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;display:block;margin-bottom:6px;}

/* two-col grid */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:640px){.g2{grid-template-columns:1fr;}}

footer{position:relative;z-index:1;text-align:center;padding:40px 5vw 60px;color:var(--text-soft);font-size:0.82rem;}
