/* Live-app additions on top of styles.css */
html,body{height:100%;overscroll-behavior:none}
@media (max-width:820px){
  .device{height:100vh;height:100dvh}
  .top{padding-top:calc(30px + env(safe-area-inset-top))}
  .tabs{height:calc(70px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
  .banner{top:calc(10px + env(safe-area-inset-top))}
  .sheet{padding-bottom:calc(26px + env(safe-area-inset-bottom))}
  .toast{bottom:calc(92px + env(safe-area-inset-bottom))}
}
.ic img{width:100%;height:100%;border-radius:10px;display:block}
.ic{background:none!important;overflow:hidden}
.who .av{width:26px;height:26px}
.empty{color:var(--muted);font-size:13.5px;line-height:1.6;padding:6px 0}
.addlink{display:block;width:100%;text-align:left;color:#E8A27E;font-weight:600;font-size:13.5px;padding:12px 0 2px}
.rowbtn{width:100%;text-align:left;display:flex;align-items:center;gap:11px}
.tl .txt{cursor:pointer}
select.tinput{appearance:none;-webkit-appearance:none}
.field{margin-bottom:12px}
.field label{display:block;font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.4px;text-transform:uppercase;margin-bottom:6px}
.danger{color:#E88B8B!important;border-color:#5A3333!important}
.chipx{display:inline-flex;align-items:center;gap:6px}
.qtags .opt{margin:0}
.sleepchips{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.localbar{position:absolute;left:0;right:0;bottom:calc(76px + env(safe-area-inset-bottom));text-align:center;font-size:11px;color:#9C8780;pointer-events:none;z-index:5}
/* gate (login / pairing) */
.gate{position:absolute;inset:0;z-index:70;background:radial-gradient(120% 80% at 50% 0%,#2A1D1E,#140F10);display:none;overflow-y:auto;padding:calc(60px + env(safe-area-inset-top)) 28px 40px}
.gate.show{display:block}
.gate .logo{width:84px;height:84px;border-radius:22px;display:block;margin:0 auto 22px}
.gate h2{font-family:Lora,serif;font-weight:500;font-size:30px;text-align:center;margin-bottom:8px;color:var(--plum)}
.gate .sub{text-align:center;color:var(--plum2);font-size:14.5px;line-height:1.6;margin-bottom:28px}
.gate .tinput{background:#231B1D;border-color:#3A2D2F;font-size:16px;padding:13px 14px}
.gate .err{color:#F0A0A0;font-size:13px;text-align:center;min-height:18px;margin:6px 0}
.gate .switch{display:block;margin:16px auto 0;color:#E8A27E;font-weight:600;font-size:14px}
.code{font-family:ui-monospace,Menlo,monospace;font-size:34px;letter-spacing:8px;text-align:center;color:#F3B285;background:#231B1D;border:1px solid #3A2D2F;border-radius:18px;padding:18px;margin:10px 0 18px}
.tinput,textarea.in{font-size:16px}
