/* ============================================================
   ÖKOS-REJTÉLY — család-chat, napló-lapok, hangnyom-felirat, hőkamera-kijelző
   (a rezsi.css-ből kiválasztva, hogy a fájlok 200 sor alatt maradjanak) · csak tokenekkel
   ============================================================ */
/* ---- Chat (a család üzenetei) és napló ---------------------------------------------------------------------- */
#rzBtns .rzBadge { position:absolute; top:-7px; right:-7px; min-width:20px; height:20px; border-radius:var(--r-pill); background:var(--berry); color:var(--cream);
  border:2px solid var(--line); font:700 11px/16px var(--body); padding:0 4px; }
#rzChatToast { position:fixed; top:14px; left:50%; transform:translateX(-50%); z-index:var(--z-bubble); display:flex; gap:10px; align-items:flex-start;
  width:min(420px, calc(100vw - 32px)); background:var(--surface); color:var(--ink); border:var(--line-w) solid var(--line); border-radius:var(--r-l);
  box-shadow:var(--soft); padding:9px 12px; cursor:pointer; animation:rzChatIn .25s var(--ease); }
#rzChatToast b { font-size:13px; } #rzChatToast p { margin:2px 0 0; font-size:14px; line-height:1.35; }
@keyframes rzChatIn { from { transform:translate(-50%, -30px); opacity:0; } to { transform:translate(-50%, 0); opacity:1; } }
.rzAva { flex:0 0 auto; width:38px; height:38px; border-radius:50%; border:2px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:20px; overflow:hidden; }
.rzChat { max-height:52vh; overflow-y:auto; display:flex; flex-direction:column; gap:10px; margin-top:12px; padding:4px 2px; }
.rzMsg { display:flex; gap:8px; align-items:flex-start; }
.rzMsg > div { background:var(--surface); border:2.5px solid var(--line); border-radius:6px var(--r-l) var(--r-l) var(--r-l); padding:6px 11px; max-width:82%; }
.rzMsg b { font-size:12px; } .rzMsg p { margin:2px 0 0; font-size:14px; line-height:1.4; }
.rzMsg.me { flex-direction:row-reverse; } .rzMsg.me > div { background:var(--butter); border-radius:var(--r-l) 6px var(--r-l) var(--r-l); }
.rzNotes { display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:8px; margin-top:12px; }
.rzNoteBtn { font-family:inherit; text-align:left; background:var(--surface); border:2.5px solid var(--line); border-radius:var(--r-m); padding:8px 10px; cursor:pointer; color:var(--ink); }
.rzNoteBtn b { display:inline; font-size:14px; } .rzNoteBtn small { display:block; font-size:12px; color:var(--ink-soft); }
.rzNoteBtn.off { background:var(--sage-bg); border-style:dashed; opacity:.75; cursor:default; }
/* napló-lap: vonalas papír */
.rzPaper { margin-top:10px; background:var(--paper) repeating-linear-gradient(transparent 0 26px, var(--sky-bg) 26px 27px); border:2px solid var(--sage);
  border-radius:var(--r-s); padding:10px 16px 10px 44px; position:relative; font:italic 400 15px/27px var(--body); }
.rzPaper::before { content:''; position:absolute; left:30px; top:0; bottom:0; width:2px; background:var(--blossom); }
.rzPaper p { margin:0 0 27px; } .rzPaper p:last-child { margin-bottom:0; }
.touch.rezsi #rzChatToast { top:auto; bottom:calc(env(safe-area-inset-bottom) + 200px); }
@media (max-height:520px) and (orientation:landscape){ #rzChatToast { top:8px; width:min(360px, 60vw); } .touch.rezsi #rzChatToast { top:8px; bottom:auto; } }

/* ---- Hangnyom-felirat és hőkamerás kijelző (a kamera-kijelző színei tartalom-színek) ---------------------------- */
#rzCaption { position:fixed; left:50%; bottom:calc(env(safe-area-inset-bottom) + 86px); transform:translateX(-50%); z-index:calc(var(--z-world) + 1); pointer-events:none;
  background:var(--night); color:var(--cream); border-radius:var(--r-pill); padding:6px 14px; font-size:14px; font-weight:700; white-space:nowrap; opacity:.92; }
.touch.rezsi #rzCaption { bottom:calc(env(safe-area-inset-bottom) + 180px); }
.rzNight #rzCaption, .rzExt #rzCaption, .rzFly #rzCaption { display:none !important; }
body:not(.rezsi) #rzCaption { display:none !important; }
.rezsi.rzThermal { --rz-cam-rec:#ff5a5a; --rz-cam-ink:#ffffff; --rz-cam-shade:#000000; }
.rezsi.rzThermal::after { content:''; position:fixed; inset:0; z-index:var(--z-world); pointer-events:none;
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 2px, transparent 2px 4px), radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,.55) 100%); }
.rezsi.rzThermal::before { content:'● REC · HŐKAMERA'; position:fixed; left:14px; bottom:calc(env(safe-area-inset-bottom) + 14px); z-index:calc(var(--z-world) + 1); pointer-events:none;
  color:var(--rz-cam-rec); font-weight:700; font-size:13px; letter-spacing:1px; text-shadow:0 0 4px var(--rz-cam-shade); }
#rzHeatLegend { display:none; }
.rezsi.rzThermal #rzHeatLegend { display:flex; position:fixed; right:84px; top:50%; transform:translateY(-50%); z-index:calc(var(--z-world) + 1); flex-direction:column; align-items:center; gap:4px;
  pointer-events:none; color:var(--rz-cam-ink); font-size:11px; font-weight:700; text-shadow:0 0 3px var(--rz-cam-shade); }
#rzHeatLegend i { display:block; width:14px; height:150px; border:2px solid var(--rz-cam-ink); border-radius:8px; }
.rzNight.rzThermal::after, .rzNight.rzThermal::before { display:none; }
@media (max-width:600px){ .rezsi.rzThermal #rzHeatLegend { right:78px; } #rzHeatLegend i { height:110px; } }
