.auth-card{max-width:440px;animation:cardEnter .45s var(--ease-spring) both;position:relative;overflow:hidden}.btn-social{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-strong);justify-content:center;align-items:center;gap:.75rem;width:100%;font-weight:500;display:flex}.btn-social:hover:not(:disabled){background-color:var(--bg-subtle);border-color:var(--text-muted);text-decoration:none}.btn-passkey{color:#fff;background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid #334155;justify-content:center;align-items:center;gap:.75rem;width:100%;font-weight:600;display:flex;box-shadow:0 2px 4px #0000001a}.btn-passkey:hover:not(:disabled){background:linear-gradient(135deg,#334155,#1e293b);text-decoration:none}.step-panel{width:100%}.step-panel.slide-forward{animation:slideInRight var(--duration-normal) var(--ease-spring) both}.step-panel.slide-backward{animation:slideInLeft var(--duration-normal) var(--ease-spring) both}.step-panel.fade-scale{animation:scaleFadeIn var(--duration-normal) var(--ease-spring) both}.otp-container{flex-direction:column;align-items:center;gap:.75rem;margin:.5rem 0;display:flex}.otp-digit-group{justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex}.otp-box{width:44px;height:52px;font-family:var(--font-mono);text-align:center;background-color:var(--bg-surface);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) var(--ease-spring), background-color var(--duration-fast) ease;outline:none;font-size:1.5rem;font-weight:700}.otp-box:focus{border-color:var(--brand-primary);background-color:var(--bg-surface);transform:translateY(-2px);box-shadow:0 0 0 3px #2563eb40}.otp-box.filled{border-color:var(--brand-primary);background-color:var(--brand-primary-light)}.otp-shake{animation:.45s ease-in-out both shake}.otp-pulse-success{animation:.6s ease-in-out both pulseGlow}.otp-input{font-family:var(--font-mono);letter-spacing:.35em;text-align:center;padding:.75rem!important;font-size:1.5rem!important}.passkey-pulse-banner{background:var(--brand-primary-light);border:1px solid var(--border-subtle);border-radius:var(--radius-md);animation:scaleFadeIn var(--duration-normal) var(--ease-spring) both;align-items:center;gap:.85rem;margin-bottom:1.25rem;padding:.85rem 1rem;display:flex}.passkey-beacon{background:var(--brand-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative}.passkey-beacon:after{content:"";border:2px solid var(--brand-primary);border-radius:50%;animation:1.5s cubic-bezier(0,0,.2,1) infinite pingRing;position:absolute;inset:0}.auth-success-card{text-align:center;animation:scaleFadeIn var(--duration-normal) var(--ease-spring) both;flex-direction:column;align-items:center;padding:1.5rem .5rem;display:flex}.success-icon-wrapper{background-color:var(--color-success-bg);border:2px solid var(--color-success);width:64px;height:64px;color:var(--color-success);animation:scaleFadeIn .35s var(--ease-spring) both;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.success-icon-svg path{stroke-dasharray:48;stroke-dashoffset:48px;animation:.6s .2s forwards checkmarkDraw}.resend-countdown{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.825rem;display:inline-flex}.bikko-auth-wrapper{width:100%;max-width:440px;font-family:var(--font-body);color:var(--text-primary);box-sizing:border-box;background:0 0;flex-direction:column;gap:3rem;margin:0 auto;display:flex}.auth-content{flex-direction:column;gap:1.5rem;display:flex}.auth-header{text-align:center;flex-direction:column;gap:.35rem;display:flex}.auth-header h1,.auth-header h2{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600}.auth-header p{color:var(--text-secondary);margin:0;font-size:.875rem}.auth-form{flex-direction:column;gap:.5rem;margin:0;display:flex}.auth-field{flex-direction:column;gap:.35rem;display:flex}.auth-label{color:var(--text-primary);text-align:left;font-size:.75rem;font-weight:600}.auth-input{border:1px solid var(--border-subtle);background-color:var(--bg-surface);box-sizing:border-box;width:100%;color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-subtle), background-color var(--duration-normal) var(--ease-subtle);border-radius:6px;outline:none;padding:.65rem .85rem;font-family:inherit;font-size:.875rem}.auth-input:focus{border-color:var(--brand-primary)}.auth-input::placeholder{color:var(--text-muted)}.auth-btn{cursor:pointer;box-sizing:border-box;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.65rem 1.25rem;font-size:.875rem;font-weight:500;display:flex}.auth-btn-primary{color:#fff;background-color:#2563eb}.auth-divider{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;margin:1.5rem 0;font-size:.7rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--border-subtle);flex:1}.auth-divider span{padding:0 .75rem}.auth-sso-group{flex-direction:column;gap:.5rem;display:flex}.auth-btn-social{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);transition:background-color var(--duration-fast) var(--ease-subtle), border-color var(--duration-fast) var(--ease-subtle);font-size:.75rem}.auth-btn-social:hover{background-color:var(--bg-subtle);border-color:var(--border-strong)}.auth-btn-passkey{color:#fff;border:1px solid var(--border-strong);background-color:#0f172a}:root[data-theme=dark] .auth-btn-passkey,:root[data-resolved-theme=dark] .auth-btn-passkey{background-color:var(--bg-subtle);color:var(--text-primary);border-color:var(--border-strong)}.auth-sso-socials{flex-direction:row;gap:.5rem;display:flex}@media (prefers-reduced-motion:reduce){.auth-card,.step-panel,.passkey-pulse-banner,.auth-success-card,.success-icon-wrapper,.success-icon-svg path,.otp-shake,.otp-pulse-success{animation:none}}@media (min-width:1280px){.bikko-auth-wrapper{flex-direction:column;max-width:1000px}.auth-content{flex-direction:row;align-items:stretch;gap:.5rem}.auth-form-section{flex-direction:column;flex:1;gap:1.25rem;min-width:0;display:flex}.auth-divider{text-align:center;color:#64748b;text-transform:uppercase;letter-spacing:.05em;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:60px;font-size:.7rem;display:flex;position:relative}.auth-divider:before,.auth-divider:after{content:"";border-bottom:none;border-left:1px solid #e2e8f0;width:1px;position:absolute}.auth-divider:before{margin-bottom:2.5rem;top:0;bottom:50%}.auth-divider:after{margin-top:2.5rem;top:50%;bottom:0}.auth-divider span{z-index:1;white-space:nowrap;padding:.5rem 1rem;position:relative}.auth-sso-section{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.auth-divider:before,.auth-divider:after{opacity:0}}.auth-hero{box-sizing:border-box;justify-content:center;width:100%;padding:0 1.5rem}.auth-container{box-sizing:border-box;flex-direction:column;align-items:center;width:100%;max-width:1000px;margin:0 auto;display:flex;position:relative}@media (max-width:1279px){.auth-hero{padding:0 1.5rem}.bikko-auth-wrapper{gap:1.25rem}.auth-form{gap:1rem}}@media (max-width:799px){.auth-hero{box-sizing:border-box;width:100%;min-height:auto;margin:80px auto 2rem;padding:0 1.25rem 2rem}.auth-container{box-sizing:border-box;width:100%;padding:0}.bikko-auth-wrapper{box-sizing:border-box;gap:1.25rem;width:100%;max-width:100%;padding:0}.auth-header h1,.auth-header h2{font-size:1.35rem}.auth-btn{padding:.75rem 1rem}.auth-sso-socials{flex-direction:column;gap:.5rem}}@media (max-width:480px){.auth-hero{margin-top:70px;padding:0 1rem 2rem}.auth-toggle-pill{width:100%;max-width:280px}.auth-toggle-btn{text-align:center;flex:1;padding:.45rem .5rem;font-size:.8rem}}.auth-toggle-pill{background:var(--bg-subtle);border:1px solid var(--border-subtle);transition:background-color var(--duration-normal) var(--ease-subtle), border-color var(--duration-normal) var(--ease-subtle);border-radius:9999px;align-items:center;margin:0 auto 1.5rem;padding:4px;display:inline-flex;position:relative;box-shadow:inset 0 1px 2px #0000000a}.auth-toggle-btn{z-index:2;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:9999px;outline:none;padding:.5rem 1.6rem;font-size:.85rem;font-weight:500;transition:color .2s;position:relative}.auth-toggle-btn:hover{color:var(--text-primary)}.auth-toggle-btn.active{color:var(--text-primary);font-weight:600}.auth-toggle-indicator{background:var(--bg-surface);width:calc(50% - 4px);box-shadow:var(--shadow-sm);transition:transform .25s cubic-bezier(.22, 1, .36, 1), background-color var(--duration-normal) var(--ease-subtle);z-index:1;border-radius:9999px;position:absolute;top:4px;bottom:4px;left:4px}.auth-toggle-indicator.register{transform:translate(100%)}.auth-switch-link{color:var(--brand-primary,#2563eb);font-weight:600;font-size:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.auth-switch-link:hover{color:var(--brand-primary-hover,#1d4ed8)}.auth-swap-text{transition:opacity .18s}.terms-overlay{-webkit-backdrop-filter:blur(4px);z-index:10000;background-color:#0f172a99;justify-content:center;align-items:center;padding:1.25rem;animation:.2s ease-out both fadeIn;display:flex;position:fixed;inset:0}.terms-card{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);width:100%;max-width:560px;max-height:85vh;box-shadow:var(--shadow-lg);transition:background-color var(--duration-normal) var(--ease-subtle), border-color var(--duration-normal) var(--ease-subtle);border-radius:16px;flex-direction:column;animation:.25s cubic-bezier(.22,1,.36,1) both scaleFadeIn;display:flex;position:relative;overflow:hidden}.terms-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.terms-header h2,.terms-header h3{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.terms-header p{color:var(--text-secondary);margin:.25rem 0 0;font-size:.825rem}.terms-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.25rem;font-size:1.25rem;line-height:1;transition:color .15s,background-color .15s;display:flex}.terms-close-btn:hover{color:var(--text-primary);background-color:var(--bg-subtle)}.terms-body{color:var(--text-secondary);flex:1;padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.65;overflow-y:auto}.terms-section{margin-bottom:1.5rem}.terms-section:last-child{margin-bottom:0}.terms-section h3,.terms-section h4{color:var(--text-primary);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.95rem;font-weight:700;display:flex}.terms-section p{color:var(--text-secondary);margin:0 0 .5rem;font-size:.85rem}.terms-section ul{color:var(--text-secondary);margin:.25rem 0 .5rem 1.25rem;padding:0;font-size:.825rem}.terms-section li{margin-bottom:.35rem}.terms-footer{border-top:1px solid var(--border-subtle);background-color:var(--bg-subtle);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.terms-consent-note{color:var(--text-muted);text-align:center;margin-top:.5rem;font-size:.775rem;line-height:1.4}@media (max-width:600px){.terms-overlay{padding:.75rem}.terms-card{max-height:90vh}.terms-header,.terms-body,.terms-footer{padding:1rem 1.25rem}.terms-footer{flex-direction:column-reverse}.terms-footer button{width:100%}}
