.login-card{padding-top:clamp(8px,4vh,40px)}.login-copy{min-height:88px;animation:login-reveal .36s cubic-bezier(.22,1,.36,1) both}.login-tabs{position:relative;isolation:isolate}.login-tab-indicator{position:absolute;inset:4px auto 4px 4px;width:calc(50% - 4px);border-radius:8px;background:var(--card);box-shadow:0 1px 3px rgb(0 0 0/8%);transition:transform .42s cubic-bezier(.22,1,.36,1)}.login-tabs[data-mode=register] .login-tab-indicator{transform:translateX(100%)}.login-form-viewport{overflow:hidden;margin:0 -4px;transition:height .42s cubic-bezier(.22,1,.36,1)}.login-form-content{padding:24px 4px 4px}.login-form{animation:login-reveal .42s cubic-bezier(.22,1,.36,1) both}.login-card label{transition:background-color .22s ease,border-color .22s ease,color .22s ease}.login-card button:focus-visible,.login-card label:has(input[type=radio]:focus-visible){outline:2px solid var(--accent);outline-offset:2px}@keyframes login-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.login-copy,.login-form{animation:none}.login-card label,.login-form-viewport,.login-tab-indicator{transition:none}}.login-pw{position:relative;display:block}.login-pw .input{padding-right:96px}.login-pw-toggle{position:absolute;right:6px;top:calc(50% + 3px);transform:translateY(-50%);min-height:36px;padding:0 12px;border-radius:10px;font-size:13px;font-weight:600;color:var(--accent)}.login-pw-toggle:active{opacity:.5}.login-hint{font-size:12px;color:var(--muted);transition:color .15s ease}.login-hint.is-ok{color:var(--text)}.login-hint.is-bad{color:var(--danger)}.login-card{padding-top:0}.login-title{font-size:32px;line-height:1.1;font-weight:650;letter-spacing:-.025em;color:var(--text)}.login-sub{margin-top:10px;font-size:15px;line-height:1.45;color:var(--muted)}.login-card .btn-primary{transition:transform .14s cubic-bezier(.23,1,.32,1),opacity .2s ease,background-color .2s ease}.login-card .btn-primary:not(:disabled):active{transform:scale(.98)}.login-roles{display:grid;gap:8px}.login-roles legend{margin-bottom:8px;font-size:14px;font-weight:500}.login-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.login-role{position:relative;display:flex;flex-direction:column;gap:2px;min-height:64px;padding:12px 12px 11px;border-radius:14px;background:var(--card);border:1px solid var(--line);cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .14s cubic-bezier(.23,1,.32,1)}.login-role strong{font-size:14px;font-weight:600;color:var(--text);padding-right:18px}.login-role small{font-size:12px;line-height:1.3;color:var(--muted)}.login-role-dot{position:absolute;top:12px;right:12px;width:16px;height:16px;border-radius:50%;border:1.5px solid #c7c7cc;transition:border-color .18s ease,border-width .18s ease}.login-role.is-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.login-role.is-on .login-role-dot{border:5px solid var(--accent)}.login-role:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.login-role:not(.is-on):hover{border-color:#c7c7cc}}.login-role:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.login-seg{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,1fr);padding:4px;border-radius:12px;background:var(--surface-5)}.login-seg-thumb{position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / 3);border-radius:9px;background:var(--card);box-shadow:0 1px 3px rgb(0 0 0/8%);transform:translateX(calc(var(--i, 0) * 100%));transition:transform .32s cubic-bezier(.23,1,.32,1)}.login-seg label{display:grid;place-items:center;min-height:40px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:color .18s ease}.login-seg label.is-on{color:var(--text)}.login-seg label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:-2px;border-radius:9px}@media (max-width:420px){.login-role-grid{grid-template-columns:1fr}.login-role{min-height:0;flex-direction:row;align-items:baseline;gap:8px}.login-role strong{min-width:92px}}@media (prefers-reduced-motion:reduce){.login-card .btn-primary,.login-role,.login-seg-thumb{transition:none}}@media (hover:hover) and (pointer:fine){.login-card .btn-primary:hover:not(:disabled){box-shadow:none}}.login-card .btn-primary.is-entered:disabled{opacity:1;background:var(--accent)}.login-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--muted);cursor:pointer}.login-consent input{flex:none;width:18px;height:18px;margin-top:1px;accent-color:var(--accent)}.login-consent a,.login-retry{color:var(--accent)}.login-retry{font-weight:600;text-decoration:underline}.login-tg{margin-top:10px;padding:10px 14px;border-radius:14px;background:var(--tint);color:#0060c4;font-size:14px;line-height:1.4}.login-error{animation:login-shake .4s cubic-bezier(.36,.07,.19,.97) both}@keyframes login-shake{0%{opacity:0;transform:translateX(0)}15%{opacity:1;transform:translateX(-6px)}35%{transform:translateX(5px)}55%{transform:translateX(-3px)}75%{transform:translateX(2px)}to{transform:none}}@media (prefers-reduced-motion:reduce){.login-error{animation:cn-fade .2s ease both}}.login-alt{display:grid;gap:10px}.login-or{display:flex;align-items:center;gap:12px;margin:4px 0 0;color:var(--muted);font-size:13px}.login-or:after,.login-or:before{content:"";flex:1;height:1px;background:var(--line)}