.auth-page{--muted:#655878;--ghost-line:#dccafb;--danger:#c8323f;background:var(--lavender);min-height:100svh;color:var(--ink);flex:1;position:relative;overflow:hidden}.auth-page a{color:var(--brand-text);text-underline-offset:3px}.auth-page a:hover{color:var(--ink)}.auth-page :focus-visible{outline:3px solid var(--brand-600);outline-offset:3px}.auth-dots{background-image:radial-gradient(var(--brand-200) 1.8px, transparent 1.8px);pointer-events:none;background-size:28px 28px;animation:6s linear infinite auth-drift;position:absolute;inset:0}.auth-ghost{pointer-events:none;width:140%;padding:6px 0;position:absolute;top:50%;left:-20%;overflow:hidden;transform:translateY(-50%)rotate(-14deg)}.auth-ghost-track{width:max-content;animation:48s linear infinite auth-marquee;display:flex}.auth-ghost-track span{font:800 120px/1 var(--display);white-space:nowrap;color:var(--lavender);text-shadow:2px 0 0 var(--ghost-line), 1.85px .77px 0 var(--ghost-line), 1.41px 1.41px 0 var(--ghost-line), .77px 1.85px 0 var(--ghost-line), 0 2px 0 var(--ghost-line), -.77px 1.85px 0 var(--ghost-line), -1.41px 1.41px 0 var(--ghost-line), -1.85px .77px 0 var(--ghost-line), -2px 0 0 var(--ghost-line), -1.85px -.77px 0 var(--ghost-line), -1.41px -1.41px 0 var(--ghost-line), -.77px -1.85px 0 var(--ghost-line), 0 -2px 0 var(--ghost-line), .77px -1.85px 0 var(--ghost-line), 1.41px -1.41px 0 var(--ghost-line), 1.85px -.77px 0 var(--ghost-line);padding-right:40px}.auth-orbs{display:none}@media (min-width:900px){.auth-orbs{pointer-events:none;display:block;position:absolute;inset:0}}.auth-orbs span{width:var(--size);height:var(--size);border:3px solid var(--ink);opacity:.7;background:radial-gradient(circle at 32% 28%, #fff 0 10%, transparent 11%), radial-gradient(circle at 50% 45%, var(--brand-300), var(--brand-600) 80%);box-shadow:0 5px 0 var(--ink);border-radius:50%;animation:7s ease-in-out infinite alternate auth-float;position:absolute}.auth-main{z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:40px 20px;display:flex;position:relative}.auth-logo{width:100%;max-width:380px;padding-bottom:8px;animation:4.8s ease-in-out infinite auth-logo;display:block}.auth-logo img{width:100%;height:auto;display:block}.auth-card{border:3px solid var(--ink);width:100%;max-width:460px;box-shadow:10px 10px 0 var(--brand-600);background:#fff;border-radius:28px;flex-direction:column;gap:22px;padding:36px;animation:.6s cubic-bezier(.2,1.4,.4,1) both auth-in;display:flex}.auth-switch{border:3px solid var(--ink);background:var(--brand-50);border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));padding:5px;display:grid;position:relative}.auth-switch-ind{border:2.5px solid var(--ink);background:var(--brand-grad);border-radius:999px;width:calc(50% - 5px);transition:transform .22s cubic-bezier(.3,1.4,.5,1);position:absolute;top:5px;bottom:5px;left:5px;box-shadow:inset 0 -3px #46197d40}.auth-switch-ind:before{content:"";background:#ffffff80;border-radius:99px;width:30%;height:5px;position:absolute;top:5px;left:12px}.auth-page[data-mode=login] .auth-switch-ind{transform:translate(100%)}.auth-tab{z-index:1;height:44px;font:800 16px/1 var(--display);letter-spacing:.5px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;position:relative}.auth-tab[aria-pressed=true]{color:#fff;text-shadow:0 2px #46197d80}.auth-head{flex-direction:column;gap:8px;display:flex}.auth-h1{font:800 44px/.95 var(--display);letter-spacing:-1.2px;text-shadow:3px 3px 0 var(--brand-200);margin:0}.auth-h1 em{font-style:inherit;color:var(--brand-600)}.auth-sub{color:var(--muted);margin:0;font-size:16px;line-height:1.5}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-label{font:800 12px var(--display);letter-spacing:.12em;text-transform:uppercase}.auth-forgot{font-size:14px;font-weight:600}.auth-input{border:2.5px solid var(--ink);background:var(--brand-50);width:100%;height:56px;min-height:0;font:400 16px var(--font-geist-sans), system-ui, sans-serif;color:var(--ink);border-radius:14px;padding:0 16px;transition:border-color .12s,box-shadow .12s}.auth-input::placeholder{color:#a99bbd}.auth-input:hover{border-color:var(--ink)}:is(.auth-input:focus,.auth-input:focus-visible){border-color:var(--brand-700);box-shadow:4px 4px 0 var(--brand-400);outline:none}.auth-pw{position:relative}.auth-pw .auth-input{padding-right:56px}.auth-eye{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:6px;right:6px}.auth-eye[aria-pressed=true]{color:var(--brand-700)}.auth-hint{color:var(--muted);align-items:center;gap:5px;margin:0;font-size:13px;line-height:1.5;display:flex}.auth-hint[data-met]{color:var(--brand-700);font-weight:600}.auth-suggest{border:2px solid var(--ink);background:var(--brand-50);border-radius:12px;margin:2px 0 0;padding:12px 14px;font-size:14px;line-height:1.5}.auth-suggest p{margin:0}.auth-suggest strong{font-weight:700}.auth-suggest div{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.auth-chip{border:2px solid var(--ink);min-height:44px;font:800 13px var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);box-shadow:0 3px 0 var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:0 16px;transition:transform .12s,box-shadow .12s}.auth-chip-yes{background:var(--brand-grad);color:#fff;text-shadow:0 1px #46197d80}.auth-chip:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.auth-cta{isolation:isolate;border:3px solid var(--ink);background:var(--brand-grad);height:62px;font:800 20px/1 var(--display);letter-spacing:1px;color:#fff;text-shadow:0 2px #46197d80;box-shadow:inset 0 -4px 0 #46197d40, 0 6px 0 var(--ink);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:10px;margin-top:4px;transition:transform .12s,box-shadow .12s,filter .15s;display:flex;position:relative}.auth-cta:before{content:"";z-index:-1;background:#ffffff8c;border-radius:99px;width:32%;height:8px;position:absolute;top:6px;left:14px}.auth-cta:after{content:"";z-index:-1;background:#fffc;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:16px}.auth-cta:hover:enabled{filter:brightness(1.05)saturate(1.05);box-shadow:inset 0 -4px 0 #46197d40, 0 8px 0 var(--ink);transform:translateY(-2px)}.auth-cta:active:enabled{box-shadow:inset 0 -4px 0 #46197d40, 0 2px 0 var(--ink);transform:translateY(4px)}.auth-cta:disabled{cursor:wait;filter:saturate(.8)}.auth-google{flex-direction:column;gap:14px;display:flex}.auth-google-slot{justify-content:center;min-height:44px;display:flex}.auth-google-note{text-align:center;color:var(--brand-700);margin:0;font-size:14px;font-weight:600}.auth-page .auth-google-jump{border:2px solid var(--ink);min-height:48px;font:700 16px var(--display);color:var(--ink);box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:10px;text-decoration:none;display:flex}.auth-page .auth-google-jump:hover{color:var(--ink)}.auth-page .auth-google-jump:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.auth-google-tip{border:2px solid var(--ink);background:var(--brand-50);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5}.auth-google-tip p{margin:0}.auth-page .auth-google-tip .auth-chip{color:var(--ink);align-items:center;margin-top:10px;text-decoration:none;display:inline-flex}.auth-or{font:800 12px var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;display:flex}.auth-or:before,.auth-or:after{content:"";border-top:2px solid var(--ghost-line);flex:1}.auth-legal{text-align:center;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.auth-status{border:2px solid var(--ink);background:var(--brand-50);border-radius:12px;margin:0;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.5}.auth-status[data-tone=error]{border-color:var(--danger);color:#9e1f2b;background:#fdf0f1}.auth-swap{text-align:center;color:var(--muted);margin:0;font-size:15px}.auth-swap button{font:800 15px var(--display);color:var(--brand-text);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 2px;text-decoration:underline}.auth-swap button:hover{color:var(--ink)}@keyframes auth-drift{to{background-position:56px 28px}}@keyframes auth-marquee{to{transform:translate(-50%)}}@keyframes auth-float{to{transform:translateY(-22px)}}@keyframes auth-logo{0%,to{transform:none}50%{transform:translateY(-12px)rotate(-1.5deg)}}@keyframes auth-in{0%{opacity:0;transform:translateY(24px)rotate(2deg)}}@media (min-width:900px){.auth-main{padding:36px 18px}.auth-logo,.auth-card{zoom:.9}.auth-dots{background-image:radial-gradient(var(--brand-200) 1.62px, transparent 1.62px);background-size:25.2px 25.2px;animation-name:auth-drift-90}.auth-ghost-track span{padding-right:36px;font-size:108px}.auth-orbs span{width:calc(var(--size) * .9);height:calc(var(--size) * .9)}}@keyframes auth-drift-90{to{background-position:50.4px 25.2px}}@media (max-width:520px){.auth-card{box-shadow:6px 6px 0 var(--brand-600);padding:24px}.auth-h1{font-size:36px}}@media (prefers-reduced-motion:reduce){.auth-dots,.auth-ghost-track,.auth-orbs span,.auth-logo,.auth-card{animation:none!important}.auth-switch-ind,.auth-cta,.auth-chip{transition:none}}
