.auth-page{background:radial-gradient(70% 60% at 12% 8%, #4f46e51c, transparent 60%), radial-gradient(60% 55% at 90% 92%, #a855f717, transparent 62%), var(--bg);min-height:100vh;color:var(--text);font-family:var(--ui);position:relative}.auth-top{z-index:20;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(18px,4vw,40px);display:flex;position:fixed;top:0;left:0;right:0}.auth-top .brand{margin:0;font-size:19px}.auth-top .back{border-radius:var(--pill);height:38px;color:var(--text-dim);border:1px solid var(--border);transition:all .16s var(--ease);align-items:center;gap:8px;padding:0 16px;font-size:13.5px;font-weight:600;display:inline-flex}.auth-top .back:hover{color:var(--text);border-color:var(--border-strong);background:var(--panel)}.auth-stage{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:96px 22px 48px;display:flex;position:relative}.auth-card{background:var(--surface);border:1px solid var(--border);width:min(960px,100%);box-shadow:var(--shadow-pop);border-radius:24px;grid-template-columns:1.02fr .98fr;display:grid;position:relative;overflow:hidden}.auth-card:before{content:"";border-radius:inherit;pointer-events:none;z-index:5;background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 25%, transparent), transparent 40%, color-mix(in oklab, var(--accent-2) 20%, transparent));-webkit-mask-composite:xor;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@media (max-width:780px){.auth-card{grid-template-columns:1fr;max-width:440px}.auth-aside{display:none}}.auth-aside{color:#fff;background:linear-gradient(165deg,#6366f1 0%,#4f46e5 55%,#9333ea 100%);flex-direction:column;padding:40px 38px;display:flex;position:relative;overflow:hidden}.auth-aside .eyebrow{color:#ffffffc7}.auth-aside .eyebrow .d{background:#fff;box-shadow:0 0 0 4px #ffffff38}.auth-wall{pointer-events:none;position:absolute;inset:0}.auth-wall-img{opacity:0;transition:opacity 1.4s var(--ease), transform 9s linear;background:50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.05)}.auth-wall-img.on{opacity:1;transform:scale(1)}.auth-scrim{background:linear-gradient(#0a0a0b8c 0%,#0a0a0b1f 32%,#0a0a0b70 58%,#0a0a0bf0 100%);position:absolute;inset:0}.auth-aside-top{z-index:1;font-family:var(--disp);letter-spacing:-.03em;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex;position:relative}.auth-aside-top .glyph{width:24px;height:24px;position:relative}.auth-aside-top .glyph:before{content:"";background:var(--grad);box-shadow:0 0 16px var(--accent-soft);border-radius:6px;position:absolute;inset:0;transform:rotate(45deg)}.auth-aside-top b{color:#ddd6fe}.auth-aside-head{z-index:1;margin-top:auto;position:relative}.auth-aside-head .eyebrow{margin-bottom:14px}.auth-aside-head h2{font-family:var(--disp);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:30px;font-weight:800;line-height:1.14}.auth-aside-head p{color:#ffffffd1;max-width:30ch;margin:14px 0 0;font-size:14px;line-height:1.65}.auth-plaque{z-index:1;border-top:1px solid #ffffff29;margin-top:auto;padding-top:20px;position:relative}.auth-plaque .eyebrow{font-family:var(--mono);letter-spacing:.14em;color:#ffffffa8;margin-bottom:12px;font-size:11px}.auth-plaque h2{font-family:var(--disp);letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:24px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.auth-plaque .by{font-family:var(--mono);color:#ffffff9e;margin:8px 0 0;font-size:12px}.auth-plaque .note{color:#ffffff80;max-width:36ch;margin:14px 0 0;font-size:13px;line-height:1.65}.auth-main{padding:clamp(30px,3.6vw,46px) clamp(28px,3.4vw,44px);position:relative}.auth-tabs{border-radius:var(--pill);background:var(--surface-2);border:1px solid var(--border);gap:2px;padding:4px;display:inline-flex}.auth-tabs button{border-radius:var(--pill);height:38px;color:var(--text-faint);padding:0 22px;font-size:14px;font-weight:700;transition:color .18s}.auth-tabs button.on{color:#fff;background:var(--btn-grad);box-shadow:var(--btn-shadow)}.auth-h{font-family:var(--disp);letter-spacing:-.025em;margin:26px 0 5px;font-size:25px;font-weight:800}.auth-sub{color:var(--text-faint);margin:0 0 22px;font-size:13.5px;line-height:1.55}.email-note{background:var(--accent-soft);border:1px solid color-mix(in oklab, var(--accent) 28%, transparent);color:var(--text-dim);border-radius:10px;align-items:center;gap:9px;margin-bottom:18px;padding:10px 13px;font-size:12.5px;line-height:1.4;display:flex}.email-note .ic{color:#fff;background:var(--grad);border-radius:6px;flex:none;place-items:center;width:20px;height:20px;font-size:12px;display:grid}.submode{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;gap:4px;margin-bottom:16px;padding:3px;display:none}.submode.show{display:flex}.submode button{height:34px;color:var(--text-dim);border-radius:8px;flex:1;font-size:13px;font-weight:600;transition:all .16s}.submode button.on{color:var(--text);background:var(--panel-hover);box-shadow:inset 0 0 0 1px var(--border-strong)}.field{margin-bottom:14px}.field>label{color:var(--text-dim);letter-spacing:.01em;margin-bottom:7px;font-size:12px;font-weight:600;display:block}.inp{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;height:50px;padding:0 14px;transition:border-color .16s,box-shadow .16s;display:flex;position:relative}.inp:focus-within{border-color:color-mix(in oklab, var(--accent) 55%, transparent);box-shadow:0 0 0 3px var(--accent-soft)}.inp.bad{border-color:#e05260;box-shadow:0 0 0 3px #e0526029}.inp.ok{border-color:color-mix(in oklab, var(--accent-3) 60%, transparent)}.inp .lic{color:var(--text-faint);flex:none;place-items:center;display:grid}.inp .lic svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.inp input{min-width:0;color:var(--text);letter-spacing:.01em;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14.5px}.inp input::placeholder{color:var(--text-faint)}.inp .eye{color:var(--text-faint);flex:none;padding:4px;font-size:12px;transition:color .15s}.inp .eye:hover{color:var(--text-dim)}.inp .code-btn{height:34px;color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 35%, transparent);background:var(--accent-soft);white-space:nowrap;border-radius:8px;flex:none;padding:0 13px;font-size:12.5px;font-weight:700;transition:all .15s}.inp .code-btn:hover:not(:disabled){background:color-mix(in oklab, var(--accent) 22%, transparent)}.inp .code-btn:disabled{color:var(--text-faint);border-color:var(--border);cursor:default;background:0 0}.err{color:#ee6b78;min-height:0;margin-top:6px;font-size:11.5px;display:none}.err.show{display:block}.row-between{justify-content:space-between;align-items:center;margin:2px 0 20px;display:flex}.chk{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.chk input{opacity:0;pointer-events:none;position:absolute}.chk .box{border:1px solid var(--border-strong);color:#fff;border-radius:5px;place-items:center;width:17px;height:17px;font-size:11px;transition:all .15s;display:grid}.chk input:checked+.box{background:var(--btn-grad);border-color:#0000}.chk .box:after{content:"✓";opacity:0;transition:opacity .15s}.chk input:checked+.box:after{opacity:1}.auth-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12.5px;font-weight:600}.auth-link:hover{text-decoration:underline}.submit{border-radius:var(--btn-r,11px);background:var(--btn-grad);color:#fff;letter-spacing:.01em;width:100%;height:52px;box-shadow:var(--btn-shadow);justify-content:center;align-items:center;gap:9px;font-size:15px;font-weight:700;transition:filter .16s,transform .16s;display:inline-flex;position:relative;overflow:hidden}.submit:hover{filter:brightness(.94);transform:translateY(-1px)}.submit:active{transform:translateY(0)}.submit.loading{pointer-events:none}.submit .spin{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:17px;height:17px;animation:.7s linear infinite authSpin;display:none}.submit.loading .spin{display:block}.submit.loading .lbl{opacity:.7}@keyframes authSpin{to{transform:rotate(360deg)}}.divider{color:var(--text-faint);align-items:center;gap:14px;margin:24px 0;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.socials{gap:10px;display:flex}.soc{height:48px;color:var(--text-faint);background:var(--surface-2);border:1px solid var(--border);cursor:not-allowed;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.soc svg{width:18px;height:18px}.soc .soon{letter-spacing:.04em;color:#fff;background:color-mix(in oklab, var(--text-faint) 60%, #000);opacity:.9;border-radius:5px;padding:2px 6px;font-size:9px;font-weight:800;position:absolute;top:-8px;right:8px}.auth-foot{text-align:center;color:var(--text-faint);margin-top:24px;font-size:13px}.auth-foot .auth-link{font-size:13px}.terms{color:var(--text-faint);text-align:center;margin-top:18px;font-size:11px;line-height:1.6}.terms a{color:var(--text-dim);text-underline-offset:2px;text-decoration:underline}.toast{z-index:300;border-radius:var(--pill);color:#f5f5f7;box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:opacity .25s, transform .25s var(--ease);background:#1d1d1f;border:1px solid #ffffff14;align-items:center;gap:9px;padding:13px 22px;font-size:14px;font-weight:600;display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)}.toast .ic{color:#64d2ff}.auth-page [data-only]{display:none}.auth-page[data-mode=login] [data-only=login],.auth-page[data-mode=register] [data-only=register]{display:block}.auth-page[data-mode=register] .submode{display:none}.auth-page[data-mode=login] .submode,.auth-page[data-mode=login] .row-between[data-only=login],.auth-page[data-mode=register] .row-between[data-only=register]{display:flex}
