.auth-page.svelte-1x05zx6{flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}.road.svelte-1x05zx6{z-index:0;position:fixed;inset:0}.road-svg.svelte-1x05zx6{width:100%;height:100%;display:block;position:absolute;inset:0}.road-vignette.svelte-1x05zx6{background:radial-gradient(120% 90% at 50% 58%,#0f141800 38%,#0f1418b8 100%),linear-gradient(#0f141859 0%,#0f141800 26%);position:absolute;inset:0}.topbar.svelte-1x05zx6{z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex;position:relative}.brand.svelte-1x05zx6{color:var(--text);letter-spacing:0;align-items:center;gap:10px;font-size:1.05rem;font-weight:700;text-decoration:none;display:flex}.brand-mark.svelte-1x05zx6{object-fit:contain;width:30px;height:30px;display:block}.auth-container.svelte-1x05zx6{z-index:2;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;padding:24px 16px 56px;display:flex;position:relative}.auth-card.svelte-1x05zx6{border-radius:22px;width:100%;max-width:420px;padding:40px 34px 30px}[data-theme=light] .auth-card.svelte-1x05zx6{background:#fffffffa;border:1px solid #0000001f;box-shadow:0 28px 70px -28px #000c,inset 0 1px #fff9}[data-theme=dark] .auth-card.svelte-1x05zx6,[data-theme=sunlight] .auth-card.svelte-1x05zx6{background:#181f25eb;border:1px solid #9fb0bd2e;box-shadow:0 28px 70px -28px #000c,inset 0 1px #ffffff0f}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.auth-card.svelte-1x05zx6{-webkit-backdrop-filter:blur(18px)saturate(120%)}[data-theme=light] .auth-card.svelte-1x05zx6{background:#ffffffe6}[data-theme=dark] .auth-card.svelte-1x05zx6,[data-theme=sunlight] .auth-card.svelte-1x05zx6{background:#181f25c7}}.auth-logo.svelte-1x05zx6{text-align:center;margin-bottom:30px}.logo-badge.svelte-1x05zx6{filter:drop-shadow(0 10px 22px #00000073);width:auto;height:132px;margin:0 auto 18px;display:block}.auth-logo.svelte-1x05zx6 h1:where(.svelte-1x05zx6){letter-spacing:0;color:var(--text);margin:0 0 8px;font-size:1.85rem;font-weight:800}.auth-logo.svelte-1x05zx6 p:where(.svelte-1x05zx6){color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.4}.error-banner.svelte-1x05zx6,.success-banner.svelte-1x05zx6{border-radius:var(--radius);align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:.9rem;line-height:1.4;display:flex}.error-banner.svelte-1x05zx6{background:rgba(var(--bad-rgb,220, 80, 80), .18);border:1px solid var(--bad);color:var(--bad)}.success-banner.svelte-1x05zx6{background:color-mix(in srgb, var(--good) 18%, transparent);border:1px solid var(--good);color:var(--good)}.error-banner.svelte-1x05zx6 svg:where(.svelte-1x05zx6),.success-banner.svelte-1x05zx6 svg:where(.svelte-1x05zx6){flex-shrink:0;margin-top:1px}.form-field.svelte-1x05zx6{margin-bottom:20px}.form-field.svelte-1x05zx6 label:where(.svelte-1x05zx6){color:var(--text);margin-bottom:8px;font-size:.85rem;font-weight:600;display:block}.form-field.svelte-1x05zx6 input:where(.svelte-1x05zx6){width:100%;min-height:var(--touch);background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);box-sizing:border-box;padding:0 16px;font-size:1rem;transition:border-color .18s,box-shadow .18s,background .18s}.form-field.svelte-1x05zx6 input:where(.svelte-1x05zx6)::placeholder{color:var(--text-muted);opacity:.6}.form-field.svelte-1x05zx6 input:where(.svelte-1x05zx6):focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.form-field.has-error.svelte-1x05zx6 input:where(.svelte-1x05zx6){border-color:var(--bad);background:rgba(var(--bad-rgb,220, 80, 80), .06)}.form-field.has-error.svelte-1x05zx6 input:where(.svelte-1x05zx6):focus{border-color:var(--bad);box-shadow:0 0 0 3px rgba(var(--bad-rgb,220, 80, 80), .2)}.field-error.svelte-1x05zx6{color:var(--bad);margin:6px 0 0;font-size:.8rem}.submit-btn.svelte-1x05zx6{width:100%;min-height:var(--touch);background:var(--accent);color:var(--accent-text);border-radius:var(--radius);cursor:pointer;box-shadow:0 8px 20px -8px color-mix(in srgb, var(--accent) 60%, transparent);border:none;justify-content:center;align-items:center;gap:8px;margin-top:4px;font-size:1.05rem;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s;display:flex}.submit-btn.svelte-1x05zx6:hover:not(:disabled){box-shadow:0 12px 26px -8px color-mix(in srgb, var(--accent) 70%, transparent);transform:translateY(-1px)}.submit-btn.svelte-1x05zx6:active:not(:disabled){transform:translateY(0)}.submit-btn.svelte-1x05zx6:disabled{opacity:.6;cursor:not-allowed}.spinner.svelte-1x05zx6{flex-shrink:0;animation:.9s linear infinite svelte-1x05zx6-spin}@keyframes svelte-1x05zx6-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.forgot-link.svelte-1x05zx6{text-align:center;margin-top:14px}.link-subtle.svelte-1x05zx6{color:var(--text-muted);font-size:.88rem;text-decoration:none;transition:color .18s}.link-subtle.svelte-1x05zx6:hover{color:var(--text);text-decoration:underline}.dev-btn.svelte-1x05zx6{width:100%;min-height:var(--touch);color:var(--text);border:1px dashed var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;margin-top:14px;font-size:.9rem;font-weight:600;transition:color .15s,border-color .15s,background .15s}.dev-btn.svelte-1x05zx6:hover:not(:disabled){color:var(--text);border-color:var(--border);background:var(--surface-hover)}.dev-btn.svelte-1x05zx6:disabled{opacity:.6;cursor:not-allowed}.auth-footer.svelte-1x05zx6{text-align:center;color:var(--text-muted);margin-top:24px;font-size:.9rem}.link.svelte-1x05zx6{color:var(--accent);font-weight:600;text-decoration:none}.link.svelte-1x05zx6:hover{text-decoration:underline}.back-link.svelte-1x05zx6{color:#ffffffe6;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(10px);min-height:var(--touch);background:#181f25b8;border:1px solid #9fb0bd2e;align-items:center;gap:7px;padding:9px 16px;font-size:.88rem;text-decoration:none;transition:color .18s,background .18s,border-color .18s;display:inline-flex}.back-link.svelte-1x05zx6:hover{color:#fff;background:#181f25e6;border-color:#9fb0bd59}@media (width<=480px){.auth-card.svelte-1x05zx6{padding:32px 22px 26px}.auth-logo.svelte-1x05zx6 h1:where(.svelte-1x05zx6){font-size:1.6rem}}
