:root{--font-main:"Exo 2", sans-serif;--primary-100:#e3f2fd;--primary-200:#90caf9;--primary-300:#339ef3;--primary-400:#1e64e5;--primary-500:#1565c0;--neutral-100:#fff;--neutral-200:#f4f8fa;--neutral-300:#d1d9e0;--neutral-400:#7a8b99;--neutral-500:#2f3a46;--accent:var(--primary-400);--accent-hover:var(--primary-500);--background:var(--neutral-200);--surface:#fff;--surface-variant:#eaf3ff;--surface-soft:color-mix(in srgb, var(--surface) 88%, var(--background));--border:var(--neutral-300);--text-primary:var(--neutral-500);--text-secondary:var(--neutral-400);--text-alternate:var(--neutral-100);--success:#36ae3b;--error:#ec2222;--warning:#ccad35;--shadow-xs:0 1px 3px #0000001f;--shadow-sm:0 2px 6px #00000026;--shadow-md:0 6px 12px #0003;--shadow-lg:0 10px 20px #00000040;--transition-fast:.2s ease;--transition-normal:.3s ease;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--header-height:54px}[data-theme=dark]{--background:#0a1f44;--surface:#12325b;--surface-variant:#1c497a;--surface-soft:color-mix(in srgb, var(--surface) 82%, var(--background));--border:#305681;--text-primary:#eaf3ff;--text-secondary:#eaf3ffc7;--text-alternate:#fff;--accent:#448aff;--accent-hover:#2979ff;--shadow-xs:0 1px 3px #00000059;--shadow-sm:0 2px 6px #0006;--shadow-md:0 6px 12px #00000085;--shadow-lg:0 10px 20px #0000009e}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html{background:var(--background)}body{min-height:100dvh;font-family:var(--font-main);color:var(--text-primary);background:var(--background);-webkit-font-smoothing:antialiased;line-height:1.55}a{color:inherit}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.auth-page{isolation:isolate;min-height:100dvh;position:relative;overflow:hidden}.auth-page:before,.auth-page:after{content:"";z-index:-2;pointer-events:none;filter:blur(1px);border-radius:999px;position:fixed}.auth-page:before{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 14%, transparent) 0%, transparent 68%);width:min(720px,78vw);height:min(720px,78vw);top:-360px;left:-220px}.auth-page:after{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 10%, transparent) 0%, transparent 70%);width:min(620px,72vw);height:min(620px,72vw);bottom:-300px;right:-260px}.auth-background{z-index:-3;pointer-events:none;background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 9%, transparent), transparent 34%), var(--background);position:fixed;inset:0}.auth-header{z-index:20;min-height:var(--header-height);background:color-mix(in srgb, var(--surface) 90%, transparent);border-bottom:1px solid color-mix(in srgb, var(--border) 68%, transparent);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;display:flex;position:fixed;inset:0 0 auto}.auth-header__inner{width:min(1200px,100% - 2rem);min-height:var(--header-height);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex}.auth-logo{color:var(--accent);transition:color var(--transition-fast), transform var(--transition-fast);font-size:1.35rem;font-weight:700;line-height:1;text-decoration:none}.auth-logo:hover{color:var(--accent-hover);transform:translateY(-1px)}.auth-header__actions{align-items:center;gap:.45rem;display:flex}.auth-header-link,.theme-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-variant) 42%, transparent);min-height:34px;color:var(--text-primary);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.auth-header-link{padding:.42rem .72rem;font-size:.82rem;font-weight:600;text-decoration:none}.theme-toggle{cursor:pointer;width:36px;padding:0}.auth-header-link:hover,.theme-toggle:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 9%, var(--surface));transform:translateY(-1px)}.theme-toggle svg{width:17px;height:17px}.auth-stage{min-height:100dvh;padding:calc(var(--header-height) + clamp(2rem, 7vh, 5rem)) 1rem clamp(2rem, 7vh, 5rem);place-items:center;display:grid}.auth-card{border:1px solid color-mix(in srgb, var(--border) 78%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 93%, transparent);width:min(100%,470px);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:clamp(1.25rem,4vw,1.8rem);animation:.28s ease-out auth-enter}.auth-card--wide{width:min(100%,520px)}@keyframes auth-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-heading{margin-bottom:1.25rem}.auth-kicker{width:fit-content;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.38rem;font-size:.68rem;font-weight:700;display:inline-flex}.auth-title{color:var(--text-primary);letter-spacing:-.025em;margin:0;font-size:clamp(1.45rem,5vw,1.8rem);line-height:1.14}.auth-subtitle{color:var(--text-secondary);margin:.5rem 0 0;font-size:.9rem;line-height:1.5}.auth-form{gap:.92rem;display:grid}.auth-field{gap:.38rem;display:grid}.auth-label{color:var(--text-primary);font-size:.82rem;font-weight:600}.auth-input,.auth-select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text-primary);background:color-mix(in srgb, var(--background) 52%, var(--surface));transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);outline:none;padding:.67rem .78rem}.auth-input::placeholder{color:color-mix(in srgb, var(--text-secondary) 72%, transparent)}.auth-input:hover,.auth-select:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--border))}.auth-input:focus,.auth-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);background:var(--surface)}.auth-check{min-height:34px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.52rem;font-size:.82rem;display:flex}.auth-check input{width:16px;height:16px;accent-color:var(--accent);margin:0}.auth-legal-check{align-items:flex-start;line-height:1.45}.auth-legal-check input{flex:none;margin-top:.16rem}.auth-legal-check a{color:var(--accent);font-weight:600;text-decoration:none}.auth-legal-check a:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.auth-button,.auth-link-button{border-radius:var(--radius-sm);text-align:center;cursor:pointer;width:100%;min-height:44px;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast), opacity var(--transition-fast);justify-content:center;align-items:center;gap:.45rem;padding:.67rem .9rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.auth-button:disabled{cursor:not-allowed;opacity:.58;transform:none}.auth-button--primary,.auth-link-button--primary{border:1px solid color-mix(in srgb, var(--accent) 82%, #fff);color:#fff;background:var(--accent);box-shadow:0 8px 22px color-mix(in srgb, var(--accent) 22%, transparent)}.auth-button--primary:hover:not(:disabled),.auth-link-button--primary:hover{color:#fff;background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 10px 26px color-mix(in srgb, var(--accent) 28%, transparent);transform:translateY(-1px)}.auth-button--secondary,.auth-link-button--secondary{border:1px solid var(--border);color:var(--text-primary);background:color-mix(in srgb, var(--background) 58%, transparent);box-shadow:none}.auth-button--secondary:hover:not(:disabled),.auth-link-button--secondary:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 64%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--surface));transform:translateY(-1px)}.auth-actions{gap:.62rem;display:grid}.auth-links{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .9rem;margin-top:1.05rem;font-size:.8rem;display:flex}.auth-links a{color:var(--accent);font-weight:600;text-decoration:none}.auth-links a:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.auth-error,.auth-success,.auth-note{border-radius:var(--radius-sm);padding:.72rem .8rem;font-size:.8rem;line-height:1.45}.auth-error{color:color-mix(in srgb, var(--error) 86%, var(--text-primary));border:1px solid color-mix(in srgb, var(--error) 38%, var(--border));background:color-mix(in srgb, var(--error) 9%, transparent)}.auth-success{color:color-mix(in srgb, var(--success) 82%, var(--text-primary));border:1px solid color-mix(in srgb, var(--success) 36%, var(--border));background:color-mix(in srgb, var(--success) 9%, transparent)}.auth-note{color:var(--text-secondary);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-variant) 28%, transparent)}.identity-card{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--background) 55%, var(--surface));align-items:center;gap:.78rem;margin:1rem 0 1.15rem;padding:.86rem;display:flex}.identity-avatar{color:#fff;background:var(--accent);letter-spacing:.02em;width:44px;height:44px;box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 20%, transparent);border-radius:50%;flex:0 0 44px;place-items:center;font-size:.82rem;font-weight:800;display:grid}.identity-meta{min-width:0}.identity-meta strong,.identity-meta span{display:block}.identity-meta strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.identity-meta span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-size:.77rem;overflow:hidden}.identity-status{color:var(--success);background:color-mix(in srgb, var(--success) 11%, transparent);border-radius:999px;flex:none;margin-left:auto;padding:.2rem .42rem;font-size:.68rem;font-weight:700}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.62rem;margin:1.1rem 0;display:grid}.service-link{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;color:var(--text-primary);background:color-mix(in srgb, var(--background) 55%, transparent);transition:border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);gap:.18rem;padding:.78rem;text-decoration:none;display:grid}.service-link strong{color:var(--text-primary);font-size:.84rem}.service-link span{color:var(--text-secondary);font-size:.72rem;line-height:1.35}.service-link:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, var(--surface));transform:translateY(-1px)}.auth-divider{background:color-mix(in srgb, var(--border) 72%, transparent);height:1px;margin:1.1rem 0}.auth-loading{color:var(--text-secondary);align-items:center;gap:.65rem;padding:.3rem 0 .1rem;font-size:.84rem;display:flex}.auth-spinner{border:2px solid color-mix(in srgb, var(--accent) 22%, var(--border));border-top-color:var(--accent);border-radius:50%;flex:0 0 18px;width:18px;height:18px;animation:.75s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-bottom:1.1rem;display:grid}.auth-progress span{background:color-mix(in srgb, var(--border) 72%, transparent);border-radius:999px;height:3px}.auth-progress span.is-active{background:var(--accent)}@media (max-width:560px){.auth-header__inner{width:min(100% - 1.25rem,1200px)}.auth-header-link{display:none}.auth-stage{place-items:start center;padding-inline:.7rem}.auth-card{border-radius:var(--radius-md);padding:1.1rem}.service-grid{grid-template-columns:1fr}.identity-status{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
