:root{--bg:#f6f7fb;--card:#fff;--tx:#14162b;--mu:#6b7090;--bd:#e4e6f2;--p1:#6d5efc;--p2:#22d3ee;--sh:0 10px 30px rgba(40,40,90,.08);--r:18px}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c0d1a;--card:#161830;--tx:#eef0ff;--mu:#9a9fc8;--bd:#262a4d;--sh:0 10px 30px rgba(0,0,0,.4)}}
:root[data-theme=dark]{--bg:#0c0d1a;--card:#161830;--tx:#eef0ff;--mu:#9a9fc8;--bd:#262a4d;--sh:0 10px 30px rgba(0,0,0,.4)}
*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%}
body{font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;overflow-x:hidden}
button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}
.blob{position:fixed;width:620px;height:620px;border-radius:50%;opacity:.3;z-index:0;pointer-events:none;background:radial-gradient(circle,var(--p1),transparent 65%)}
.b1{background:var(--p1);top:-160px;left:-120px}.b2{background:radial-gradient(circle,var(--p2),transparent 65%);top:200px;right:-220px}
.wrap{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:0 18px}
header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--bd)}
.nav{display:flex;align-items:center;gap:10px;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.4px;cursor:pointer}
.logo svg{width:36px;height:36px;filter:drop-shadow(0 6px 12px rgba(109,94,252,.45));transition:transform .5s}.logo:hover svg{transform:rotate(-8deg) scale(1.08)}
.logo b{background:linear-gradient(90deg,var(--p1),var(--p2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sp{flex:1}
.srch{flex:1;max-width:340px;position:relative}.srch input{width:100%;height:40px;border-radius:12px;border:1px solid var(--bd);background:var(--card);padding:0 14px;outline:0;transition:.2s}.srch input:focus{border-color:var(--p1);box-shadow:0 0 0 4px rgba(109,94,252,.15)}
.ib{height:40px;min-width:40px;padding:0 12px;border-radius:12px;border:1px solid var(--bd);background:var(--card);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;transition:.2s;position:relative}
.ib:hover{transform:translateY(-2px);box-shadow:var(--sh);border-color:var(--p1)}
.bdg{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:10px;background:linear-gradient(135deg,var(--p1),var(--p2));color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px}
.bump{animation:bump .5s}@keyframes bump{40%{transform:scale(1.35) rotate(-6deg)}}
.hero{padding:54px 0 26px;text-align:center}
.hero h1{font-size:clamp(28px,5.4vw,52px);line-height:1.1;letter-spacing:-1.5px;font-weight:800;max-width:780px;margin:0 auto;animation:up .7s both}
.hero h1 span{background:linear-gradient(90deg,var(--p1),var(--p2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--mu);margin:14px auto 0;max-width:600px;font-size:17px;animation:up .7s .12s both}
.chips{display:flex;gap:8px;overflow-x:auto;padding:14px 0 6px;scrollbar-width:none;animation:up .7s .22s both}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;padding:9px 16px;border-radius:999px;border:1px solid var(--bd);background:var(--card);font-weight:600;transition:.2s}
.chip:hover{transform:translateY(-2px)}.chip.on{background:linear-gradient(135deg,var(--p1),#8b5cf6);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(109,94,252,.4)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;padding:18px 0 70px}
.card{content-visibility:auto;contain-intrinsic-size:auto 230px;background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--sh);transition:transform .25s,border-color .25s;animation:up .6s both}
.card:hover{transform:translateY(-6px);border-color:var(--p1)}
.ic{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;transition:transform .4s}.card:hover .ic{transform:scale(1.12) rotate(-6deg)}
.card h3{font-size:17px;letter-spacing:-.3px}.card p{color:var(--mu);font-size:14px;flex:1}
.ft{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.pr{font-weight:800;font-size:19px}
.btn{height:42px;padding:0 18px;border-radius:12px;background:linear-gradient(135deg,var(--p1),#8b5cf6);color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.2s;box-shadow:0 8px 18px rgba(109,94,252,.35)}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(109,94,252,.45)}.btn:active{transform:scale(.96)}.btn[disabled]{opacity:.6;pointer-events:none}
.btn.g{background:var(--card);color:var(--tx);border:1px solid var(--bd);box-shadow:none}.btn.w{width:100%}
.ov{position:fixed;inset:0;z-index:50;background:rgba(8,8,25,.6);display:none;opacity:0}
.ov.on{display:flex;animation:fi .25s forwards}@keyframes fi{to{opacity:1}}
.ov.r{justify-content:flex-end}.ov.c{align-items:center;justify-content:center;padding:16px}
.pn{background:var(--card);color:var(--tx);padding:22px;overflow:auto;max-height:100%}
.ov.r .pn{width:min(420px,100%);height:100%;animation:sl .35s cubic-bezier(.2,.8,.2,1)}@keyframes sl{from{transform:translateX(100%)}}
.ov.c .pn{width:min(430px,100%);border-radius:24px;animation:pop .35s cubic-bezier(.2,.9,.3,1.2);box-shadow:0 30px 80px rgba(0,0,0,.4)}@keyframes pop{from{transform:scale(.88) translateY(20px);opacity:0}}
.ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ph h2{font-size:21px;letter-spacing:-.4px}
.x{width:36px;height:36px;border-radius:10px;border:1px solid var(--bd)}.x:hover{background:var(--bg)}
.row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--bd);animation:up .4s both}
.row .ic{width:44px;height:44px;font-size:22px;border-radius:12px}.row .nm{flex:1;min-width:0}.row .nm b{display:block;font-size:14px}.row .nm span{color:var(--mu);font-size:13px}
.q{display:flex;align-items:center;gap:6px}.q button{width:28px;height:28px;border-radius:8px;border:1px solid var(--bd);font-weight:700}.q button:hover{border-color:var(--p1)}
.tot{display:flex;justify-content:space-between;font-size:19px;font-weight:800;margin:16px 0}
.in{width:100%;height:46px;border-radius:12px;border:1px solid var(--bd);background:var(--bg);padding:0 14px;margin-bottom:10px;outline:0;transition:.2s}.in:focus{border-color:var(--p1);box-shadow:0 0 0 4px rgba(109,94,252,.15)}
.code{text-align:center;font-size:28px;letter-spacing:12px;font-weight:800}
.tabs{display:flex;background:var(--bg);border-radius:12px;padding:4px;margin-bottom:16px}.tabs button{flex:1;height:38px;border-radius:9px;font-weight:700;color:var(--mu);transition:.2s}.tabs button.on{background:var(--card);color:var(--tx);box-shadow:var(--sh)}
.or{display:flex;align-items:center;gap:10px;color:var(--mu);font-size:13px;margin:14px 0}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--bd)}
.oa{display:flex;gap:10px}.oa a{flex:1;height:44px;border-radius:12px;border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;text-decoration:none;color:var(--tx);transition:.2s}.oa a:hover{border-color:var(--p1);transform:translateY(-2px)}.oa svg{width:20px;height:20px}
.err{color:#ef4444;font-size:13.5px;min-height:20px;margin-bottom:6px}.mu{color:var(--mu);font-size:14px}
.mt{display:block;border:1px solid var(--bd);border-radius:14px;padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:.2s}.mt:hover{border-color:var(--p1)}.mt.on{border-color:var(--p1);background:rgba(109,94,252,.08)}.mt b{display:block}.mt span{font-size:13px;color:var(--mu)}
.st{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700;background:var(--bg)}.st.paid,.st.done{background:#dcfce7;color:#15803d}.st.new{background:#fef3c7;color:#b45309}.st.cancel,.st.refund{background:#fee2e2;color:#b91c1c}
.big{font-size:56px;text-align:center;animation:pop .5s}
.empty{text-align:center;color:var(--mu);padding:40px 0}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,90px);background:var(--tx);color:var(--bg);padding:12px 20px;border-radius:14px;font-weight:600;z-index:99;transition:.35s;opacity:0}.toast.on{transform:translate(-50%,0);opacity:1}
footer{border-top:1px solid var(--bd);padding:26px 0;text-align:center;color:var(--mu);font-size:14px}
.nt{background:rgba(109,94,252,.1);border:1px solid rgba(109,94,252,.3);border-radius:14px;padding:12px 16px;margin-top:14px;text-align:center}
@keyframes up{from{opacity:0;transform:translateY(22px)}}
@media(max-width:640px){.srch{display:none}.nav{gap:6px}.logo span{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.ic.im{background:var(--bg);overflow:hidden}.ic img{width:100%;height:100%;object-fit:cover;display:block}

footer a{color:inherit;text-decoration:underline}.fl{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-bottom:10px}
