.auth-root{position:fixed;inset:0;display:grid;grid-template-columns:1fr 1fr;z-index:1000;background:#0f172a}.auth-left{background:#0f172a;color:#fff;display:flex;flex-direction:column;padding:2.5rem 3rem;overflow:hidden;position:relative}.auth-left:before{width:560px;height:560px;background:radial-gradient(circle,rgba(67,97,238,.22) 0,transparent 68%);top:-140px;left:-120px}.auth-left:after,.auth-left:before{content:"";position:absolute;pointer-events:none}.auth-left:after{width:400px;height:400px;background:radial-gradient(circle,rgba(230,57,70,.12) 0,transparent 65%);bottom:-80px;right:-80px}.auth-brand{font-family:Arial,Helvetica Neue,sans-serif;font-size:1.55rem;font-weight:900;letter-spacing:-.025em;color:#fff;text-decoration:none;position:relative;z-index:1;line-height:1}.auth-brand em{color:var(--rouge);font-style:italic}.auth-left-body{flex:1 1;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;padding:2rem 0}.auth-left-title{font-family:Arial,Helvetica Neue,sans-serif;font-size:clamp(1.75rem,2.8vw,2.4rem);font-weight:900;line-height:1.15;letter-spacing:-.03em;color:#fff;margin-bottom:1rem}.auth-left-title em{color:var(--rouge);font-style:italic}.auth-left-sub{font-size:.93rem;color:hsla(0,0%,100%,.52);line-height:1.7;max-width:340px;margin-bottom:2.25rem}.auth-card-wrap{perspective:800px;margin-bottom:2.25rem}.auth-card{background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.11);border-radius:18px;padding:1.5rem 1.6rem 1.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:268px;animation:auth-card-in .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes auth-card-in{0%{opacity:0;transform:translateY(14px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-card-level{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--rouge);background:rgba(230,57,70,.15);padding:2px 10px;border-radius:100px;margin-bottom:.9rem}.auth-card-word{font-family:Arial,Helvetica Neue,sans-serif;font-size:2.1rem;font-weight:900;color:#fff;letter-spacing:-.02em;line-height:1.1;margin-bottom:.25rem}.auth-card-ipa{font-family:var(--font-mono,"Spline Sans Mono"),monospace;font-size:.78rem;color:hsla(0,0%,100%,.38);margin-bottom:.45rem}.auth-card-en{font-size:.98rem;color:hsla(0,0%,100%,.7);margin-bottom:1.1rem}.auth-card-divider{height:1px;background:hsla(0,0%,100%,.09);margin-bottom:.9rem}.auth-card-btns{display:flex;gap:6px}.auth-grade{flex:1 1;text-align:center;font-size:.68rem;font-weight:700;padding:5px 2px;border-radius:6px;cursor:default;letter-spacing:.01em}.ag-again{background:rgba(230,57,70,.18);color:#fca5a5}.ag-hard{background:rgba(245,158,11,.18);color:#fcd34d}.ag-good{background:rgba(67,97,238,.22);color:#a5b4fc}.ag-easy{background:rgba(46,204,113,.2);color:#6ee7b7}.auth-trust{display:flex;flex-direction:column;gap:.45rem;font-size:.77rem;color:hsla(0,0%,100%,.38)}.auth-trust span{display:flex;align-items:center;gap:7px}.auth-trust span:before{content:"✓";color:rgba(46,204,113,.7);font-weight:700}.auth-right{background:#fff;display:flex;align-items:center;justify-content:center;padding:2.5rem 3rem;overflow-y:auto}.auth-form-wrap{width:100%;max-width:368px}.auth-tabs{display:flex;background:#f1f5f9;border-radius:11px;padding:4px;gap:4px;margin-bottom:1.9rem}.auth-tab{flex:1 1;padding:.55rem;border:none;background:none;border-radius:8px;font-size:.875rem;font-weight:600;font-family:inherit;color:rgba(22,33,62,.42);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;letter-spacing:.005em}.auth-tab:hover:not(.auth-tab-active){color:rgba(22,33,62,.7)}.auth-tab-active{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(22,33,62,.12),0 0 0 1px rgba(22,33,62,.06)}.auth-heading{font-family:Arial,Helvetica Neue,sans-serif;font-size:1.7rem;font-weight:900;letter-spacing:-.025em;color:var(--ink);margin-bottom:.3rem;line-height:1.15}.auth-sub{font-size:.875rem;color:rgba(22,33,62,.48);line-height:1.55;margin-bottom:1.5rem}.auth-plan-banner{display:flex;align-items:center;gap:8px;background:rgba(67,97,238,.07);border:1px solid rgba(67,97,238,.18);border-radius:9px;padding:10px 14px;font-size:.84rem;color:var(--ink);margin-bottom:1.25rem;line-height:1.4}.auth-google-wrap{margin-bottom:.25rem}.auth-divider{display:flex;align-items:center;gap:.75rem;color:rgba(22,33,62,.3);font-size:.76rem;letter-spacing:.03em;margin:1.1rem 0}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.auth-fields{gap:1rem}.auth-field,.auth-fields{display:flex;flex-direction:column}.auth-field{gap:.35rem}.auth-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(22,33,62,.48)}.auth-input{width:100%;font-family:inherit;font-size:.93rem;padding:.72rem 1rem;border:1.5px solid var(--line);border-radius:10px;background:#fafafa;color:var(--ink);transition:border-color .15s,box-shadow .15s,background .15s}.auth-input:focus{outline:none;background:#fff;border-color:var(--bleu);box-shadow:0 0 0 3px rgba(67,97,238,.1)}.auth-input::placeholder{color:rgba(22,33,62,.28)}.auth-forgot{font-size:.75rem;color:#4361ee;text-decoration:none;font-weight:500}.auth-forgot:hover{text-decoration:underline}.auth-err{color:var(--rouge);font-size:.8rem;margin-top:.8rem;display:flex;align-items:center;gap:6px}.auth-err:before{content:"⚠";font-size:.85rem}.auth-btn{width:100%;font-family:inherit;font-size:.93rem;font-weight:700;padding:.85rem;border:none;background:#0f172a;color:#fff;border-radius:11px;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;margin-top:1.35rem;letter-spacing:.01em;position:relative;overflow:hidden}.auth-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.06),transparent 60%);pointer-events:none}.auth-btn:hover:not(:disabled){background:#1e293b;transform:translateY(-1px);box-shadow:0 4px 16px rgba(15,23,42,.25)}.auth-btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.auth-btn:disabled{opacity:.38;cursor:not-allowed}.auth-switch{text-align:center;margin-top:1.1rem;font-size:.84rem;color:rgba(22,33,62,.48)}.auth-switch a{color:var(--bleu);cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:color .12s}.auth-switch a:hover{color:#2d4fd6}.auth-back-link{display:inline-block;margin-bottom:1.5rem;font-size:.8rem;color:rgba(22,33,62,.45);text-decoration:none;font-weight:500}.auth-back-link:hover{color:var(--ink)}@media (max-width:780px){.auth-root{grid-template-columns:1fr;position:relative;min-height:100vh}.auth-left{display:none}.auth-right{min-height:100vh;align-items:flex-start;padding:3rem 1.5rem 2.5rem}.auth-form-wrap{max-width:100%}}