:root{--blue:#2563eb;--blue2:#3b82f6;--blue3:#60a5fa;--cyan:#06b6d4;--cyan2:#22d3ee;--ink:#0f172a;--slate:#334155;--muted:#64748b;--bg:#f8fafc;--line:#e2e8f0;--r:12px;--shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px rgba(37,99,235,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 Inter,system-ui,sans-serif;color:var(--slate);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,.logo,.price,.stat b,.big{font-family:'Space Grotesk',Inter,sans-serif;color:var(--ink);line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.4rem)}h2{font-size:1.6rem}h3{font-size:1.15rem}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
code{font:13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:#eff6ff;color:var(--blue);padding:2px 6px;border-radius:6px;word-break:break-all}
.container{width:min(1120px,92%);margin:0 auto}.narrow{width:min(460px,92%)}.center{text-align:center}.pad{padding:56px 0}.pt{padding-top:36px}
.muted{color:var(--muted)}.small{font-size:.875rem}.lead{font-size:1.1rem;color:var(--slate);max-width:60ch}.center .lead,.lead.center{margin-inline:auto}
.hidden{display:none!important}.scroll{overflow-x:auto}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.big{font-size:5rem}.big2{font-weight:600;color:var(--ink)}.h2{text-align:center;margin-bottom:28px}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:24px;height:64px}
.logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.25rem;color:var(--ink);margin:0}.logo span{color:var(--blue);margin-left:2px}.logo:hover{text-decoration:none}
.bolt{filter:drop-shadow(0 0 6px rgba(34,211,238,.55))}
.links{display:flex;gap:20px;flex:1}.links a{color:var(--slate);font-weight:500}
.nav-r{display:flex;align-items:center;gap:10px}.nav-user{position:relative;display:flex}
.dot{position:absolute;top:-6px;right:-6px;background:var(--blue);color:#fff;font:600 10px/1 Inter;border-radius:99px;padding:3px 5px;z-index:1;font-style:normal}
.imp{background:var(--ink);color:#fff;text-align:center;padding:8px;font-size:.875rem}.imp a{color:var(--cyan2)}

/* avatar */
.avatar{border-radius:50%;border:2px solid var(--blue);object-fit:cover;background:#eff6ff;transition:transform .2s,box-shadow .2s;vertical-align:middle}
.avatar:hover{transform:scale(1.05);box-shadow:0 0 0 3px rgba(37,99,235,.18),0 0 14px rgba(34,211,238,.55)}
.avatar.lg{width:64px;height:64px}
.avatar-fb{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--blue);background:var(--blue);color:#fff;font-weight:600;font-family:'Space Grotesk',sans-serif;transition:transform .2s,box-shadow .2s;vertical-align:middle}
.avatar-fb:hover{transform:scale(1.05);box-shadow:0 0 0 3px rgba(37,99,235,.18),0 0 14px rgba(34,211,238,.55)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:10px 18px;font:600 15px Inter,sans-serif;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s;text-decoration:none!important;color:var(--ink);background:#fff}
.btn:hover{transform:scale(1.05);box-shadow:0 0 0 3px rgba(59,130,246,.2),0 0 18px rgba(59,130,246,.55)}
.btn:focus-visible,.input:focus-visible,select:focus-visible{outline:3px solid var(--cyan2);outline-offset:2px}
.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}
.btn.ghost{border-color:var(--line);background:#fff}.btn.danger{background:#fff;color:#dc2626;border-color:#fecaca}
.btn.sm{padding:6px 12px;font-size:13px;border-radius:8px}.btn.lg{padding:14px 26px;font-size:16px}.btn.block{width:100%}
.btn[disabled]{opacity:.6;pointer-events:none}

/* hero + petir */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#eff6ff,#fff);padding:88px 0 64px}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(640px 320px at 72% -5%,rgba(34,211,238,.38),transparent 70%),radial-gradient(520px 260px at 12% 0,rgba(59,130,246,.22),transparent 70%);animation:flash 3s ease-in-out infinite}
.strike{position:absolute;top:-8px;width:84px;height:430px;background:linear-gradient(180deg,var(--cyan2),var(--blue2));clip-path:polygon(58% 0,18% 46%,48% 46%,28% 100%,82% 36%,54% 36%,78% 0);opacity:0;filter:drop-shadow(0 0 14px var(--cyan2));animation:strike 7s linear infinite}
.s1{left:6%;animation-delay:.6s}.s2{right:8%;transform:scaleX(-1);animation-delay:3s}.s3{left:46%;width:56px;height:300px;animation-delay:5s}
.hero-in{position:relative;z-index:1}.hero h1{font-size:clamp(2.6rem,7vw,4.6rem);margin-bottom:.2em;background:linear-gradient(135deg,var(--ink),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.tag{font:500 clamp(1.1rem,2.6vw,1.5rem) 'Space Grotesk',sans-serif;color:var(--blue);min-height:1.8em;margin:0 0 .6em}
.caret{display:inline-block;width:2px;height:1.1em;background:var(--cyan);margin-left:3px;vertical-align:-.18em;animation:blink 1s steps(1) infinite}
.chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:5px 14px;font-size:.85rem;margin-bottom:18px;box-shadow:var(--shadow)}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}
.code{background:var(--ink);color:#e2e8f0;border-radius:var(--r);padding:18px;overflow-x:auto;margin:18px 0}.code code{background:none;color:inherit;padding:0;word-break:normal;white-space:pre}

/* cards, grid */
.grid{display:grid;gap:20px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}
.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);transition:transform .22s,border-color .22s,box-shadow .22s}
.grid>.card:hover{transform:translateY(-5px);border-color:var(--blue2);box-shadow:0 0 0 1px var(--blue2),0 12px 30px rgba(37,99,235,.18)}
.ico{font-size:1.6rem;margin-bottom:6px}.band{background:var(--bg)}
.plan.hot{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue),var(--shadow)}
.badge{position:absolute;top:-12px;right:18px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font:700 11px Inter;letter-spacing:.06em;padding:5px 12px;border-radius:99px;animation:pulse 2s infinite}
.price{font-size:2.3rem;font-weight:700;color:var(--ink)}.price small{font:500 .9rem Inter;color:var(--muted);margin-left:6px}.price.sm{font-size:1.5rem}
.ticks{list-style:none;padding:0;margin:14px 0}.ticks li{padding-left:24px;position:relative;margin:6px 0;font-size:.95rem}.ticks li::before{content:"⚡";position:absolute;left:0;font-size:.8rem;top:2px}
.ep{margin:14px 0}.m{display:inline-block;background:var(--blue);color:#fff;font:700 11px Inter;padding:2px 8px;border-radius:6px;margin-right:8px}

/* forms */
.form{display:grid;gap:14px}.form label{display:grid;gap:6px;font-weight:500;font-size:.9rem;color:var(--ink)}.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.input,select.mini{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font:15px Inter,sans-serif;color:var(--ink);background:#fff}
select.mini{width:auto;padding:5px 8px;font-size:13px;border-radius:8px}
.input:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(59,130,246,.18);outline:none}
.check{display:flex!important;gap:8px;align-items:flex-start}.check input{margin-top:5px}
.err{color:#dc2626;font-size:.875rem;min-height:1.2em;margin:0}
.auth{text-align:center}.auth h1{font-size:1.9rem}.auth .form{text-align:left}.auth .bolt{margin-bottom:6px}
.sep{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.85rem;margin:16px 0}.sep::before,.sep::after{content:"";flex:1;border-top:1px solid var(--line)}
.gbtn svg{flex:none}

/* flash, pills, tables */
.flash{border-radius:10px;padding:12px 16px;margin:14px 0;font-size:.95rem;border:1px solid}
.flash.ok{background:#ecfeff;border-color:#a5f3fc;color:#155e75}.flash.err{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.flash.warn{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.keybox{display:block;margin-top:8px;padding:10px;font-size:14px;cursor:copy;user-select:all}
.pill{display:inline-block;border-radius:99px;padding:2px 10px;font:600 12px Inter;background:#e2e8f0;color:var(--slate);font-style:normal}
.pill.paid,.pill.done,.pill.active{background:#dcfce7;color:#166534}.pill.pending,.pill.quoted{background:#fef9c3;color:#854d0e}
.pill.failed,.pill.rejected,.pill.refunded{background:#fee2e2;color:#991b1b}.pill.basic,.pill.developing{background:#dbeafe;color:#1d4ed8}.pill.premium{background:#cffafe;color:#0e7490}
.table{width:100%;border-collapse:collapse;font-size:.92rem;background:#fff}.table th{text-align:left;font-weight:600;color:var(--ink);background:var(--bg);white-space:nowrap}
.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.table.sm th,.table.sm td{padding:7px 10px;font-size:.85rem}
.table small{display:block}.docs h2{margin-top:36px}.docs .card{box-shadow:none}

/* dashboard / checkout */
.dash-head{display:flex;align-items:center;gap:16px;margin-bottom:12px}.dash-head h1{font-size:1.8rem;margin:0}.dash-head p{margin:0}
.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:18px 0 24px}
.tabs a{padding:10px 16px;color:var(--slate);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a:hover{text-decoration:none;color:var(--blue)}.tabs a.on{color:var(--blue);border-color:var(--blue)}
.stat small{color:var(--muted);display:block}.stat b{font-size:1.9rem;display:block}.stat em{font-size:.8rem;color:var(--muted);font-style:normal}
.note{margin:10px 0;box-shadow:none}.note.new{border-color:var(--blue2);background:#f0f7ff}.note p{margin:.3em 0}
.checkout .qr{display:inline-block;padding:12px;border:2px solid var(--blue);border-radius:16px;margin:12px 0;box-shadow:0 0 24px rgba(34,211,238,.35)}.checkout .qr img{display:block;max-width:100%;height:auto}
.timer{font:700 1.8rem 'Space Grotesk',sans-serif;color:var(--blue);margin:8px 0}.ok-ico{font-size:3rem;animation:flash 2s infinite}
.fallback{margin-top:20px;text-align:left;font-size:.9rem}.fallback summary{cursor:pointer;color:var(--blue)}

/* footer */
.footer{border-top:1px solid var(--line);background:var(--bg);padding:32px 0;margin-top:40px}.foot-in{display:flex;gap:32px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}
.foot-in p{margin:.2em 0}.foot-links{display:flex;gap:18px}

/* animasi */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}
.spin{display:inline-block;animation:zap 1s ease-in-out infinite}
@keyframes flash{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes strike{0%,90%,100%{opacity:0}91%{opacity:.7}92%{opacity:.05}93%{opacity:.9}95%{opacity:.2}97%{opacity:0}}
@keyframes blink{50%{opacity:0}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,99,235,.55)}70%{box-shadow:0 0 0 12px rgba(37,99,235,0)}100%{box-shadow:0 0 0 0 rgba(37,99,235,0)}}
@keyframes zap{0%,100%{transform:scale(1) rotate(-12deg);opacity:.45}50%{transform:scale(1.3) rotate(12deg);opacity:1;filter:drop-shadow(0 0 6px var(--cyan2))}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}.g5{grid-template-columns:repeat(3,1fr)}.links{display:none}}
@media (max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}.g5{grid-template-columns:repeat(2,1fr)}.pad{padding:36px 0}.nav-in{gap:12px}.strike{display:none}}
