.auth-page{--art-bg:#ffede5;--art-paper:#fffdf8;--art-ink:#141413;background:var(--bg);min-height:calc(100dvh - 64px);color:var(--ink);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);display:grid}.auth-page.scene-login{--art-bg:#e6edff}.auth-page.scene-recover,.auth-page.scene-verify{--art-bg:#e8f6ee}.dark .auth-page{--art-bg:#2a1a14;--art-paper:#1a1918;--art-ink:#f1eee7}.dark .auth-page.scene-login{--art-bg:#161d33}.dark .auth-page.scene-recover,.dark .auth-page.scene-verify{--art-bg:#13261b}.auth-art{background:var(--art-bg);flex-direction:column;gap:28px;padding:32px clamp(28px,4vw,64px) 40px;display:flex;position:relative;overflow:hidden}.auth-art:before{content:"";aspect-ratio:1;background:radial-gradient(closest-side, var(--accent-soft), transparent);filter:blur(6px);border-radius:50%;width:70%;position:absolute;top:-22%;right:-18%}.scene-login .auth-art:before{background:radial-gradient(closest-side, var(--blue-soft), transparent)}.scene-recover .auth-art:before,.scene-verify .auth-art:before{background:radial-gradient(closest-side, var(--green-soft), transparent)}.auth-brand{color:var(--ink);font-family:var(--display);align-items:center;gap:10px;font-size:20px;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.auth-art-board{flex:1;place-items:center;min-height:0;display:grid;position:relative}.art-svg{filter:drop-shadow(0 30px 50px #14141329);width:min(100%,640px);height:auto;max-height:52vh;rotate:-1.6deg}.scene-login .art-svg{rotate:1.4deg}.auth-art-copy{max-width:560px;position:relative}.auth-kicker{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:0 0 10px;font-size:12px}.auth-title{font-family:var(--display);letter-spacing:-.02em;margin:0 0 18px;font-size:clamp(34px,3.6vw,54px);font-weight:700;line-height:1.02}.auth-title em{color:var(--accent);font-style:normal}.scene-login .auth-title em{color:var(--blue)}.scene-recover .auth-title em,.scene-verify .auth-title em{color:var(--green)}.auth-points{color:var(--ink-2);gap:8px;margin:0;padding:0;font-size:15px;list-style:none;display:grid}.auth-points li{align-items:baseline;gap:10px;display:flex}.auth-points li:before{content:"";opacity:.5;background:currentColor;flex:none;width:14px;height:2px;translate:0 -4px}.art-paper{fill:var(--art-paper)}.art-dot{fill:var(--grid);opacity:.7}.art-ink,.art-ink-static{fill:none;stroke:var(--art-ink);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.art-thin{stroke-width:2.4px}.art-faded{opacity:.55}.art-box{fill:var(--surface);stroke:var(--line-2);stroke-width:1.5px}.art-hand{font-family:var(--display);fill:var(--art-ink);font-size:22px;font-weight:600}.art-big{font-size:30px}.art-note-text{font-family:var(--display);fill:#141413;font-size:17px;font-weight:700}.art-note-small{font-family:var(--ui);fill:#3b3a36;font-size:13px}.art-name{font-family:var(--ui);fill:#fff;font-size:12px;font-weight:600}.art-chip-bg{fill:var(--surface);stroke:var(--line);filter:drop-shadow(0 6px 14px #1414131f)}.art-chip-text{font-family:var(--ui);fill:var(--ink);font-size:13px;font-weight:600}.art-chip-small{font-family:var(--ui);fill:var(--ink-3);font-size:11px}.art-digit-box{fill:var(--surface);stroke:var(--green);stroke-width:2px}.art-digit-text{font-family:var(--mono);text-anchor:middle;fill:var(--ink);font-size:26px;font-weight:700}.art-cursor-you{translate:300px 300px}.art-cursor-student{translate:420px 60px}.art-cursor-return{translate:450px 290px}@media (prefers-reduced-motion:no-preference){.art-ink{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:art-draw 9s var(--ease-out) infinite}.art-ink-2{animation-delay:.4s}.art-pop{transform-box:fill-box;transform-origin:50%;animation:art-pop 9s var(--ease-spring) infinite both}.art-pop-1{animation-delay:.9s}.art-pop-2{animation-delay:1.3s}.art-pop-3{animation-delay:1.7s}.art-pop-4{animation-delay:2.1s}.art-pop-5{animation-delay:2.7s}.art-pop-6{animation-delay:3.4s}.art-pop-7{animation-delay:3.8s}.art-cursor-you{animation:art-you 9s var(--ease-out) infinite}.art-cursor-student{animation:art-student 9s var(--ease-out) infinite}.art-cursor-return{animation:art-return 9s var(--ease-out) infinite}}@keyframes art-draw{0%{stroke-dashoffset:1000px}30%,92%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes art-pop{0%{opacity:0;scale:.7}8%,92%{opacity:1;scale:1}to{opacity:0;scale:1}}@keyframes art-you{0%{translate:90px 300px}12%{translate:90px 120px}28%{translate:300px 300px}60%{translate:330px 140px}to{translate:90px 300px}}@keyframes art-student{0%,25%{translate:540px 60px}45%{translate:420px 250px}75%{translate:380px 230px}to{translate:540px 60px}}@keyframes art-return{0%{translate:540px 400px}25%{translate:340px 300px}55%{translate:450px 290px}to{translate:540px 400px}}.auth-side{background:var(--bg);flex-direction:column;min-width:0;padding:24px clamp(20px,5vw,72px);display:flex}.auth-side-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-side-brand{color:var(--ink);font-family:var(--display);align-items:center;gap:8px;font-weight:700;text-decoration:none;display:none}.auth-side-actions{color:var(--ink-2);align-items:center;gap:12px;margin-left:auto;font-size:14px;display:flex}.auth-side-actions a{color:var(--ink);font-weight:600}.auth-side-body{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:420px;margin:0 auto;padding:40px 0;display:flex}@media (prefers-reduced-motion:no-preference){.auth-side-body{animation:m-rise-in var(--dur-3,.3s) var(--ease-out,ease-out)}}.auth-side-body h1{font-family:var(--display);letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(30px,3vw,40px);line-height:1.05}.auth-side-body .auth-lede{color:var(--ink-2);margin:0 0 26px}.auth-side-foot{justify-content:center;gap:18px;font-size:13px;display:flex}.auth-side-foot a{color:var(--ink-3);text-decoration:none}.auth-side-foot a:hover{color:var(--ink)}.auth-alt{color:var(--ink-2);text-align:center;margin:22px 0 0;font-size:14px}.auth-alt a{color:var(--ink);font-weight:600}.auth-trial-badge{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin:0 0 18px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.auth-trial-badge:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.password-strength{color:var(--ink-3);align-items:center;gap:10px;margin:-4px 0 4px;font-size:12.5px;display:flex}.password-meter{grid-template-columns:repeat(4,22px);gap:4px;display:inline-grid}.password-meter i{background:var(--line-2);height:4px;transition:background-color var(--dur-2,.2s) var(--ease-out,ease-out);border-radius:2px}.password-strength.is-1 .password-meter i.on{background:var(--danger)}.password-strength.is-2 .password-meter i.on{background:var(--amber)}.password-strength.is-3 .password-meter i.on,.password-strength.is-4 .password-meter i.on{background:var(--green)}.code-input{border:1.5px solid var(--line-2);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--ink);font-family:var(--mono);letter-spacing:.5em;text-align:center;text-indent:.5em;padding:14px 16px;font-size:30px;font-weight:700}.code-input:focus{border-color:var(--ink);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.verify-email-line{border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-1);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;padding:10px 14px;font-size:14px;display:flex}.verify-actions{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:14px;display:flex}@media (max-width:900px){.auth-page{flex-direction:column;display:flex}.auth-side{display:contents}.auth-side-top{order:0;padding:14px 20px}.auth-art{border-radius:var(--radius-lg);flex-direction:row;order:1;align-items:center;gap:14px;margin:0 12px;padding:16px 18px}.auth-brand,.auth-points{display:none}.auth-art-board{flex:0 0 40%;order:2;max-width:220px}.art-svg{max-height:140px}.auth-art-copy{flex:1;min-width:0}.auth-kicker{margin-bottom:6px;font-size:11px}.auth-title{margin:0;font-size:clamp(21px,5.6vw,30px)}.auth-side-body{flex:1;order:2;justify-content:flex-start;max-width:480px;padding:24px 20px}.auth-side-foot{order:3;padding:0 20px 20px}}@media (max-width:420px){.auth-side-actions{gap:8px;font-size:13px}}.verify-email-line .text-button{flex:none;margin:0}
