.auth-page{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) 1.25rem max(1rem, env(safe-area-inset-bottom));background:var(--surface-canvas);color:var(--text-primary);color-scheme:normal}.auth-frame{grid-template-rows:auto minmax(0,1fr) auto;gap:0;width:min(100%,60rem);min-height:calc(100dvh - 2rem);margin-inline:auto;display:grid}.auth-header{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border-subtle);min-height:4.25rem;display:flex}.auth-brand{align-items:center;gap:var(--space-2);width:auto;min-height:2.75rem;color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.035em;text-decoration:none;display:flex}.auth-brand-mark{width:2.25rem;height:2.25rem;display:block}.auth-workspace{align-items:center;min-width:0;padding-block:clamp(2rem,6vh,4.5rem);display:grid}.auth-main{width:min(100%,30rem);min-width:0;padding:var(--space-8);border:1px solid var(--border-default);border-radius:var(--radius-panel);background:var(--surface-default);box-shadow:var(--elevation-card);animation:auth-main-enter var(--duration-slow) var(--ease-out) both;margin-inline:auto;position:relative;overflow:hidden}@keyframes auth-main-enter{0%{opacity:0;transform:translateY(.5rem)}}.auth-copy{gap:var(--space-3);margin-bottom:var(--space-8);display:grid}.auth-copy h1{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.045em;margin:0}.auth-copy>p:last-child{max-width:35ch;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}.auth-form{gap:var(--space-5);display:grid}.auth-field-row,.auth-field{gap:var(--space-2);min-width:0;display:grid}.auth-label{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.auth-password-control{position:relative}.auth-password-toggle{min-width:3.75rem;min-height:2.75rem;padding-inline:var(--space-2);border-radius:calc(var(--radius-control) - 2px);color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0;position:absolute;top:.375rem;right:.375rem}.auth-hint,.auth-error,.auth-status,.auth-pending{font-size:var(--text-sm);line-height:var(--leading-snug);margin:0}.auth-hint,.auth-pending{color:var(--text-tertiary)}.auth-error,.auth-status.error{color:var(--status-danger-text)}.auth-status{min-height:1.25rem;margin-bottom:var(--space-3)}.auth-form-error{padding:var(--space-3);border:1px solid var(--status-danger-border);border-radius:var(--radius-control);background:var(--status-danger-bg)}.auth-submit,.auth-dev-submit{width:100%;min-height:3.5rem;padding-inline:var(--space-5);border-radius:var(--radius-control);font-size:var(--text-md);font-weight:var(--weight-bold);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), transform var(--duration-instant) var(--ease-out);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.auth-submit{border:1px solid var(--button-primary-border);background:var(--button-primary-bg);color:var(--button-primary-text);box-shadow:var(--elevation-control)}.auth-dev-access{gap:var(--space-3);margin-top:var(--space-1);padding-top:var(--space-5);border-top:1px solid var(--border-subtle);display:grid}.auth-dev-access>span{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em}.auth-dev-submit{border:1px solid var(--border-default);background:var(--surface-default);color:var(--text-primary);box-shadow:var(--elevation-control)}.auth-submit:active,.auth-dev-submit:active{transform:scale(.99)}.auth-submit:active{background:var(--button-primary-bg-active)}.auth-submit:disabled,.auth-dev-submit:disabled{opacity:.55;cursor:wait}.auth-inline-link,.auth-links a{min-height:2.75rem;color:var(--accent-text);font-size:var(--text-sm);text-decoration:underline;-webkit-text-decoration-color:var(--accent-ring-color);text-decoration-color:var(--accent-ring-color);text-underline-offset:.25rem;align-items:center;display:inline-flex}.auth-inline-link{justify-self:end}.auth-links{margin-top:var(--space-6);color:var(--text-secondary);text-align:center}.auth-links p{font-size:var(--text-sm);margin:0}.auth-links a{padding-inline:.375rem}.auth-complete{justify-items:start;gap:var(--space-3);display:grid}.auth-complete-mark{border:1px solid var(--accent-ring-color);background:var(--accent-soft-surface);width:2.75rem;height:2.75rem;color:var(--accent-text);border-radius:50%;place-items:center;display:grid}.auth-complete-mark svg{width:1.25rem;height:1.25rem}.auth-complete h2{color:var(--text-primary);font-size:var(--text-2xl);line-height:var(--leading-snug);margin:0}.auth-complete p{margin:0 0 var(--space-3);color:var(--text-secondary);font-size:var(--text-sm)}.auth-complete .auth-submit{width:auto;min-width:10rem}.auth-footer{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:3.25rem;color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);border:0;display:flex}@media (hover:hover) and (pointer:fine){.auth-password-toggle:hover,.auth-inline-link:hover,.auth-links a:hover{color:var(--text-primary)}.auth-submit:hover{background:var(--button-primary-bg-hover)}.auth-dev-submit:hover{border-color:var(--border-strong);background:var(--surface-raised)}}@media (max-width:30rem){.auth-page{padding-inline:1.125rem}.auth-workspace{align-items:start;padding-top:clamp(3.25rem,11vh,6rem)}.auth-main{padding:var(--space-6);border-radius:var(--radius-card)}.auth-footer span:last-child{display:none}}
