/* The public entrance deliberately uses the user's cinematic, neutral exception. */
.auth-scene,.auth-brandbar,.auth-hero { display:none; }
.auth-shell-panel { display:contents; }
.auth-landing { --control-height:48px; --cta-size:14px; --cta-weight:600; }
:root body .auth-landing :is([data-login],[data-signup]) { display:flex; justify-content:space-between; min-height:48px; padding:10px 16px; }
:root body .auth-landing [data-auth-mode] { min-width:0; min-height:44px; }
.cloud-sync-dialog [hidden] { display:none !important; }
.auth-mode-switch { display:flex; gap:28px; border-bottom:1px solid #353538; margin-bottom:12px; }
.auth-mode-switch button { background:none; border:0; border-radius:0; min-height:44px; padding:0 0 10px; color:#a4a4ad; font:inherit; cursor:pointer; }
.auth-mode-switch button[aria-pressed="true"] { color:#eeeef0; box-shadow:inset 0 -1px #eeeef0; }
.cloud-sync-dialog.auth-landing[open] { --auth-text:#eeeef0; --auth-muted:#a4a4ad; position:fixed; inset:0; margin:0; width:100%; height:100%; max-width:none; max-height:none; border:0; border-radius:0; padding:36px max(32px,calc((100vw - 1280px)/2)); overflow:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,420px); grid-template-rows:auto 1fr; column-gap:clamp(40px,8vw,128px); row-gap:36px; background:#0d0e0f; color:var(--auth-text); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; isolation:isolate; box-sizing:border-box; }
.auth-landing *, .auth-landing *::before, .auth-landing *::after { box-sizing:border-box; }
.auth-landing::backdrop { background:#0d0e0f; }
.auth-landing .auth-scene { display:block; position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; background:radial-gradient(ellipse at 50% 35%,#414144 0%,#1a1b1d 40%,#0d0e0f 75%); }
.auth-video { width:100%; height:100%; object-fit:cover; filter:grayscale(1); opacity:0; transition:opacity .6s ease; }
.has-video .auth-video { opacity:.6; }
.auth-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,10,11,.88),rgba(9,10,11,.08) 55%,rgba(9,10,11,.44)),linear-gradient(0deg,#0d0e0f 0%,transparent 75%); }
.auth-grid { position:absolute; inset:0; display:flex; justify-content:space-evenly; }
.auth-grid i { width:1px; background:rgba(255,255,255,.07); }
.auth-glow { position:absolute; top:0; left:10%; width:80%; height:50%; }
.auth-landing .auth-brandbar { display:flex; align-items:center; justify-content:space-between; grid-column:1/-1; gap:24px; }
.auth-brand { display:flex; align-items:center; gap:12px; font-size:20px; font-weight:700; letter-spacing:-.5px; }
.auth-brand svg { width:28px; height:28px; }
.auth-header-tools { display:flex; align-items:center; gap:12px; }
.auth-header-tools:empty { display:none; }
.auth-landing .auth-hero { display:block; align-self:center; padding:24px 0; min-width:0; }
.auth-eyebrow { margin:0 0 16px; color:#b8b8bd; font-size:12px; font-weight:500; letter-spacing:2px; }
.auth-hero h1 { font-size:clamp(38px,4.6vw,66px); font-weight:600; letter-spacing:-2px; line-height:1.25; margin:0; }
.auth-hero h1 span { color:#b6b6bc; }
.auth-hero-description { max-width:512px; font-size:14px; color:#b8b8bd; line-height:1.9; margin:24px 0; }
.auth-landing .auth-shell-panel { display:block; align-self:center; min-width:0; background:rgba(20,21,23,.30); border:1px solid rgba(255,255,255,.18); border-radius:8px; padding:32px; backdrop-filter:blur(20px) saturate(.85); -webkit-backdrop-filter:blur(20px) saturate(.85); box-shadow:inset 0 1px 0 #ffffff0d,0 24px 80px #0003; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) { .auth-landing .auth-shell-panel { background:rgba(20,21,23,.90); } }
@media (prefers-reduced-transparency:reduce) { .auth-landing .auth-shell-panel { background:rgba(20,21,23,.95); backdrop-filter:none; -webkit-backdrop-filter:none; } }
.auth-landing .cloud-sync-head { padding:0; border:0; margin-bottom:24px; }
.auth-landing .cloud-sync-head h2 { font-size:24px; font-weight:600; letter-spacing:-.5px; }
.auth-landing .cloud-sync-head-icon,.auth-landing .cloud-sync-foot,.auth-landing .cloud-sync-body > .cloud-sync-note { display:none; }
.auth-landing .cloud-sync-body { padding:0; overflow:visible; }
.auth-landing .cloud-sync-fields { gap:18px; }
.auth-landing .cloud-sync-fields label { gap:8px; color:#c6c6ce; font-size:13px; }
.auth-landing .cloud-sync-fields input { height:48px; border:1px solid var(--control-border,#41444b); border-radius:6px; background:var(--control-bg,#121315); color:var(--text,#eeeef0); padding:12px; font-family:inherit; font-size:16px; font-weight:400; line-height:1.5; }
@media (hover:hover) and (pointer:fine) { [data-ui-hover="true"] .auth-landing .cloud-sync-fields input:not(:disabled):not([readonly]):not(:focus):hover { background:var(--control-hover,#1b1c1f); border-color:var(--control-hover-border,#626671); } }
.auth-landing .cloud-sync-fields input:is(:focus,:focus-visible) { outline:none; border-color:var(--ui-focus,#9fa4b2); background:var(--control-bg,#121315); box-shadow:none; }
/* Also covers the standalone login preview, which does not load the app stylesheet. */
:root body .cloud-sync-dialog input:is(:autofill,:-webkit-autofill),
:root body .cloud-sync-dialog input:is(:autofill,:-webkit-autofill):is(:hover,:focus,:focus-visible) {
  -webkit-box-shadow:0 0 0 1000px var(--control-bg,#121315) inset !important;
  box-shadow:0 0 0 1000px var(--control-bg,#121315) inset !important;
  -webkit-text-fill-color:var(--text,#eeeef0); caret-color:var(--text,#eeeef0);
}
.auth-landing button { font-family:inherit; cursor:pointer; transition:background .16s,color .16s,border-color .16s; -webkit-tap-highlight-color:transparent; }
.auth-landing button:focus-visible { outline:2px solid #9fa4b2; outline-offset:3px; }
.auth-landing button:disabled { opacity:.5; cursor:default; }
.auth-landing button.primary { min-height:48px; border:1px solid #e6e6e8; background:#e6e6e8; color:#18181a; border-radius:6px; padding:10px 16px; font-size:14px; font-weight:600; }
.auth-landing .cloud-login-actions,.auth-landing .cloud-register-panel { display:block; margin:0; padding:0; background:none; border:0; }
.auth-landing .cloud-register-panel p { color:#a4a4ad; font-size:12px; line-height:1.7; margin:0 0 18px; }
.auth-landing .cloud-login-actions button,.auth-landing .cloud-register-panel button { width:100%; display:flex; justify-content:space-between; align-items:center; }
.cloud-sync-dialog.auth-landing .cloud-forgot { justify-self:end; min-height:44px; margin:-10px 0; }
.cloud-sync-dialog.auth-landing .cloud-forgot span { color:#fbbf24; }
.auth-landing .cloud-sync-status { background:none; border:0; border-radius:0; padding:0; margin:20px 0 0; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.auth-landing .cloud-sync-status:empty { display:none; }
.auth-landing .cloud-password-toggle { height:44px; width:44px; top:auto; bottom:2px; }
.auth-landing .cloud-sync-fields .cloud-password-row input { padding-right:48px; }
.auth-landing[data-auth-state="loading"] .cloud-sync-body > :not([data-status]) { display:none !important; }
[data-ui-hover="true"] .auth-landing button.primary:hover:not(:disabled) { background:#fff; border-color:#fff; }
[data-ui-hover="true"] .auth-landing .auth-mode-switch button:hover { color:#fff; }
.auth-landing button.primary:active:not(:disabled) { background:#ceced2; }
@media (max-width:900px) {
  .cloud-sync-dialog.auth-landing[open] { padding:28px; column-gap:32px; grid-template-columns:minmax(0,1fr) minmax(310px,370px); }
  .auth-hero h1 { font-size:40px; }
  .auth-landing .auth-shell-panel { padding:26px; }
}
@media (max-width:700px) {
  .cloud-sync-dialog.auth-landing[open] { padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto 1fr; gap:28px; }
  .auth-brand { font-size:18px; }
  .auth-grid,.auth-eyebrow { display:none; }
  .auth-landing .auth-hero { padding:12px 0 0; width:min(100%,420px); margin:auto; }
  .auth-hero h1 { font-size:36px; letter-spacing:-1px; line-height:1.3; }
  .auth-hero-description { font-size:12px; line-height:1.7; margin:14px 0 0; }
  .auth-hero-description br { display:none; }
  .auth-landing .auth-shell-panel { width:min(100%,420px); margin:0 auto; padding:24px; align-self:start; }
  .auth-landing .cloud-sync-head h2 { font-size:22px; }
  .auth-landing .cloud-sync-head { margin-bottom:18px; }
  .auth-landing .cloud-sync-fields { gap:16px; }
  .auth-shade { background:linear-gradient(180deg,#0d0e0f66,rgba(13,14,15,.6) 40%,#0d0e0f); }
}
@media (max-height:600px) and (min-width:701px) { .auth-landing .auth-hero { padding:0; } }
@media (prefers-reduced-motion:reduce) { .auth-landing *, .auth-video { transition:none !important; } }
