.auth-body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--text-primary);font-family:var(--font-ui)}.auth-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem var(--gutter);border-bottom:1px solid var(--border-subtle);background:var(--bg)}.auth-header .brand{font-size:clamp(.82rem,1.1vw,.92rem);text-decoration:none;color:var(--text-primary);display:inline-flex;align-items:center;gap:.5rem}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(2.5rem,6vw,5rem) var(--gutter)}.auth-boot{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-family:var(--font-ui);font-size:.88rem}.auth-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-subtle);border-top-color:var(--text-primary);animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.auth-spinner{animation-duration:2.4s}}.auth-card{width:100%;max-width:25.5rem;padding:clamp(2rem,5vw,2.75rem);border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg-surface)}.auth-title{margin:0 0 .5rem;font-family:var(--font-ui);font-size:1.15rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);line-height:1.2}.auth-lede{margin:0 0 1.75rem;font-family:var(--font-ui);color:var(--text-muted);font-size:.92rem;line-height:1.5}.auth-form{display:grid;gap:1.15rem}.auth-panel[hidden]{display:none!important}.auth-hint{margin:.35rem 0 0;color:var(--text-faint);font-family:var(--font-mono);font-size:.72rem}.field{display:grid;gap:.35rem}.form-label{font-family:var(--font-ui);font-size:.82rem;font-weight:500;color:var(--text-secondary)}.form-input{width:100%;box-sizing:border-box;padding:.72rem .85rem;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg);color:var(--text-primary);font-family:var(--font-ui);font-size:.92rem;transition:border-color var(--dur) var(--ease)}.form-input:focus{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset);border-color:var(--border-hover)}.auth-notice{margin:0 0 1.25rem;padding:.75rem .9rem;border-radius:var(--radius);border:1px solid rgba(226,87,87,.4);background:#e2575714;color:var(--text-secondary);font-family:var(--font-ui);font-size:.84rem;line-height:1.45}.auth-notice[hidden]{display:none}.auth-notice strong{display:block;color:var(--text-primary);font-weight:600;margin-bottom:.15rem}.auth-notice.is-success{border-color:#58c78d66;background:#58c78d14}.auth-divider{display:flex;align-items:center;text-align:center;margin:1.35rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-subtle)}.auth-divider span{padding:0 .85rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;color:var(--text-faint)}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;width:100%;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--bg);color:var(--text-primary);font-family:var(--font-ui);font-size:.88rem;font-weight:500;cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.btn-google:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-surface-elevated)}.btn-google:disabled{opacity:.45;cursor:not-allowed}.btn-google-mark{flex:none}.btn-primary{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid transparent;background:var(--text-primary);color:var(--bg);font-family:var(--font-ui);font-size:.88rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:opacity var(--dur) var(--ease)}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:.88rem;font-weight:500;cursor:pointer;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn-ghost:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary)}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}.auth-switch{margin-top:1.5rem;display:flex;flex-direction:column;gap:.65rem;text-align:center}.auth-switch p{margin:0;font-family:var(--font-ui);font-size:.84rem;color:var(--text-muted)}.link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;font:inherit;font-size:.84rem;color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color var(--dur) var(--ease)}.link-btn:hover:not(:disabled){color:var(--active-stream-color)}.link-btn:disabled{opacity:.45;cursor:not-allowed}.account-facts{margin:0 0 1.75rem;display:grid;gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius);overflow:hidden}.account-fact{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:var(--bg)}.account-fact dt{color:var(--text-faint);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.account-fact dd{margin:0;color:var(--text-primary);font-family:var(--font-ui);font-size:.88rem;font-weight:500;text-align:right;word-break:break-word}.auth-footer{padding:1.5rem var(--gutter) 2.25rem;text-align:center}.auth-footer-link{color:var(--text-faint);font-family:var(--font-ui);font-size:.82rem;text-decoration:none;border-bottom:1px solid transparent;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.auth-footer-link:hover{color:var(--text-secondary);border-bottom-color:var(--border-hover)}.nav-auth{display:flex;align-items:center;gap:.5rem}.account-chip{--chip-rgb: var(--active-stream-rgb);display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem .35rem .45rem;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-ui);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.account-chip:hover{border-color:var(--border-hover);color:var(--text-primary)}.account-chip-avatar{width:22px;height:22px;flex:none;border-radius:var(--radius);display:grid;place-items:center;background:rgba(var(--chip-rgb),.15);border:1px solid rgba(var(--chip-rgb),.4);color:rgb(var(--chip-rgb));font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.02em}.account-chip-guest{padding:.42rem .85rem;color:var(--text-primary)}.account-menu-container{position:relative;display:inline-flex}.account-chip-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--text-secondary);-webkit-user-select:none;user-select:none}.account-chip-btn:hover,.account-chip-btn[aria-expanded=true]{border-color:var(--border-hover);color:var(--text-primary)}.account-chip-chevron{width:10px;height:10px;margin-left:.15rem;stroke:currentColor;transition:transform var(--dur) var(--ease)}.account-chip-btn[aria-expanded=true] .account-chip-chevron{transform:rotate(180deg)}.account-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;width:16.5rem;max-width:calc(100vw - 2rem);background:var(--bg);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:0 12px 32px #0006;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;z-index:300;animation:auth-dropdown-in .14s ease-out}.account-menu-dropdown[hidden]{display:none!important}@keyframes auth-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.account-menu-header{display:flex;flex-direction:column;gap:.2rem;padding:.2rem .35rem}.account-menu-email-label{font-family:var(--font-ui);font-size:.68rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.account-menu-email{font-family:var(--font-ui);font-size:.82rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-divider{height:1px;background:var(--border-subtle);margin:.1rem 0}.account-menu-status-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.2rem .35rem}.account-menu-status-label{font-family:var(--font-ui);font-size:.75rem;color:var(--text-secondary)}.account-status-badge{font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:.15rem .45rem;border-radius:var(--radius);border:1px solid var(--border-subtle);color:var(--text-muted);background:var(--bg-surface)}.account-status-badge.is-active{color:#58c78d;border-color:#58c78d66;background:#58c78d1f}.account-menu-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .5rem;border-radius:var(--radius);border:1px solid transparent;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:.78rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.account-menu-item:hover,.account-menu-item:focus-visible{background:var(--bg-surface-elevated);color:var(--text-primary)}.account-menu-signout{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--text-muted);font-family:var(--font-ui);font-size:.78rem}.account-menu-signout:hover,.account-menu-signout:focus-visible{color:var(--text-primary);background:#ffffff0f}.account-menu-signout:disabled{opacity:.5;cursor:not-allowed}.account-menu-dev-section{display:flex;flex-direction:column;gap:.35rem;padding:.4rem .2rem;margin:.2rem 0;border-top:1px dashed rgba(255,179,71,.3);border-bottom:1px dashed rgba(255,179,71,.3)}.account-menu-dev-btn{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;color:#ffb347;background:#ffb34714;border:1px solid rgba(255,179,71,.4);border-radius:var(--radius);padding:.45rem .5rem;text-align:center;cursor:pointer;transition:all var(--dur) var(--ease)}.account-menu-dev-btn:hover:not(:disabled){background:#ffb3472e;border-color:#ffb347cc;color:#ffcd78}.account-menu-dev-btn:disabled{opacity:.5;cursor:not-allowed}.account-menu-dev-msg{font-family:var(--font-mono);font-size:.68rem;color:#ffb347;padding:.15rem .35rem;line-height:1.3;text-align:center;word-break:break-word}.account-status-badge.is-dev-test{color:#ffb347;border-color:#ffb34766;background:#ffb3471f}.member-panel-dev-notice{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.85rem;padding:.35rem .75rem;border-radius:var(--radius);background:#ffb3471f;border:1px dashed rgba(255,179,71,.5);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;color:#ffb347}@media (max-width: 62rem){.account-chip-label{display:none}.account-chip{padding:.35rem}}@media (max-width: 30rem){.auth-main{padding-top:1.5rem;align-items:stretch}.auth-card{max-width:none}.account-fact{flex-direction:column;gap:.25rem}.account-fact dd{text-align:left}}
