:root{--blue:#0a63d6;--blue-lit:#3b82f6;--blue-deep:#0a4aa5;--orange:#ff7a1a;--orange-lit:#ff9440;--bg:#eef2f7;--bg-2:#f6f8fb;--card:#ffffff;--card-2:#f2f6fb;--ink:#101a2c;--muted:#6a7890;--line:#e2e8f1;--radius:20px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,SF Pro Display,Segoe UI,Roboto,Inter,sans-serif;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{display:none}a{text-decoration:none;color:inherit}.phone{max-width:480px;margin:0 auto;min-height:100vh;position:relative;background:radial-gradient(120% 55% at 50% -8%,#dbe8fb 0%,var(--bg) 46%,var(--bg) 100%);display:flex;flex-direction:column;overflow:hidden}.bankbar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 6px;min-height:52px;font-size:13px;position:relative;z-index:20;pointer-events:none}.brand{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:.3px}.brand .mk{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-lit))}.bal{color:var(--muted);font-weight:600}.bal b{color:var(--ink)}.screen{flex:1;overflow-y:auto;padding-bottom:96px;animation:pop .35s cubic-bezier(.2,.8,.2,1)}@keyframes pop{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.head{padding:8px 18px 4px}.head .kick{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.head h1{margin:2px 0 0;font-size:28px;font-weight:800;letter-spacing:-.5px}.carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px 18px 6px;scroll-padding-left:18px}.slide{scroll-snap-align:start;flex:0 0 84%;height:230px;border-radius:24px;position:relative;overflow:hidden;cursor:pointer;box-shadow:0 18px 38px -16px #1e325a80;transform:translateZ(0);transition:transform .2s}.slide:active{transform:scale(.975)}.slide img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.slide .grad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#04080c0d 30%,#04080c80 62%,#04080ce6)}.slide .badge{position:absolute;top:14px;left:14px;display:flex;gap:6px}.slide .badge span{font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px;color:#fff;background:#0000006b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16)}.slide .fire{background:linear-gradient(135deg,var(--orange),var(--orange-lit))!important;color:#fff;border:none!important}.slide .info{position:absolute;left:16px;right:16px;bottom:14px;color:#fff}.slide .info h2{margin:0 0 6px;font-size:21px;font-weight:800;letter-spacing:-.3px;line-height:1.1}.slide .info .row{display:flex;justify-content:space-between;align-items:end}.slide .info .venue{font-size:12.5px;color:#e2e9f2}.slide .info .price{font-size:12px;font-weight:800;padding:7px 12px;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-lit));box-shadow:0 6px 16px -6px var(--blue)}.dots{display:flex;gap:6px;justify-content:center;padding:6px 0 2px}.dots i{width:6px;height:6px;border-radius:99px;background:#c4d0e0;transition:.3s}.dots i.on{width:20px;background:var(--blue)}.rail-t{display:flex;align-items:baseline;justify-content:space-between;padding:16px 18px 2px}.rail-t h3{margin:0;font-size:18px;font-weight:800}.rail-t a{color:var(--muted);font-size:12.5px}.cats{display:flex;gap:9px;overflow-x:auto;padding:12px 18px}.chip{white-space:nowrap;padding:9px 15px;border-radius:14px;font-size:13px;font-weight:600;background:var(--card);border:1px solid var(--line);color:var(--muted);cursor:pointer;transition:.2s}.chip.on{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--blue),var(--blue-lit));box-shadow:0 8px 18px -8px var(--blue)}.list{padding:6px 18px 12px;display:grid;gap:16px}.card{position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer;background:var(--card);border:1px solid var(--line);box-shadow:0 6px 18px -12px #1e325a66;transition:transform .18s,box-shadow .2s}.card:active{transform:scale(.985)}.card .ph{height:172px;position:relative}.card .ph img{width:100%;height:100%;object-fit:cover}.card .ph .g{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.18))}.card .ph .rate{position:absolute;top:12px;right:12px;font-size:12px;font-weight:800;color:#fff;padding:5px 9px;border-radius:10px;background:#0000006b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.card .ph .rate b{color:#ffce6b}.card .cb{padding:13px 15px 15px}.card .cb h3{margin:0 0 5px;font-size:17px;font-weight:800;letter-spacing:-.2px}.card .meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}.card .price{color:var(--ink);font-weight:800}.card .price small{color:var(--muted);font-weight:500}.tagline{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.tagline span{font-size:11px;font-weight:600;color:var(--blue);background:#0a63d61a;padding:3px 9px;border-radius:8px}.hero{height:300px;position:relative}.hero img{width:100%;height:100%;object-fit:cover}.hero .g{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(10,20,40,.15) 0%,transparent 34%,rgba(238,242,247,.6) 82%,var(--bg) 100%)}.backfab{position:absolute;top:14px;left:16px;z-index:8;width:40px;height:40px;border-radius:14px;border:1px solid rgba(255,255,255,.4);background:#ffffff8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#101a2c;font-size:20px;cursor:pointer;display:grid;place-items:center}.sheet{margin-top:-70px;position:relative;padding:0 18px 20px;z-index:2}.sheet h1{margin:0 0 10px;font-size:26px;font-weight:800;letter-spacing:-.5px;line-height:1.1}.subs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.subs span{font-size:12.5px;color:#3c4a60;background:var(--card);border:1px solid var(--line);padding:7px 12px;border-radius:12px}.desc{color:#48566d;font-size:14.5px;line-height:1.55;margin-bottom:6px}.label{font-size:12px;color:var(--muted);margin:22px 0 10px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px}.sessions{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.sess{flex:0 0 auto;min-width:112px;background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:13px 15px;cursor:pointer;transition:.2s}.sess.on{border-color:var(--blue);background:linear-gradient(160deg,#fff,#0a63d617);box-shadow:0 10px 22px -12px var(--blue)}.sess .t{font-weight:800;font-size:18px}.sess .d{font-size:11.5px;color:var(--muted);margin-top:3px}.seg{display:flex;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px;margin:6px 18px 0}.seg button{flex:1;border:none;background:none;padding:10px;border-radius:10px;font-size:13.5px;font-weight:700;color:var(--muted);cursor:pointer;transition:.2s}.seg button.on{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-lit))}.cal{background:var(--card);border:1px solid var(--line);border-radius:18px;margin:14px 18px 6px;padding:14px}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-nav b{font-size:16px;font-weight:800}.cal-nav button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink);font-size:16px;cursor:pointer}.wk,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.wk span{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding-bottom:4px}.day{aspect-ratio:1;border:none;border-radius:11px;background:transparent;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink);position:relative;transition:.15s}.day.blank{visibility:hidden}.day.has{background:var(--bg-2)}.day.has:after{content:"";position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:var(--orange)}.day.off{color:#b6c0d0;cursor:default}.day.sel{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-lit));box-shadow:0 6px 14px -6px var(--blue)}.day.sel:after{background:#fff}.stage{margin:8px auto 20px;max-width:70%;text-align:center;font-size:11px;font-weight:700;letter-spacing:6px;color:var(--blue-deep);padding:9px;border-radius:0 0 40% 40%/0 0 100% 100%;background:linear-gradient(180deg,rgba(10,99,214,.28),transparent);box-shadow:0 -18px 40px -12px #0a63d666 inset}.hall{display:grid;gap:7px;justify-content:center}.srow{display:flex;gap:6px;align-items:center;justify-content:center}.rn{width:14px;font-size:10px;color:var(--muted)}.seat{width:25px;height:25px;border-radius:7px;border:none;cursor:pointer;transition:transform .12s}.seat:active{transform:scale(.85)}.seat.free{background:#d6e3f7;box-shadow:inset 0 0 0 1px #b9cdec}.seat.free.vip{background:#ffe3c4;box-shadow:inset 0 0 0 1px var(--orange)}.seat.sel{background:linear-gradient(135deg,var(--blue),var(--blue-lit));box-shadow:0 0 12px -1px var(--blue);transform:scale(1.08)}.seat.taken{background:#e4e9f0;cursor:not-allowed;opacity:.7}.legend{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:18px 0 4px}.legend i{width:12px;height:12px;border-radius:4px;display:inline-block;margin-right:6px;vertical-align:-1px}.actionbar{position:fixed;left:50%;transform:translate(-50%);bottom:74px;width:calc(100% - 32px);max-width:408px;background:#ffffffd1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);border-radius:20px;padding:12px 12px 12px 18px;display:flex;gap:12px;align-items:center;justify-content:space-between;z-index:30;box-shadow:0 18px 38px -14px #1e325a59;animation:pop .25s}.actionbar .sum small{color:var(--muted);font-size:12px;display:block}.actionbar .sum b{font-size:19px;font-weight:800}.btn{border:none;border-radius:15px;padding:15px 22px;font-size:15px;font-weight:800;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--orange),var(--orange-lit));box-shadow:0 10px 22px -8px var(--orange);transition:transform .12s}.btn:active{transform:scale(.96)}.btn.block{width:100%;text-align:center}.btn:disabled{opacity:.4}.pad{padding:16px 18px}.glass{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:6px 16px;margin-bottom:16px}.rowline{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.rowline:last-child{border:none}.rowline .m{color:var(--muted)}.rowline.total{font-weight:800;font-size:19px}.rowline.total b{color:var(--blue)}.dcpay{display:flex;align-items:center;gap:13px;background:linear-gradient(160deg,#fff,#eef4fd);border:1px solid rgba(10,99,214,.3);border-radius:18px;padding:15px;margin-bottom:18px;position:relative;overflow:hidden}.dcpay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(60% 120% at 100% 0%,rgba(10,99,214,.1),transparent)}.dcpay .logo{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-weight:900;font-size:14px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-lit))}.dcpay small{color:var(--muted);font-size:12px;display:block;margin-top:2px}.ticket{margin:16px 18px;border-radius:22px;overflow:hidden;position:relative;background:var(--card);border:1px solid var(--line);box-shadow:0 14px 34px -18px #1e325a80}.ticket .top{padding:16px 18px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-lit));position:relative;overflow:hidden}.ticket .top:after{content:"";position:absolute;top:-40%;right:-10%;width:60%;height:180%;background:radial-gradient(circle,rgba(255,148,64,.4),transparent 65%)}.ticket .top b{font-size:17px}.ticket .top small{opacity:.92;display:block;margin-top:3px}.perf{height:26px;position:relative;background:var(--card)}.perf:before,.perf:after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--bg)}.perf:before{left:-13px}.perf:after{right:-13px}.perf .dash{position:absolute;top:50%;left:16px;right:16px;border-top:2px dashed var(--line)}.ticket .mid{padding:0 18px 10px;font-size:13px;color:var(--muted)}.qrwrap{padding:8px 20px 22px;text-align:center}.qrwrap .box{display:inline-block;padding:14px;background:#fff;border-radius:16px;border:1px solid var(--line)}.qrwrap svg{width:150px;height:150px;display:block}.qrwrap .code{font-family:ui-monospace,monospace;letter-spacing:3px;margin-top:12px;color:var(--muted);font-size:13px}.center{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:12px;animation:pop .4s}.okc{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--blue-lit));box-shadow:0 0 50px -8px var(--blue);animation:pulse 1.4s ease-out}@keyframes pulse{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.05)}to{transform:scale(1)}}.spinner{width:56px;height:56px;border-radius:50%;background:conic-gradient(from 0deg,transparent,var(--blue));-webkit-mask:radial-gradient(circle 22px,transparent 98%,#000);mask:radial-gradient(circle 22px,transparent 98%,#000);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.nav{position:fixed;bottom:14px;left:50%;transform:translate(-50%);width:calc(100% - 40px);max-width:400px;height:62px;display:flex;z-index:40;background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.7);border-radius:22px;box-shadow:0 16px 34px -14px #1e325a52}.nav a{flex:1;background:none;border:none;color:var(--muted);font-size:10.5px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:color .2s;position:relative}.nav a.on{color:var(--blue)}.nav a.on:before{content:"";position:absolute;top:9px;width:34px;height:30px;border-radius:12px;background:radial-gradient(circle,rgba(10,99,214,.16),transparent 70%)}.nav svg{width:23px;height:23px}.empty{text-align:center;color:var(--muted);padding:70px 30px;font-size:14px;line-height:1.6}.empty .em{font-size:44px;margin-bottom:10px}input.search{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:16px;font-size:15px;background:var(--card);color:var(--ink);outline:none}input.search:focus{border-color:var(--blue)}
