@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";
@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";
:root{--rl-surface:#fff;--rl-surface-2:#f8fafc;--rl-band:#f3f6f9;--rl-line:#e2e8f0;--rl-line-soft:#eef2f6;--rl-ink:#0f172a;--rl-ink-soft:#475569;--rl-ink-faint:#64748b;--rl-accent:#0f6f8f;--rl-accent-deep:#0b5670;--rl-accent-tint:#e6f1f5;--rl-accent-ink:#fff;--rl-ok:#16a34a;--rl-ok-ink:#15803d;--rl-ok-tint:#f0fdf4;--rl-ok-line:#dcfce7;--rl-warn:#d97706;--rl-warn-ink:#b45309;--rl-warn-tint:#fffbeb;--rl-danger:#dc2626;--rl-danger-ink:#b91c1c;--rl-danger-tint:#fef2f2;--rl-radius:12px;--rl-radius-sm:8px;--rl-radius-pill:999px;--rl-shadow:0 1px 2px #0f172a0a, 0 8px 24px -12px #0f172a1a;--rl-shadow-lift:0 1px 2px #0f172a0d, 0 20px 48px -20px #0f172a38;--rl-shadow-accent:0 1px 2px #0f6f8f3d, 0 10px 22px -12px #0f6f8f99;--rl-font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", sans-serif;--rl-font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}.dark{--rl-surface:#0f1a22;--rl-surface-2:#16242e;--rl-band:#131f28;--rl-line:#26394a;--rl-line-soft:#1e2f3d;--rl-ink:#e8eef2;--rl-ink-soft:#a9bac6;--rl-ink-faint:#7f95a3;--rl-accent:#4fb0d2;--rl-accent-deep:#7cc6e0;--rl-accent-tint:#133445;--rl-accent-ink:#07161e;--rl-ok:#34c26a;--rl-ok-ink:#7ee2a3;--rl-ok-tint:#0f2a1a;--rl-ok-line:#1c4a2c;--rl-warn:#f0a63a;--rl-warn-ink:#f6c56f;--rl-warn-tint:#33240b;--rl-danger:#f26b6b;--rl-danger-ink:#ff9b9b;--rl-danger-tint:#3a1515;--rl-shadow:0 1px 2px #0000004d, 0 8px 24px -12px #00000080;--rl-shadow-lift:0 1px 2px #00000059, 0 20px 48px -20px #000000b3;--rl-shadow-accent:0 1px 2px #4fb0d233, 0 10px 22px -12px #4fb0d280}

:root{--ink:var(--rl-ink);--ink-soft:var(--rl-ink-soft);--ink-faint:var(--rl-ink-faint);--line:var(--rl-line);--line-soft:var(--rl-line-soft);--band:var(--rl-band);--accent:var(--rl-accent);--accent-deep:var(--rl-accent-deep);--accent-tint:var(--rl-accent-tint);--ok:var(--rl-ok);--radius:var(--rl-radius);--shadow:var(--rl-shadow);--shadow-lift:var(--rl-shadow-lift);--mono:var(--rl-font-mono)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{color:var(--ink);font-family:var(--rl-font-sans);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-size:16px;font-weight:400;line-height:1.65}h1,h2,h3,h4{letter-spacing:-.035em;color:var(--ink);margin:0;font-weight:700;line-height:1.18}p{margin:0}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}code,kbd,pre{font-family:var(--mono)}.wrap{max-width:1140px;margin:0 auto;padding:0 28px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:700}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:15px;font-weight:500;line-height:1;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--rl-shadow-accent)}.btn-primary:hover{background:var(--accent-deep);transform:translateY(-1px)}.btn-ghost{color:var(--ink);border-color:var(--line);background:#fff}.btn-ghost:hover{background:#f8fafc;border-color:#cbd5e1}.btn-quiet{color:var(--ink-soft);background:0 0;padding:11px 14px}.btn-quiet:hover{color:var(--ink);background:#f1f5f9}.btn-sm{padding:10px 18px;font-size:14px}.btn-block{width:100%}.nav{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--line-soft);background:#ffffffdb;position:sticky;top:0}.nav-inner{align-items:center;gap:28px;height:66px;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:9px;font-size:19px;font-weight:700;display:flex}.brand svg{display:block}.nav-links{align-items:center;gap:4px;margin-left:8px;display:flex}.nav-links a{color:var(--ink-soft);border-radius:8px;padding:8px 12px;font-size:15px;transition:color .15s,background-color .15s}.nav-links a:hover{color:var(--ink);background:#f1f5f9}.nav-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.hero{padding:96px 0 88px;position:relative;overflow:hidden}.hero:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(50% 50%,#0f6f8f29 0%,#0f6f8f0f 42%,#0f6f8f00 72%);width:1100px;height:720px;position:absolute;top:-300px;left:50%;transform:translate(-58%)}.hero-grid{z-index:1;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);align-items:center;gap:64px;display:grid;position:relative}.badge{border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 10px;font-size:13.5px;font-weight:500;display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.dot{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #16a34a29}h1.hero-title{letter-spacing:-.045em;margin:22px 0 0;font-size:64px;line-height:1.1}.hero-sub{color:var(--ink-soft);max-width:29em;margin-top:22px;font-size:18.5px;line-height:1.7}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.cmd{border:1px solid var(--line);box-shadow:var(--shadow);font-family:var(--mono);color:var(--ink);background:#fff;border-radius:10px;align-items:center;gap:12px;margin-top:26px;padding:11px 12px 11px 16px;font-size:14px;display:inline-flex}.cmd .prompt{color:var(--accent);-webkit-user-select:none;user-select:none}.cmd .copy{width:30px;height:30px;color:var(--ink-faint);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.cmd .copy:hover,.cmd .copy:focus-visible{color:var(--ink);background:#f1f5f9;outline:none}.cmd .copy[data-done="1"]{color:var(--rl-ok-ink)}.cmd .copy .ok{display:none}.cmd .copy[data-done="1"] .ok{display:block}.cmd .copy[data-done="1"] .dup{display:none}.browser{border:1px solid var(--line);box-shadow:var(--shadow-lift);background:#fff;border-radius:14px;overflow:hidden}.browser-bar{border-bottom:1px solid var(--line-soft);background:#fbfcfd;align-items:center;gap:10px;padding:12px 14px;display:flex}.tl{gap:6px;display:flex}.tl i{background:#e2e8f0;border-radius:50%;width:10px;height:10px;display:block}.urlbar{border:1px solid var(--line);height:26px;color:var(--ink-faint);font-size:12px;font-family:var(--mono);background:#fff;border-radius:7px;flex:1;align-items:center;gap:7px;padding:0 10px;display:flex}.browser-body{background:#fff;gap:14px;padding:18px;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.panel-head{border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;padding:12px 14px;display:flex}.panel-title{letter-spacing:-.01em;font-size:13px;font-weight:700}.panel-meta{color:var(--ink-faint);font-size:12px;font-family:var(--mono);margin-left:auto}.deploy{align-items:center;gap:14px;padding:15px 16px;display:flex}.deploy-avatar{background:var(--accent-tint);width:38px;height:38px;color:var(--accent);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.deploy-name{letter-spacing:-.02em;font-size:15px;font-weight:700}.deploy-sub{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:7px;margin-top:2px;font-size:12.5px;display:flex}.pill-ok{color:var(--rl-ok-ink);background:var(--rl-ok-tint);border:1px solid var(--rl-ok-line);border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 7px;font-size:12px;font-weight:500;display:inline-flex}.deploy-time{font-family:var(--mono);color:var(--ink-soft);flex:none;margin-left:auto;font-size:13px}.tbl{border-collapse:collapse;width:100%;font-size:12.5px;font-family:var(--mono)}.tbl th{text-align:left;color:var(--ink-faint);border-bottom:1px solid var(--line-soft);letter-spacing:.02em;padding:8px 14px;font-size:11.5px;font-weight:500}.tbl td{border-bottom:1px solid var(--line-soft);color:var(--ink-soft);padding:8px 14px}.tbl tr:last-child td{border-bottom:0}.tbl td.id{color:var(--accent);width:1%}.tbl td.name{color:var(--ink)}.panel-foot{border-top:1px solid var(--line-soft);color:var(--ink-faint);border-radius:0 0 var(--radius) var(--radius);background:#fbfcfd;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;display:flex}section{scroll-margin-top:80px}.band{background:var(--band);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.sec{padding:88px 0}.sec-head{max-width:640px}.sec-head h2{margin-top:12px;font-size:38px}.sec-head p{color:var(--ink-soft);margin-top:16px;font-size:17px}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:44px;display:grid}.step{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:24px 22px 22px}.step-num{background:var(--accent-tint);width:28px;height:28px;color:var(--accent);font-size:13px;font-weight:700;font-family:var(--mono);border-radius:50%;justify-content:center;align-items:center;display:flex}.step h3{margin-top:16px;font-size:18px}.step p{color:var(--ink-soft);margin-top:9px;font-size:14.5px}.chip{border:1px solid var(--line);font-family:var(--mono);color:var(--ink);white-space:nowrap;background:#f8fafc;border-radius:9px;margin-top:16px;padding:10px 13px;font-size:13px;display:block;overflow-x:auto}.chip .prompt{color:var(--accent);-webkit-user-select:none;user-select:none}.chip .muted{color:var(--ink-faint)}.features{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:44px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:26px 22px;transition:box-shadow .18s,transform .18s,border-color .18s}.card:hover{box-shadow:var(--shadow-lift);border-color:#d5dfe8;transform:translateY(-2px)}.icon{background:var(--accent-tint);width:40px;height:40px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;margin-bottom:18px;display:flex}.card h3{letter-spacing:-.028em;font-size:17px}.card p{color:var(--ink-soft);margin-top:9px;font-size:14.5px;line-height:1.68}.code-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:56px;display:grid}.code-copy h2{font-size:36px}.code-copy p{color:var(--ink-soft);margin-top:16px;font-size:16.5px}.code-notes{gap:11px;margin-top:24px;display:grid}.code-notes li{color:var(--ink-soft);align-items:flex-start;gap:10px;font-size:15px;display:flex}.code-notes svg{color:var(--accent);flex:none;margin-top:4px}.codecard{background:#0d1b26;border:1px solid #16303f;border-radius:14px;overflow:hidden;box-shadow:0 24px 60px -28px #0d1b26b3}.codecard-bar{border-bottom:1px solid #16303f;align-items:center;gap:10px;padding:12px 16px;display:flex}.codecard-bar .tl i{background:#24455a}.codecard-bar .code-file{font-family:var(--mono);color:#7ea3b6;white-space:nowrap;flex:none;margin-left:auto;font-size:12px}.code-tabs{scrollbar-width:none;gap:2px;min-width:0;margin-left:6px;display:flex;overflow-x:auto}.code-tabs::-webkit-scrollbar{display:none}.code-tab{appearance:none;cursor:pointer;font:inherit;color:#8fb6c9;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;padding:5px 11px;font-size:13px;font-weight:500;transition:color .15s,background-color .15s}.code-tab:hover{color:#d6e4ec;background:#ffffff0d}.code-tab:focus-visible{outline-offset:-2px;outline:2px solid #7fc4e8}.code-tab[data-active]{color:#fff;background:#16303f;border-color:#24455a}pre{min-height:440px;font-family:var(--mono);color:#d6e4ec;margin:0;padding:22px 20px;font-size:13.5px;line-height:1.85;overflow-x:auto}.k{color:#7fc4e8}.fn{color:#9fd8b4}.s{color:#e2b887}.c{color:#5f7f92;font-style:normal}.p{color:#8fb6c9}.v{color:#cdb9f0}.prices{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:820px;margin-top:44px;display:grid}.price{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-direction:column;padding:30px 28px;display:flex}.price.hl{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow-lift)}.price-top{align-items:center;gap:10px;display:flex}.price h3{font-size:19px}.tag{letter-spacing:.04em;color:var(--accent);background:var(--accent-tint);border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700}.tag.mute{color:var(--ink-faint);background:#f1f5f9}.amount{letter-spacing:-.04em;margin-top:16px;font-size:40px;font-weight:700;line-height:1}.amount small{color:var(--ink-faint);letter-spacing:-.01em;font-size:16px;font-weight:500}.price-desc{color:var(--ink-soft);margin-top:10px;font-size:14.5px}.price ul{gap:11px;margin:22px 0 26px;display:grid}.price li{color:var(--ink-soft);align-items:flex-start;gap:10px;font-size:15px;display:flex}.price li svg{color:var(--accent);flex:none;margin-top:4px}.price .btn{margin-top:auto}.svc-row{flex-wrap:wrap;gap:8px;padding:2px 2px 0;display:flex}.svc{font-size:12px;font-family:var(--mono);border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.svc .dot{background:var(--ok);border-radius:50%;width:6px;height:6px}.svc.off{color:var(--ink-faint);border-style:dashed}.cmp-wrap{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-top:40px;overflow-x:auto}.cmp{border-collapse:collapse;width:100%;min-width:720px;font-size:14.5px}.cmp th,.cmp td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:15px 18px}.cmp thead th{color:var(--ink-faint);letter-spacing:0;background:#fbfcfd;font-size:13px;font-weight:600}.cmp thead th.me{color:var(--accent)}.cmp tbody th{color:var(--ink);width:22%;font-weight:600}.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}.cmp td.me{background:var(--accent-tint);color:var(--accent-deep);font-weight:600}.cmp td.yes{color:var(--ink)}.cmp td.mid{color:var(--ink-soft)}.cmp td.no{color:var(--rl-warn-ink)}.cmp td.me.yes{color:var(--accent-deep)}.cmp-note{color:var(--ink-faint);margin-top:14px;font-size:13px}.logos{border-top:1px solid var(--line-soft);padding:30px 0 36px;overflow:hidden}.logo-row+.logo-row{margin-top:14px}.marquee{width:100%;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee:hover .logo-list{animation-play-state:paused}.logo-list{flex:none;gap:10px;margin:0;padding:0 5px;list-style:none;animation:30s linear infinite marquee;display:flex}.marquee.reverse .logo-list{animation-duration:34s;animation-direction:reverse}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}.logo{border:1px solid var(--line);height:38px;color:var(--ink-soft);white-space:nowrap;background:#fff;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 14px;font-size:13.5px;font-weight:500;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.logo svg{fill:currentColor;opacity:.85;flex:none;width:17px;height:17px}.logo:hover{color:var(--ink);background:#fbfcfd;border-color:#cbd5e1}.logo.text .mark{font-family:var(--mono);letter-spacing:-.01em;font-size:12.5px}@media (prefers-reduced-motion:reduce){.logo-list{animation:none}.marquee{flex-wrap:wrap;-webkit-mask-image:none;mask-image:none}.marquee .logo-list[aria-hidden]{display:none}.logo-list{flex-wrap:wrap;justify-content:center;width:100%}}@media (max-width:760px){.logos{padding:28px 0 32px}.logo{height:34px;padding:0 11px;font-size:12.5px}.logo svg{width:15px;height:15px}.logo-list{animation-duration:26s}.marquee.reverse .logo-list{animation-duration:30s}}.faq{border:1px solid var(--line);border-radius:var(--radius);max-width:820px;box-shadow:var(--shadow);background:#fff;margin-top:40px;overflow:hidden}details{border-bottom:1px solid var(--line-soft)}details:last-child{border-bottom:0}summary{cursor:pointer;color:var(--ink);align-items:center;gap:16px;padding:20px 24px;font-size:16.5px;font-weight:500;list-style:none;transition:background-color .15s;display:flex}summary::-webkit-details-marker{display:none}summary:hover{background:#f8fafc}summary .chev{color:var(--ink-faint);flex:none;margin-left:auto;transition:transform .2s}details[open] summary .chev{transform:rotate(180deg)}details[open] summary{color:var(--accent)}.answer{color:var(--ink-soft);max-width:64ch;padding:0 24px 22px;font-size:15.5px}.cta{text-align:center;border-top:1px solid var(--line-soft);padding:84px 0 88px;position:relative;overflow:hidden}.cta:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(50% 50%,#0f6f8f24 0%,#0f6f8f00 70%);width:900px;height:520px;position:absolute;inset:-160px auto auto 50%;transform:translate(-50%)}.cta .wrap{z-index:1;position:relative}.cta h2{font-size:40px}.cta p{color:var(--ink-soft);margin-top:16px;font-size:17.5px}.cta .hero-cta{justify-content:center;margin-top:30px}footer{border-top:1px solid var(--line-soft);background:#fbfcfd;padding:56px 0 40px}.foot-grid{grid-template-columns:1.6fr repeat(3,1fr);gap:36px;display:grid}.foot-brand p{color:var(--ink-faint);max-width:26em;margin-top:14px;font-size:14.5px}.foot-col h4{letter-spacing:.03em;color:var(--ink);font-size:13px;font-weight:700}.foot-col ul{gap:10px;margin-top:14px;display:grid}.foot-col a{color:var(--ink-soft);font-size:14.5px;transition:color .15s}.foot-col a:hover{color:var(--accent)}.foot-bottom{border-top:1px solid var(--line-soft);color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:12px;margin-top:44px;padding-top:22px;font-size:13.5px;display:flex}.foot-bottom .right{align-items:center;gap:8px;margin-left:auto;display:flex}@media (max-width:1000px){.hero-grid{grid-template-columns:1fr;gap:48px}.hero{padding:64px 0 72px}h1.hero-title{font-size:46px}.code-grid{grid-template-columns:1fr;gap:36px}pre{min-height:0}.codecard-bar{flex-wrap:wrap}.codecard-bar .code-file{width:100%;margin-left:0;padding-top:4px}.features{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.wrap{padding:0 20px}.nav-links{display:none}.nav-inner{gap:12px;height:60px}.nav-actions .btn-quiet{display:none}h1.hero-title{font-size:36px}.hero-sub{font-size:16.5px}.sec{padding:64px 0}.sec-head h2,.code-copy h2,.cta h2{font-size:28px}.steps,.features,.prices,.foot-grid{grid-template-columns:1fr}.cmd{justify-content:space-between;width:100%}.btn{width:auto}}
