/* Account entry uses the same approved palette and typography as the app. */
html.account-locked body > :not(#accountGate):not(script):not(noscript) { display: none !important; }
html.account-locked body { padding: 0; overflow: auto; }
#accountGate[hidden] { display: none; }
#accountGate { min-height: 100svh; display: grid; place-items: center; padding: max(24px,env(safe-area-inset-top)) 32px max(24px,env(safe-area-inset-bottom)); background: var(--canvas); }
.account-welcome { width: 100%; max-width: 1200px; margin: auto; }
.welcome-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; padding:0 0 28px; }
.account-brand { display:flex; flex:none; white-space:nowrap; overflow-wrap:normal; align-items:center; gap:10px; margin:0; font-weight:750; font-size:27px; letter-spacing:-1px; color:var(--purple); font-family:Georgia,"Times New Roman",serif; }
.account-brand img { width:42px; height:42px; border-radius:12px; flex:none; }
.welcome-tools { display:flex; flex:none; align-items:center; gap:12px; max-width:100%; margin-inline-start:auto; }
.welcome-tools select { appearance:none; -webkit-appearance:none; width:auto; min-width:0; min-height:44px; margin:0; padding:10px 26px 10px 10px; border:0; border-radius:10px; background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%2385757d' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 8px center; color:var(--ink); font:500 .875rem/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; cursor:pointer; }
.welcome-tools .welcome-theme { width:44px; height:44px; padding:11px; margin:0; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--ink); flex:none; }
.welcome-theme svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; }
.welcome-layout { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,1fr); gap:clamp(32px,6vw,88px); align-items:stretch; }
.welcome-editorial { display:none; position:relative; overflow:hidden; isolation:isolate; margin:0; border-radius:28px; background:#443e30; }
.welcome-editorial>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 62%; }
.welcome-editorial figcaption { position:relative; align-self:end; padding:100px 32px 34px; background:linear-gradient(transparent,rgba(24,23,17,.84)); color:#fff9ec; }
.welcome-editorial figcaption span { display:block; max-width:9em; font:500 clamp(2rem,3.7vw,3.5rem)/1.05 Georgia,"Times New Roman",serif; letter-spacing:-.04em; text-wrap:balance; }
.welcome-editorial figcaption p { margin:14px 0 0; max-width:26em; font-size:.875rem; line-height:1.5; color:#fff9ec; }
.welcome-entry { min-width:0; display:flex; flex-direction:column; justify-content:center; padding:32px 0; }
.welcome-entry-content { width:100%; max-width:460px; margin:auto; }
.welcome-benefits { display:none; list-style:none; margin:32px 0; padding:0; gap:18px; }
.welcome-benefits li { display:flex; align-items:center; gap:12px; color:var(--ink); font-size:.9375rem; line-height:1.4; }
.welcome-benefits svg { width:21px; height:21px; fill:none; stroke:var(--purple); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.welcome-privacy { margin-top:22px; }
.welcome-privacy summary { display:flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:8px; border-radius:8px; color:var(--muted); font-size:.8125rem; font-weight:500; list-style:none; cursor:pointer; }
.welcome-privacy summary::-webkit-details-marker { display:none; }
.welcome-privacy summary::after { content:'+'; margin-left:3px; font-size:1rem; }
.welcome-privacy[open] summary::after { content:'−'; }
.welcome-privacy svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.5; flex:none; }
.welcome-privacy .account-privacy { margin:8px 0 0; padding:14px 16px; border:1px solid var(--line); border-radius:14px; font-size:.8125rem; }
.welcome-signoff { display:none; text-align:center; margin:32px 0 0; color:var(--muted); font:italic 1rem/1.5 Georgia,"Times New Roman",serif; }
.account-signin .welcome-editorial { display:grid; min-height:590px; }
.account-signin .welcome-benefits { display:grid; }
.account-signin .welcome-signoff { display:block; }
#accountGate:not(.account-signin) .welcome-layout { display:block; }
#accountGate:not(.account-signin) .welcome-entry { min-height:50svh; }
#accountTitle { font: inherit; font-size: clamp(32px,7vw,44px); font-weight: 750; line-height: 1.1; letter-spacing: -1.6px; margin: 0 0 20px; }
#accountMessage { font-size: 17px; line-height: 1.6; margin: 0 0 32px; color: var(--text-secondary,#647087); }
/* Short entry copy fits on one line at normal text size; larger accessible text can wrap. */
.account-signin #accountTitle { font-size: clamp(1.35rem, 5.8vw, 2.125rem); letter-spacing: -.045em; margin-bottom:12px; }
.account-signin #accountMessage { font-size: 1rem; }
#accountControls { display: grid; gap: 12px; }
#accountControls form { margin: 0; display: block; }
#accountControls button { width: 100%; min-height: 52px; margin: 0; padding: 14px 20px; font-size: 16px; font-weight: 650; line-height: 1.4; border-radius: 14px; overflow-wrap: normal; white-space: normal; }
.account-primary { background: var(--purple); color: var(--on-accent); border: 1px solid transparent; }
#accountControls .account-google { display:flex; align-items:center; justify-content:center; gap:12px; background:#fff; color:#1f1f1f; border:1px solid #747775; font-weight:500; }
.account-google img { width:20px; height:20px; flex:none; object-fit:contain; }
.account-secondary { background: transparent; color: inherit; border: 1px solid #a5acc050; }
.account-privacy { margin: 28px 0 0; font-size: 13px; line-height: 1.6; color: var(--text-secondary,#647087); }
#accountSyncNotice { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 14px; margin: 16px 0; border: 1px solid #a5acc050; border-radius: 12px; }
#accountSyncNotice[hidden] { display: none; }
#accountSyncNotice span { flex: 1 0 100%; font-size: 14px; }
#accountSyncNotice button { min-height: 44px; font-size: 14px; }
#accountEmail { overflow-wrap: anywhere; }
.language-field { display: grid; gap: 8px; margin-block: 20px; font-size: 14px; font-weight: 600; }
.language-field select { width: 100%; height: 48px; min-height: 48px; padding: 10px 14px; border-radius: 12px; border: 1px solid #8893aa60; background: var(--surface,#fff); color: inherit; font: inherit; font-size: 16px; }
html[lang="es"] .bottom-nav { overflow-wrap: normal; }
[data-theme="dark"] #accountGate { background: var(--canvas); color: var(--ink); }
[data-theme="dark"] #accountMessage,[data-theme="dark"] .account-privacy { color: var(--muted); }

@media (min-width:900px) {
  .account-signin #accountMessage { margin-bottom:0; }
  .account-signin .welcome-entry-content { padding-top:50px; }
  .account-signin .welcome-signoff { margin-top:auto; padding-top:40px; }
}
@media (max-width:899px) {
  #accountGate { padding:max(16px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom)); place-items:start center; }
  .account-welcome { max-width:560px; }
  .welcome-header { gap:12px; padding-bottom:20px; }
  .welcome-layout { grid-template-columns:minmax(0,1fr); gap:0; }
  .account-signin .welcome-editorial { min-height:clamp(180px,28svh,280px); height:auto; border-radius:22px; }
  .welcome-editorial>img { object-position:50% 59%; }
  .welcome-editorial figcaption { padding:65px 22px 22px; }
  .welcome-editorial figcaption span { max-width:12em; font-size:2rem; }
  .welcome-editorial figcaption p { display:none; }
  .welcome-entry { padding:28px 0 0; }
  .welcome-entry-content { max-width:none; }
  .account-signin #accountTitle { font-size:clamp(1.35rem,5.9vw,2rem); }
  .account-signin #accountMessage { font-size:clamp(.875rem,3.6vw,1rem); margin-bottom:0; }
  .welcome-benefits { margin:24px 0; gap:13px; }
  .welcome-benefits li { font-size:.875rem; }
  .welcome-benefits svg { width:19px; height:19px; }
  .welcome-privacy { margin-top:10px; }
  .welcome-signoff { margin:14px 0 0; font-size:.875rem; }
}
@media (max-width:380px) {
  #accountGate { padding-inline:18px; }
  .account-brand { gap:6px; font-size:22px; }
  .account-brand img { width:34px; height:34px; border-radius:10px; }
  .welcome-tools { gap:2px; }
  .welcome-tools select { padding-inline:6px 22px; font-size:.8125rem; }
  .welcome-tools .welcome-theme { width:38px; height:38px; min-height:44px; padding:8px; border:0; }
}
@media (prefers-reduced-motion:no-preference) {
  .account-signin .welcome-editorial>img { animation:welcome-settle .65s ease-out both; }
  @keyframes welcome-settle { from {opacity:0;transform:scale(1.025)} to {opacity:1;transform:scale(1)} }
}
