/* Wonderphase AI — sign-in dialog, beta list (auth.js). Builds on the account dialog primitives (.ac-dlg, .ac-form, .u-field, .u-btn). */
.au-form .ac-p{margin:0 0 14px}
.au-google{display:flex;align-items:center;justify-content:center;gap:10px;height:46px;border:1px solid var(--line);border-radius:12px;background:var(--p1,#fff);color:var(--tx);font:600 15px/1 var(--ui,inherit);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.au-google:hover{border-color:var(--tx);box-shadow:0 2px 10px rgba(0,0,0,.08);transform:translateY(-1px)}
.au-google:focus-visible{outline:2px solid var(--red,#E8322E);outline-offset:2px}
.au-google.busy{opacity:.6;pointer-events:none}
.au-gl{width:18px;height:18px;flex:0 0 18px}
.au-apple .au-gl{color:var(--tx)}
html[data-theme="light"] .au-google{background:#fff}
.au-or{display:flex;align-items:center;gap:12px;margin:16px 0 14px;color:var(--dim);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
.au-or::before,.au-or::after{content:"";flex:1;height:1px;background:var(--line)}
.au-terms{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:13.5px;line-height:1.45;color:var(--dim)}
.au-terms input{margin:3px 0 0;width:16px;height:16px;flex:0 0 16px;accent-color:var(--red,#E8322E)}
.au-terms a{color:var(--tx);text-decoration:underline;text-underline-offset:2px}
.au-alt{margin:14px 0 0;font-size:13.5px;color:var(--dim)}
.au-alt a{color:var(--tx);text-decoration:underline;text-underline-offset:2px}
.au-alt a[aria-disabled="true"]{color:var(--dim);text-decoration:none;cursor:default}
.au-off{color:var(--dim)}
.au-link{background:none;border:0;padding:0;margin:0;font:inherit;color:var(--tx);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.au-link:disabled{color:var(--dim);text-decoration:none;cursor:default}
.au-terms-f{margin:0}.au-terms-f .err{display:block;margin-top:6px}
.au-admit .u-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.au-code{font-family:var(--mono,"JetBrains Mono",ui-monospace,monospace);font-size:26px;letter-spacing:.42em;text-align:center;padding-left:.42em;height:56px}
.au-code::placeholder{letter-spacing:.3em;color:var(--line)}
/* beta list sheet */
.au-muted{color:var(--dim);font-size:14px;margin:0 0 14px}
.au-admit{display:flex;gap:8px;margin:0 0 16px}
.au-admit .u-input{flex:1;min-width:0}
.au-table{width:100%;border-collapse:collapse;font-size:13.5px}
.au-table th{text-align:left;font-weight:600;color:var(--dim);font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:0 8px 8px 0;border-bottom:1px solid var(--line)}
.au-table td{padding:9px 8px 9px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.au-table td small{display:block;color:var(--dim);font-size:12px}
.au-table .num,.au-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.au-table .act{text-align:right;white-space:nowrap}
.au-table tr.pend td{color:var(--dim)}
@media (max-width:640px){.au-table th:nth-child(4),.au-table td:nth-child(4){display:none}.au-table .act .u-btn{padding:6px 8px}}

/* Higgsfield-style welcome dialog: centred mark + title, stacked actions; the generic dialog header is kept for a11y but hidden */
.ac-dlg.au-dlg>header{position:absolute;top:0;left:0;right:0;border:0;background:transparent;padding:12px 12px 0;justify-content:flex-end;pointer-events:none}
.ac-dlg.au-dlg>header h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ac-dlg.au-dlg>header .ac-x{pointer-events:auto}
.ac-dlg.au-dlg .ac-body{padding-top:28px}
.au-head{text-align:center;margin:0 0 18px}
.au-title{font:700 24px/1.15 var(--ui,inherit);text-transform:none;letter-spacing:-.01em;margin:0 0 6px;color:var(--tx)}
.au-sub{margin:0;color:var(--dim);font-size:14px;line-height:1.5}
.au-sub b{color:var(--tx)}
.au-cta{width:100%;height:46px;margin-top:10px;justify-content:center;font-size:15px}
.au-cta[disabled]{opacity:.45}
.au-switch{margin:16px 0 0;text-align:center;font-size:13.5px;color:var(--dim)}
.au-fine{margin:12px 0 0;text-align:center;font-size:12.5px;line-height:1.45;color:var(--dim)}
/* first-run questions */
.au-step{margin:0 0 4px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--red,#E8322E)}
.au-ob .au-title{text-align:left;font-size:22px}
.au-ob .au-sub{margin-bottom:16px}
.au-lab{margin:14px 0 8px;font-weight:600;font-size:13.5px;color:var(--tx)}
.au-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.au-tiles.two{grid-template-columns:repeat(2,1fr)}
.au-tile{display:flex;flex-direction:column;gap:3px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--p1,transparent);color:var(--tx);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.au-tile b{font-weight:600;font-size:14.5px}
.au-tile small{color:var(--dim);font-size:12.5px;line-height:1.35}
.au-tile:hover{border-color:var(--tx);transform:translateY(-1px)}
.au-tile.on{border-color:var(--red,#E8322E);box-shadow:0 0 0 1px var(--red,#E8322E) inset}
.au-done{text-align:center}
.au-done .au-title{text-align:center}
.au-steps{margin:18px 0 0;padding:0 0 0 20px;text-align:left;color:var(--dim);font-size:14px;line-height:1.5}
.au-steps li{margin:0 0 8px}
.au-steps b{color:var(--tx);font-weight:600}
@media (max-width:640px){.au-tiles{grid-template-columns:1fr 1fr}.au-tiles.two{grid-template-columns:1fr}}
/* top bar: Log in + Sign up for visitors on a live server */
.tr-auth{display:inline-flex;gap:8px;align-items:center}
.tr-auth button{height:36px;padding:0 14px;border-radius:11px;font:600 13.5px/1 var(--ui,"Jost",sans-serif);cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.tr-login{border:1px solid var(--line);background:transparent;color:var(--tx)}
.tr-login:hover{border-color:var(--tx)}
.tr-signup{border:1px solid var(--red,#E8322E);background:var(--red,#E8322E);color:#fff}
.tr-signup:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(232,50,46,.28)}
@media (max-width:560px){.tr-login{display:none}.tr-auth button{padding:0 11px;font-size:12.5px}}
/* sign-in showcase: our own generations + model capability beside the form (Higgsfield-style split) */
.ac-dlg.au-dlg.au-wide{width:min(940px,100%);overflow:hidden}
.ac-dlg.au-wide .ac-body{padding:0;overflow:hidden;display:flex}
.au-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;max-height:min(88vh,860px);max-height:min(88dvh,860px)}
.au-show{position:relative;background:#0b0b0d;min-height:600px;overflow:hidden;isolation:isolate}
.au-slides,.au-sl{position:absolute;inset:0;margin:0}
.au-sl{opacity:0;transition:opacity .7s ease}.au-sl.on{opacity:1}
.au-sl img,.au-sl video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.au-sl video{background:transparent}
.au-cap{position:absolute;left:0;right:0;bottom:0;padding:70px 24px 20px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,.82) 100%);color:#fff}
.au-kick{display:block;font-family:var(--mono,"JetBrains Mono",monospace);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#ff6b67;margin:0 0 8px}
.au-cap h4{margin:0 0 7px;font:600 21px/1.2 var(--ui,inherit);letter-spacing:-.01em;text-transform:none;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.au-cap p{margin:0;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.86)}
.au-chip{display:inline-block;vertical-align:1px;margin:0 8px 0 0;padding:4px 8px;border:1px solid rgba(255,255,255,.45);border-radius:999px;font:600 11px/1 var(--mono,"JetBrains Mono",monospace);letter-spacing:.04em;color:#fff;background:rgba(255,255,255,.08)}
.au-dots{display:flex;gap:6px;margin:16px 0 0}
.au-dots button{flex:1;height:14px;padding:5px 0;margin:0;border:0;background:transparent;cursor:pointer;position:relative}
.au-dots button::before{content:"";position:absolute;left:0;right:0;top:6px;height:3px;border-radius:2px;background:rgba(255,255,255,.3)}
.au-dots button::after{content:"";position:absolute;left:0;right:0;top:6px;height:3px;border-radius:2px;background:#fff;transform:scaleX(0);transform-origin:left}
.au-dots button.on::after{animation:au-prog var(--d,7000ms) linear forwards}
.au-dots button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@keyframes au-prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.au-pane{overflow-y:auto;padding:38px 30px 26px;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.au-pane .au-head{margin-top:2px}
@media (max-width:720px){
  .ac-dlg.au-dlg.au-wide{overflow:hidden}.ac-dlg.au-wide .ac-body{overflow-y:auto;display:block}
  .au-split{display:block;max-height:none}
  .au-show{min-height:0;aspect-ratio:16/9;max-height:230px}
  .au-cap{padding:40px 18px 14px}.au-cap h4{font-size:17px}.au-cap p{font-size:12.5px}.au-kick{margin-bottom:5px}.au-dots{margin-top:10px}
  .au-pane{overflow:visible;padding:22px 18px 20px}
  .ac-dlg.au-wide>header .ac-x{color:#fff;background:rgba(0,0,0,.4);border-radius:999px}
}
@media (prefers-reduced-motion:reduce){.au-sl{transition:none}.au-dots button.on::after{animation:none;transform:none}}
.au-by{margin:18px 0 0;padding-top:12px;border-top:1px solid var(--line);text-align:center;font-size:11.5px;line-height:1.45;color:var(--dim)}
.au-by a{color:var(--dim);text-decoration:underline;text-underline-offset:2px}
.au-by a:hover{color:var(--tx)}

/* ── sign-in grid (31 Oct, after the Higgsfield login page): logo tile · title · one grey line · form · links, vertically centred, 12 px steps ──
   1 Nov: centred with justify-content (the old ::before spacer + margin-top:auto footer pushed the whole form to the bottom of a tall pane) */
.au-form.ac-form{gap:0;min-height:100%;justify-content:center}
.au-logo{display:block;width:40px;height:40px;margin:0 auto 16px;border-radius:11px;overflow:hidden;box-shadow:0 6px 18px rgba(232,50,46,.22)}
.au-logo img{display:block;width:40px;height:40px}
.au-head{margin:0 0 24px}
.au-title{font:700 22px/1.2 var(--ui,inherit);text-transform:none;letter-spacing:-.01em;margin:0 0 6px;color:var(--tx)}
.au-sub{margin:0;color:var(--dim);font-size:13.5px;line-height:1.45}
.au-google{height:44px;border-radius:11px;font-size:14.5px;margin:0}
.au-google+.au-google{margin-top:10px}
.au-or{margin:12px 0;font-size:11.5px}
.au-form .u-field{gap:0;margin:0}
.au-form .u-field:not(.au-terms-f)>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.au-form .u-input{height:44px;border-radius:11px;font-size:14.5px}
.au-form .u-field .hint{margin-top:8px;font-size:12px}
.au-form .u-field .err{margin-top:6px}
.au-cta{height:44px;margin:12px 0 0;border-radius:11px;font-size:14.5px}
.au-terms-f{margin:14px 0 0}
.au-terms{position:static;margin:0;font-size:12.5px;line-height:1.45}
.au-switch{margin:18px 0 0;font-size:13px}
.au-fine{margin:10px 0 0;font-size:12px}
.au-code{font-size:22px;letter-spacing:.34em;padding-left:.34em;height:48px}
.au-by{margin:20px 0 0;padding-top:0;border-top:0;font-size:11.5px}
.au-pane{padding:34px 36px 22px;display:flex;flex-direction:column}
.au-pane .au-head{margin-top:0}
.au-ob .au-title{font-size:21px}
@media (max-width:720px){
  .au-pane{padding:24px 20px 18px;display:block}
  .au-form.ac-form{min-height:0}
  .au-logo{width:36px;height:36px;margin-bottom:12px}.au-logo img{width:36px;height:36px}
  .au-head{margin-bottom:20px}.au-title{font-size:20px}.au-sub{font-size:13px}
  .au-by{margin-top:18px}
}

/* ── phone sign-in (31 Oct 2026): ONE field for email or mobile number; the country code slides in when the value starts with digits or "+" ── */
.au-tel{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.au-tel.tel{grid-template-columns:auto minmax(0,1fr)}
.au-ccw{position:relative;display:block;min-width:108px}
.au-ccw[hidden]{display:none}
.au-ccw .au-cc{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
.au-cc-show{display:flex;align-items:center;gap:6px;height:44px;padding:0 10px 0 12px;border:1px solid var(--line);border-radius:11px;background:var(--p2);color:var(--tx);font-size:14.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.au-cc-show .fl{font-size:19px;line-height:1}
.au-cc-show::after{content:"";margin-left:auto;width:0;height:0;border:4px solid transparent;border-top-color:var(--dim);transform:translateY(2px)}
.au-ccw:focus-within .au-cc-show{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}
.au-form .u-field.bad .au-cc-show{border-color:var(--hot-tx)}
@media (max-width:720px){.au-ccw{min-width:100px}.au-cc-show{padding:0 8px 0 10px;font-size:14px}}
