.auth-stage,.auth-solo,.auth-veil{--beam-cta:#12100c;--beam-cta-hover:#1b1811;--beam-cta-fg:#faf8f3;--beam-200:#bcd8f4;--beam-wash:#1a76d61a;--shadow-md:0 4px 12px -2px #12100c17, 0 2px 4px -2px #12100c0d;--shadow-lg:0 14px 32px -10px #12100c24, 0 4px 10px -4px #12100c12;--shadow-xl:0 30px 64px -24px #12100c33, 0 8px 20px -12px #12100c1a}@layer components{.auth-stage{background:var(--surface-page);min-height:100svh;color:var(--ink-900);padding:0 28px 34px;position:relative;overflow:hidden}.auth-stage-light{border-radius:var(--r-pill);filter:blur(24px);pointer-events:none;background:radial-gradient(circle,#1a76d612,#0000 64%);width:900px;height:900px;position:absolute;top:-380px;left:-8%}.auth-brand-row{z-index:2;justify-content:space-between;align-items:center;width:min(100%,1240px);height:78px;margin:0 auto;display:flex;position:relative}.auth-brand{color:var(--ink-900);font-family:var(--font-display), sans-serif;letter-spacing:-.04em;align-items:center;gap:10px;font-size:19px;font-weight:780;text-decoration:none;display:inline-flex}.auth-brand>span{border:1px solid var(--line-soft);background:var(--surface-raised);width:30px;height:30px;color:var(--beam-600);border-radius:9px;place-items:center;display:grid}.auth-ground{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.auth-ground img{aspect-ratio:9/16;object-fit:cover;filter:blur(26px)saturate(1.15);opacity:.55;border-radius:28px;width:34vw;min-width:260px;height:auto;position:absolute;transform:rotate(-6deg)}.auth-ground img:first-child{top:-12%;left:-6%}.auth-ground img:nth-child(2){top:18%;right:-8%;transform:rotate(7deg)}.auth-ground img:nth-child(3){bottom:-18%;left:22%;transform:rotate(4deg)}.auth-ground img:nth-child(4){opacity:.4;bottom:-22%;right:18%;transform:rotate(-9deg)}.auth-ground:after{content:"";background:radial-gradient(at 50% 40%,#f2f2ef26,#f2f2efb3 70%),linear-gradient(#f2f2ef66,#f2f2efd9);position:absolute;inset:0}.auth-veil{justify-content:center;align-items:flex-start;display:flex}.auth-veil.is-float{z-index:1000;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100dvh;padding:24px 16px;animation:.18s both auth-veil-in;position:fixed;inset:0;overflow-y:auto}.auth-veil.is-page{z-index:1;min-height:calc(100svh - 112px);padding:12px 0 40px;position:relative}@keyframes auth-veil-in{0%{opacity:0}to{opacity:1}}.auth-dialog{width:min(100%,460px);margin:auto;animation:.26s cubic-bezier(.22,1,.36,1) both auth-dialog-in;position:relative}@keyframes auth-dialog-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}.auth-dialog-x{z-index:2;border:1px solid var(--line-soft);background:var(--surface-raised);width:32px;height:32px;color:var(--ink-500);cursor:pointer;transition:color var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out);border-radius:999px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.auth-dialog-x:hover{color:var(--ink-900);background:var(--fill-ink-soft)}.auth-card{border:1px solid var(--line-soft);background:var(--surface-raised);width:100%;color:var(--ink-900);box-shadow:var(--shadow-xl);border-radius:24px;padding:30px 34px 30px 30px}.auth-card-kicker{color:var(--ink-400);font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:620}.auth-card h1{color:var(--ink-900);font-family:var(--font-display), sans-serif;letter-spacing:-.052em;margin-top:11px;font-size:33px;font-weight:790;line-height:1}.auth-card-lead{color:var(--ink-600);margin-top:10px;font-size:13px;line-height:1.55}.auth-handoff{border:1px solid var(--line-soft);background:var(--surface-raised);width:100%;color:var(--ink-900);box-shadow:var(--shadow-xl);text-align:center;border-radius:24px;padding:34px 30px 30px}.auth-google{border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface-raised);width:100%;height:50px;color:var(--ink-900);transition:border-color var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);justify-content:center;align-items:center;gap:10px;margin-top:24px;font-size:13px;font-weight:760;display:flex}.auth-google:hover{border-color:var(--line-control);background:var(--fill-ink-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.auth-google:active{transform:translateY(1px)}.auth-divider{color:var(--ink-400);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;margin:21px 0;font-size:8.5px;font-weight:620;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line-soft);flex:1;height:1px}.auth-form{gap:15px;display:grid}.auth-label{color:var(--ink-500);letter-spacing:.1em;text-transform:uppercase;gap:7px;font-size:10px;font-weight:700;display:grid}.auth-label-row{justify-content:space-between;align-items:center;display:flex}.auth-label-row a{color:var(--ink-600);letter-spacing:0;text-transform:none;font-size:10px;font-weight:700}.auth-label-row a:hover{color:var(--ink-900)}.auth-input{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-page);width:100%;height:48px;color:var(--ink-900);transition:border-color var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);padding:0 13px;font-size:14px}.auth-input:focus{border-color:var(--beam-700);background:var(--surface-raised);box-shadow:0 0 0 3px var(--beam-wash)}.auth-input::placeholder{color:var(--ink-400)}.auth-help{color:var(--ink-500);letter-spacing:0;text-transform:none;margin-top:-2px;font-size:10px;font-weight:500}.auth-legal{color:var(--ink-500);margin-top:12px;font-size:10.5px;line-height:1.6}.auth-legal a{color:var(--ink-800);white-space:nowrap;text-underline-offset:2px;font-weight:700;text-decoration:underline}.auth-error{border:1px solid color-mix(in srgb, var(--band-warn) 32%, transparent);border-radius:var(--r-md);background:color-mix(in srgb, var(--band-warn) 8%, transparent);color:var(--band-warn);padding:11px 12px;font-size:11px;font-weight:650}.auth-submit{border-radius:var(--r-pill);background:var(--beam-cta);width:100%;height:50px;color:var(--beam-cta-fg);transition:background var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);justify-content:center;align-items:center;gap:8px;margin-top:2px;font-size:13px;font-weight:760;display:flex;box-shadow:0 16px 30px -20px #12100c99}.auth-submit:hover:not(:disabled){background:var(--beam-cta-hover);transform:translateY(-1px);box-shadow:0 20px 34px -21px #12100ca8}.auth-submit:active:not(:disabled){transform:translateY(1px)}.auth-submit:disabled{cursor:wait;opacity:.55}.auth-switch{color:var(--ink-500);text-align:center;margin-top:21px;font-size:11px}.auth-switch a{color:var(--ink-900);font-weight:800}.auth-solo{background:var(--surface-page);min-height:100svh;color:var(--ink-900);flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:48px 20px;display:flex}.auth-solo .auth-card{max-width:430px}.auth-card-lead+.auth-form,.auth-card-lead+.auth-note{margin-top:24px}.auth-solo-mark{color:var(--ink-900);font-family:var(--font-display), sans-serif;letter-spacing:-.04em;align-items:center;gap:10px;font-size:19px;font-weight:780;display:inline-flex}.auth-note{border:1px solid color-mix(in srgb, var(--positive) 26%, transparent);border-radius:var(--r-md);background:color-mix(in srgb, var(--positive) 8%, transparent);color:var(--ink-700);gap:5px;padding:13px 14px;font-size:12.5px;line-height:1.55;display:grid}.auth-note strong{color:var(--ink-900);align-items:center;gap:7px;font-weight:700;display:flex}.auth-note strong svg{color:var(--positive)}.auth-back{color:var(--ink-500);text-align:center;margin-top:18px;font-size:11px}.auth-back a{color:var(--ink-900);font-weight:800}@media (max-width:960px){.auth-stage{padding-inline:18px}.auth-ground img{width:52vw}}@media (max-width:520px){.auth-brand-row{height:66px}.auth-veil.is-float{padding:12px 10px}.auth-card{border-radius:19px;padding:23px 19px}.auth-card h1{font-size:29px}.auth-handoff{border-radius:19px;padding:26px 19px 23px}}@media (prefers-reduced-motion:reduce){.auth-google:hover,.auth-submit:hover:not(:disabled){transform:none}.auth-veil.is-float,.auth-dialog{animation:none}}}.auth-veil.is-float{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c0f156b}.auth-dialog.vm-light{background:0 0}
