/* Public login: shared JustSigns palette and locally hosted fonts. */
.auth-skip{position:fixed;left:16px;top:-80px;z-index:100;background:var(--brand);color:var(--brand-ink);padding:12px 20px;border-radius:30px}.auth-skip:focus{top:12px}
.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 77px);max-width:1800px;margin:auto}
.auth-entry{padding:clamp(32px,5vw,80px) clamp(24px,5vw,88px) 26px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.auth-form-wrap{width:100%;max-width:440px;margin:auto}.auth-back{display:inline-flex;gap:9px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:38px;min-height:30px}.auth-back:hover{color:var(--fg)}
.auth-form-wrap>.eyebrow{display:flex;font-size:10px;letter-spacing:.13em}.auth-form-wrap h1{font-size:clamp(34px,3.2vw,48px);line-height:1.14;margin:16px 0}.auth-intro{color:var(--muted);font-size:15px;line-height:1.8;max-width:380px}
.auth-form{display:grid;gap:24px;margin-top:32px}.auth-field{display:grid;gap:10px}.auth-field label{font-size:14px;font-weight:600}.auth-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.auth-label-row a{font-size:12px;color:var(--muted)}.auth-label-row a:hover,.auth-help a:hover{color:var(--brand)}
.auth-field input{width:100%;min-width:0;height:56px;padding:0 17px;border:1px solid var(--line-2);border-radius:12px;background:#171a20;color:var(--fg);font:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}.auth-field input::placeholder{color:#737d8a}.auth-field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgb(247 187 39 / .1)}.auth-field input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px #171a20 inset;-webkit-text-fill-color:var(--fg);caret-color:var(--fg)}
.auth-password{position:relative}.auth-password input{padding-right:62px}.auth-password button{position:absolute;right:6px;top:6px;width:44px;height:44px;display:grid;place-items:center;background:transparent;color:var(--muted);border:0;border-radius:50%;cursor:pointer}.auth-password button:hover{color:var(--fg);background:var(--line)}.auth-password svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.eye-slash{display:none}.auth-password button[aria-pressed=true] .eye-slash{display:block}
.auth-submit{width:100%;height:56px;justify-content:center;position:relative;margin-top:6px}.auth-submit svg{fill:none;stroke:currentColor;stroke-width:1.8;position:absolute;right:24px}.auth-submit:disabled{cursor:wait;opacity:.7}.auth-register{text-align:center;color:var(--muted);font-size:13px}.auth-register a{color:var(--fg);font-weight:600;text-decoration:underline;text-underline-offset:4px}.auth-help{margin-top:40px;text-align:center;font-size:12px;color:var(--dim)}.auth-help a{color:var(--muted)}
.auth-legal{max-width:440px;width:100%;margin:48px auto 0;display:flex;flex-wrap:wrap;gap:20px;font-size:11px;color:var(--dim)}.auth-legal span{margin-right:auto}.auth-message{margin-top:22px;border:1px solid #794545;border-radius:12px;padding:14px 16px;background:#2d191b;color:#ffc2bd;font-size:13px;line-height:1.7}.auth-message[hidden]{display:none}
.auth-story{background:radial-gradient(ellipse at 85% 22%,#252321 0,transparent 60%),linear-gradient(155deg,#171a20,#101216);border-left:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:50px clamp(28px,5vw,84px);position:relative;overflow:hidden;min-width:0}.auth-story::before{content:'';position:absolute;inset:0;background-image:radial-gradient(#ffffff10 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(#000,transparent 70%);pointer-events:none}.auth-story-inner{width:100%;max-width:440px;position:relative}.auth-story .eyebrow{font-size:10px}.auth-story h2{font-size:clamp(38px,3.8vw,58px);line-height:1.05;margin:24px 0 20px}.auth-story h2 em{font-style:normal;color:var(--brand)}.auth-story-copy{font-size:14px;line-height:1.85;color:var(--muted);max-width:400px}
.auth-preview{margin-top:30px;padding:16px;border:1px solid #383c45;background:#12151b;border-radius:20px;box-shadow:0 20px 50px #0004}.auth-preview-top{display:flex;align-items:center;gap:8px;font:9px var(--f-mono);letter-spacing:.04em;color:var(--muted);margin:0 2px 14px}.auth-status-dot{height:6px;width:6px;background:var(--brand);border-radius:50%;flex-shrink:0}.auth-preview-dots{margin-left:auto;letter-spacing:3px}.auth-screen{position:relative;overflow:hidden;padding:28px 24px;background:var(--brand);color:var(--brand-ink);border-radius:10px;aspect-ratio:1.85;display:flex;flex-direction:column;justify-content:space-between;gap:20px}.auth-screen-label,.auth-screen-tag{font:8px var(--f-mono);letter-spacing:.09em;position:relative;z-index:1}.auth-screen strong{font-family:var(--f-display);font-size:clamp(27px,2.4vw,38px);line-height:1.06;position:relative;z-index:1;letter-spacing:-.03em}.auth-screen-tag{font-size:7px}.auth-screen-orbit{position:absolute;width:210px;height:210px;border:36px solid #1a140512;border-radius:50%;right:-80px;bottom:-85px;animation:auth-orbit 12s ease-in-out infinite alternate}
.auth-preview-row{display:flex;align-items:center;gap:12px;padding:18px 2px 2px}.auth-play{display:grid;place-items:center;color:var(--brand);width:36px;height:36px;border-radius:10px;background:#f7bb2714;font-size:12px;flex-shrink:0}.auth-preview-row b{display:block;font-size:12px;font-weight:600}.auth-preview-row small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.auth-preview-row svg{width:20px;height:20px;fill:none;stroke:var(--brand);stroke-width:1.5;margin-left:auto;flex-shrink:0}.auth-benefits{list-style:none;display:grid;gap:12px;padding:0;margin:28px 0 0;font-size:12px;color:var(--muted)}.auth-benefits li{display:flex;align-items:baseline;gap:10px}.auth-benefits li::before{content:'✓';color:var(--brand)}
@keyframes auth-orbit{to{transform:translate(-18px,-12px) scale(1.08)}}
@media(min-width:1800px){.auth-layout{border-inline:1px solid var(--line)}}
@media(max-width:1050px){.auth-entry{padding-inline:32px}.auth-story{padding-inline:32px}.auth-story h2{font-size:42px}}
@media(max-width:760px){.auth-layout{display:block}.auth-entry{min-height:calc(100svh - 77px);padding:28px 24px 24px}.auth-form-wrap{margin:auto}.auth-back{margin-bottom:24px}.auth-form-wrap h1{font-size:38px}.auth-story{display:none}.auth-legal{margin-top:36px}.auth-help{margin-top:28px}.auth-page .nav .btn-brand{display:none}}
@media(max-width:360px){.auth-entry{padding-inline:18px}.auth-form-wrap h1{font-size:33px}.auth-label-row{gap:8px}.auth-label-row a{font-size:11px}.auth-form-wrap>.eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){.auth-screen-orbit{animation:none}.auth-field input{transition:none}}

/* Refined account card; login, recovery and registration share the same front theme. */
.auth-entry{background:radial-gradient(ellipse at 40% 40%,#f7bb2705,transparent 65%);padding-top:44px;padding-bottom:24px}
.auth-form-wrap{max-width:500px;padding:32px 34px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(150deg,#121418,#0d0f12);box-shadow:0 16px 60px #0002}
.auth-back{margin-bottom:26px;color:#aab0b9}.auth-form-wrap h1{font-size:clamp(32px,2.8vw,42px);margin:14px 0}.auth-form-wrap>.eyebrow{font-size:9px}.auth-form{gap:20px;margin-top:28px}.auth-intro{font-size:14px}.auth-help{padding-top:22px;margin-top:26px;border-top:1px solid var(--line)}.auth-legal{max-width:500px;margin-top:28px;color:#838b98}.auth-legal a:hover{color:var(--fg)}
.auth-story h2{font-size:clamp(38px,3.4vw,52px)}.auth-story-inner{max-width:460px}.auth-preview{margin-top:26px}.auth-story-copy{font-size:14px}.auth-benefits{gap:10px;margin-top:24px}
.auth-form[hidden]{display:none!important}.auth-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.auth-message--success{background:#19271e;border-color:#345c42;color:#c5e9ce}.auth-submit:hover:not(:disabled){box-shadow:0 5px 25px #f7bb271c;transform:translateY(-1px)}
@media(max-width:1050px) and (min-width:761px){.auth-entry{padding-inline:22px}.auth-form-wrap{padding:28px 24px}.auth-form-wrap h1{font-size:34px}.auth-label-row{gap:8px}.auth-label-row a{font-size:11px}}
@media(max-width:760px){.auth-entry{background:transparent;padding:24px}.auth-form-wrap{padding:0;border:0;border-radius:0;background:none;box-shadow:none;max-width:440px}.auth-form-wrap h1{font-size:38px}.auth-legal{max-width:440px}.auth-help{margin-top:24px}.auth-back{margin-bottom:26px}}
@media(max-width:360px){.auth-entry{padding-inline:18px}.auth-form-wrap h1{font-size:33px}.auth-name-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.auth-submit:hover:not(:disabled){transform:none}}
