.auth-trigger{appearance:none;font:600 15px/1.5 var(--font);color:var(--ink);white-space:nowrap}
.site-header .header-auth{min-height:44px;flex:none;border:1px solid #577182;border-radius:999px;padding:9px 19px;background:#c5e7f00b;transition:transform .4s cubic-bezier(.22,1.5,.48,1),background .2s,border-color .2s}
.mobile-nav .mobile-auth{width:100%;padding:15px 0;text-align:start;letter-spacing:.04em;border:0;border-top:1px solid var(--line);background:none}
.auth-modal-open{overflow:hidden}
.auth-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:496px;max-height:calc(100dvh - 48px);margin:auto;padding:32px;border:1px solid #537082;border-radius:28px;background:linear-gradient(145deg,#203342f5,#10212ffb 52%);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 30px 100px #0006;color:var(--ink);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#526c7b transparent}
.auth-dialog[open]{animation:auth-arrive .35s cubic-bezier(.2,.85,.25,1) both}
.auth-dialog::backdrop{background:#020b15bb;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.auth-dialog *{box-sizing:border-box}
.auth-dialog button,.auth-dialog input{font-family:var(--font)}
.auth-dialog button{touch-action:manipulation}
.auth-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}
.auth-brand{display:inline-flex;align-items:center;gap:11px;font-size:17px;font-weight:750;letter-spacing:.12em;line-height:1.4}
.auth-brand>svg{width:36px;height:36px;padding:3px;border-radius:11px;color:var(--paper);background:var(--accent)}
.auth-close{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;padding:9px;border:1px solid #526a7b;border-radius:50%;background:#ffffff03;color:var(--ink);transition:background .2s,transform .25s}
.auth-close>svg{width:22px;height:22px}
.auth-dialog .auth-title{font-size:30px;font-weight:700;line-height:1.35;letter-spacing:.01em;margin:0 0 12px;overflow-wrap:anywhere}
.auth-intro{font-size:15px;line-height:1.75;color:#b4c7d5;margin:0 0 26px;overflow-wrap:anywhere}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin-bottom:25px;border:1px solid #3e586a;border-radius:999px;background:#08192490}
.auth-tabs>button{min-width:0;border:1px solid transparent;border-radius:999px;padding:10px 12px;background:transparent;color:#b6c9d6;font-size:14px;line-height:1.5;font-weight:600;overflow-wrap:anywhere;transition:color .2s,background .25s,border-color .25s}
.auth-tabs>button[aria-selected="true"]{background:#b2eee31a;border-color:#88c9c54a;color:#b7f3e9}
.auth-form{display:grid;gap:20px;margin:0}
.auth-field{display:grid;gap:9px;min-width:0}
.auth-field label{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;color:#d5e2ec;font-size:14px;line-height:1.6;font-weight:550}
.auth-optional{color:#9eb4c4;font-size:12px;font-weight:400}
.auth-field input{width:100%;min-width:0;height:52px;margin:0;padding:13px 15px;border:1px solid #436174;border-radius:15px;background:#071824aa;color:var(--ink);font-size:16px;line-height:1.5;box-shadow:none;outline:none;transition:border-color .2s,background .2s,box-shadow .2s}
.auth-field input:focus{border-color:#a0e4d9;background:#0c1e2bf2;box-shadow:0 0 0 3px #a0e4d91a}
.auth-field input[aria-invalid="true"]{border-color:#ed9caa;box-shadow:0 0 0 2px #ed9caa15}
.auth-field input:-webkit-autofill{-webkit-text-fill-color:#edf6ff;box-shadow:0 0 0 1000px #132936 inset;caret-color:#edf6ff;border-color:#6f969e}
.auth-password-wrap{position:relative}
.auth-password-wrap>input{padding-inline-end:58px}
.auth-password-toggle{position:absolute;inset:5px 6px 5px auto;display:flex;align-items:center;justify-content:center;width:42px;padding:10px;border:0;border-radius:11px;color:#adc6d7;background:transparent;transition:background .2s,color .2s}
.auth-password-toggle>svg{width:22px;height:22px}
.auth-password-toggle[aria-pressed="false"] .auth-eye-slash{display:none}
.auth-password-hint{margin:0;color:#9fb7c7;font-size:12px;line-height:1.8}
.auth-dialog .auth-feedback,.auth-account-feedback{font-size:13px;line-height:1.75;letter-spacing:.01em;padding:12px 14px;margin:0;border:1px solid #91dac842;border-radius:13px;background:#8cddc60b;color:#bbe9dc;overflow-wrap:anywhere}
.auth-dialog .auth-feedback-error{color:#ffc4cc;border-color:#eea7af55;background:#e6a0aa0b}
.auth-submit,.auth-continue,.auth-logout{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:13px 20px;border:1px solid transparent;border-radius:15px;font-size:15px;font-weight:650;line-height:1.5;letter-spacing:.02em;transition:transform .35s cubic-bezier(.22,1.5,.48,1),background .2s,border-color .2s}
.auth-submit,.auth-continue{background:var(--accent);color:var(--paper)}
.auth-submit{margin-top:3px}
.auth-logout{background:transparent;color:#d3e1ea;border-color:#4a6577}
.auth-account{display:grid;gap:24px}
.auth-account-card{display:flex;align-items:center;gap:16px;padding:22px 18px;border:1px solid #426072;border-radius:19px;background:#081b2880}
.auth-avatar{display:flex;align-items:center;justify-content:center;flex:none;width:52px;height:52px;border:1px solid #a3e9dc60;border-radius:50%;background:#a3e9dc16;color:#b9f3e8;font-size:23px;font-weight:600}
.auth-account-details{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
.auth-account-name{font-size:18px;line-height:1.5;font-weight:600}
.auth-account-email-label{font-size:11px;color:#9db6c6;line-height:1.6;letter-spacing:.03em}
.auth-account-email{font-size:14px;line-height:1.65;color:#cee0ec}
.auth-account-actions{display:grid;gap:12px}
.auth-session-gate{display:grid;gap:18px;padding-block:4px}
.auth-session-status{margin:0;color:#b4c7d5;font-size:15px;line-height:1.8}
.auth-session-retry{justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 22px;border:1px solid #afe9df;border-radius:15px;background:#afe9df;color:#102e35;font:600 15px/1.6 var(--font);transition:background .2s,transform .2s}
.auth-dialog :is(button,input):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.auth-dialog button:disabled{cursor:wait;opacity:.6}
@media(hover:hover) and (pointer:fine){.site-header .header-auth:hover{background:#b5ece51a;border-color:#99c1c7;transform:scale(1.06)}.auth-close:hover{background:#b5e9e314;transform:rotate(6deg)}.auth-password-toggle:hover{color:#c9f8ee;background:#c0e8e90c}.auth-submit:hover,.auth-continue:hover{background:#bbf4e9;transform:translateY(-1px)}.auth-logout:hover{background:#c4e7ee0b;border-color:#7ba1af}}
@media(max-width:980px){.site-header .header-auth{display:none}}
@media(max-width:480px){.auth-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:23px 20px;border-radius:24px}.auth-heading{margin-bottom:24px}.auth-dialog .auth-title{font-size:27px}.auth-intro{font-size:14px;margin-bottom:23px}.auth-brand{font-size:15px}.auth-form{gap:18px}.auth-account-card{padding:18px 14px;gap:12px}.auth-avatar{width:44px;height:44px;font-size:20px}.auth-account-name{font-size:17px}}
@media(prefers-reduced-motion:reduce){.auth-dialog[open]{animation:none}.auth-dialog button,.site-header .header-auth{transition:none}.site-header .header-auth:hover,.auth-dialog button:hover{transform:none}}
@keyframes auth-arrive{from{opacity:0;transform:translateY(14px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
.cc-avatar,.auth-avatar,.account-entry-avatar{position:relative;overflow:hidden}
.cc-avatar>img,.auth-avatar>img,.account-entry-avatar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
