@import url('/palette.css');
@import url('/cinema.css');
/* Phone layouts keep navigation, account actions and form controls reachable. */
button,input,select,textarea,a { -webkit-tap-highlight-color: transparent; }
input,textarea,select { font-size:16px; }
button { min-height:44px; touch-action:manipulation; }
.text-button { padding:8px 0; color:var(--cyan); border:0; background:none; text-align:left; text-decoration:underline; text-underline-offset:4px; }
.text-link { display:inline-block; color:var(--cyan); margin-top:20px; line-height:1.6; }
#menuToggle { display:none; }
.sidebar-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.sidebar-foot { line-height:1.7; }
.sidebar-foot button { width:100%; }
.install-help { margin-top:12px; font-size:12px; }
.install-help summary { cursor:pointer; color:var(--cyan); }
.install-help p { font-size:12px; }
.auth-card { overflow-wrap:anywhere; }
#recoveryStatus { color:var(--turquoise); }
@media(max-width:790px) {
  .sidebar { padding:14px max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left)); border-right:0; border-bottom:1px solid #26384a; }
  #menuToggle { display:block; font-size:12px; flex-shrink:0; }
  #nav { display:none; }
  #nav.is-open { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; margin-top:14px; gap:6px; }
  .navBtn { width:100%; white-space:normal; font-size:13px; margin:0; min-height:48px; border:1px solid #26384a; }
  .sidebar-foot { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:12px 0 0; font-size:11px; }
  .sidebar-foot button { margin:0 0 0 auto; width:auto; padding:8px 12px; }
  .install-help { margin:0; width:100%; }
  main { padding:22px max(15px,env(safe-area-inset-right)) calc(26px + env(safe-area-inset-bottom)) max(15px,env(safe-area-inset-left)); }
  header { gap:18px; margin-bottom:24px; }
  #newBtn { width:100%; }
  .cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .card { padding:16px 12px; font-size:13px; }
  .entry .row { flex-direction:column; gap:12px; }
  .entry .buttons { width:100%; }
  .entry .buttons button { flex:1; }
  .entry h3,.entry p,.entry .muted { overflow-wrap:anywhere; }
  .filter input,.filter select { min-width:0; width:100%; max-width:none; }
  dialog { max-height:calc(100dvh - 20px); padding:20px; }
  dialog .actions { flex-wrap:wrap; }
  dialog .actions button { flex:1; }
  .auth-screen { padding:20px 14px; align-items:start; padding-top:max(32px,env(safe-area-inset-top)); }
  .auth-card { padding:24px 20px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; } }
