:root{--bg:#fff;--ink:#0f172a;--sub:#5b6577;--line:#e6e9ef;--soft:#f5f7fb;--blue:#3b5bfd;--violet:#8b5cf6;--r:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:inherit;text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:12px;font-weight:600;font-size:15px;border:1px solid transparent;transition:.2s;cursor:pointer;font-family:inherit}
.btn.lg{padding:14px 26px;font-size:16px}.btn.full{width:100%}
.btn.primary{background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;box-shadow:0 8px 24px -8px #3b5bfd88}
.btn.primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px -8px #3b5bfdaa}
.btn.ghost{border-color:var(--line);background:#fff}.btn.ghost:hover{border-color:#c8cfdb}
.btn.white{background:#fff;color:var(--blue)}
.nav{position:sticky;top:0;z-index:50;background:#ffffffd9;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;height:68px;gap:32px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px}
.logo-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;font-size:13px}
.nav-links{display:flex;gap:28px;color:var(--sub);font-weight:500;font-size:15px}.nav-links a:hover{color:var(--ink)}
.nav-cta{margin-left:auto;display:flex;gap:10px}
.hero{padding:88px 0 64px;background:radial-gradient(900px 480px at 85% 10%,#ede9fe 0,transparent 60%),radial-gradient(700px 420px at 0% 0%,#e0e7ff 0,transparent 60%)}
.hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.pill{display:inline-block;padding:6px 12px;border-radius:999px;background:#eef2ff;color:var(--blue);font-weight:700;font-size:13px}
h1{font-size:54px;line-height:1.18;letter-spacing:-.03em;margin:18px 0 18px;font-weight:800}
.grad{background:linear-gradient(135deg,var(--blue),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:18px;color:var(--sub);margin:0 0 28px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-meta{display:flex;gap:18px;flex-wrap:wrap;padding:0;margin:22px 0 0;list-style:none;color:var(--sub);font-size:14px}
.hero-meta li:before{content:"✓ ";color:var(--blue);font-weight:700}
.dash{border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 80px -30px #1e293b55;overflow:hidden}
.dash-top{display:flex;align-items:center;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--soft)}
.dash-top span{width:10px;height:10px;border-radius:50%;background:#d6dae2}.dash-top em{margin-left:10px;font-style:normal;font-size:12px;color:#8a93a3}
.dash-body{display:grid;grid-template-columns:130px 1fr;min-height:340px}
.dash-body aside{border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:10px;font-size:13px;color:var(--sub)}
.dash-body aside b{color:var(--blue)}.dash-body aside i{font-style:normal}
.dash-main{padding:16px;display:flex;flex-direction:column;gap:12px}
.live-card{border-radius:14px;padding:14px;background:linear-gradient(135deg,#1e1b4b,#3b5bfd);color:#fff}
.live-badge{display:inline-block;font-size:11px;font-weight:800;background:#ef4444;padding:2px 8px;border-radius:6px}
.live-title{font-weight:700;margin:8px 0}.live-stats{display:flex;gap:14px;font-size:12px;opacity:.9}
.chat{border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:12.5px}
.chat p{margin:4px 0}.chat .bot{color:var(--blue)}
.bars{display:flex;align-items:flex-end;gap:8px;height:70px;padding:0 4px}
.bars span{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--violet),var(--blue));opacity:.85}
.logos{padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.logos p{text-align:center;margin:0 0 14px;color:#98a1b2;font-size:13px;font-weight:600;letter-spacing:.08em}
.logo-row{display:flex;justify-content:center;flex-wrap:wrap;gap:40px;color:#7b8496;font-weight:700}
.sec{padding:96px 0}.sec.alt{background:var(--soft)}
.sec-title{font-size:36px;line-height:1.3;letter-spacing:-.02em;text-align:center;margin:0 0 14px}
.sec-sub{text-align:center;color:var(--sub);margin:0 0 40px}
.sec-title+.grid3,.sec-title+.steps{margin-top:48px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.card h3{margin:12px 0 8px;font-size:19px}.card p{margin:0;color:var(--sub);font-size:15px}
.ico{font-size:28px}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.steps li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.steps span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800}
.steps h3{margin:14px 0 6px}.steps p{margin:0;color:var(--sub);font-size:15px}
.price .amt{font-size:34px;font-weight:800;color:var(--ink);margin:6px 0 16px}.price small{font-size:15px;color:var(--sub);font-weight:500}
.price ul{list-style:none;padding:0;margin:0 0 24px;color:var(--sub);font-size:15px}.price li{padding:6px 0}.price li:before{content:"✓ ";color:var(--blue);font-weight:700}
.price .hot{border:2px solid var(--blue);box-shadow:0 20px 50px -24px #3b5bfd77}
.tag{position:absolute;top:-12px;left:24px;background:var(--blue);color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}
details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin-bottom:12px}
summary{font-weight:700;cursor:pointer}details p{color:var(--sub);margin:10px 0 0}
.cta-band{padding:72px 0;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;text-align:center}
.cta-band h2{font-size:32px;margin:0 0 22px}
.foot{padding:48px 0 28px;border-top:1px solid var(--line)}
.foot-in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.biz{color:var(--sub);font-size:13px;margin:12px 0 0}
.foot-links{display:flex;gap:20px;color:var(--sub);font-size:14px}
.copy{color:#98a1b2;font-size:12px;margin-top:24px}
/* auth */
.auth{min-height:100vh;display:grid;place-items:center;padding:40px 20px;background:radial-gradient(700px 420px at 100% 0%,#ede9fe 0,transparent 60%),radial-gradient(700px 420px at 0% 100%,#e0e7ff 0,transparent 60%)}
.auth-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;box-shadow:0 30px 80px -40px #1e293b55}
.auth-card .logo{justify-content:center;margin-bottom:22px}
.auth-card h1{font-size:24px;text-align:center;margin:0 0 6px}.auth-card .lead{font-size:14px;text-align:center;margin:0 0 24px}
.field{display:block;margin-bottom:14px}.field span{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.field input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:15px}
.field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #3b5bfd22}
.or{display:flex;align-items:center;gap:10px;color:#98a1b2;font-size:12px;margin:18px 0}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
.alt-link{text-align:center;font-size:14px;color:var(--sub);margin-top:18px}.alt-link a{color:var(--blue);font-weight:600}
.notice{display:none;margin-top:14px;padding:12px;border-radius:10px;background:#eef2ff;color:var(--blue);font-size:13px;text-align:center}
.doc{padding:64px 0}.doc h1{font-size:32px}.doc h2{font-size:19px;margin-top:32px}.doc p,.doc li{color:var(--sub)}
@media(max-width:900px){.hero-in{grid-template-columns:1fr}.grid3,.steps{grid-template-columns:1fr}h1{font-size:38px}.nav-links{display:none}.sec{padding:64px 0}.sec-title{font-size:28px}}
