:root{--bg: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-hover: #292e36;--border: #30363d;--text: #e6edf3;--text-secondary: #9da5ae;--accent: #2f81f7;--accent-hover: #388bfd;--success: #3fb950;--error: #f85149;--radius: 12px;--radius-sm: 4px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.auth-container{width:100%;max-width:400px;padding:16px}.auth-logo{text-align:center;margin-bottom:24px}.auth-logo h1{font-size:24px;font-weight:700;color:var(--text)}.auth-logo p{font-size:13px;color:var(--text-secondary);margin-top:4px}.auth-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.auth-card h2{font-size:18px;font-weight:600;margin-bottom:16px}.form-group{margin-bottom:14px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:4px}.form-label-optional{color:var(--text-secondary);font-weight:400}.form-input{width:100%;padding:8px 12px;font-size:14px;font-family:var(--font-sans);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f81f726}.form-input::placeholder{color:var(--text-secondary)}.password-wrapper{position:relative}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px}.password-toggle:hover{color:var(--text)}.checkbox-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:13px;color:var(--text-secondary);line-height:1.4}.checkbox-label input[type=checkbox]{margin-top:2px;accent-color:var(--accent)}.username-wrapper{position:relative}.username-status{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:600;pointer-events:none}.username-checking{color:var(--text-secondary);font-weight:400;font-size:12px}.username-available{color:var(--success)}.username-taken{color:var(--error)}.form-input-error{border-color:var(--error)!important}.form-input-error:focus{box-shadow:0 0 0 3px #f8514926!important}.form-input-success{border-color:var(--success)!important}.form-input-success:focus{box-shadow:0 0 0 3px #3fb95026!important}.form-hint{font-size:12px;color:var(--text-secondary);margin-top:4px;line-height:1.4}.form-hint-error{color:var(--error)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-size:14px;font-weight:500;font-family:var(--font-sans);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text);cursor:pointer;transition:background .15s,border-color .15s;text-decoration:none}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-full{width:100%}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;font-family:var(--font-sans);padding:0}.link-btn:hover{text-decoration:underline}.alert{padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:14px}.alert-error{background:#f851491a;border:1px solid rgba(248,81,73,.3);color:#f85149}.alert-success{background:#3fb9501a;border:1px solid rgba(63,185,80,.3);color:#3fb950}.alert-info{background:#2f81f71a;border:1px solid rgba(47,129,247,.3);color:#58a6ff}.auth-footer{margin-top:16px;text-align:center;font-size:13px;color:var(--text-secondary)}.auth-footer a,.auth-footer .link-btn{font-size:13px}.success-icon{font-size:48px;margin-bottom:16px}.centered{text-align:center}.centered p{color:var(--text-secondary);font-size:14px;margin-bottom:16px;line-height:1.5}.redirect-notice{margin-top:16px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center}.redirect-notice p{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.redirect-countdown{font-size:12px;color:var(--text-secondary);margin-top:8px}.account-info{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.account-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.account-row:last-child{border-bottom:none}.account-label{font-size:13px;color:var(--text-secondary)}.account-value{font-size:14px;color:var(--text);display:flex;align-items:center;gap:8px}.account-actions{margin-top:16px}.account-hint{font-size:13px;color:var(--text-secondary);text-align:center;margin:12px 0;line-height:1.4}.badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;border-radius:10px;line-height:1.4}.badge-success{background:#3fb95026;color:#3fb950}.badge-warning{background:#d2992226;color:#d29922}.badge-accent{background:#2f81f726;color:#58a6ff}.badge-default{background:var(--bg-tertiary);color:var(--text-secondary)}body{background:radial-gradient(ellipse at 50% 0%,rgba(47,129,247,.04) 0%,transparent 50%),var(--bg)}.auth-card{animation:card-enter .3s ease-out;border-top-color:#3a414a}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.btn{transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{box-shadow:0 1px 3px #2f81f733}.btn-primary:hover{box-shadow:0 2px 8px #2f81f74d}.form-input{transition:border-color .15s,box-shadow .2s}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.alert{animation:alert-slide .2s ease-out}@keyframes alert-slide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.checkbox-label input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--border);border-radius:3px;background:var(--bg);cursor:pointer;transition:background .15s,border-color .15s;position:relative;flex-shrink:0;margin-top:2px}.checkbox-label input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.checkbox-label input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px #2f81f726}.state-fade-in{animation:state-enter .35s ease-out}@keyframes state-enter{0%{opacity:0}to{opacity:1}}.email-icon{width:64px;height:64px;margin:0 auto 20px}.email-icon svg{width:100%;height:100%}.email-icon rect{stroke-dasharray:200;stroke-dashoffset:200;animation:envelope-rect .6s ease-out .1s forwards}.email-icon path{stroke-dasharray:80;stroke-dashoffset:80;animation:envelope-flap .4s ease-out .5s forwards}@keyframes envelope-rect{to{stroke-dashoffset:0}}@keyframes envelope-flap{to{stroke-dashoffset:0}}.verify-icon{width:56px;height:56px;margin:0 auto 20px}.verify-icon svg{width:100%;height:100%}.verify-icon-success circle{stroke:var(--success);stroke-dasharray:157;stroke-dashoffset:157;animation:circle-draw .6s ease-out forwards;fill:none;stroke-width:2}.verify-icon-success path{stroke:var(--success);stroke-dasharray:34;stroke-dashoffset:34;animation:check-draw .3s ease-out .4s forwards;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.verify-icon-error{width:48px;height:48px;margin:0 auto 16px}@keyframes circle-draw{to{stroke-dashoffset:0}}@keyframes check-draw{to{stroke-dashoffset:0}}.waiting-indicator{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);margin-top:16px}.waiting-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:waiting-pulse 2s ease-in-out infinite;will-change:opacity,transform}@keyframes waiting-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.email-providers{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}.email-provider-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s;font-family:var(--font-sans)}.email-provider-btn:hover{border-color:var(--accent);color:var(--text);text-decoration:none}.disclosure-toggle{display:flex;align-items:center;gap:8px;width:100%;margin-top:20px;padding-top:16px;border-top:1px solid var(--border);font-size:13px;color:var(--text-secondary);cursor:pointer;background:none;border-left:none;border-right:none;border-bottom:none;font-family:var(--font-sans)}.disclosure-toggle:before{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid var(--text-secondary);border-bottom:1.5px solid var(--text-secondary);transform:rotate(-45deg);transition:transform .2s ease;flex-shrink:0}.disclosure-toggle[aria-expanded=true]:before{transform:rotate(45deg)}.resend-section{margin-top:20px}.resend-section .btn{font-variant-numeric:tabular-nums}.account-avatar{width:56px;height:56px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;color:var(--accent);margin:0 auto 16px}.set-password-section{margin-top:16px;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.set-password-section h3{font-size:14px;font-weight:600;margin-bottom:12px}.password-strength{height:3px;border-radius:2px;background:var(--bg-tertiary);margin-top:6px;overflow:hidden}.password-strength-bar{height:100%;border-radius:2px;transition:width .3s ease,background-color .3s ease}.strength-weak{width:25%;background:var(--error)}.strength-fair{width:50%;background:#d29922}.strength-good{width:75%;background:var(--accent)}.strength-strong{width:100%;background:var(--success)}.verify-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:btn-spin .8s linear infinite;margin:0 auto 20px}.form-hint-intro{font-size:13px;color:var(--text-secondary);margin-bottom:16px}.email-highlight{color:var(--text)}.go-back-btn{font-size:12px;margin-bottom:16px}.spam-hint{font-size:12px;color:var(--text-secondary);margin-top:12px}.waiting-centered{justify-content:center;margin-top:20px}.redirect-account-link{margin-top:16px}.password-disclosure-form{margin-top:12px}.password-disclosure-footer{text-align:center;margin-top:8px}.password-disclosure-footer .link-btn{font-size:12px}.verify-hint{font-size:12px;color:var(--text-secondary);margin-top:12px;text-align:center}.verify-action-btn{margin-top:8px}.account-title{text-align:center}.account-action-btn{margin-top:8px}.btn-danger{background:#f851491a;border-color:#f851494d;color:var(--error)}.btn-danger:hover{background:#f8514933}.delete-confirm{margin-top:12px;padding:16px;background:var(--bg);border:1px solid rgba(248,81,73,.3);border-radius:var(--radius-sm)}.delete-warning{font-size:13px;color:var(--error);margin-bottom:12px}.password-strength-bar:after{content:attr(data-label);position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.password-strength{position:relative}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:480px){.auth-container{max-width:100%;padding:16px}.auth-card{border-radius:0;border-left:none;border-right:none}.auth-logo h1{font-size:22px}.btn-primary,.btn-full{height:48px;font-size:16px}.form-input{height:44px;font-size:16px}.email-providers{flex-direction:column}}
