:root{--blue:#2563eb;--blue-dark:#172554;--blue-light:#eff6ff;--purple:#6d3df5;--orange:#ff7a00;--pink:#ec4899;--green:#22c55e;--text:#172554;--muted:#64748b;--white:#fff;--border:#e2e8f0}.auth-shell{width:100%;min-height:100vh;color:var(--text);background:radial-gradient(circle at 14% 18%,#2563eb0f,#0000 30%),radial-gradient(circle at 86% 82%,#6d3df50f,#0000 32%),linear-gradient(135deg,#fff 0%,#f8faff 50%,#f5f3ff 100%);justify-content:center;align-items:center;padding:30px 24px;display:flex;overflow-x:hidden}.auth-showcase-container{grid-template-columns:minmax(480px,1.15fr) minmax(420px,470px);justify-content:center;align-items:center;gap:36px;width:100%;max-width:1220px;margin:0 auto;display:grid}.showcase-visual-col{border:1px solid var(--border);background:#fff;border-radius:28px;flex-direction:column;justify-content:space-between;width:100%;min-height:680px;padding:34px 36px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 64px #1725540f,0 4px 20px #6d3df508}.showcase-live-pill{z-index:3;border:1px solid var(--border);color:#334155;letter-spacing:.2px;background:#f8fafc;border-radius:30px;align-self:flex-start;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:700;display:inline-flex;position:relative;box-shadow:0 4px 14px #00000008}.live-pulse-dot{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #22c55e33}.showcase-stage{z-index:2;justify-content:center;align-items:center;width:100%;height:460px;margin:auto 0;display:flex;position:relative}.showcase-artwork-wrap{z-index:2;cursor:pointer;transform-style:preserve-3d;flex-direction:column;justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.2,0,.2,1);display:flex;position:relative}.showcase-mascot-img{object-fit:contain;filter:drop-shadow(0 20px 32px #1725541f);-webkit-user-select:none;user-select:none;width:min(380px,86%);height:auto;max-height:430px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),filter .3s;display:block}.showcase-artwork-shadow{background:radial-gradient(#2563eb29,#0000 70%);border-radius:50%;width:240px;height:20px;margin-top:-10px;transition:transform .4s,opacity .4s}.mascot-easter-egg-badge{z-index:12;color:var(--blue);cursor:pointer;background:#fff;border:1.5px solid #dbeafe;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:11px;font-weight:800;transition:transform .2s,background .2s;animation:2.4s ease-in-out infinite alternate easterEggBadgeGlow;display:inline-flex;position:absolute;bottom:24px;box-shadow:0 4px 14px #2563eb24}.mascot-easter-egg-badge:hover{border-color:var(--blue);background:#eff6ff;transform:scale(1.06)}@keyframes easterEggBadgeGlow{0%{box-shadow:0 4px 12px #2563eb1f}to{box-shadow:0 6px 20px #6d3df53d}}.mascot-joyful-jump .showcase-mascot-img{animation:.85s cubic-bezier(.34,1.56,.64,1) joyfulHighJump}.mascot-joyful-jump .showcase-artwork-shadow{animation:.85s ease-out shadowSquash}@keyframes joyfulHighJump{0%{transform:translateY(0)scale(1)}20%{transform:translateY(8px)scale(1.08,.92)}50%{filter:drop-shadow(0 32px 46px #6d3df559);transform:translateY(-36px)rotate(-12deg)scale(1.1)}75%{transform:translateY(-12px)rotate(6deg)scale(1.04)}to{transform:translateY(0)rotate(0)scale(1)}}@keyframes shadowSquash{0%,to{opacity:.8;transform:scale(1)}50%{opacity:.25;transform:scale(.65)}}.floating-motivation-badge{z-index:20;color:#fff;pointer-events:none;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:20px;align-items:center;padding:8px 16px;font-size:13px;font-weight:850;animation:1.35s cubic-bezier(.2,.8,.2,1) forwards motivationFloatUp;display:inline-flex;position:absolute;top:15%;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #22c55e59}@keyframes motivationFloatUp{0%{opacity:0;transform:translate(-50%,15px)scale(.7)}25%{opacity:1;transform:translate(-50%,-15px)scale(1.08)}80%{opacity:1;transform:translate(-50%,-50px)scale(1)}to{opacity:0;transform:translate(-50%,-75px)scale(.85)}}.activity-idle .showcase-mascot-img{transform:translateY(0)}.activity-focus-email .showcase-mascot-img{filter:drop-shadow(0 24px 38px #2563eb2e);transform:translateY(-4px)translate(12px)rotate(-2.5deg)scale(1.02)}.activity-hiding-password .showcase-mascot-img{filter:drop-shadow(0 14px 24px #1725541a);transform:translateY(6px)translate(-10px)rotate(4deg)scale(.98)}.activity-peeking .showcase-mascot-img{transform:translateY(-12px)rotate(-2deg)scale(1.04)}.activity-launching .showcase-mascot-img{filter:drop-shadow(0 28px 46px #6d3df54d);transform:translateY(-16px)scale(1.04)}.activity-error-shake .showcase-mascot-img{animation:.45s ease-in-out 2 mascotErrorShake}@keyframes mascotErrorShake{0%,to{transform:translate(0)}25%{transform:translate(-10px)rotate(-3deg)}75%{transform:translate(10px)rotate(3deg)}}.mascot-speech-bubble{z-index:10;border:1px solid var(--border);color:var(--blue-dark);white-space:nowrap;pointer-events:none;background:#fff;border-radius:20px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:750;animation:.3s cubic-bezier(.34,1.56,.64,1) bubblePopIn;display:flex;position:absolute;top:-46px;box-shadow:0 12px 28px #1725541a,0 2px 6px #6d3df50d}.speech-icon{font-size:16px}.speech-arrow{border-top:8px solid #fff;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}@keyframes bubblePopIn{0%{opacity:0;transform:scale(.8)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.glass-card{z-index:4;-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);color:var(--text);background:#fffffff2;border-radius:18px;align-items:center;gap:13px;padding:14px 18px;transition:transform .25s,box-shadow .25s;display:flex;position:absolute;box-shadow:0 16px 36px #17255414,0 2px 8px #00000005}.glass-card:hover{transform:translateY(-3px)scale(1.01);box-shadow:0 20px 42px #1725541f}.card-course{max-width:290px;top:14px;left:-8px}.card-student{max-width:320px;bottom:18px;right:-8px}.glass-card-icon-wrap{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.icon-purple{background:var(--blue-light);border:1px solid #dbeafe}.icon-gold{background:#fef3c7;border:1px solid #fde68a}.glass-card-content{flex-direction:column;gap:2px;display:flex}.glass-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.glass-badge{text-transform:uppercase;letter-spacing:.6px;color:var(--blue);font-size:10px;font-weight:800}.badge-success{color:#15803d}.glass-rating{color:#d97706;font-size:11px;font-weight:850}.glass-check{color:var(--green);font-size:10px;font-weight:800}.glass-card-title{color:var(--blue-dark);letter-spacing:-.2px;white-space:nowrap;margin:2px 0 0;font-size:13px;font-weight:800}.glass-card-meta{color:var(--muted);margin:0;font-size:11px;font-weight:550}.showcase-footer-quote{z-index:3;border-top:1px solid #f1f5f9;padding-top:14px;position:relative}.quote-text{color:#475569;margin:0;font-size:13px;font-style:italic;line-height:1.5}.quote-author{color:var(--muted);letter-spacing:.4px;margin-top:4px;font-size:11px;font-weight:700;display:block}.auth-card-col{flex-direction:column;align-items:center;width:100%;max-width:470px;margin:0 auto;display:flex}.auth-card{border:1px solid var(--border);background:#fff;border-radius:26px;width:100%;padding:40px 42px;box-shadow:0 24px 64px #17255412,0 4px 20px #6d3df508}.auth-brand{align-items:center;gap:10px;margin-bottom:22px;display:flex}.auth-brand-logo{background:linear-gradient(135deg, var(--blue) 0%, var(--purple) 100%);width:36px;height:36px;color:var(--white);letter-spacing:.5px;border-radius:10px;justify-content:center;align-items:center;font-size:11px;font-weight:900;display:flex;box-shadow:0 6px 18px #2563eb47}.auth-brand-text{color:var(--blue-dark);letter-spacing:-.4px;font-size:16px;font-weight:850}.brand-accent{color:var(--purple)}.auth-header{margin-bottom:26px}.auth-card-title{color:var(--blue-dark);letter-spacing:-1.2px;margin:0;font-size:clamp(28px,2.5vw,34px);font-weight:900;line-height:1.15}.auth-card-subtitle{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.55}.auth-form{flex-direction:column;gap:17px;display:flex}.auth-field{flex-direction:column;gap:7px;display:flex}.auth-field-label{color:#334155;letter-spacing:.2px;font-size:12px;font-weight:750}.auth-input-wrap{border-radius:13px;align-items:center;width:100%;transition:transform .2s;display:flex;position:relative}.auth-input-icon{color:#94a3b8;pointer-events:none;z-index:2;justify-content:center;align-items:center;transition:color .2s;display:flex;position:absolute;left:15px}.auth-input-wrap.is-active .auth-input-icon{color:var(--blue)}.auth-input{border:1.5px solid var(--border);width:100%;height:52px;color:var(--blue-dark);background:#f8fafc;border-radius:13px;outline:none;padding:0 16px 0 45px;font-family:inherit;font-size:14px;transition:background .2s,border-color .2s,box-shadow .2s}.auth-input.has-right-btn{padding-right:48px}.auth-input::placeholder{color:#94a3b8}.auth-input:focus{background:var(--white);border-color:var(--blue);box-shadow:0 0 0 4px #2563eb1a}.auth-password-toggle{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;right:8px}.auth-password-toggle:hover{background:var(--blue-light);color:var(--blue)}.auth-options-row{justify-content:space-between;align-items:center;gap:12px;margin-top:-2px;display:flex}.auth-checkbox-wrap{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.auth-checkbox-wrap input{opacity:0;pointer-events:none;position:absolute}.custom-checkbox{background:var(--white);border:1.5px solid #cbd5e1;border-radius:5px;width:17px;height:17px;transition:background .2s,border-color .2s}.auth-checkbox-wrap input:checked+.custom-checkbox{background:var(--blue);border-color:var(--blue);box-shadow:inset 0 0 0 3px var(--white)}.auth-forgot-link{color:var(--blue);font-size:12px;font-weight:750;text-decoration:none;transition:color .2s}.auth-forgot-link:hover{color:var(--purple);text-decoration:underline}.auth-submit-btn{background:linear-gradient(135deg, var(--blue) 0%, var(--purple) 100%);width:100%;min-height:52px;color:var(--white);cursor:pointer;border:none;border-radius:13px;justify-content:center;align-items:center;gap:10px;margin-top:4px;font-family:inherit;font-size:14px;font-weight:800;transition:transform .2s,box-shadow .2s,opacity .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #2563eb3d}.auth-submit-btn:before{content:"";background:linear-gradient(115deg,#0000 15%,#ffffff38 48%,#0000 75%);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.auth-submit-btn:hover:not(:disabled):before{transform:translate(100%)}.auth-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 32px #6d3df547}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.login-loader{border:2px solid #ffffff59;border-top-color:var(--white);border-radius:50%;width:16px;height:16px;animation:.65s linear infinite loginSpin}@keyframes loginSpin{to{transform:rotate(360deg)}}.auth-divider{color:#94a3b8;letter-spacing:1.2px;align-items:center;gap:12px;margin:4px 0;font-size:10px;font-weight:800;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-social-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;display:grid}.google-wrap{flex-direction:column;align-items:center;width:100%;display:flex}.google-btn-slot{justify-content:center;width:100%;display:flex}.social-status-text{color:var(--muted);margin:4px 0 0;font-size:11px}.auth-social-btn{background:var(--white);border:1px solid var(--border);color:#334155;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;padding:0 10px;font-family:inherit;font-size:12px;font-weight:750;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.auth-social-btn:hover:not(:disabled){border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 6px 16px #1725540f}.auth-social-btn:disabled{opacity:.55;cursor:not-allowed}.social-icon{flex-shrink:0;width:17px;height:17px}.apple-icon{color:#0f172a}.auth-footer-switch{text-align:center;color:var(--muted);margin:6px 0 0;font-size:13px}.auth-create-link{color:var(--blue);margin-left:4px;font-weight:800;text-decoration:none;transition:color .2s}.auth-create-link:hover{color:var(--purple);text-decoration:underline}.auth-bottom-note{color:#94a3b8;justify-content:center;align-items:center;gap:7px;margin-top:18px;font-size:11px;font-weight:650;display:flex}.secure-pulse-dot{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #22c55e24}.auth-error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:11px;align-items:center;gap:10px;padding:11px 14px;font-size:12px;font-weight:650;display:flex}.error-symbol{width:18px;height:18px;color:var(--white);background:#ef4444;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:900;display:flex}.auth-unverified{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;gap:11px;padding:13px;display:flex}.auth-unverified-icon{width:22px;height:22px;color:var(--white);background:#f59e0b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:900;display:flex}.auth-unverified-content strong{color:#92400e;font-size:12px;display:block}.auth-unverified-content p{color:#78350f;margin:3px 0 6px;font-size:11px;line-height:1.45}.auth-unverified-content a{color:#d97706;font-size:11px;font-weight:800;text-decoration:none}.auth-unverified-content a:hover{text-decoration:underline}@media (max-width:1100px){.auth-showcase-container{grid-template-columns:1fr 430px;gap:24px}.card-course{top:10px;left:4px}.card-student{bottom:10px;right:4px}}@media (max-width:960px){.auth-shell{align-items:flex-start;padding:24px 16px}.auth-showcase-container{grid-template-columns:1fr;gap:18px;max-width:490px}.showcase-visual-col{border-radius:22px;min-height:auto;padding:24px 20px}.showcase-stage{height:auto;min-height:240px;padding:16px 0}.showcase-mascot-img{max-width:180px;max-height:200px}.mascot-speech-bubble{padding:6px 12px;font-size:11px;top:-36px}.glass-card{width:100%;max-width:100%;margin:8px 0;position:static}.showcase-artwork-wrap{margin:10px 0}.showcase-footer-quote{display:none}.auth-card-col{width:100%}.auth-card{border-radius:22px;padding:30px 24px}}@media (max-width:540px){.auth-card-title{font-size:26px}.auth-social-row{grid-template-columns:1fr;gap:8px}.auth-social-btn{min-height:48px}.auth-input{height:50px}.auth-submit-btn{min-height:50px}}@media (prefers-reduced-motion:reduce){.showcase-mascot-img,.showcase-artwork-shadow,.auth-submit-btn:before,.mascot-joyful-jump .showcase-mascot-img{transition:none!important;animation:none!important}}
