@import url("https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600;9..40,700;9..40,800&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400&display=swap");.page,.page *,.page :after,.page :before{box-sizing:border-box}:root{--purple:#6c3bff;--purple-deep:#4a1fe0;--purple-light:#f3f0ff;--purple-mid:#e6e0ff;--purple-muted:#c4b5fd;--bg:#f8f7fc;--surface:#ffffff;--border:#e5e7eb;--border-purple:#e0dbff;--text-primary:#0f0a2a;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--shadow-sm:0 1px 3px rgba(108,59,255,0.07),0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 16px rgba(108,59,255,0.1),0 2px 6px rgba(0,0,0,0.04);--shadow-lg:0 12px 40px rgba(108,59,255,0.14),0 4px 12px rgba(0,0,0,0.06);--radius:16px;--radius-sm:10px}html{scroll-behavior:smooth}body:has(.page){font-family:DM Sans,system-ui,sans-serif;background:var(--bg);color:var(--text-primary);font-size:15px;line-height:1.6}.page{background:var(--bg)}.hero,.page-auth-only,.page-auth-only .hero{min-height:100vh}.hero{display:grid;grid-template-columns:1fr 1fr}.hero-left{background:var(--purple);position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px 48px;overflow:hidden}.hero-left:before{content:"";position:absolute;inset:0;background-image:repeating-conic-gradient(rgba(255,255,255,.04) 0 25%,transparent 0 50%);background-size:48px 48px}.hero-left-inner{position:relative;z-index:1;text-align:center}.brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:40px}.brand-icon{width:40px;height:40px;background:rgba(255,255,255,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2)}.brand-name{font-size:20px;letter-spacing:-.02em}.brand-name,.hero-tagline{font-family:Fraunces,Georgia,serif;font-weight:700;color:#fff}.hero-tagline{font-size:clamp(32px,3.5vw,48px);line-height:1.15;letter-spacing:-.03em;margin-bottom:16px}.hero-tagline em{font-style:italic;font-weight:400;color:rgba(255,255,255,.75)}.hero-sub{font-size:15px;color:rgba(255,255,255,.65);max-width:360px;margin:0 auto 40px}.chess-board-deco{width:200px;height:200px;margin:0 auto;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3),0 0 0 2px rgba(255,255,255,.15);display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);transform:rotate(-6deg);opacity:.85}.chess-cell{width:100%;height:100%}.chess-cell.light{background:#f0d9b5}.chess-cell.dark{background:#b58863}.pieces-overlay{position:absolute;font-size:24px;opacity:.9;animation:floatPiece 4s ease-in-out infinite}.p1{top:20px;right:40px;animation-delay:0s}.p2{bottom:60px;right:20px;animation-delay:1.5s;font-size:18px}.p3{top:50%;left:20px;animation-delay:.8s;font-size:20px;transform:translateY(-50%);animation:floatPieceX 4.5s ease-in-out infinite}@keyframes floatPiece{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatPieceX{0%,to{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(6px)}}.hero-stats{display:flex;gap:24px;justify-content:center;margin-top:36px}.hero-stat{text-align:center}.hero-stat-val{font-size:22px;font-weight:800;color:#fff;font-family:Fraunces,Georgia,serif;line-height:1}.hero-stat-label{font-size:11px;color:rgba(255,255,255,.55);margin-top:2px;text-transform:uppercase;letter-spacing:.06em}.hero-stat-divider{width:1px;background:rgba(255,255,255,.15)}.hero-right{display:flex;align-items:center;justify-content:center;padding:60px 48px;background:var(--surface)}.login-box{width:100%;max-width:400px;animation:fadeUp .5s ease both}.login-box-wide{max-width:440px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-heading{font-family:Fraunces,Georgia,serif;font-size:32px;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:6px}.login-sub{font-size:14px;color:var(--text-secondary);margin-bottom:32px}.error-box{margin-bottom:16px;padding:12px 14px;border-radius:12px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-weight:600;font-size:13px}.success-box{margin-bottom:20px;padding:16px;border-radius:12px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-weight:600;font-size:14px;text-align:center}.form-group{margin-bottom:18px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.form-label span{color:var(--purple)}.input-wrap{position:relative}.form-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:DM Sans,system-ui,sans-serif;color:var(--text-primary);background:var(--bg);outline:none;transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none}.form-input::placeholder{color:var(--text-tertiary)}.form-input:focus{border-color:var(--purple);background:var(--surface);box-shadow:0 0 0 3px rgba(108,59,255,.12)}.form-input.input-error{border-color:#f87171}.form-input.input-valid{border-color:#34d399}.field-error{margin-top:6px;font-size:12.5px;color:#b91c1c;font-weight:500}.input-status{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.form-input.has-right-icon{padding-right:40px}.phone-input-wrap{border-radius:var(--radius-sm)}.phone-input-wrap .flex{gap:8px}.eye-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-tertiary);padding:2px;transition:color .2s}.eye-btn:hover{color:var(--purple)}.form-footer{display:flex;align-items:center;justify-content:flex-end;margin-top:-10px;margin-bottom:24px}.forgot-link{font-size:12.5px;color:var(--purple);font-weight:600;text-decoration:none;transition:opacity .2s}.forgot-link:hover{opacity:.75}.btn-login{width:100%;padding:13px;background:var(--purple);color:#fff;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:700;font-family:DM Sans,system-ui,sans-serif;cursor:pointer;letter-spacing:.01em;transition:background .2s,box-shadow .2s,transform .1s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-login:hover{background:var(--purple-deep);box-shadow:0 6px 20px rgba(108,59,255,.35)}.btn-login:active{transform:translateY(1px)}.btn-login:disabled{opacity:.7;cursor:default}.signup-row{text-align:center;margin-top:20px;font-size:13.5px;color:var(--text-secondary)}.signup-row a{color:var(--purple);font-weight:600;text-decoration:none}.signup-row a:hover{text-decoration:underline}.legal-note{text-align:center;margin-top:18px;font-size:12px;color:var(--text-tertiary);line-height:1.5}.legal-note a{color:var(--purple);font-weight:600;text-decoration:none}.legal-note a:hover{text-decoration:underline}.trust-badges{justify-content:center;gap:20px;margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}.trust-badges,.trust-item{display:flex;align-items:center}.trust-item{gap:5px;font-size:11.5px;color:var(--text-tertiary)}.features-section{background:var(--bg);padding:96px 0 80px}.section-header{text-align:center;margin-bottom:64px;padding:0 24px}.section-tag{display:inline-flex;align-items:center;gap:6px;background:var(--purple-light);color:var(--purple);font-size:12px;letter-spacing:.07em;text-transform:uppercase;padding:5px 12px;border-radius:20px}.section-tag,.section-title{font-weight:700;margin-bottom:14px}.section-title{font-family:Fraunces,Georgia,serif;font-size:clamp(28px,3.5vw,42px);letter-spacing:-.03em;color:var(--text-primary);line-height:1.15}.section-title em{font-style:italic;color:var(--purple)}.section-desc{font-size:15.5px;color:var(--text-secondary);max-width:520px;margin:0 auto}.features-grid{max-width:1100px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow-sm);transition:opacity .45s ease,transform .45s ease,box-shadow .25s,border-color .25s;position:relative;overflow:hidden;cursor:default;opacity:0;transform:translateY(20px)}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--purple);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1)}.feature-card.visible{opacity:1;transform:translateY(0)}.feature-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--border-purple)}.feature-card:hover:before{transform:scaleX(1)}.feature-icon-wrap{width:48px;height:48px;border-radius:12px;background:var(--purple-light);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px;transition:background .2s,transform .2s}.feature-card:hover .feature-icon-wrap{background:var(--purple-mid);transform:scale(1.08)}.feature-title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.01em}.feature-desc{font-size:13.5px;color:var(--text-secondary);line-height:1.65}.feature-tag{display:inline-block;margin-top:14px;background:var(--purple-light);color:var(--purple);font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;letter-spacing:.04em}.cta-strip{background:var(--purple);padding:56px 32px;text-align:center;position:relative;overflow:hidden}.cta-strip:before{content:"";position:absolute;inset:0;background-image:repeating-conic-gradient(rgba(255,255,255,.04) 0 25%,transparent 0 50%);background-size:40px 40px}.cta-strip-inner{position:relative;z-index:1}.cta-title{font-family:Fraunces,Georgia,serif;font-size:clamp(24px,3vw,36px);font-weight:700;letter-spacing:-.03em;color:#fff;margin-bottom:10px}.cta-sub{font-size:15px;color:rgba(255,255,255,.65);margin-bottom:28px}.btn-cta{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--purple);padding:13px 28px;border-radius:10px;font-size:15px;font-weight:700;text-decoration:none;transition:box-shadow .2s,transform .1s;box-shadow:0 4px 16px rgba(0,0,0,.15)}.btn-cta:hover{box-shadow:0 8px 28px rgba(0,0,0,.2);transform:translateY(-2px)}.footer{background:var(--surface);border-top:1px solid var(--border);padding:22px 32px;justify-content:space-between;flex-wrap:wrap;gap:10px}.footer,.footer-brand{display:flex;align-items:center}.footer-brand{gap:8px;font-weight:700;font-size:14px;color:var(--text-primary)}.footer-links{display:flex;gap:20px}.footer-link{font-size:12.5px;color:var(--text-secondary);text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--purple)}.footer-copy{font-size:12px;color:var(--text-tertiary)}@media (max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.hero-left{min-height:380px}.hero-left,.hero-right{padding:48px 32px}.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.features-grid{grid-template-columns:1fr;padding:0 16px}.hero-right{padding:36px 20px}.hero-left{padding:40px 20px}.chess-board-deco{width:140px;height:140px}.footer{flex-direction:column;align-items:flex-start;gap:14px}}@keyframes spin{to{transform:rotate(1turn)}}