.app-auth-gate{
  position:fixed;inset:0;z-index:19000;display:grid;place-items:center;
  min-height:100dvh;padding:var(--kd-space-5);
  background:
    radial-gradient(circle at 50% 18%,color-mix(in oklab,var(--kd-color-primary) 16%,transparent),transparent 38%),
    var(--kd-color-background);
  color:var(--kd-color-foreground);font-family:var(--kd-font-sans)
}
.app-auth-gate[hidden]{display:none}
.app-auth-card{
  width:min(440px,100%);padding:var(--kd-space-6);overflow:visible;
  background:color-mix(in oklab,var(--kd-color-surface) 96%,transparent)
}
.app-auth-brand{display:flex;align-items:center;gap:var(--kd-space-3);width:max-content;color:var(--kd-color-foreground);text-decoration:none;font:var(--kd-type-title)}
.app-auth-brand img{width:48px;height:48px;object-fit:contain}
.app-auth-brand>span>span{color:var(--sidebar-primary)}
.app-auth-badge{display:inline-flex;align-items:center;min-height:24px;margin:var(--kd-space-5) 0 var(--kd-space-3);padding:3px 9px;border:1px solid color-mix(in oklab,var(--sidebar-primary) 38%,transparent);border-radius:999px;background:color-mix(in oklab,var(--sidebar-primary) 10%,transparent);color:var(--sidebar-primary);font:var(--kd-type-label);text-transform:uppercase}
.app-auth-card h1{margin:0 0 var(--kd-space-2);color:var(--kd-color-foreground);font:var(--kd-type-heading)}
.app-auth-card p{min-height:44px;margin:0 0 var(--kd-space-5);color:var(--kd-color-muted);font:var(--kd-type-body)}
.app-auth-google{width:100%;border-color:var(--kd-color-border-strong);background:var(--kd-color-foreground);color:var(--kd-color-background)}
.app-auth-google:hover{background:color-mix(in oklab,var(--kd-color-foreground) 90%,var(--kd-color-background))}
.app-auth-google:disabled{cursor:wait;opacity:.6}
.app-auth-google svg{width:20px;height:20px;flex:0 0 auto}
.app-auth-error{min-height:20px;margin-top:var(--kd-space-3);color:var(--kd-color-danger);font:var(--kd-type-caption)}
.app-auth-error:empty{visibility:hidden}
.app-auth-foot{margin-top:var(--kd-space-4);padding-top:var(--kd-space-4);border-top:1px solid var(--kd-color-border);color:var(--kd-color-subtle);font:var(--kd-type-caption)}
body.app-auth-pending{overflow:hidden}
.app-entitlement-card{width:min(600px,100%)}
.app-entitlement-rules{margin:0 0 var(--kd-space-5);padding-left:20px;color:var(--kd-color-foreground);font:var(--kd-type-body)}
.app-entitlement-rules li+li{margin-top:var(--kd-space-2)}
.app-entitlement-accept{display:flex;gap:var(--kd-space-3);align-items:flex-start;margin:0 0 var(--kd-space-4);padding:var(--kd-space-3);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);font:var(--kd-type-caption)}
.app-entitlement-accept input{width:20px;height:20px;margin:0;accent-color:var(--kd-color-primary)}
.app-entitlement-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--kd-space-3)}
.app-entitlement-primary,.app-entitlement-secondary{width:100%}
.app-entitlement-actions button:disabled{cursor:wait;opacity:.55}
.app-history-only-banner{position:fixed;z-index:12000;left:300px;right:14px;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:var(--kd-space-4);padding:var(--kd-space-3) var(--kd-space-4);border:1px solid color-mix(in oklab,var(--kd-color-warning) 55%,transparent);border-radius:var(--kd-radius-sm);background:color-mix(in oklab,var(--kd-color-warning) 12%,var(--kd-color-surface));color:var(--kd-color-foreground);font:var(--kd-type-caption);box-shadow:var(--kd-shadow-panel)}
.app-history-only-banner[hidden]{display:none}
.app-history-only-banner button{min-height:var(--kd-button-height);padding:0 var(--kd-space-4);border:0;border-radius:var(--kd-button-radius);background:var(--kd-color-primary);color:var(--kd-button-primary-foreground);font:var(--kd-button-weight) var(--kd-button-font-size)/1 var(--kd-type-label-font,var(--kd-font-sans));white-space:nowrap}
body.kd-history-only #home-upload-slot,body.kd-history-only #cloud-panel{opacity:.45;pointer-events:none;filter:grayscale(.35)}
@media(max-width:620px){
  .app-auth-gate{align-items:center;padding:var(--kd-space-4)}
  .app-auth-card{padding:var(--kd-space-5)}
  .app-auth-card h1{font-size:28px}
  .app-entitlement-actions{grid-template-columns:1fr}
  .app-history-only-banner{left:10px;right:10px;bottom:78px;align-items:flex-start;flex-direction:column}
  .app-history-only-banner button{width:100%}
}
@media(max-width:380px){.app-auth-card{padding:20px}.app-auth-brand img{width:44px;height:44px}.app-auth-card h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){.app-auth-google{transition:none}}
