/* Auth modal + nav — Soft-launch design system */
.nav-auth{
  all:unset;cursor:pointer;font-family:var(--display);font-size:1.05rem;font-weight:500;
  color:var(--ink-2);padding:.2rem .15rem
}
.nav-auth:hover{color:var(--ink)}
.nav-auth--out{color:var(--brass)}
.nav-auth--out:hover{color:var(--btn-hover)}

/* Kill native <dialog> overflow/scroll flash (UA max-height + focus ring).
   Same soft outer curve as .walk-busy so corners aren't clipped square. */
.gq-modal,
.gq-modal[open]{
  border:none !important;padding:0 !important;margin:auto;
  width:min(26rem,calc(100vw - 2rem));
  max-width:calc(100vw - 2rem);
  max-height:none !important;
  height:fit-content !important;
  border-radius:1.25rem !important;
  overflow:hidden !important;
  overflow-x:hidden !important;
  overflow-y:hidden !important;
  overscroll-behavior:none;
  background:transparent;color:var(--ink);
  box-shadow:0 24px 60px rgba(var(--shadow-ink),.35);
  scrollbar-width:none !important;
  -ms-overflow-style:none !important
}
.gq-modal::-webkit-scrollbar,
.gq-modal__panel::-webkit-scrollbar{width:0 !important;height:0 !important;display:none !important}
/* Soft blur over the live page — never a solid grey sheet */
.gq-modal::backdrop{
  background:color-mix(in srgb,var(--ground) 18%,transparent);
  backdrop-filter:blur(14px) saturate(1.05);
  -webkit-backdrop-filter:blur(14px) saturate(1.05)
}
.gq-modal__panel{
  margin:0;border:1px solid var(--rule);
  border-radius:1.25rem !important;
  background:var(--elev);padding:1.35rem 1.35rem 1.25rem;position:relative;
  box-shadow:none;
  overflow:hidden;
  max-height:none;
  box-sizing:border-box;
  animation:gqModalIn .22s ease both
}
@keyframes gqModalIn{
  from{opacity:0}
  to{opacity:1}
}
.gq-modal__close{
  all:unset;cursor:pointer;position:absolute;right:.7rem;top:.55rem;
  width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;
  font-size:1.4rem;color:var(--ink-3);border-radius:var(--radius-btn,12px);
  transition:background .2s ease,color .2s ease
}
.gq-modal__close:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}
.gq-modal__eyebrow{
  margin:0 0 .35rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--brass)
}
.gq-modal__title{margin:0 0 .35rem;font-family:var(--display);font-weight:500;font-size:1.65rem;line-height:1.1}
.gq-modal__sub{margin:0 0 1rem;color:var(--ink-2);font-size:.95rem}
.gq-modal__label{display:block;margin:0 0 .3rem;font-size:.88rem;color:var(--ink-2)}
.gq-modal__input{
  width:100%;box-sizing:border-box;min-height:44px;margin:0 0 .85rem;padding:.55rem .75rem;
  border:1.5px solid var(--rule);border-radius:var(--radius-btn,12px);background:var(--panel-soft);color:var(--ink);font:inherit
}
.gq-modal__input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 2px color-mix(in srgb,var(--cyan) 55%,transparent)}
/* Focus ring must not inflate dialog scrollHeight (outline-offset caused modal scrollbar flash) */
html:has(.gq-modal[open]),
html:has(.gq-modal[open]) body{
  overflow:hidden !important;
  overscroll-behavior:none
}
.gq-modal__panel,
.gq-modal__panel *{
  scrollbar-width:none
}
.gq-modal__panel::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important}
.gq-modal__consent{margin:0 0 .85rem}
.gq-modal__consent-label{display:flex;gap:.55rem;align-items:flex-start;font-size:.82rem;color:var(--ink-2);line-height:1.4;cursor:pointer}
.gq-modal__consent-label input{margin-top:.2rem;flex:none}
.gq-modal__consent-label a{color:var(--cyan)}
.gq-modal__err-block{margin:0 0 .75rem}
.gq-modal__err{margin:0 0 .45rem;color:var(--warn);font-size:.9rem}
.gq-modal__actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.25rem}
.gq-modal__actions .cta-btn{flex:1 1 auto}
.gq-toast{
  position:fixed;z-index:200;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 1.25rem);
  transform:translateX(-50%) translateY(120%);opacity:0;pointer-events:none;
  padding:.65rem 1rem;border-radius:var(--radius-btn,12px);border:1px solid var(--rule);background:var(--elev);color:var(--ink);
  font-family:var(--display);font-size:1rem;box-shadow:0 12px 32px rgba(var(--shadow-ink),.25);
  transition:transform .25s ease,opacity .25s ease;max-width:min(28rem,92vw);text-align:center
}
.gq-toast.on{transform:translateX(-50%) translateY(0);opacity:1}
