/* paths.css — שלב 2ב (1.10.26): שבילי השירים והסיפורים בזמן החופשי, מסך "קוראים
   לאמא", כרום-השביל של הקורא (הקראת-הורה) ומסכי הסיום א'/ב'/ג'.
   השפה: הדמואים המאושרים (output/2026-10-01_ספריית-סיפורים-שביל-השבועות.html,
   output/2026-10-01_שביל-השירים.html) — קרם חם, אבנים עגולות, חלון-הורה לבן עם X משמאל.
   שכבות: בתוך .ft-overlay (30). "קוראים לאמא" מעל הבית — 900 (מתחת לשער 1000).
   מסכי-הסיום — בתוך שכבת הקורא (1000), מעל העמוד. */

/* (★ ee-v281 — מצב ה-📖 בכפתור הזמן החופשי בוטל, הכרעת אורן 5.10.26; הכלל .is-story הוסר.) */

/* ═══ ★ ee-v281 — מתנת-הסיפור: הספר עף ממרכז המסך ונוחת באבן שלו (free-time-zone.js landBook) ═══ */
.ft-book-fly { position:absolute; z-index:40; left:50%; top:50%; width:clamp(120px,34vmin,300px); height:auto;
  transform:translate(-50%,-50%) scale(1); pointer-events:none; filter:drop-shadow(0 12px 18px rgba(80,60,40,.28)); }
.ft-book-fly.is-going { transition:transform 1.1s cubic-bezier(.45,0,.3,1); }
.ft-stone.is-landing { opacity:.55; }
/* ★ תיקון 4 — הספציפיות גוברת על .ft-stone.is-glow (שמוגדר מאוחר יותר בקובץ ומחליף את ה-animation) */
.ft-stone.is-glow.is-landed, .ft-stone.is-landed { animation:ftLand .6s cubic-bezier(.3,1.6,.5,1) 1, ftGlow 1.8s ease-in-out .6s infinite; }
.ft-book-css { aspect-ratio: 363 / 420; border-radius: 6% 10% 10% 6%; overflow:hidden;
  background-image: linear-gradient(to right, rgba(0,0,0,.18) 0, rgba(0,0,0,.18) 7%, transparent 7%); }
.ft-book-css .ft-book-cover { position:absolute; top:6%; right:6%; bottom:6%; left:12%; border-radius:6px; background:center/cover no-repeat;
  display:grid; place-items:center; font-size:400%; }
@keyframes ftLand { 0% { scale:.8; } 60% { scale:1.18; } 100% { scale:1; } }

/* ═══ מפת-שבועות (שירים / סיפורים) ═══ */
.ft-overlay.is-map { background:linear-gradient(170deg,#D6F0EE 0%,#E8F5E1 55%,#F4EBD6 100%); }
.ft-overlay.is-map.is-songs, .ft-overlay.is-songs.is-snake { background:linear-gradient(170deg,#E9E3F7 0%,#EDF4F2 55%,#F4EBD6 100%); }   /* ★ ee-v312 — גם מסך שירי השבוע (מוקאפ A) */
.ft-map { position:absolute; top:0; right:0; bottom:0; left:0; }
.ft-map-path { position:absolute; top:0; left:0; width:100%; height:100%; }
.ft-map-path polyline { fill:none; stroke:#EAD7B0; stroke-width:5vmin; stroke-linecap:round; stroke-linejoin:round; }
.ft-map-path polyline.is-lit { stroke:#F2C14E; }
.ft-map-path polyline.is-dots { stroke:#fff; stroke-width:1vmin; stroke-dasharray:.2vmin 3vmin; opacity:.9; }
.ft-map-fog { position:absolute; top:0; right:0; bottom:0; left:0; pointer-events:none;
  background:radial-gradient(ellipse 60% 45% at 20% 18%, rgba(255,255,255,.75), rgba(255,255,255,0) 70%); }
.ft-stone { --s:clamp(64px,15vmin,150px); position:absolute; width:var(--s); height:var(--s); transform:translate(-50%,-50%);
  border-radius:50%; border:0; padding:0; display:grid; place-items:center; cursor:pointer; font:inherit;
  box-shadow:0 1.2vmin 0 rgba(0,0,0,.12), 0 6px 14px rgba(80,60,40,.14); -webkit-tap-highlight-color:transparent; }
.ft-stone:active { transform:translate(-50%,-50%) scale(.95); }
.ft-stone-em { font-size:calc(var(--s) * .5); line-height:1; }
.ft-stone-cov { position:absolute; top:0; right:0; bottom:0; left:0; border-radius:50%; background:center/cover no-repeat; }
.ft-stone.is-fog { filter:grayscale(1); opacity:.45; }
.ft-stone.is-glow { --s:clamp(76px,18vmin,176px); animation:ftGlow 1.8s ease-in-out infinite; }
.ft-stone-prog { position:absolute; bottom:-2.4vmin; left:50%; transform:translateX(-50%); display:flex; gap:.7vmin; }
.ft-stone-prog i { width:1.6vmin; height:1.6vmin; min-width:7px; min-height:7px; border-radius:50%; background:#fff; opacity:.7; box-shadow:0 0 0 1px rgba(0,0,0,.08); }
.ft-stone-prog i.is-on { background:#6FB85B; opacity:1; }
.ft-badge { position:absolute; bottom:-1.2vmin; left:-1.2vmin; width:calc(var(--s, 64px) * .4); height:calc(var(--s, 64px) * .4);
  border-radius:50%; display:grid; place-items:center; font-size:calc(var(--s, 64px) * .2); line-height:1; background:#fff;
  box-shadow:0 4px 10px rgba(80,60,40,.18); }
.ft-badge.is-lock { background:#E6E1DA; }
.ft-badge.is-play { background:#5BB55B; color:#fff; }
.ft-badge.is-new { background:#FFF6DB; }
.ft-badge.is-note { background:#fff; color:#4F9B3D; font-weight:700; }
.ft-badge.is-mark { background:#fff; box-shadow:0 0 0 .5vmin #F59A2E, 0 4px 10px rgba(80,60,40,.18); }
.ft-map-tuli { position:absolute; width:clamp(60px,15vmin,150px); height:clamp(60px,15vmin,150px); transform:translate(-50%,-128%);
  border-radius:50%; overflow:hidden; background:#F3E9DA; border:.7vmin solid #fff; box-shadow:0 6px 14px rgba(80,60,40,.18);
  pointer-events:none; z-index:2; animation:ftBob 1.6s ease-in-out infinite; }
.ft-map-tuli img { width:100%; height:100%; object-fit:cover; display:block; }
.is-nope { animation:ftNope .35s ease 2 !important; }
@keyframes ftGlow { 0%,100% { box-shadow:0 0 0 .8vmin rgba(242,193,78,.9), 0 0 3vmin 1vmin rgba(242,193,78,.6); }
  50% { box-shadow:0 0 0 1.2vmin rgba(242,193,78,1), 0 0 5vmin 2vmin rgba(242,193,78,.8); } }
@keyframes ftBob { 0%,100% { translate:0 0; } 50% { translate:0 -1.4vmin; } }
@keyframes ftNope { 0%,100% { translate:0 0; } 25% { translate:-1vmin 0; } 75% { translate:1vmin 0; } }

/* ═══ ★ ee-v309 (ממצא 17, מוקאפ "נחש" A מאושר) — שירי השבוע: כרטיסים קטנים בסדר "נחש", קו רציף וחיצים ═══
   הפריסה בפיקסלים — snakeLayout (state/free-time-zone.js); כאן רק המראה. גלילה למטה כשאין מקום. */
.ft-snake { position:absolute; top:0; right:0; bottom:0; left:0; overflow-x:hidden; overflow-y:auto; -webkit-overflow-scrolling:touch;
  touch-action:pan-y; overscroll-behavior:contain; }
.ft-snake.is-scrolls { -webkit-mask-image:linear-gradient(to bottom,#000 86%,transparent 100%); mask-image:linear-gradient(to bottom,#000 86%,transparent 100%); }
.ft-snake-line { position:absolute; top:0; left:0; display:block; pointer-events:none; }
.ft-snake-ln { fill:none; stroke:#EAD7B0; stroke-linecap:round; stroke-linejoin:round; }
.ft-snake-chev { fill:none; stroke:#C98A2E; stroke-width:4px; stroke-linecap:round; stroke-linejoin:round; }
.ft-mini { --s:clamp(64px,10vmin,110px); position:absolute; box-sizing:border-box; border:0; padding:4px; border-radius:13px; background:#fff; cursor:pointer;
  box-shadow:0 3px 0 rgba(0,0,0,.08), 0 4px 10px rgba(80,60,40,.16); -webkit-tap-highlight-color:transparent; }
.ft-mini:active { transform:scale(.95); }
.ft-mini-img { width:100%; height:100%; object-fit:cover; border-radius:9px; display:block; }
.ft-mini .ft-badge { width:24px; height:24px; font-size:10px; bottom:-5px; left:-5px; }
.ft-mini.is-fog { filter:grayscale(1); opacity:.45; }
.ft-mini.is-glow { animation:ftMiniGlow 1.8s ease-in-out infinite; }
@keyframes ftMiniGlow { 0%,100% { box-shadow:0 0 0 3px rgba(242,193,78,.9), 0 0 8px 2px rgba(242,193,78,.55); }
  50% { box-shadow:0 0 0 4px rgba(242,193,78,1), 0 0 14px 4px rgba(242,193,78,.75); } }
.ft-snake-more { position:absolute; bottom:max(8px, env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); z-index:2;
  font-size:26px; line-height:1; color:#B59A72; opacity:.85; pointer-events:none; }
.ft-snake-more[hidden] { display:none; }

/* ═══ ★ ee-v309 (ממצאים 31/38) — "מפגשי גן": מסלול השבועות (מוקאפ A, גוון חם) ⇒ הדרך המפותלת בתוך שבוע (B1′) ═══ */
.ft-overlay.is-map.is-videos { background:linear-gradient(170deg,#FFE9D6 0%,#F6F1E4 55%,#E8F2E1 100%); }
.ft-stone-cov.is-icon { top:9%; right:9%; bottom:9%; left:9%; background:#fff center/72% no-repeat; }
.ft-map-empty { position:absolute; left:0; right:0; bottom:8vh; text-align:center; margin:0; }
.ft-road { position:absolute; top:0; right:0; bottom:0; left:0; padding:0; display:block; overflow:hidden; }
.ft-road-svg { position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; }
.ft-road-ln { fill:none; stroke:#EAD7B0; stroke-width:clamp(20px,6vmin,40px); stroke-linecap:round; stroke-linejoin:round; }
.ft-road-ln.is-lit { stroke:#F2C14E; }
.ft-road-arr { fill:none; stroke:#A85F1E; stroke-width:5px; stroke-linecap:round; stroke-linejoin:round; }
.ft-road .ft-station { position:absolute; transform:translate(-50%,-50%); margin:0; }
.ft-road .ft-station:active { transform:translate(-50%,-50%) scale(.95); }
.ft-road .ft-station-disc { --s:clamp(64px,17vmin,110px); width:var(--s); height:var(--s); max-width:none; max-height:none;
  background:radial-gradient(circle at 50% 40%, #FFF6EA, #FBE6D2); box-shadow:0 5px 0 rgba(0,0,0,.08), 0 6px 14px rgba(80,60,40,.16); }
.ft-road .ft-station-label { position:absolute; top:100%; left:50%; transform:translateX(-50%); margin-top:6px; white-space:nowrap;
  font-size:clamp(.75rem,2.8vmin,1.05rem); color:#6B6259; }
.ft-road .ft-station.is-next .ft-station-disc { animation:ftGlow 1.8s ease-in-out infinite; }
.ft-road .ft-station.is-locked .ft-station-disc { filter:saturate(.7) grayscale(.4); }
.ft-road .ft-station.is-locked .ft-station-img { opacity:.55; }
.ft-road .ft-badge { --s:clamp(64px,17vmin,110px); }

/* ═══ נגן השיר (נגן D מפושט, ee-v295): רק הסרטון, 🏠 ושעון-החול ═══ */
.ft-player { position:absolute; top:0; right:0; bottom:0; left:0; background:#000; }
.ft-song-video { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:contain; background:#000; }

/* ═══ "קוראים לאמא" ═══ */
.cm-overlay { position:fixed; top:0; right:0; bottom:0; left:0; z-index:900; background:#F7F0DC; direction:rtl;
  -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; font-family:'Fredoka', system-ui, sans-serif; }
.cm-screen { position:absolute; top:0; right:0; bottom:0; left:0; overflow:hidden; background:#F7F0DC; }
/* ★ ee-v274 — כרטיס-המידע להורה ("הסיפור של תחנה N מחכה להקראה שלכם") נוצר אחרי המסך ונוסף ל-body;
   בבית הוא היה ב-850 — **מתחת** למסך הזה (900), כלומר נגיעה קצרה הראתה כרטיס בלתי-נראה. מעל המסך,
   מתחת לשער (1000). בזמן החופשי body.ft-on .pc-hint (1070) גובר ממילא. */
.cm-overlay ~ .pc-hint { z-index:950; }
.cm-img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:50% 40%; display:block; }
.cm-bubble { position:absolute; top:14%; left:50%; transform:translateX(-50%); background:#fff; border-radius:28px;
  padding:clamp(8px,2vmin,18px) clamp(16px,4vmin,34px); font-weight:700; font-size:clamp(22px,6vmin,52px); color:#44403C; white-space:nowrap;
  box-shadow:0 8px 20px rgba(80,60,40,.18); animation:cmPop .5s cubic-bezier(.3,1.5,.5,1) both; }
.cm-bubble::after { content:""; position:absolute; bottom:-14px; left:50%; transform:translateX(-50%); border:14px solid transparent;
  border-top-color:#fff; border-bottom:0; }
/* ★ ee-v295 (ממצא 23) — ההודעה להורה גדולה ובולטת: פס לבן מלא בתחתית, טקסט כהה ומודגש, פי ~2. */
.cm-parent-line { position:absolute; left:50%; transform:translateX(-50%); bottom:max(14px, env(safe-area-inset-bottom));
  width:max-content; max-width:calc(100% - 32px); box-sizing:border-box; text-align:center;
  padding:clamp(8px,1.8vmin,14px) clamp(16px,3.4vmin,28px); border-radius:18px;
  background:rgba(255,255,255,.94); box-shadow:0 6px 18px rgba(80,60,40,.22); border:2px solid #E9B872;
  font-size:clamp(17px,4.4vmin,30px); line-height:1.3; font-weight:800; color:#44403C; font-family:'Heebo', system-ui, sans-serif; }
.cm-home { position:absolute; z-index:5; top:max(12px, env(safe-area-inset-top)); right:max(12px, env(safe-area-inset-right));
  width:clamp(48px,7vw,62px); height:clamp(48px,7vw,62px); border-radius:50%; border:none; background:#fff; color:#A85F1E;
  box-shadow:0 6px 14px rgba(80,60,40,.2); display:grid; place-items:center; padding:0; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.cm-home svg { width:56%; height:56%; }
.ft-overlay.is-call .cm-screen { z-index:1; }
@keyframes cmPop { 0% { transform:translateX(-50%) scale(.4); opacity:0; } 70% { transform:translateX(-50%) scale(1.08); } 100% { transform:translateX(-50%) scale(1); opacity:1; } }

/* ═══ הקורא בכרום-השביל: התווית "הורה מקריא", חלון-ההורה עם X משמאל ═══ */
.bs-overlay.is-path .bs-parent-btn { display:none; }
.bs-pill { position:absolute; z-index:5; top:max(14px, env(safe-area-inset-top)); left:50%; transform:translateX(-50%);
  background:rgba(255,255,255,.92); border-radius:999px; padding:.25em .9em; font-weight:700; color:#44403C;
  box-shadow:0 4px 10px rgba(80,60,40,.16); font-size:clamp(11px,2.3vmin,15px); white-space:nowrap; direction:rtl;
  font-family:'Heebo', system-ui, sans-serif; }
/* ★ ee-v312 — בהקראת-הורה: "לתפריט ההורים" למעלה משמאל (ההורה כבר עבר את השער) */
.bs-to-parent-menu { position:absolute; z-index:6; top:max(12px, env(safe-area-inset-top)); left:max(12px, env(safe-area-inset-left));
  border:none; border-radius:999px; padding:.45em 1em; background:rgba(255,255,255,.94); color:#A85F1E; font-weight:800; cursor:pointer;
  font-family:'Heebo', system-ui, sans-serif; font-size:clamp(12px,2.4vmin,16px); box-shadow:0 4px 10px rgba(80,60,40,.16); direction:rtl; }
/* ★ ee-v315 (סוקר #3, #4) — מסך צר מאוד (320): הפס "הורה מקריא" לא נכנס מתחת ל-🏠 — מוגבל ברוחבו, עם "…" וגופן קטן */
/* ★ ee-v322 (סבב D) — רק התווית נחתכת; "עמוד X מתוך Y" תמיד שלם (bs-pill-page, flex:none) */
@media (max-width: 360px) {
  .bs-pill { max-width:calc(100vw - 150px); overflow:hidden; font-size:11px; display:flex; align-items:baseline; }
  .bs-pill-lbl { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:pre; }
  .bs-pill-page { flex:none; white-space:nowrap; }
}
/* ★ ee-v314 (סוקר #2, #3) — טלפון לאורך: הפס "👪 הורה מקריא · …" באמצע רחב מדי ⇒ הכפתור יורד לשורה שמתחתיו */
@media (max-width: 600px) and (orientation: portrait) {
  .bs-to-parent-menu { top:calc(max(14px, env(safe-area-inset-top)) + 44px); left:50%; transform:translateX(-50%); }
}
.bs-path-panel { background:rgba(46,42,38,.46); }
.bs-path-inner { position:relative; background:#fff; border-radius:20px; padding:max(54px,10vmin) 4vmin 3.4vmin; width:min(86vw,520px);
  display:flex; flex-direction:column; gap:1.6vmin; text-align:right; direction:rtl; font-family:'Heebo', system-ui, sans-serif; color:#44403C; }
.bs-px { position:absolute; top:12px; left:12px; width:40px; height:40px; border-radius:50%; border:1px solid #F0E6D6; background:#FBF7EF;
  color:#7C746C; font-size:18px; cursor:pointer; display:grid; place-items:center; padding:0; }
.bs-tag { align-self:flex-start; background:#FFF6EA; border:1px solid #F3DFC2; color:#A85F1E; border-radius:999px; padding:.1em .8em;
  font-size:.82em; font-weight:700; }
.bs-row { display:flex; align-items:center; gap:10px; padding:.65em .8em; border-radius:12px; background:#FBF7EF; border:1px solid #F0E6D6;
  width:100%; font:inherit; color:#44403C; text-align:right; }
button.bs-row { cursor:pointer; font-weight:600; }
.bs-row.is-off { opacity:.62; }
.bs-row-ic { width:2.1em; height:2.1em; border-radius:10px; background:#fff; border:1px solid #F0E6D6; display:grid; place-items:center; flex:0 0 auto; }
.bs-row-lbl { flex:1; min-width:0; line-height:1.3; }
.bs-row-lbl small { display:block; color:#7C746C; font-size:.84em; font-weight:400; }

/* ═══ מסכי הסיום א'/ב'/ג' — חלון-הורה מעל העמוד האחרון ═══ */
.se-overlay { position:absolute; top:0; right:0; bottom:0; left:0; z-index:20; background:rgba(46,42,38,.5); display:grid; place-items:center;
  direction:rtl; font-family:'Heebo', system-ui, sans-serif; }
.se-win { position:relative; z-index:2; width:min(88vw,560px); max-height:92vh; overflow:auto; background:#fff; color:#44403C; border-radius:20px;
  padding:clamp(18px,4vmin,30px); display:flex; flex-direction:column; gap:12px; text-align:right; font-size:clamp(14px,2.6vmin,19px); line-height:1.5;
  box-shadow:0 14px 34px rgba(0,0,0,.25); animation:sePop .3s ease-out both; }
.se-emoji { font-size:2.4em; line-height:1; text-align:center; }
.se-title { margin:0; font-size:1.3em; font-weight:800; line-height:1.3; }
.se-p { margin:0; }
.se-btns { display:flex; gap:10px; flex-wrap:wrap; margin-top:4px; }
.se-btn { flex:1 1 auto; border:0; border-radius:14px; padding:.75em 1.1em; font:inherit; font-weight:800; cursor:pointer; }
.se-btn.is-primary { background:#F59A2E; color:#fff; font-size:1.06em; box-shadow:0 6px 14px rgba(80,60,40,.18); }
.se-btn.is-green { background:#4F9B3D; color:#fff; font-size:1.06em; box-shadow:0 6px 14px rgba(80,60,40,.18); }
.se-btn.is-ghost { background:#FBF7EF; border:1px solid #F0E6D6; color:#44403C; font-weight:700; }
.se-minis { display:flex; justify-content:center; gap:16px; padding:4px 0 8px; }
.se-mini { position:relative; width:60px; height:60px; border-radius:50%; background:#FFE4CC; display:grid; place-items:center; font-size:30px;
  box-shadow:0 6px 14px rgba(80,60,40,.14); }
.se-mark { position:absolute; bottom:-6px; left:-6px; width:28px; height:28px; border-radius:50%; background:#fff; display:grid; place-items:center;
  font-size:15px; box-shadow:0 0 0 3px #F59A2E; }
.se-confetti { position:absolute; top:0; right:0; bottom:0; left:0; pointer-events:none; overflow:hidden; z-index:1; }
.se-confetti i { position:absolute; top:0; width:10px; height:15px; border-radius:3px; animation:seFall linear forwards; }
@keyframes seFall { from { transform:translateY(-10vh) rotate(0); } to { transform:translateY(110vh) rotate(540deg); } }
@keyframes sePop { 0% { transform:scale(.6); opacity:0; } 70% { transform:scale(1.04); } 100% { transform:scale(1); opacity:1; } }

@media (prefers-reduced-motion: reduce) {
  .ft-stone.is-glow, .ft-mini.is-glow, .ft-road .ft-station.is-next .ft-station-disc, .ft-map-tuli, .cm-bubble, .se-win, .se-confetti i, .ft-stone.is-landed, .ft-stone.is-glow.is-landed { animation:none !important; }
  .ft-book-fly.is-going { transition-duration:.01s; }
}

/* חלון-ההורה בכרום-השביל: מבטל את עיצוב-הכפתורים הכללי של .bs-parent-inner */
.bs-path-inner .bs-px { position:absolute; top:12px; left:12px; width:40px; height:40px; padding:0; border-radius:50%;
  border:1px solid #F0E6D6; background:#FBF7EF; color:#7C746C; font-size:18px; font-weight:400; display:grid; place-items:center; }
.bs-path-inner button.bs-row { padding:.65em .8em; border-radius:12px; background:#FBF7EF; border:1px solid #F0E6D6;
  font-size:clamp(.92rem,2.6vh,1.02rem); color:#44403C !important; font-weight:600 !important; }
.bs-path-inner .bs-switch-mode { background:#FBF7EF !important; }
.bs-path-inner { max-width:min(86vw,460px); }
/* ★ ee-v306 — מסך ב' של סיום הסיפור: פתיחה · (1) · (2)* · הערת-הכוכבית */
.se-b-body { display:flex; flex-direction:column; gap:8px; text-align:right; }
.se-b-item { padding-right:2px; }
.se-b-note { font-size:.86em; color:#7C746C; }
