/* Sign-in card (RIPA profile, Bjorn 2026-11-03): g-glass card, radius-lg 22, one display heading in Outfit,
   the official Apple (black) and Google (outline, rendered by Google) buttons, links in g-accent. */
html body .auth-gate .auth-gate-card{
  gap:12px!important;padding:16px!important;border:0!important;border-top:1px solid var(--g-edge)!important;border-radius:22px!important;
  background:var(--g-glass)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 18px 40px rgba(var(--g-shadow-rgb),.18)!important;
}
html body .auth-gate .sign-in,
html body .auth-gate .password-sign-in{display:grid;gap:12px;min-width:0}
html body .auth-gate .sign-in[hidden],
html body .auth-gate .password-sign-in[hidden],
html body .auth-gate .sign-in [hidden]{display:none!important}
html body .auth-gate .password-sign-in>label{font-size:0!important;gap:0!important}
html body .auth-gate .sign-in-title{margin:2px 0 0;text-align:center;color:var(--g-ink);font:600 22px/1.25 Outfit,Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
html body .auth-gate .sign-in-sub{margin:0 0 4px;text-align:center;color:var(--g-muted);font:400 14px/1.4 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
html body .auth-gate .sign-in-apple{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin:0;padding:0 16px;
  border:0;border-radius:14px;background:#000;color:#fff;cursor:pointer;
  font:600 15px/1 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
html body .auth-gate .sign-in-apple svg{flex:none;margin-top:-2px}
html body .auth-gate .sign-in-apple:focus-visible,
html body .auth-gate .sign-in-other:focus-visible{outline:2px solid var(--g-accent);outline-offset:2px}
html body .auth-gate .sign-in-google{display:flex;justify-content:center;min-height:44px;width:100%}
html body .auth-gate .sign-in-note{color:var(--g-muted);font:400 13px/1.4 Inter,system-ui,sans-serif;text-align:center}
html body .auth-gate .sign-in-note:empty{display:none}
html body .auth-gate .sign-in-other{
  justify-self:center;min-height:32px;margin:0;padding:0 8px;border:0;background:none;color:var(--g-accent);cursor:pointer;
  font:500 14px/32px Inter,system-ui,sans-serif;
}
html body .auth-gate .auth-gate-legal{margin:0!important;color:var(--g-muted);font:400 13px/1.45 Inter,system-ui,sans-serif!important}
html body .auth-gate .auth-gate-legal a{color:var(--g-accent)}
/* Existing email + password accounts only (no new password accounts once Apple/Google are on). */
html body .auth-gate .password-sign-in.existing-only .auth-gate-divider,
html body .auth-gate .password-sign-in.existing-only .auth-gate-tabs{display:none!important}
html body .auth-gate .auth-gate-card,
html body .auth-gate .sign-in,
html body .auth-gate .password-sign-in{grid-template-columns:minmax(0,1fr)}
html body .auth-gate .sign-in-google{overflow:hidden}
html body .auth-gate .password-sign-in .auth-gate-primary{min-height:44px;border:0!important;border-radius:14px!important;background:var(--g-accent)!important;color:var(--g-on-accent,#fff)!important;font:600 15px/1 Inter,system-ui,sans-serif!important}
/* Email code and native Google (Bjorn 2026-11-04): Apple, Google and email on every platform. */
html body .auth-gate .sign-in-google-native{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin:0;padding:0 16px;
  border:1px solid #dadce0;border-radius:14px;background:#fff;color:#1f1f1f;cursor:pointer;
  font:500 15px/1 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
html body .auth-gate .sign-in-or{display:flex;align-items:center;gap:10px;margin:2px 0;color:var(--g-muted);font:400 13px/1 Inter,system-ui,sans-serif}
html body .auth-gate .sign-in-or::before,html body .auth-gate .sign-in-or::after{content:"";flex:1;height:1px;background:rgba(var(--g-ink-rgb),.14)}
html body .auth-gate .sign-in-or[hidden]{display:none!important}
html body .auth-gate .sign-in-email{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);margin:0}
html body .auth-gate .sign-in-email[hidden]{display:none!important}
html body .auth-gate .sign-in-email input{min-height:48px!important;border-radius:14px!important;padding:0 14px!important;background:#fff!important;font-size:16px!important}
html body .auth-gate .sign-in-email input.sign-in-code-input{text-align:center;letter-spacing:.42em;padding-left:calc(14px + .42em)!important;font:600 24px/1 Outfit,Inter,system-ui,sans-serif!important;color:var(--g-ink)!important}
html body .auth-gate .sign-in-email input.sign-in-code-input::placeholder{color:rgba(var(--g-ink-rgb),.22)}
html body .auth-gate .sign-in-primary{
  display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0;padding:0 16px;border:0;border-radius:14px;
  background:var(--g-accent);color:var(--g-on-accent,#fff);cursor:pointer;font:600 15px/1 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
html body .auth-gate .sign-in-primary:disabled{opacity:.6;cursor:default}
html body .auth-gate .sign-in-code .sign-in-sub b{color:var(--g-ink);font-weight:600;overflow-wrap:anywhere}
html body .auth-gate .sign-in-links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 18px}
html body .auth-gate .sign-in-links button{min-height:36px;margin:0;padding:0 4px;border:0;background:none;color:var(--g-accent);cursor:pointer;font:500 14px/36px Inter,system-ui,sans-serif}
html body .auth-gate .sign-in-links button:disabled{opacity:.5}
html body .auth-gate .sign-in-small{margin:0;text-align:center;color:var(--g-muted);font:400 12.5px/1.45 Inter,system-ui,sans-serif}
html body .auth-gate .sign-in-google-native:focus-visible,
html body .auth-gate .sign-in-primary:focus-visible,
html body .auth-gate .sign-in-links button:focus-visible{outline:2px solid var(--g-accent);outline-offset:2px}
/* Hard paywall (Bjorn 2026-11-04): the sign-in card's look, above every other screen. */
html body .auth-gate.paywall-gate{z-index:5100}
html body .auth-gate .paywall-card{display:grid;gap:12px;min-width:0}
html body .auth-gate .paywall-features{margin:0;padding:0;list-style:none;display:grid;gap:7px;color:var(--g-ink);font:400 14px/1.35 Inter,system-ui,sans-serif}
html body .auth-gate .paywall-features li{display:flex;gap:9px;align-items:center}
html body .auth-gate .paywall-features li::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;
  background:var(--g-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 8.2 2.3 2.3 4.7-5' stroke='white' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat}
html body .auth-gate .paywall-store,html body .auth-gate .paywall-web,html body .auth-gate .paywall-plans{display:grid;gap:10px;min-width:0}
html body .auth-gate .paywall-store[hidden],html body .auth-gate .paywall-web[hidden],html body .auth-gate .paywall-plan[hidden],
html body .auth-gate .paywall-card [hidden]{display:none!important}
html body .auth-gate .paywall-plan{
  display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;margin:0;padding:11px 14px;
  border:1px solid rgba(var(--g-ink-rgb),.18);border-radius:14px;background:#fff;color:var(--g-muted);cursor:pointer;text-align:left;
  font:400 13px/1.35 Inter,system-ui,sans-serif;
}
html body .auth-gate .paywall-plan.on{border:2px solid var(--g-accent);padding:10px 13px}
html body .auth-gate .paywall-plan i{width:20px;height:20px;border-radius:50%;border:2px solid rgba(var(--g-ink-rgb),.35);box-sizing:border-box}
html body .auth-gate .paywall-plan.on i{border:6px solid var(--g-accent)}
html body .auth-gate .paywall-plan span{display:grid;gap:2px;min-width:0}
html body .auth-gate .paywall-plan b{color:var(--g-ink);font:600 15px/1.2 Inter,system-ui,sans-serif}
html body .auth-gate .paywall-plan small{font-size:13px}
html body .auth-gate .paywall-plan em{font-style:normal;color:var(--g-ink);font:600 15px/1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}
html body .auth-gate .paywall-plan:focus-visible{outline:2px solid var(--g-accent);outline-offset:2px}
html body .auth-gate .paywall-badges{display:grid;grid-template-columns:1fr 1fr;gap:10px}
html body .auth-gate .paywall-badge{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 10px;border-radius:14px;background:#000;color:#fff;text-decoration:none;font:600 15px/1.1 Inter,system-ui,sans-serif}
html body .auth-gate .paywall-badge small{display:block;font:400 10px/1.2 Inter,system-ui,sans-serif;opacity:.85}
html body .auth-gate .paywall-badge.soon{opacity:.4;pointer-events:none}
html body .auth-gate .paywall-badge.soon small{font-size:0}
html body .auth-gate .paywall-badge.soon small::after{content:"Coming soon";font-size:10px}
html body .auth-gate .sign-in-small a{color:var(--g-accent)}
/* Short phones: a smaller logo so the paywall's buy button is on the first screen. */
@media (max-height:760px){
  html body .auth-gate.paywall-gate .auth-gate-brand p{display:none}
  html body .auth-gate.paywall-gate .auth-gate-brand img{max-height:56px;width:auto}
  html body .auth-gate.paywall-gate .auth-gate-shell{gap:12px}
}
