:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#303136;background:#eef1f6;font-synthesis:none;--bg: #f5f7fb;--text: #303136;--muted: #9a9ca2;--line: #eceef2;--cyan: #25d3dc;--purple: #a66cff;--red: #f25b5f;--orange: #ff7a13;--shadow: 0 12px 36px rgb(37 48 68 / 8%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#eef1f6}button,input{font:inherit;letter-spacing:0}button{color:inherit;border:0;background:none;cursor:pointer;padding:0}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}.app-shell{width:100%;max-width:480px;min-height:100dvh;margin:0 auto;background:#fff;box-shadow:0 0 50px #1f29371a;position:relative;overflow-x:hidden}.page{min-height:100dvh;background:#fff}.gray-page{background:var(--bg)}.page-with-nav{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.icon-button{width:42px;height:42px;display:grid;place-items:center}.icon-button svg{width:27px;height:27px;stroke-width:1.8}.brand-header{height:64px;display:grid;grid-template-columns:64px 1fr 64px;align-items:center;background:#fff;border-bottom:1px solid #f1f2f4;position:relative;z-index:20}.brand-header strong{text-align:center;font-size:20px;color:#111}.brand-header .header-left{margin-left:10px}.sub-header{height:52px;display:grid;grid-template-columns:64px 1fr 64px;align-items:center;background:#fff;border-bottom:1px solid #f4f4f5}.sub-header .icon-button{margin-left:9px}.sub-header h1{text-align:center;font-size:20px;color:#131416}.bottom-nav{position:fixed;left:50%;bottom:0;z-index:50;transform:translate(-50%);width:min(100%,480px);height:calc(70px + env(safe-area-inset-bottom));padding:8px 18px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:#fffffff5;border-top:1px solid #f1f2f4;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;min-width:0}.bottom-nav svg{width:26px;height:26px;stroke-width:1.8}.bottom-nav button.active{color:#22cbd6}.bottom-nav button.active svg{filter:drop-shadow(5px 2px 0 rgb(166 108 255 / 30%))}.gradient-button,.mini-gradient{color:#fff;background:linear-gradient(100deg,#22d6d8,#51bce7 48%,#a86bff);border-radius:999px}.gradient-button{min-height:42px;padding:0 24px;font-weight:600}.gradient-button:disabled{opacity:.38;cursor:default}.outline-gradient{min-height:34px;padding:0 16px;border-radius:999px;border:1.5px solid transparent;color:#37cbdc;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(100deg,#20d3da,#a76aff) border-box}.home-hero{height:136px;padding:10px 16px 14px;background:linear-gradient(120deg,#e5fcfc,#fff 64%,#f1eaff);position:relative;overflow:hidden}.home-hero:after{content:"";position:absolute;right:-22px;top:-2px;width:155px;height:95px;background:url(/assets/cinema-cover.png) center / cover;opacity:.14;border-radius:50%}.home-title-row{height:48px;display:grid;grid-template-columns:52px 1fr 52px;align-items:center;position:relative;z-index:1}.home-title-row .icon-button{margin-left:-8px}.home-title-row strong{text-align:center;font-size:20px;color:#111}.home-tools{display:grid;grid-template-columns:112px 1fr;gap:8px;align-items:center;position:relative;z-index:1}.city-button{display:flex;align-items:center;gap:5px;white-space:nowrap;min-height:42px;font-size:16px}.city-button svg{width:18px;height:18px}.brand-mark{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(140deg,#a66cff,#24d7cf);color:#fff;font-weight:800;font-size:16px}.search-field{height:42px;border:1px solid #e1e2e5;border-radius:999px;color:#a2a4a8;display:flex;align-items:center;gap:8px;padding:0 15px;text-align:left;min-width:0}.home-tools .search-field{border:1.5px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(100deg,#25d8d7,#a66cff) border-box}.search-field svg{width:20px;flex:0 0 auto}.switch-tabs{display:flex;gap:28px;padding:14px 16px 10px;background:#fff}.switch-tabs button{height:34px;font-size:17px;color:#9a9b9f;position:relative}.switch-tabs button.active{color:#303136;font-weight:700}.switch-tabs button.active:after,.ticket-tabs button.active:after,.date-tabs button.active:after,.coupon-tabs button.active:after{content:"";position:absolute;left:50%;bottom:-5px;transform:translate(-50%);width:28px;height:3px;border-radius:99px;background:linear-gradient(90deg,#20d6da,#a56bff)}.home-switch{padding-bottom:14px}.promo-banner{width:calc(100% - 32px);margin:4px 16px 12px;border-radius:11px;overflow:hidden;aspect-ratio:3.13 / 1}.promo-banner img{width:100%;height:100%;object-fit:cover}.home-page{background:var(--bg)}.content-block{background:#fff;border-radius:10px}.movie-rail-section{margin:0 16px 10px;padding:12px 10px 8px;overflow:hidden}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-title>div{display:flex;align-items:center;gap:7px;min-width:0}.section-title h2{font-size:17px;white-space:nowrap}.section-title small{color:#a3a5a9;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-title>button{color:#a9abb0;display:flex;align-items:center;white-space:nowrap;font-size:13px}.section-title>button svg{width:17px;height:17px}.movie-rail{display:flex;gap:10px;margin-top:9px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.movie-rail::-webkit-scrollbar{display:none}.movie-tile{width:70px;flex:0 0 70px;scroll-snap-align:start}.poster-button{width:70px;aspect-ratio:3 / 4;border-radius:6px;overflow:hidden}.poster-button img{width:100%;height:100%;object-fit:cover}.movie-tile h3{font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:6px 0 3px}.movie-tile p{height:18px;color:#a6a8ad;font-size:12px;white-space:nowrap}.movie-tile p strong{color:var(--orange);font-size:16px}.movie-tile .movie-rating span{color:var(--orange)}.movie-tile .movie-rating.unrated{display:flex;align-items:center}.movie-tile .mini-gradient,.movie-tile .outline-gradient{min-height:28px;height:28px;padding:0 11px;margin-top:4px;font-size:13px}.nearby-section{margin:0 16px 14px;padding:14px 10px 4px}.accent-icon{width:19px;color:var(--purple)}.accent-icon.hot-icon{color:#ff9a3d;fill:currentColor}.accent-icon.coming-icon{color:#ff74a6}.coming-rail-section{margin-top:0}.coming-movie-rail .movie-tile>p{overflow:hidden;text-overflow:ellipsis}.coming-movie-rail .outline-gradient{min-height:28px;height:28px;padding:0 11px;margin-top:6px;font-size:12px}.coming-movie-rail .outline-gradient.wanted{color:#777;border-color:#cfd1d6;background:#fff}.cinema-summary{position:relative;padding:15px 14px;margin:10px 16px;background:#fff;border-radius:11px}.nearby-section .cinema-summary{margin:4px 0 0;padding:15px 0;border-radius:0;border-top:1px solid var(--line)}.cinema-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.cinema-heading h3{min-width:0;font-size:17px;line-height:1.35;color:#303136;display:flex;align-items:center}.cinema-heading>p{color:var(--red);white-space:nowrap}.cinema-heading>p span{font-size:12px}.cinema-heading>p strong{font-size:21px;font-weight:500}.cinema-heading>p small{color:#999}.cinema-address{display:flex;justify-content:space-between;gap:8px;color:#96989d;margin:7px 0 8px;font-size:13px}.cinema-address>span:first-child{min-width:0;display:flex;align-items:center}.cinema-address>span+span{flex:0 0 auto}.cinema-address-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cinema-address svg{width:16px;margin-right:3px;flex:0 0 auto}.tag-row{display:flex;gap:6px;overflow:hidden}.tag-row span{font-size:11px;color:#87a1b4;background:#f1f4f6;padding:2px 5px;border-radius:3px;white-space:nowrap}.tag-row .warm-tag{color:var(--red);background:#fff0f0}.tag-row .blue-tag{color:#42aeee;background:#eaf6ff}.schedule-chips{display:flex;gap:5px;margin-top:10px;overflow-x:auto;scrollbar-width:none}.schedule-chips button{flex:0 0 65px;height:58px;border:1px solid #e4e5e7;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.schedule-chips button strong{font-size:14px}.schedule-chips button span{color:var(--red);font-size:13px}.schedule-chips button:last-child{flex-basis:78px;color:#a1a3a7;flex-direction:row;white-space:nowrap}.schedule-chips svg{width:15px}.schedule-chips.loading{min-height:58px}.schedule-chip-placeholder{flex:0 0 65px;height:58px;border-radius:6px;background:linear-gradient(100deg,#f3f4f6 25%,#fafbfc,#f3f4f6 65%);background-size:220% 100%;animation:schedule-chip-loading 1.1s linear infinite}@keyframes schedule-chip-loading{to{background-position:-220% 0}}.cinema-list{padding:1px 0 12px}.cinema-search-row{height:60px;padding:9px 16px;display:grid;grid-template-columns:105px 1fr;gap:8px;background:#fff}.cinema-inline-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#303136;font:inherit}.cinema-inline-search input::placeholder{color:#a2a4a8;opacity:1}.cinema-inline-search>button{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;color:#a2a4a8}.cinema-inline-search>button svg{width:16px;height:16px}.filter-row{display:flex;gap:9px;padding:11px 16px;overflow-x:auto;background:#fff;border-bottom:1px solid #f0f1f3;scrollbar-width:none}.filter-row button{height:34px;min-width:58px;padding:0 15px;color:#94969a;border:1px solid #e3e4e7;border-radius:999px;white-space:nowrap}.filter-row button.active{color:#39c8e4;border-color:transparent;background:linear-gradient(110deg,#e1fbfb,#f2e9ff)}.filter-row::-webkit-scrollbar{display:none}.region-filter-row{overflow:hidden}.region-filter-row button{min-width:0;flex:1 1 0;padding:0;display:grid;place-items:center;text-align:center}.date-filter-row{height:61px;display:flex;gap:4px;padding:7px 12px 0;overflow-x:auto;background:#fff;border-bottom:1px solid #f0f1f3;scrollbar-width:none}.date-filter-row::-webkit-scrollbar{display:none}.date-filter-row button{position:relative;min-width:72px;height:50px;padding:4px 8px 8px;flex:0 0 72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#85888e;white-space:nowrap}.date-filter-row button:after{content:"";position:absolute;right:14px;bottom:0;left:14px;height:3px;border-radius:3px 3px 0 0;background:transparent}.date-filter-row button strong{color:#45484e;font-size:14px;font-weight:600}.date-filter-row button small{font-size:11px}.date-filter-row button.active,.date-filter-row button.active strong{color:#25bfd2}.date-filter-row button.active:after{background:linear-gradient(90deg,#25d1d5,#9b70f6)}.coming-list{padding:2px 16px 20px}.coming-card{display:grid;grid-template-columns:78px 1fr 72px;gap:12px;align-items:center;min-height:132px;background:#fff;border-radius:11px;margin-bottom:10px;padding:10px}.coming-card>img{width:70px;height:94px;object-fit:cover;border-radius:5px;cursor:pointer}.coming-card h3{font-size:16px;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coming-card div strong{color:var(--orange);font-size:14px}.coming-card div p{color:#9fa1a5;margin-top:5px;font-size:13px}.coming-card>button{height:30px;border:1.5px solid transparent;border-radius:99px;color:#24cddd;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(100deg,#22d5d8,#a66cff) border-box}.coming-card>button.wanted{color:#666;border-color:#ccc;background:#fff}.cinema-cover{height:235px;position:relative;overflow:hidden;color:#fff}.cinema-cover>img{width:100%;height:100%;object-fit:cover}.cover-back,.cover-favorite{position:absolute;top:11px;color:#fff;width:42px;height:42px;display:grid;place-items:center;filter:drop-shadow(0 2px 4px rgb(0 0 0 / 35%))}.cover-back{left:8px}.cover-favorite{right:8px}.cinema-glass{position:absolute;left:16px;right:16px;bottom:16px;padding:17px 16px 12px;border-radius:13px;background:#17194394;border:1px solid rgb(255 255 255 / 24%);-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);display:grid;grid-template-columns:1fr 40px;gap:10px}.cinema-glass h1{font-size:18px;display:flex;align-items:center}.cinema-glass h1 svg{width:18px}.cinema-glass p{margin-top:8px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center}.cinema-glass p svg{width:15px;margin-right:4px}.cinema-glass>button{width:34px;height:34px;background:#fff;color:#535462;border-radius:50%;display:grid;place-items:center;align-self:center}.cinema-glass>button svg{width:18px}.cinema-features{grid-column:1 / -1;border-top:1px solid rgb(255 255 255 / 42%);display:flex;gap:15px;padding-top:11px;overflow-x:auto}.cinema-features span{font-size:11px;white-space:nowrap}.cinema-features span:first-letter{color:#ffc400}.cinema-movie-rail{display:flex;gap:14px;align-items:flex-end;padding:24px 0 13px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.cinema-movie-rail button{flex:0 0 78px;width:78px;height:105px;border-radius:6px;overflow:hidden;scroll-snap-align:center;transition:transform .2s,box-shadow .2s}.cinema-movie-rail button:first-child{margin-left:calc(50% - 39px)}.cinema-movie-rail button:last-child{margin-right:calc(50% - 39px)}.cinema-movie-rail button.active{transform:scale(1.1);box-shadow:0 8px 20px #21263a40}.cinema-movie-rail img{width:100%;height:100%;object-fit:cover}.selected-movie{text-align:center;padding:7px 18px 10px}.selected-movie h2{font-size:17px}.selected-movie h2 strong{color:var(--orange);margin-left:7px}.selected-movie h2 small{color:#b0b2b7;font-size:12px;font-weight:400}.selected-movie p{color:#9c9ea3;margin-top:6px;font-size:13px}.selected-movie .movie-description{max-width:360px;margin:7px auto 0;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.date-tabs{display:flex;gap:20px;padding:8px 16px 13px;overflow-x:auto;scrollbar-width:none}.date-tabs button{height:34px;color:#9b9da1;white-space:nowrap;position:relative;font-size:14px}.date-tabs button.active{color:#303136;font-weight:700}.cinema-date-tabs{gap:0;padding:0 10px 13px;scroll-snap-type:x proximity}.cinema-date-tabs::-webkit-scrollbar{display:none}.cinema-date-tabs button{min-width:82px;padding:0 8px;flex:0 0 82px;display:flex;align-items:center;justify-content:center;gap:3px;scroll-snap-align:start}.cinema-date-tabs button strong{font-size:14px}.cinema-date-tabs button small{font-size:11px;font-weight:400}.cinema-date-tabs button.active,.cinema-date-tabs button.active small{color:#25bfd2}.schedule-list{padding:0 16px 28px}.schedule-list>.request-state{min-height:112px}.schedule-row{min-height:72px;display:grid;grid-template-columns:62px minmax(0,1fr) 58px 58px;gap:7px;align-items:center;background:#fff;border-radius:10px;padding:9px 10px;margin-bottom:10px}.schedule-row>div{min-width:0;display:flex;flex-direction:column;gap:5px}.schedule-row>div strong{font-size:16px}.schedule-row>div small{color:#a7a9ad;font-size:11px;white-space:nowrap}.schedule-row>div:nth-child(2) strong,.schedule-row>div:nth-child(2) small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-row .schedule-price{align-items:flex-end}.schedule-row .schedule-price strong{color:var(--red)}.schedule-row del{color:#999;font-size:11px}.schedule-row .schedule-price strong .starting-price-suffix{margin-left:2px;color:inherit;font-size:10px;font-weight:400}.schedule-row .gradient-button{min-height:32px;padding:0 13px;font-weight:400}.movie-backdrop{height:206px;position:relative;background:#222;overflow:hidden}.movie-backdrop img{width:100%;height:100%;object-fit:cover}.movie-backdrop button{position:absolute;left:9px;top:9px;width:42px;height:42px;color:#fff;display:grid;place-items:center;border-radius:50%;background:#0000003d}.detail-content{margin-top:-14px;padding:0 12px 92px;position:relative;z-index:2;background:var(--bg);border-radius:18px 18px 0 0}.movie-profile{display:grid;grid-template-columns:112px 1fr;gap:15px;padding:16px 10px 11px}.movie-profile>img{width:112px;height:150px;object-fit:cover;border-radius:5px}.movie-profile h1{font-size:18px;margin:6px 0 8px}.movie-profile p{color:#9fa1a5;font-size:13px;margin-top:6px}.movie-profile div>div{height:45px;margin-top:25px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;background:#fafafa;border-radius:6px;color:#8d8f94;font-size:12px}.movie-profile div>div strong{color:var(--orange);font-size:21px}.movie-profile div>div small{color:#999;font-size:11px}.movie-profile div>div strong small{color:var(--orange);font-weight:500}.detail-section{margin-top:10px;padding:14px}.detail-section h2{font-size:17px;display:flex;align-items:center}.detail-section h2 i{width:3px;height:14px;margin-right:8px;border-radius:3px;background:linear-gradient(#21d7d8,#a36bff)}.detail-section>p{margin-top:12px;color:#777a80;font-size:13px;line-height:1.65}.cast-row{display:flex;gap:10px;margin-top:13px;overflow-x:auto;scrollbar-width:none}.cast-row>div{flex:0 0 78px;text-align:center}.cast-row img{width:78px;height:98px;object-fit:cover;border-radius:5px}.cast-row p{margin-top:7px;font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cast-row small{color:#aaa;font-size:11px}.review{display:grid;grid-template-columns:34px 1fr auto;gap:9px;padding:15px 0;border-bottom:1px solid var(--line)}.review:last-child{border-bottom:0}.review>img{width:34px;height:34px;object-fit:cover;border-radius:50%}.review p{font-size:12px;color:#74767b;line-height:1.55;margin-bottom:5px}.review time{color:#aaa;font-size:10px;padding-top:3px}.stars{color:#ffc400;font-size:15px;margin:4px 0}.stars span{color:#ccc}.stars b{font-size:11px;margin-left:5px}.detail-actions{position:fixed;z-index:45;bottom:0;left:50%;transform:translate(-50%);width:min(100%,480px);height:calc(72px + env(safe-area-inset-bottom));padding:10px 12px env(safe-area-inset-bottom);display:grid;grid-template-columns:100px 1fr;gap:10px;background:#fff;box-shadow:0 -7px 25px #212d4412}.detail-actions .outline-gradient{height:48px;display:flex;align-items:center;justify-content:center;gap:5px}.detail-actions svg{width:18px}.seat-page{background:var(--bg);padding-bottom:152px}.seat-legend{height:66px;display:flex;justify-content:center;align-items:center;gap:clamp(12px,5vw,26px);color:#65676c;font-size:13px}.seat-legend span{display:flex;align-items:center;gap:7px;white-space:nowrap}.seat-legend i{width:21px;height:21px;border-radius:4px;border:1px solid #c9cbd0;background:#fff;display:grid;place-items:center;font-style:normal;color:#fff;font-size:14px}.seat-legend i.selected{background:#57a9e8;border-color:#57a9e8}.seat-legend i.sold{background:var(--red);border-color:var(--red);font-weight:700}.seat-legend i.locked{background:#fff0bd;border-color:#f1b800}.sold-seat-mark{color:#fff;font-family:Arial,sans-serif;font-size:15px;font-weight:800;line-height:1}.seat-area-prices{min-height:36px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;padding:0 16px 12px}.seat-area-price{flex:0 0 auto;display:flex;align-items:center;gap:4px;color:#696c72;font-size:11px;white-space:nowrap}.seat-area-price i{width:14px;height:14px;border:1px solid var(--seat-area-border);border-radius:3px;background:transparent}.seat-area-price strong{color:#34373d;font-size:12px;font-weight:600}.screen{height:76px;text-align:center;color:#65676b;font-size:13px}.screen div{width:66%;height:20px;border-top:3px solid #ccc;border-radius:50%;margin:0 auto 1px;box-shadow:0 -4px 8px #0000000d}.screen small{display:block;color:#aaa;margin-top:7px}.seat-map-shell{position:relative}.seat-map-viewport{width:100%;overflow-x:auto;padding:8px 12px 12px;scrollbar-width:none;touch-action:pan-x pan-y}.seat-map-shell.has-scrollbar .seat-map-viewport{padding-bottom:27px}.seat-map-viewport::-webkit-scrollbar{display:none}.seat-map{min-width:100%;margin:0 auto;display:grid;column-gap:var(--seat-gap, 6px);row-gap:var(--seat-row-gap, 18px);align-items:center}.seat-row-label{align-self:center;justify-self:center;color:#9da0a6;font-size:10px;line-height:1;white-space:nowrap}.seat-map button{width:clamp(20px,100%,24px);min-width:20px;aspect-ratio:12 / 11;justify-self:center;border:1px solid #c9cbd0;border-radius:clamp(3px,.9vw,4px);background:#fff;color:#fff;font-size:14px;font-weight:800;display:grid;place-items:center;overflow:hidden}.seat-map button.seat-area:not(.selected):not(.sold){border-color:var(--seat-area-border);background:transparent}.seat-map button.aisle{margin-left:14px}.seat-map button.selected{background:#57a9e8;border-color:#57a9e8}.seat-map button.sold{background:var(--red);border-color:var(--red)}.seat-map button.locked{background:#ffefb8;border-color:#f1b700}.seat-selected-mark{width:16px;height:16px;stroke-width:3}.seat-map button.sold .sold-seat-mark{font-size:15px}.seat-scrollbar{appearance:none;position:absolute;left:50%;bottom:4px;z-index:2;transform:translate(-50%);width:min(170px,46vw);height:18px;padding:0;background:transparent;cursor:ew-resize}.seat-scrollbar::-webkit-slider-runnable-track{height:3px;border-radius:99px;background:#696e792e}.seat-scrollbar::-webkit-slider-thumb{appearance:none;width:42px;height:6px;margin-top:-1.5px;border:0;border-radius:99px;background:#8b909a;box-shadow:0 1px 3px #2428302e}.seat-scrollbar::-moz-range-track{height:3px;border:0;border-radius:99px;background:#696e792e}.seat-scrollbar::-moz-range-thumb{width:42px;height:6px;border:0;border-radius:99px;background:#8b909a;box-shadow:0 1px 3px #2428302e}.seat-checkout{position:fixed;left:50%;bottom:0;z-index:45;transform:translate(-50%);width:min(100%,480px);min-height:calc(128px + env(safe-area-inset-bottom));background:#fff;padding:10px 16px env(safe-area-inset-bottom);box-shadow:0 -5px 22px #28303f12}.seat-checkout>p{color:#777;font-size:13px;height:38px;display:flex;align-items:center}.chosen-seats{height:38px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.chosen-seats button{height:30px;padding:0 10px;color:#28c9db;border:1px solid #8de4e9;border-radius:99px;white-space:nowrap;display:flex;align-items:center;gap:4px;background:#f6ffff;font-size:12px}.chosen-seats svg{width:13px}.seat-checkout>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:15px}.seat-checkout>div>span{font-size:16px;white-space:nowrap}.seat-checkout>div>span strong{color:var(--red);font-size:21px;margin-left:8px;font-weight:500}.seat-checkout>div>span small{display:block;color:#aaa;font-size:10px;margin:5px 0 0 48px}.seat-checkout .gradient-button{min-width:128px;height:46px;margin-left:auto}.checkout-page{padding-bottom:126px}.checkout-page main{padding:10px 16px 20px}.checkout-page .content-block{margin-bottom:10px;padding:15px}.order-movie{display:grid;grid-template-columns:88px 1fr;gap:14px;position:relative}.order-movie>img{width:88px;height:118px;object-fit:cover;border-radius:5px}.order-movie h2{font-size:20px;margin:4px 0 10px}.order-movie p{color:#8d8f94;font-size:13px;margin-top:7px;line-height:1.4}.phone-block h2,.payment-block h2,.refund-block h2,.order-info h2,.order-qr h2{font-size:19px;margin-bottom:14px}.phone-block label{height:46px;display:flex;align-items:center;gap:8px;border:1px solid #ccc;border-radius:5px;padding:0 11px}.phone-block label svg{width:18px;color:#999}.phone-block input{border:0;outline:0;min-width:0;width:100%;color:#333}.phone-block input::placeholder{color:#aaa;font-size:13px}.price-block p{display:flex;justify-content:space-between;align-items:center;min-height:34px}.price-block button{display:flex;align-items:center;color:#aaa}.price-block button svg{width:17px}.price-block strong{color:var(--red);font-size:19px}.payment-block>button{width:100%;height:54px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;text-align:left}.payment-block>button:last-child{border:0}.payment-block>button i{margin-left:auto;width:18px;height:18px;border:1px solid #ddd;border-radius:50%;color:transparent;display:grid;place-items:center;font-size:11px;font-style:normal}.payment-block>button i.active{color:#fff;border:0;background:linear-gradient(135deg,#22d5d9,#a66cff)}.payment-block>button.disabled{color:#a8abb1}.payment-block>button.disabled .pay-icon{filter:grayscale(1);opacity:.65}.payment-block>button>span:not(.pay-icon){display:flex;align-items:center;gap:8px}.payment-block>button small{color:#b0b2b7;font-size:11px}.pay-icon{width:22px;height:22px;display:grid;place-items:center;color:#fff;border-radius:50%;font-size:11px}.pay-icon.wechat{background:#20bf55}.pay-icon.alipay{background:#559aee}.refund-block p{color:#707277;line-height:1.65;font-size:14px}.pay-bar{position:fixed;left:50%;bottom:0;z-index:46;transform:translate(-50%);width:min(100%,480px);min-height:calc(112px + env(safe-area-inset-bottom));padding:10px 16px env(safe-area-inset-bottom);background:#fff;box-shadow:0 -6px 24px #24304512}.pay-bar>label{font-size:12px;display:flex;gap:7px;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pay-bar input{accent-color:#32cadc;width:16px;height:16px;flex:0 0 auto}.pay-bar>div{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.pay-bar>div>span{font-size:16px}.pay-bar>div>span strong{color:var(--red);font-size:21px;font-weight:500;margin-left:8px}.pay-bar .gradient-button{min-width:154px;height:49px}.payment-result-page main{padding:16px}.payment-result{padding:34px 18px 28px;text-align:center;background:#fff;border-radius:8px}.payment-result>span{width:58px;height:58px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#30bec7}.payment-result.danger>span{background:var(--red)}.payment-result svg{width:29px;height:29px}.payment-result h1{font-size:21px}.payment-result p{margin-top:10px;color:#8f9298;font-size:13px;line-height:1.6}.payment-result-page .order-info{margin-top:12px;padding:16px}.payment-result-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:16px}.payment-result-actions>button:first-child{height:44px;border:1px solid #c8cbd1;border-radius:999px}.spin{animation:payment-spin 1s linear infinite}@keyframes payment-spin{to{transform:rotate(360deg)}}.ticket-search{height:58px;padding:8px 16px;display:grid;grid-template-columns:120px 1fr;align-items:center;gap:8px;background:#fff}.ticket-search h1{font-size:20px}.ticket-search .search-field{height:38px}.ticket-tabs{height:56px;padding:0 16px;display:flex;justify-content:space-between;align-items:center;background:#fff;overflow-x:auto;scrollbar-width:none}.ticket-tabs button{color:#9b9da1;height:44px;min-width:58px;position:relative;white-space:nowrap}.ticket-tabs button.active{color:#35cbd9;font-weight:600}.order-list{padding:10px 16px 20px}.ticket-card{min-height:145px;padding:13px 12px;background:#fff;border-radius:10px;margin-bottom:10px;display:grid;grid-template-columns:74px 1fr auto;grid-template-rows:30px 1fr;column-gap:10px;position:relative}.ticket-card-top{grid-column:1 / -1;display:flex;justify-content:space-between;color:#888b90;font-size:13px}.ticket-card-top strong{color:#26bfe8}.ticket-card-top strong.danger{color:var(--red)}.ticket-card>img{width:70px;height:94px;object-fit:cover;border-radius:5px}.ticket-info h2{font-size:16px;margin:3px 0 16px}.ticket-info p{color:#9b9da2;font-size:12px;margin-top:8px;white-space:nowrap}.ticket-price{font-size:11px;white-space:nowrap;text-align:right}.ticket-price strong{font-size:18px}.ticket-price button{position:absolute;right:12px;bottom:13px;height:29px;padding:0 13px;color:#25c9df;border:1px solid #25c9df;border-radius:99px}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#0000007a;display:grid;place-items:center;padding:22px}.ticket-modal{width:min(330px,90vw);background:#fff;border-radius:12px;padding:20px 25px 25px;text-align:center;position:relative}.ticket-modal h2{font-size:20px}.ticket-modal>img{width:190px;height:190px;object-fit:contain;margin:14px auto 8px;image-rendering:pixelated}.ticket-modal>strong{display:block;font-size:22px}.ticket-modal>p{color:#999;margin-top:12px;font-size:13px}.modal-close{position:absolute;right:10px;top:10px;width:32px;height:32px;display:grid;place-items:center;color:#aaa}.modal-close svg{width:19px}.locked-phone{min-height:46px;padding:0 12px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:9px;border:1px solid #e2e4e8;border-radius:6px}.locked-phone svg{width:18px;color:#39c6d4}.locked-phone span{font-size:16px;color:#33363b}.locked-phone small{color:#979aa0;font-size:12px;white-space:nowrap}.profile-hero{height:132px;padding:24px 26px;display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:15px;background:linear-gradient(120deg,#e3fafa,#f3eaff);position:relative;overflow:hidden}.profile-hero:after{content:"";position:absolute;right:-55px;top:-45px;width:210px;height:165px;background:url(/assets/cinema-cover.png) center / cover;opacity:.12;border-radius:50%}.profile-hero>img{width:62px;height:62px;object-fit:cover;border-radius:50%;position:relative;z-index:1}.profile-hero h1{font-size:20px}.profile-hero p{color:#9a9ca1;font-size:12px;margin-top:10px}.profile-hero>button{display:flex;align-items:center;gap:5px;position:relative;z-index:1}.profile-hero>button svg{width:20px}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px;margin-top:0;transform:translateY(10px)}.profile-stats button{height:78px;background:#fff;border-radius:10px;box-shadow:var(--shadow);display:grid;grid-template-columns:50px auto;grid-template-rows:1fr 1fr;align-items:center;justify-content:center;column-gap:10px}.profile-stats button>span{grid-row:1 / 3;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(140deg,#36dfd2,#0cc3ea)}.profile-stats button:last-child>span{background:linear-gradient(140deg,#d08aff,#8760ef)}.profile-stats span svg{width:23px}.profile-stats strong{align-self:end;font-size:23px;text-align:left}.profile-stats small{align-self:start;color:#999;text-align:left}.profile-menu{padding:20px 16px 24px}.profile-menu button{width:100%;height:55px;padding:0 15px;display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:9px;background:#fff;border-bottom:1px solid var(--line);text-align:left}.profile-menu button:first-child,.profile-menu button.group-start{margin-top:10px;border-radius:10px 10px 0 0}.profile-menu button:nth-child(2),.profile-menu button:nth-child(4),.profile-menu button:last-child{border-radius:0 0 10px 10px;border-bottom:0}.profile-menu button>svg:first-child{width:23px;color:#54cddd;filter:drop-shadow(5px 0 0 rgb(165 105 255 / 32%))}.profile-menu button>svg:last-child{width:18px;color:#aab5cf}.search-page{padding-bottom:30px}.search-input{display:grid;grid-template-columns:24px 1fr 26px 50px;gap:6px;align-items:center;height:64px;margin:0 16px}.search-input:before{content:"";position:absolute;left:16px;right:66px;height:40px;border-radius:99px;background:#f5f5f6;z-index:0}.search-input>*{position:relative;z-index:1}.search-input>svg{width:18px;margin-left:12px;color:#999}.search-input input{border:0;outline:0;background:transparent;min-width:0;padding-left:6px}.search-input>button svg{width:17px;color:#aaa}.search-input>button:last-child{padding-left:8px;font-size:14px}.search-heading{font-size:18px;margin:22px 16px 14px}.hot-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;padding:0 16px}.hot-grid button{display:grid;grid-template-columns:50px 1fr;gap:8px;text-align:left;min-width:0}.hot-grid img{width:50px;height:67px;object-fit:cover;border-radius:4px}.hot-grid span{display:flex;flex-direction:column;min-width:0}.hot-grid b{color:#ff6a58;font-size:12px}.hot-grid strong{margin-top:8px;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hot-grid small{color:#aaa;margin-top:6px;white-space:nowrap}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 16px}.quick-links button{height:72px;border-radius:8px;background:#f8f4ff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:12px}.quick-links button:nth-child(2){background:#fff4f6}.quick-links button:nth-child(3){background:#fff8ed}.quick-links svg{width:24px;color:#bd94ef}.search-results{padding:8px 16px}.search-results>button{width:100%;height:86px;display:grid;grid-template-columns:50px 1fr 20px;gap:10px;align-items:center;text-align:left;border-bottom:1px solid var(--line)}.search-results img{width:46px;height:64px;object-fit:cover;border-radius:4px}.search-results span{display:flex;flex-direction:column;gap:9px}.search-results small{color:#999}.search-results svg{width:18px;color:#aaa}.current-city{height:52px;padding:0 16px;display:flex;justify-content:space-between;align-items:center;background:#fff}.current-city span,.current-city button{display:flex;align-items:center;gap:7px}.current-city svg{width:18px}.current-city button{color:#999}.city-list{background:#fff;padding-bottom:30px}.city-list section h2{height:36px;padding:10px 16px 0;background:var(--bg);font-size:14px;font-weight:500}.city-list section button{width:100%;height:50px;padding:0 30px 0 16px;border-bottom:1px solid #f1f2f4;text-align:left;display:flex;align-items:center;justify-content:space-between}.city-list section button span{color:#25cdda;font-size:12px}.city-index{position:fixed;right:max(calc((100vw - 480px)/2 + 5px),5px);top:170px;z-index:10;display:flex;flex-direction:column}.city-index a{color:#666;text-decoration:none;font-size:11px;width:25px;height:24px;display:grid;place-items:center}.favorite-list{padding:1px 0 30px}.favorite-list .cinema-summary{padding-left:32px}.favorite-star{width:18px;height:18px;color:#ffc400;margin-right:7px;flex:0 0 auto}.unfavorite{position:absolute;left:7px;top:14px;width:28px;height:28px;color:#ffc400}.unfavorite svg{width:18px}.end-text{text-align:center;color:#c3c5ca;margin-top:140px;font-size:13px}.coupon-tabs{height:58px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.coupon-tabs button{height:46px;color:#999;position:relative}.coupon-tabs button.active{color:#333;font-weight:600}.coupon-tabs button.active:after{background:#333;bottom:0}.coupon-list{padding:7px 16px 24px}.coupon{height:91px;margin-bottom:10px;padding:10px 12px 10px 0;border-radius:10px;display:grid;grid-template-columns:102px minmax(0,1fr) auto;align-items:center;gap:13px;background:#fff0f1;color:#f2595e;position:relative;overflow:hidden}.coupon:before,.coupon:after{content:"";position:absolute;left:93px;width:18px;height:18px;border-radius:50%;background:#fff}.coupon:before{top:-9px}.coupon:after{bottom:-9px}.coupon-value{height:72px;border-right:1px dashed #f4c7ca;display:flex;flex-direction:column;align-items:center;justify-content:center}.coupon-value strong{font-size:30px}.coupon-value strong small{font-size:12px}.coupon-value span{font-size:12px;margin-top:5px}.coupon-copy{min-width:0}.coupon-copy h2{color:#111;font-size:16px}.coupon-copy p{color:#f4777b;font-size:11px;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coupon>button{min-width:70px;height:30px;padding:0 10px;border-radius:99px;color:#fff;background:linear-gradient(100deg,#f1515e,#ff8634);white-space:nowrap;font-size:12px}.coupon.disabled{opacity:.48}.coupon.disabled>button{color:#f4676c;background:transparent;border:1px solid #f4676c;cursor:default}.order-page{padding-bottom:82px}.order-status{height:126px;padding:34px 20px;color:#fff;text-align:center;background:linear-gradient(110deg,#00696f,#623ed2)}.order-status h1{font-size:23px}.order-status p{margin-top:10px;font-size:14px}.order-details{margin-top:-16px;border-radius:20px 20px 0 0;position:relative;padding:18px 16px 24px;background:var(--bg)}.order-details .content-block{margin-bottom:10px;padding:15px}.order-details .order-movie{padding-top:42px}.order-cinema{position:absolute;left:15px;top:14px;right:15px;color:#898b90;font-size:13px}.order-qr{text-align:center}.order-qr h2{text-align:left}.order-qr img{width:185px;height:185px;object-fit:contain;margin:5px auto;image-rendering:pixelated}.order-qr strong{display:block;font-size:21px}.order-qr>p{color:#999;margin-top:10px;font-size:12px}.order-info p{display:grid;grid-template-columns:75px 1fr;gap:10px;margin-top:13px}.order-info p span{color:#444}.order-actions{position:fixed;left:50%;bottom:0;z-index:45;transform:translate(-50%);width:min(100%,480px);height:calc(74px + env(safe-area-inset-bottom));padding:10px 16px env(safe-area-inset-bottom);display:grid;grid-template-columns:118px 1fr;gap:12px;background:#fff;box-shadow:0 -6px 22px #24304512}.order-actions>button:first-child{height:48px;border:1px solid #bbb;border-radius:99px;display:flex;align-items:center;justify-content:center;gap:6px}.order-actions>button svg{width:20px}.toast{position:fixed;left:50%;bottom:96px;z-index:200;transform:translate(-50%);max-width:min(340px,86vw);padding:10px 18px;border-radius:8px;color:#fff;background:#1e2025e5;box-shadow:0 8px 26px #0003;font-size:13px;text-align:center;animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.empty{min-height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#b0b2b7;gap:10px}.empty svg{width:34px}.not-found{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:14px}.not-found svg{width:46px;height:46px;color:#7a70dc}.not-found h1{font-size:22px}.not-found button{color:#25cbd8}.search-input>button:last-child{grid-column:4;white-space:nowrap}.app-svg-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.bottom-nav button.active svg,.profile-menu button>svg:first-child{filter:none;stroke:url(#icon-accent-gradient)}.hot-cities{padding:12px 34px 15px 16px;background:#fff;border-top:1px solid #f1f2f4}.hot-cities h2{margin-bottom:11px;font-size:14px;font-weight:600}.hot-cities>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.hot-cities button{height:34px;min-width:0;padding:0 6px;overflow:hidden;color:#5e6167;background:#f7f8fa;border:1px solid #e6e8ec;border-radius:4px;text-overflow:ellipsis;white-space:nowrap}.hot-cities button.active{color:#25bfd2;border-color:#c7eef1;background:#edfbfc}.cities-page .city-index{top:282px}@media(max-width:359px){.home-tools{grid-template-columns:96px 1fr}.seat-map{column-gap:6px;row-gap:17px}.schedule-row{grid-template-columns:55px minmax(0,1fr) 48px 52px}.schedule-row .gradient-button{padding:0 10px}.coupon{grid-template-columns:88px 1fr auto;gap:7px}.coupon:before,.coupon:after{left:79px}.coupon>button{min-width:62px;padding:0 8px}.pay-bar .gradient-button{min-width:130px}}@media(min-width:481px){body{padding:18px 0}.app-shell{min-height:calc(100dvh - 36px);border-radius:12px}.page{min-height:calc(100dvh - 36px)}.bottom-nav,.detail-actions,.seat-checkout,.pay-bar,.order-actions{bottom:18px}}.media-placeholder{width:100%;height:100%;min-height:48px;display:grid;place-items:center;color:#aeb4c0;background:#eef1f5}.media-placeholder svg{width:28px;height:28px}.request-state{min-height:190px;margin:12px 16px;padding:28px 20px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#8f939b;background:#fff;text-align:center}.request-state>svg{width:34px;height:34px}.request-state.loading>svg{color:#43c9dc;animation:state-spin .9s linear infinite}.request-state.error>svg{color:#ef6266}.request-state h2{color:#3b3d42;font-size:17px}.request-state p{max-width:290px;line-height:1.55;font-size:13px;overflow-wrap:anywhere}.request-state button{height:36px;padding:0 16px;margin-top:5px;display:flex;align-items:center;gap:6px;color:#25bdcf;border:1px solid #75dce5;border-radius:999px;background:#f7ffff}.request-state button svg{width:16px}@keyframes state-spin{to{transform:rotate(360deg)}}.live-movie-banner{width:calc(100% - 32px);aspect-ratio:3.13 / 1;margin:4px 16px 12px;border-radius:11px;overflow:hidden;display:block;background:#1f2937}.live-movie-banner>img,.live-movie-banner>.media-placeholder{width:100%;height:100%;object-fit:cover}.home-cinema-area>.request-state{min-height:150px}.poster-button .media-placeholder{width:100%;height:100%}.coming-card>button:first-child{width:70px;height:94px;border-radius:5px;overflow:hidden}.coming-card>button:first-child img,.coming-card>button:first-child .media-placeholder{width:100%;height:100%;object-fit:cover}.cinema-heading>p.schedule-link{color:#32bfd1;font-size:13px;padding-top:4px}.cinema-cover>.media-placeholder{width:100%;height:100%;background:#252a3b;color:#697087}.cinema-movie-rail .media-placeholder{width:100%;height:100%}.movie-backdrop>.media-placeholder{width:100%;height:100%;background:#242935;color:#667085}.movie-profile>.media-placeholder{width:112px;height:150px;border-radius:5px}.people-list{display:flex;gap:12px;margin-top:13px;overflow-x:auto;scrollbar-width:none}.person-item{flex:0 0 72px;text-align:center;display:flex;flex-direction:column;align-items:center}.person-item>span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#667085;background:#edf2f7;font-size:19px;font-weight:700}.person-item strong{width:100%;margin-top:7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.person-item small,.muted-copy{color:#a2a5ab;font-size:11px;margin-top:3px}.seat-map{grid-template-columns:unset}.order-movie>.media-placeholder{width:88px;height:118px;border-radius:5px}.ticket-card>.media-placeholder{width:70px;height:94px;border-radius:5px}.ticket-code-graphic{width:190px;height:190px;margin:14px auto 8px;display:grid;place-items:center;color:#2f333b;border:8px solid #eef1f5;background:repeating-linear-gradient(45deg,#fff 0 8px,#f4f6f8 8px 16px)}.ticket-code-graphic svg{width:72px;height:72px}.profile-avatar{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;color:#8190a8;background:#fff;position:relative;z-index:1}.profile-avatar svg{width:31px;height:31px}.search-results>button>.media-placeholder{width:46px;height:64px;border-radius:4px}.search-result-icon{width:46px;height:46px;border-radius:8px;display:grid!important;place-items:center;color:#42c5d7;background:#effbfc}.search-result-icon svg{width:23px}.hot-grid .media-placeholder{width:50px;height:67px;border-radius:4px}.home-hero:after,.profile-hero:after{display:none}.availability-note{margin:10px 16px 0;padding:10px 12px;display:flex;align-items:flex-start;gap:8px;color:#8a6519;background:#fff8e7;border:1px solid #f3deb1;border-radius:8px;font-size:12px;line-height:1.55}.availability-note svg{width:17px;height:17px;flex:0 0 auto;margin-top:1px;color:#d79a21}
