.auth-root{background:var(--color-ground);min-height:100svh;color:var(--color-ink);flex-wrap:wrap;display:flex}.auth-root .auth-main{box-sizing:border-box;background:#fff;flex:440px;justify-content:center;align-items:center;padding:40px clamp(24px,5vw,80px);display:flex}.auth-root .auth-col{flex-direction:column;gap:18px;width:100%;max-width:440px;display:flex}.auth-root .auth-col.done{align-items:flex-start}.auth-root .auth-head{flex-direction:column;gap:8px;display:flex}.auth-root .auth-h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(32px,8vw,40px);font-weight:700;line-height:1.05}.auth-root .auth-h1.sm{font-size:clamp(30px,7.5vw,38px)}.auth-root .auth-h1:focus{outline:none}.auth-root .auth-sub{color:var(--color-ink-2);margin:0;font-size:16px}.auth-root .auth-lead{color:var(--color-ink-2);margin:0;font-size:17px;line-height:1.5}.auth-root .auth-note{color:var(--color-muted);margin:0;font-size:14px}.auth-root .divider{color:var(--color-muted);align-items:center;gap:14px;font-size:14px;display:flex}.auth-root .divider:before,.auth-root .divider:after{content:"";background:var(--color-line);flex:1;height:1px}.auth-root .link-tap{margin:-12px 0;padding:12px 0;font-size:14px;font-weight:600;display:inline-block}.auth-root .linkbtn{font:inherit;color:var(--color-blue);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.auth-root .linkbtn:disabled{color:var(--color-muted);cursor:default;text-decoration:none}.auth-root .visual{box-sizing:border-box;flex-direction:column;flex:560px;justify-content:space-between;gap:32px;min-height:100svh;padding:40px clamp(24px,4vw,64px);display:flex}.auth-root .visual .stage{flex:1;min-height:420px;position:relative}.auth-root .v-title{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(30px,3.4vw,44px);font-weight:700;line-height:1.05}.auth-root .v-sub{color:var(--color-ink-2);margin:0;font-size:17px;line-height:1.5}.auth-root .tilt{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}.auth-root .form-shake{animation:.4s shake}.auth-root :where(a,button,input[type=checkbox]):focus-visible{outline:3px solid var(--color-blue);outline-offset:2px}.auth-root .visual :focus-visible{outline-color:var(--color-ink)}.auth-root a{color:var(--color-blue)}.auth-root a:hover{color:var(--color-blue-deep)}.auth-root .f-display{font-family:var(--font-display)}.auth-root .ic{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.auth-root .visual{background:var(--color-ground);color:var(--color-ink);position:relative;overflow:hidden}.auth-root .floor{transform-origin:bottom;background-image:linear-gradient(#1b1a3312 1px,#0000 1px),linear-gradient(90deg,#1b1a3312 1px,#0000 1px);background-size:64px 64px;height:58%;animation:3.6s linear infinite floor;position:absolute;bottom:-8%;left:-60%;right:-60%;transform:perspective(520px)rotateX(72deg);-webkit-mask-image:linear-gradient(#0000 15%,#000 90%);mask-image:linear-gradient(#0000 15%,#000 90%)}.auth-root .halo{background:radial-gradient(circle,#ffd43b73,#ffd43b00 62%);border-radius:50%;width:620px;height:620px;animation:6s ease-in-out infinite breathe;position:absolute}.auth-root .stage{perspective:1100px;justify-content:center;align-items:center;display:flex}.auth-root .tilt{transform-style:preserve-3d;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.auth-root .gyro{width:340px;height:340px;transform-style:preserve-3d;animation:26s linear infinite gyro;position:relative}.auth-root .ring{transform-style:preserve-3d;border:1.5px solid #ffa51f73;border-radius:50%;position:absolute;inset:0}.auth-root .ring:after{content:"";background:#ffa51f;border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;top:-6px;left:50%;box-shadow:0 0 16px #ffd43b}.auth-root .r1{animation:9s linear infinite r1}.auth-root .r2{border-color:#1b1a331f;animation:13s linear infinite r2;inset:9%}.auth-root .r2:after{background:var(--color-ink);box-shadow:none;width:8px;height:8px;margin-left:-4px;top:-4px}.auth-root .r3{border-color:#ffd43bbf;animation:7s linear infinite r3;inset:18%}.auth-root .r3:after{background:#ffd43b;width:8px;height:8px;margin-left:-4px;top:-4px;box-shadow:0 0 14px #ffd43b}.auth-root .eq{border:1px dashed #1b1a332e;border-radius:50%;position:absolute;inset:-14%;transform:rotateX(90deg)}.auth-root .core{background:radial-gradient(circle at 34% 30%,#fff6c8 0,#ffd43b 35%,#ffa51f 80%);border-radius:50%;animation:3.2s ease-in-out infinite corepulse;position:absolute;inset:37%}.auth-root .fcard{border:1px solid var(--color-line);color:var(--color-ink);-webkit-backdrop-filter:blur(8px);white-space:nowrap;background:#ffffffdb;border-radius:14px;align-items:center;gap:10px;padding:10px 14px 10px 10px;font-size:13px;animation:7s ease-in-out infinite drift;display:flex;position:absolute;box-shadow:0 18px 50px -20px #1b1a334d}.auth-root .fscore{width:34px;height:34px;color:var(--color-ink);font-weight:800;font-family:var(--font-display);background:linear-gradient(135deg,#ffe873,#ffd43b 45%,#ffa51f);border-radius:10px;justify-content:center;align-items:center;display:flex}.auth-root .field-wrap{flex-direction:column;gap:6px;display:flex}.auth-root .field{font:inherit;border:1.5px solid var(--color-line);min-height:52px;color:var(--color-ink);box-sizing:border-box;background:#fff;border-radius:14px;width:100%;padding:0 16px;font-size:16px;transition:border-color .2s,box-shadow .2s}.auth-root .field:focus{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 4px #2b59c326}.auth-root .field.has-error{border-color:var(--color-error);animation:.4s shake}.auth-root .err{color:var(--color-error-text);margin:0;font-size:14px;animation:.25s both rise}.auth-root .btn{font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:0 22px;font-size:16px;font-weight:600;text-decoration:none;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:inline-flex;position:relative}.auth-root .btn:hover{transform:translateY(-2px)}.auth-root .btn-dark{background:var(--color-ink);color:#fff;border:0;box-shadow:0 14px 30px -18px #0f1a2acc}.auth-root .btn-dark:hover{background:var(--color-ink-hover);color:#fff}.auth-root .btn-line{border:1.5px solid var(--color-line);color:var(--color-ink);background:#fff}.auth-root .btn-google-solo{border-color:#747775}.auth-root .btn-line:hover{border-color:var(--color-ink);color:var(--color-ink)}.auth-root .spin{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.auth-root .eye{width:44px;height:44px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;right:4px}.auth-root .eye:hover{background:var(--color-ground);color:var(--color-ink)}.auth-root .check{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:15px;display:flex}.auth-root .check input{width:20px;height:20px;accent-color:var(--color-ink)}.auth-root .form-in{animation:.7s cubic-bezier(.2,.8,.2,1) both formin}.auth-root .ok-ring{fill:none;stroke:var(--color-blue);stroke-width:3px;stroke-dasharray:176;stroke-dashoffset:176px;animation:.7s cubic-bezier(.2,.8,.2,1) forwards draw}.auth-root .ok-mark{fill:none;stroke:var(--color-blue);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40px;animation:.45s cubic-bezier(.2,.8,.2,1) .5s forwards draw}@keyframes floor{to{background-position:0 64px}}@keyframes breathe{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes gyro{0%{transform:rotateX(-16deg)rotateY(0)}to{transform:rotateX(-16deg)rotateY(360deg)}}@keyframes r1{0%{transform:rotateX(74deg)rotate(0)}to{transform:rotateX(74deg)rotate(360deg)}}@keyframes r2{0%{transform:rotateY(68deg)rotate(0)}to{transform:rotateY(68deg)rotate(-360deg)}}@keyframes r3{0%{transform:rotateX(24deg)rotateY(-52deg)rotate(0)}to{transform:rotateX(24deg)rotateY(-52deg)rotate(360deg)}}@keyframes corepulse{0%,to{transform:scale(1)}50%{transform:scale(.92)}}@keyframes drift{0%,to{translate:0}50%{translate:0 -12px}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes formin{0%{opacity:0;transform:perspective(900px)rotateY(-14deg)translate(30px)}to{opacity:1;transform:none}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes draw{to{stroke-dashoffset:0}}.auth-root .meter{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.auth-root .meter span{background:var(--color-track);border-radius:3px;height:6px;transition:background .35s,transform .35s}.auth-root .meter span.on1{background:var(--color-error)}.auth-root .meter span.on2{background:var(--color-signal)}.auth-root .meter span.on3{background:var(--color-blue)}.auth-root .meter span.on4{background:var(--color-blue-deep)}.auth-root .meter span.pulse{animation:.35s cubic-bezier(.2,.8,.2,1.6) barpop}.auth-root .crit{color:var(--color-muted);align-items:center;gap:8px;font-size:14px;transition:color .3s;display:flex}.auth-root .crit.met{color:var(--color-blue-deep)}.auth-root .crit-dot{border:1.5px solid var(--color-line-2);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:background .3s,border-color .3s,transform .3s;display:flex}.auth-root .crit.met .crit-dot{background:var(--color-blue);border-color:var(--color-blue);transform:scale(1.1)}.auth-root .envelope{perspective:700px;width:132px;height:92px;animation:.5s both rise;position:relative}.auth-root .env-body{background:var(--color-blue-soft);border:1.5px solid var(--color-blue);border-radius:10px;position:absolute;inset:0}.auth-root .env-letter{border:1px solid var(--color-line-2);z-index:1;background:#fff;border-radius:6px;height:64px;animation:.9s cubic-bezier(.2,.8,.2,1) .9s both letter;position:absolute;top:10px;left:14px;right:14px}.auth-root .env-front{background:var(--color-blue-soft);clip-path:polygon(0 30%,50% 70%,100% 30%,100% 100%,0 100%);z-index:2;border-bottom:1.5px solid var(--color-blue);border-radius:10px;position:absolute;inset:0}.auth-root .env-flap{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:3;background:#c9d7f5;height:60%;animation:.7s cubic-bezier(.2,.8,.2,1) .3s both flap;position:absolute;top:0;left:0;right:0}.auth-root .countdown{font-variant-numeric:tabular-nums}@keyframes barpop{0%{transform:scaleY(1)}50%{transform:scaleY(1.8)}to{transform:scaleY(1)}}@keyframes flap{0%{transform:rotateX(0)}to{z-index:0;transform:rotateX(180deg)}}@keyframes letter{0%{transform:translateY(0)}to{transform:translateY(-38px)}}@media (prefers-reduced-motion:reduce){.auth-root .ok-ring,.auth-root .ok-mark{stroke-dashoffset:0}}@media (max-width:999px){.auth-root{flex-flow:column}.auth-root .visual{flex:none}.auth-root .visual .stage,.auth-root .visual .v-sub{display:none}.auth-root .auth-main{flex:1 0 auto;align-items:flex-start;padding-top:24px}.auth-root .visual{gap:8px;min-height:auto;padding:16px 24px}.auth-root .visual .stage{min-height:200px}.auth-root .gyro{width:180px;height:180px}.auth-root .halo{width:340px;height:340px}.auth-root .fcard{display:none}.auth-root .visual .v-title{font-size:24px}}
