/* QE V7 gate. Form type/spacing follows polytectonics gate.html and site.css347–372.
   The bordered panel, palette aliases and nonmodal fixed positioning adapt it to QE. */
html[data-theme] body > #password-dialog.qe-gate-panel {
  position:fixed;z-index:411;left:50%;top:50%;right:auto;bottom:auto;
  transform:translate(-50%,-50%);transform-origin:center;
  width:min(360px,calc(100vw - 40px));aspect-ratio:1;min-height:0;
  max-height:calc(100svh - 160px);overflow:auto;padding:28px;
  display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:28px;
  background:var(--paper);color:var(--ink);border:1px solid var(--hair);
  border-radius:0;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  --field-bg:var(--surface);--field-line:var(--hair);--ink-soft:var(--muted);
  --accent-ink:var(--on-accent);--neg:var(--error);
}
#password-dialog.qe-gate-panel .qe-gate-title {
  margin:0;width:min(100%,300px);font:700 10.5px/1.5 var(--body);
  color:var(--ink);letter-spacing:.13em;text-transform:uppercase;
}
#password-dialog.qe-gate-panel .gate-form{display:flex;flex-direction:column;gap:10px;width:min(100%,300px);margin:0}
#password-dialog.qe-gate-panel .gate-lab{
  font-family:var(--body);font-size:8px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-soft);
}
#password-dialog.qe-gate-panel .gate-input{
  min-width:0;width:100%;font-family:var(--body);font-size:13px;color:var(--ink);
  background:var(--field-bg);border:1px solid var(--field-line);
  border-radius:0;padding:10px 12px;outline:none;
  transition:border-color .15s,background .15s;
}
#password-dialog.qe-gate-panel .gate-input:focus{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:1px}
#password-dialog.qe-gate-panel .gate-input[aria-invalid=true]{border-color:var(--neg)}
#password-dialog.qe-gate-panel .gate-go{
  font-family:var(--body);font-size:8.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;cursor:pointer;
  background:var(--accent);color:var(--accent-ink);border:0;border-radius:0;padding:9px 12px;
  transition:opacity .15s;
}
#password-dialog.qe-gate-panel .gate-go:hover{opacity:.86}
#password-dialog.qe-gate-panel .gate-go:disabled{opacity:.45;cursor:default}
#password-dialog.qe-gate-panel .gate-go:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
html[data-theme] body #password-dialog.qe-gate-panel .gate-msg{
  font-family:var(--body);font-size:8.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--neg);min-height:1.5em;line-height:1.5;margin:0;
}
@media(max-width:600px){
  html[data-theme] body > #password-dialog.qe-gate-panel{left:50%;top:50%;right:auto;bottom:auto;padding:24px}
  #password-dialog.qe-gate-panel .gate-input{font-size:16px}
}
@media(prefers-reduced-motion:reduce){#password-dialog.qe-gate-panel *{transition:none!important}}

/* Short phones retain the square at the initial viewport center and scroll with the page. */
@media(max-width:600px) and (max-height:740px){
  html[data-theme] body > #password-dialog.qe-gate-panel{position:absolute;top:50svh}
}
