:root{
  --bg:#050a18; --ink:#eef2fb; --muted:#9aa8c4; --gold:#ffc361; --gold2:#ffdf9e; --line:rgba(255,255,255,.10);
  --panel:rgba(14,22,44,.86); --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Noto Serif",Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Hebrew",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--sans);overflow:hidden;
  -webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#stars{position:fixed;inset:0;width:100%;height:100%;z-index:0}
.app{position:relative;z-index:1;height:100vh;height:100dvh;display:flex;flex-direction:column;
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.top{padding:14px 18px 0;text-align:center;flex:none}
.brand{display:flex;align-items:center;justify-content:center;gap:9px}
h1{margin:0;font-family:var(--serif);font-weight:600;font-size:22px;letter-spacing:.2px}
h1 .he{font-family:var(--sans);font-weight:500;font-size:15px;color:var(--gold);margin-inline-start:6px;opacity:.95}
.flame{width:12px;height:18px;flex:none;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;
  background:radial-gradient(ellipse at 50% 70%,#fff6dc 0 18%,#ffd27a 34%,#ff9b2f 62%,rgba(255,120,30,0) 72%);
  box-shadow:0 0 14px 4px rgba(255,180,80,.45);animation:flick 2.6s ease-in-out infinite;transform-origin:50% 90%}
@keyframes flick{0%,100%{transform:scale(1) rotate(-1deg)}35%{transform:scale(1.06,.96) rotate(1.5deg)}70%{transform:scale(.97,1.04) rotate(-.5deg)}}
.big{margin:10px 0 2px;font-family:var(--serif);font-size:21px;line-height:1.2;font-weight:600;color:var(--gold2);
  text-shadow:0 0 18px rgba(255,180,80,.35)}
.big b{color:var(--gold);font-variant-numeric:tabular-nums}
.sub{margin:0;color:var(--muted);font-size:14px;line-height:1.35;font-variant-numeric:tabular-nums}
.sub b{color:var(--ink);font-weight:600}
.stage{position:relative;flex:1 1 auto;min-height:0;touch-action:none}
#globe,#overlay{position:absolute;inset:0;width:100%;height:100%;display:block}
#overlay{pointer-events:none}
.nogl{position:absolute;inset:auto 16px 40% 16px;text-align:center;color:var(--muted)}
.toasts{position:absolute;left:0;right:0;top:6px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}
.toast{background:rgba(30,22,8,.78);border:1px solid rgba(255,195,97,.45);color:var(--gold2);padding:6px 12px;border-radius:999px;
  font-size:13px;box-shadow:0 0 22px rgba(255,170,60,.25);animation:tin .35s ease-out both;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  max-width:92vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toast.out{animation:tout .5s ease-in both}
@keyframes tin{from{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}
@keyframes tout{to{opacity:0;transform:translateY(-6px)}}
.controls{flex:none;padding:6px 16px 14px}
.actions{display:flex;flex-direction:column;gap:10px;align-items:stretch;max-width:520px;margin:0 auto}
.row{display:flex;gap:8px}
.row .ghost{flex:1}
.primary{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:14px 18px;font-weight:650;font-size:16px;
  color:#2a1700;background:linear-gradient(180deg,#ffd98a,#ffb444);box-shadow:0 6px 28px rgba(255,170,60,.35),inset 0 1px 0 rgba(255,255,255,.6)}
.primary svg{width:18px;height:18px;fill:currentColor}
.primary:active{transform:scale(.985)}
.ghost{display:flex;align-items:center;justify-content:center;gap:6px;background:rgba(255,255,255,.06);border:1px solid var(--line);
  border-radius:12px;padding:10px 10px;font-size:14px;color:var(--ink)}
.ghost svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ghost:active{background:rgba(255,255,255,.12)}
.ghost.sm{padding:7px 10px;font-size:13px;border-radius:10px}
.player{display:flex;align-items:center;gap:10px;max-width:620px;margin:0 auto}
.player[hidden],.actions[hidden]{display:none}
.icon-btn{flex:none;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,195,97,.5);background:rgba(255,195,97,.12);
  display:grid;place-items:center;color:var(--gold2);font-size:13px;font-weight:650}
.icon-btn svg{width:20px;height:20px;fill:currentColor}
.icon-btn .i-play{display:none}.icon-btn.paused .i-play{display:block}.icon-btn.paused .i-pause{display:none}
#liveBtn{border-color:var(--line);background:rgba(255,255,255,.06);color:var(--ink)}
.scrub{flex:1;min-width:0}
.simlabel{font-size:14px;color:var(--muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.simlabel b{color:var(--gold2);font-size:17px;font-variant-numeric:tabular-nums;margin:0 2px}
.simcount{font-size:12.5px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;min-height:1.2em}
input[type=range]{width:100%;margin:6px 0 3px;-webkit-appearance:none;appearance:none;background:transparent;height:24px}
input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--gold) var(--p,0%),rgba(255,255,255,.18) var(--p,0%))}
input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:rgba(255,255,255,.18)}
input[type=range]::-moz-range-progress{height:4px;border-radius:4px;background:var(--gold)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;margin-top:-8px;background:#fff3d6;box-shadow:0 0 12px rgba(255,190,90,.8)}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border:0;border-radius:50%;background:#fff3d6;box-shadow:0 0 12px rgba(255,190,90,.8)}
.sheet{position:fixed;z-index:5;left:0;right:0;bottom:0;max-height:82dvh;overflow:auto;background:var(--panel);
  border-top:1px solid rgba(255,195,97,.28);border-radius:22px 22px 0 0;padding:20px 20px calc(18px + env(safe-area-inset-bottom));
  box-shadow:0 -10px 50px rgba(0,0,0,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:up .28s cubic-bezier(.2,.8,.2,1) both}
.sheet[hidden]{display:none}
@keyframes up{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.close{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.08);font-size:22px;line-height:1;color:var(--muted)}
.card-he{font-size:16px;color:var(--gold);min-height:1em;padding-right:44px;text-align:left}
.sheet h2{margin:2px 0 0;font-family:var(--serif);font-size:26px;font-weight:600}
.card-region{color:var(--muted);font-size:14px;margin-top:1px}
.chip{display:inline-block;margin:12px 0 4px;padding:6px 12px;border-radius:999px;font-size:14px;font-weight:600;
  background:rgba(255,255,255,.07);border:1px solid var(--line)}
.chip.on{color:#2a1700;background:linear-gradient(180deg,#ffd98a,#ffb444);border-color:transparent;box-shadow:0 0 20px rgba(255,170,60,.35)}
.times{margin:10px 0 0}
.times>div{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);gap:10px}
.times dt{font-size:15px}
.times dt small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.times dd{margin:0;text-align:right;white-space:nowrap}
.times dd span{color:var(--muted);font-size:13px;margin-right:8px}
.times dd b{font-size:22px;font-variant-numeric:tabular-nums;color:var(--gold2);font-weight:650}
.times .rt dd b{font-size:16px;color:var(--ink);font-weight:500}
.parsha{margin-top:12px;font-size:15px;color:var(--ink)}
.parsha .he{color:var(--gold);margin-left:10px}
.card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;color:var(--muted);font-size:12.5px;flex-wrap:wrap}
.card-btns{display:flex;gap:8px}
.list ol{list-style:none;margin:10px 0 0;padding:0}
.list-sub{margin:4px 0 0;color:var(--muted);font-size:13.5px}
.list li{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.list li .dot{width:9px;height:9px;border-radius:50%;background:#7f95bf;flex:none}
.list li.on .dot{background:var(--gold);box-shadow:0 0 10px var(--gold)}
.list li .nm{flex:1;min-width:0}
.list li .nm small{color:var(--muted);margin-inline-start:6px}
.list li .tm{font-variant-numeric:tabular-nums;color:var(--gold2);white-space:nowrap}
.list li .tm small{color:var(--muted);margin-inline-end:6px}
.note{color:var(--muted);font-size:12.5px;line-height:1.45;margin:14px 0 0}
.ogtitle{position:fixed;z-index:4;left:56px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;gap:16px;pointer-events:none}
.ogtitle[hidden]{display:none}
.og-brand{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:34px;font-weight:600}
.og-brand span[lang]{font-family:var(--sans);font-size:26px;color:var(--gold)}
.og-brand .flame{width:20px;height:30px}
.og-line{font-family:var(--serif);font-size:50px;line-height:1.08;font-weight:600;color:var(--gold2);text-shadow:0 0 30px rgba(255,180,80,.4)}
.og-sub{font-size:24px;color:var(--muted)}
body.og .top,body.og .controls{display:none}
body.og .stage{position:fixed;inset:0}
@media (min-width:900px){
  .top{position:absolute;left:0;top:0;text-align:left;padding:30px 36px;max-width:520px;z-index:2}
  .brand{justify-content:flex-start}
  h1{font-size:28px}
  .big{font-size:30px;margin-top:18px}
  .sub{font-size:16px}
  .controls{position:absolute;left:36px;bottom:30px;padding:0;width:400px;z-index:2}
  .actions{margin:0}
  .player{position:fixed;left:50%;transform:translateX(-50%);bottom:30px;width:min(640px,60vw)}
  .stage{position:absolute;inset:0}
  .sheet{left:auto;right:28px;bottom:28px;top:auto;width:380px;border-radius:22px;border:1px solid rgba(255,195,97,.28);max-height:calc(100dvh - 56px)}
}
@media (max-height:640px) and (max-width:899px){ .big{font-size:18px;margin-top:6px} .top{padding-top:8px} .primary{padding:11px} }
@media (prefers-reduced-motion:reduce){.flame{animation:none}}
