body { background: radial-gradient(1100px 700px at 12% -10%, #8b5cf640 0%, transparent 55%),
                    radial-gradient(1000px 700px at 100% 10%, #6366f130 0%, transparent 55%), var(--bg); }
.wrap { min-height:100vh; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
.hero { padding:clamp(32px,4vw,96px); display:flex; align-items:center; justify-content:center;
  background:linear-gradient(160deg, rgba(139,92,246,.16) 0%, rgba(99,102,241,.06) 55%, transparent 100%);
  border-right:1px solid var(--border); }
.hero-inner { width:100%; max-width:clamp(520px,34vw,760px); display:flex; flex-direction:column; gap:clamp(24px,1.6vw,38px); }
.brand-tag { font-size:12px; color:var(--muted); margin-top:3px; }
.logo.small { width:40px; height:40px; border-radius:12px; }
.hero h2 { margin:0; font-size:clamp(32px,2.3vw,54px); line-height:1.15; font-weight:800; letter-spacing:-.02em; max-width:17ch; }
.hero .hl { background:linear-gradient(90deg,#a78bfa,#818cf8); -webkit-background-clip:text; background-clip:text; color:transparent; }
[data-theme="light"] .hero .hl { background:linear-gradient(90deg,#7c3aed,#4f46e5); -webkit-background-clip:text; background-clip:text; }
.lede { margin:0; color:var(--muted); font-size:clamp(15px,.8vw,18px); line-height:1.6; max-width:50ch; }
.features { display:grid; grid-template-columns:1fr 1fr; gap:16px 26px; }
.feat { display:flex; gap:12px; align-items:flex-start; }
.feat .ic { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; flex-shrink:0;
  background:var(--panel); border:1px solid var(--border); font-size:18px; }
.feat .ft { font-weight:800; font-size:13.5px; }
.feat .fd { font-size:12.5px; color:var(--muted); margin-top:2px; line-height:1.45; }
.trust { display:flex; align-items:center; gap:9px; font-size:12.5px; color:var(--muted); }
.trust .dot { width:8px; height:8px; border-radius:50%; background:var(--up); animation:pulse 1.8s infinite; }
.signin { display:grid; place-items:center; padding:40px 20px; }
.login-card { width:min(440px,100%); padding:clamp(28px,2vw,44px); border-radius:20px; background:var(--panel);
  border:1px solid var(--border); box-shadow:0 30px 70px rgba(0,0,0,.35); }
.login-card h1 { margin:0 0 4px; font-size:26px; font-weight:800; }
.login-card .sub { color:var(--muted); font-size:13.5px; margin-bottom:22px; }
.login-card input { padding:12px 14px; font-size:15px; }
button.full { width:100%; margin-top:22px; padding:13px; font-size:15px; }
.error { margin-top:14px; padding:11px 13px; border-radius:9px; font-size:13px; text-align:center;
  background:rgba(239,68,68,.15); color:var(--down); border:1px solid rgba(239,68,68,.4); }
.center { text-align:center; margin-top:16px; }
.mobrand { display:none; }
@media (max-width:900px) {
  .wrap { grid-template-columns:1fr; }
  .hero { display:none; }
  .mobrand { display:flex; align-items:center; gap:12px; justify-content:center; margin-bottom:18px; }
  .mobrand .brand-name { font-size:20px; }
}
@media (max-width:1100px) { .features { grid-template-columns:1fr; } }
