.vy-auth{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:100dvh;background:var(--paper)}.vy-auth__brand{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:100dvh;padding:36px clamp(32px,4vw,64px) 44px;overflow:hidden;background:var(--ink)}.vy-auth__photo{z-index:-3;object-fit:cover;object-position:50% 40%}.vy-auth__brand:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(520px 420px at 62% 44%,rgba(13,91,255,.34),transparent 70%),linear-gradient(0deg,var(--ink) 4%,rgba(3,10,38,.4) 50%,rgba(3,10,38,.62) 100%)}.vy-auth__top{display:flex;align-items:center;justify-content:space-between;gap:16px}.vy-auth__logo img{display:block;width:auto;height:28px}.vy-auth__back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;font-weight:700;text-decoration:none;transition:color .2s}.vy-auth__back:hover{color:#fff}.vy-auth__ball{position:absolute;top:44%;left:60%;z-index:-1;width:clamp(240px,26vw,400px);aspect-ratio:1;transform:translate(-50%,-50%)}.vy-auth__ball:before{content:"";position:absolute;inset:-18%;border-radius:50%;border:1.5px dashed rgba(39,215,255,.28);animation:vy-spin 90s linear infinite reverse}.vy-auth__ball img{display:block;width:100%;height:100%;animation:vy-spin 50s linear infinite,vy-fade 1.4s var(--ease) both;filter:drop-shadow(0 40px 60px rgba(13,91,255,.45))}.vy-auth__pitch{max-width:520px;animation:vy-rise 1s .15s var(--ease) both}.vy-auth__pitch h2{margin:0 0 16px;font-family:var(--display);font-weight:700;font-size:clamp(40px,4.6vw,68px);line-height:.94;letter-spacing:-.005em;word-spacing:var(--caps-space);text-transform:uppercase;color:#fff}.vy-auth__pitch p{margin:0;font-size:18px;line-height:1.55;color:var(--muted)}.vy-auth__roles{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none}.vy-auth__roles li{padding:7px 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px;font-weight:700;color:var(--text)}.vy-auth__panel{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(28px,5vw,80px) 28px;color:var(--ink-text)}.vy-auth__form-wrap{width:100%;max-width:420px;margin:auto;animation:vy-rise .9s .1s var(--ease) both}.vy-auth__eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--royal)}.vy-auth__title{margin:0 0 10px;font-family:var(--display);font-weight:700;font-size:clamp(36px,3.4vw,46px);line-height:1;color:var(--deep)}.vy-auth__lede{margin:0 0 28px;font-size:16px;line-height:1.55;color:var(--ink-muted)}.vy-auth__msg{display:flex;gap:10px;margin:0 0 22px;padding:13px 16px;border:1px solid #cfe0ff;border-radius:14px;background:#eaf1ff;color:#0d3fb8;font-size:14px;line-height:1.5}.vy-auth__msg:before{content:"";flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:currentColor}.vy-auth__msg[data-tone=bad]{border-color:#f6c9c9;background:#fff1f1;color:#b42318}.vy-auth__form{gap:16px}.vy-auth__field,.vy-auth__form{display:flex;flex-direction:column}.vy-auth__field{gap:7px;font-size:13px;font-weight:800;color:var(--ink-text)}.vy-auth__field input{width:100%;height:54px;padding:0 16px;border:1.5px solid #d3dcf8;border-radius:14px;background:#fff;color:var(--ink-text);font-family:var(--body);font-weight:600;font-size:16px;transition:border-color .2s,box-shadow .2s}.vy-auth__field input::placeholder{color:#9aa4c7}.vy-auth__field input:focus{outline:none;border-color:var(--royal);box-shadow:0 0 0 4px rgba(13,91,255,.14)}.vy-auth__submit{width:100%;margin-top:6px;border:0;cursor:pointer;background:linear-gradient(120deg,var(--deep),var(--royal));color:#fff;box-shadow:0 16px 34px -16px rgba(13,91,255,.75)}.vy-auth__submit:hover{transform:translateY(-2px);box-shadow:0 20px 40px -16px rgba(13,91,255,.85)}.vy-auth__note{margin:22px 0 0;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid #e1e8fb;font-size:13.5px;line-height:1.55;color:var(--ink-muted)}.vy-auth__note b{color:var(--ink-text)}.vy-auth__note a{color:var(--royal);font-weight:800}.vy-auth__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;width:100%;max-width:420px;margin:36px auto 0;font-size:12px;line-height:1.5;color:#7d88ad}.vy-auth__foot nav{display:flex;gap:14px}.vy-auth__foot a{color:#5b6794;font-weight:700;text-decoration:none}.vy-auth__foot a:hover{color:var(--royal)}@media (max-width:960px){.vy-auth{grid-template-columns:1fr}.vy-auth__brand{min-height:0;height:clamp(260px,38svh,360px);padding:20px 20px 28px}.vy-auth__ball{top:52%;left:74%;width:clamp(150px,40vw,230px)}.vy-auth__pitch h2{font-size:clamp(32px,9vw,44px);margin:0}.vy-auth__pitch p,.vy-auth__roles{display:none}.vy-auth__panel{position:relative;margin-top:-24px;padding:34px 20px 28px;border-radius:26px 26px 0 0;background:var(--paper)}}@media (max-width:420px){.vy-auth__back span{display:none}}.vy-auth__label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.vy-auth__forgot{padding:0;border:0;background:none;color:var(--royal);font-family:var(--body);font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}.vy-auth__forgot:hover{text-decoration:underline}.vy-auth__after{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 20px;margin-top:18px}.vy-auth__after .vy-auth__forgot{min-height:44px;font-size:14px}.vy-auth__field .vy-auth__code-input{height:64px;font-size:26px;letter-spacing:.3em;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vy-auth__stranger{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin:0 0 20px;padding:12px 14px;border:1px solid #f2dcae;border-radius:14px;background:#fffaf0;font-size:13.5px;color:#6b4a00}.vy-auth__stranger button{padding:7px 12px;border:1px solid #e7c98a;border-radius:999px;background:#fff;color:#6b4a00;font-family:var(--body);font-weight:800;font-size:13px;cursor:pointer}