:root{--ink:#1c2730;--paper:#f6f2ea;--muted:#77746f;--line:#ded8cb;--accent:#d75d3b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}.shell{max-width:560px;min-height:100vh;margin:auto;background:#fffdf8}.hero{padding:50px 24px 34px;color:#fff;background:linear-gradient(135deg,#253a3a,#b35336 70%,#dd9674);position:relative;overflow:hidden}.hero:after{content:"LX";position:absolute;right:-14px;bottom:-54px;font-size:160px;font-weight:800;color:#fff2;letter-spacing:-18px}.hero p,.eyebrow{font-size:11px;letter-spacing:1.7px;margin:0 0 14px;opacity:.82}.hero h1{font-size:42px;line-height:1.05;margin:0 0 18px;letter-spacing:2px;position:relative;z-index:1}.hero em{font-family:Georgia,serif;font-weight:400}.hero span{font-size:14px;position:relative;z-index:1}.section-title{margin:28px 20px 14px;display:flex;align-items:baseline;justify-content:space-between;font-weight:700}.section-title small{font-size:9px;color:var(--muted);letter-spacing:1px}.featured-list,.standard-list{padding:0 16px;display:grid;gap:12px}.featured-card{border:0;width:100%;color:#fff;text-align:left;border-radius:14px;min-height:124px;padding:20px;background:var(--color);position:relative;overflow:hidden;box-shadow:0 8px 20px #0001}.featured-card:after{content:"券";position:absolute;right:18px;bottom:-24px;font-size:92px;font-weight:800;color:#fff2}.featured-card small,.merchant-card small{opacity:.8;font-size:10px;letter-spacing:1px}.featured-card h2{margin:10px 0 4px;font-size:25px;position:relative}.featured-card p{margin:0;font-size:13px;position:relative}.status{position:absolute;right:18px;top:17px;background:#fff3;border:1px solid #fff5;border-radius:20px;padding:5px 8px;font-size:11px;z-index:2}.merchant-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px;display:flex;align-items:center;gap:13px;text-align:left}.merchant-card button{border:0;background:none;flex:1;text-align:left;color:inherit}.merchant-avatar{width:45px;height:45px;border-radius:13px;background:var(--color);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:700}.merchant-card h3{margin:3px 0;font-size:16px}.merchant-card p{margin:0;color:var(--muted);font-size:12px}.arrow{color:var(--muted);font-size:20px}.detail{padding:25px 20px}.back{border:0;background:transparent;padding:0;color:var(--muted);font-size:14px}.merchant-banner{margin-top:18px;border-radius:17px;padding:28px 22px;color:white;background:var(--color);min-height:190px;position:relative;overflow:hidden}.merchant-banner:after{content:"LX";position:absolute;right:12px;bottom:-30px;font-size:92px;color:#fff2;font-weight:800}.merchant-banner h1{font-size:30px;margin:12px 0 8px;position:relative}.merchant-banner p{margin:0;position:relative}.coupon-box{margin-top:-26px;position:relative;background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 30px #1b2a2712}.coupon-box:before,.coupon-box:after{content:"";position:absolute;width:21px;height:21px;border-radius:50%;background:var(--paper);top:75px}.coupon-box:before{left:-11px}.coupon-box:after{right:-11px}.coupon-box h2{font-size:23px;margin:7px 0}.coupon-box p{color:var(--muted);line-height:1.7;font-size:14px}.coupon-code{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:15px 0;margin:18px 0;color:#6d6b67;letter-spacing:2px;text-align:center}.primary{width:100%;border:0;border-radius:11px;background:var(--accent);color:#fff;padding:15px;font-weight:700;font-size:16px}.primary:disabled{opacity:.55}.redeemed{color:#428064;font-weight:700}.slider{height:53px;background:#efeae1;border-radius:27px;padding:5px;position:relative;overflow:hidden;user-select:none}.slider-label{text-align:center;display:block;line-height:43px;color:#89847d;font-size:14px}.slider-handle{position:absolute;left:5px;top:5px;width:43px;height:43px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0002;display:grid;place-items:center;color:var(--accent);font-size:22px;transition:left .15s}.slider.active .slider-handle{left:calc(100% - 48px)}.modal{position:fixed;inset:0;background:#1725219c;display:grid;place-items:end center;padding:20px;z-index:10}.modal-card{position:relative;background:#fffdf8;border-radius:20px;padding:30px 24px;max-width:480px;width:100%}.modal-card h2{margin:0 0 10px}.modal-card p{color:var(--muted);font-size:14px;line-height:1.6}.modal-card input,.admin-login input,.merchant-form input,.merchant-form textarea,.merchant-form select{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px;margin:10px 0;font:inherit;background:#fff}.modal-card small,.admin-login small{display:block;color:var(--muted);line-height:1.5;margin-top:13px}.close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:28px;color:var(--muted)}.toast{position:fixed;z-index:20;left:50%;bottom:35px;transform:translateX(-50%);background:#253a3a;color:white;border-radius:25px;padding:12px 18px;font-size:14px;white-space:nowrap}.admin-body{background:#f4f6f5}.admin-shell{max-width:1000px;margin:auto;padding:30px 20px 80px}.admin-header{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:25px}.admin-header a{color:var(--accent);text-decoration:none;font-size:14px}.admin-header h1{margin:12px 0 5px;font-size:28px}.admin-header span{color:var(--muted)}.admin-login{background:#fff;padding:25px;border-radius:14px;max-width:400px;margin:auto}.admin-login h2{margin-top:0}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px}.kpi{padding:20px;background:#fff;border-radius:13px}.kpi small{color:var(--muted)}.kpi strong{font-size:30px;display:block;margin-top:7px}.table-wrap{overflow:auto;background:#fff;border-radius:13px}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:15px;text-align:left;border-bottom:1px solid #eee}.table-wrap th{color:var(--muted);font-size:13px}.merchant-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.merchant-form{background:#fff;border-radius:13px;padding:18px}.merchant-form h3{margin:0 0 8px}.merchant-form textarea{height:70px;resize:vertical}.save{border:0;border-radius:8px;padding:10px 13px;background:var(--ink);color:#fff}.group{display:flex;gap:8px}.group>*{flex:1}@media(max-width:620px){.merchant-admin-list{grid-template-columns:1fr}.admin-shell{padding:20px 14px}.kpis{gap:8px}.kpi{padding:14px}.kpi strong{font-size:23px}}
.modal[hidden]{display:none}
.asset-spec{margin:4px 0 7px;color:#197a78;font-size:11px;line-height:1.45}
.featured-card .status{position:absolute;z-index:2}.featured-card small,.merchant-banner small{position:relative;z-index:1}
.config-heading{display:flex;align-items:center;justify-content:space-between;margin-top:32px}.config-heading h2{margin:0}.add-merchant,.delete-merchant,.optimize-images{border:0;border-radius:8px;padding:9px 12px;font-size:13px}.add-merchant,.optimize-images{background:#197a78;color:#fff}.delete-merchant{margin-left:8px;background:#fff0ed;color:#bd3c25;border:1px solid #f3c8bd}.optimize-images{margin-left:8px}.optimize-images:disabled{opacity:.6}
.featured-card .status{position:absolute!important;right:18px;top:17px;z-index:3!important}
.featured-list,.standard-list{gap:12px}.shop-cover{position:relative;width:100%;aspect-ratio:4 / 1;height:auto;padding:0;border:0;border-radius:14px;overflow:hidden;background:var(--color);line-height:0;box-shadow:0 8px 20px #0001}.shop-cover.has-cover{background:transparent}.shop-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.shop-cover .status{position:absolute;right:14px;top:14px;z-index:2;line-height:1;background:#23322bd9;border:1px solid #fff8;border-radius:18px;padding:6px 9px;color:#fff;font-size:11px}.merchant-banner.has-detail-image{min-height:0;padding:0;background:transparent}.merchant-banner.has-detail-image:after{display:none}.merchant-banner.has-detail-image .detail-banner-image{position:static;display:block;width:100%;height:auto;opacity:1}.coupon-box.after-detail-image{margin-top:16px}.merchant-logo{display:none}
.featured-card>*:not(.featured-image),.merchant-banner>*:not(.detail-banner-image){position:relative;z-index:1}.featured-image,.detail-banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}.merchant-logo{width:45px;height:45px;flex:0 0 45px;border-radius:13px;object-fit:cover}.store-intro{margin-top:14px!important;color:var(--ink)!important}.usage-notes{margin:18px 0;padding:13px;border-radius:10px;background:#f6f2ea}.usage-notes strong{font-size:13px}.usage-notes p{margin:5px 0 0}.asset-preview{width:100%;height:92px;object-fit:cover;border:1px solid var(--line);border-radius:9px;background:#f6f2ea}.field-label{display:block;margin-top:13px;font-size:12px;font-weight:700;color:var(--muted)}.merchant-form input[type=file]{padding:8px;background:#f6f2ea}.merchant-form .asset-url{margin-bottom:2px}.merchant-form .hint{margin:3px 0 8px;color:var(--muted);font-size:11px}
.hero.has-custom-background{background-position:center;background-repeat:no-repeat;background-size:cover}.hero.has-custom-background:after{display:none}.hero.has-custom-background p,.hero.has-custom-background h1,.hero.has-custom-background span,.hero.has-custom-background .my-button{text-shadow:0 1px 6px #0009}
.merchant-form .form-status{min-height:18px;margin:4px 0 0;color:var(--muted);font-size:12px}
.hero{min-height:180px;aspect-ratio:2.35 / 1}
.usage-rule-entry{min-height:28px;margin:0 16px;padding:7px 0;text-align:center}.usage-rule-entry button{border:0;background:transparent;color:var(--accent);font:inherit;font-size:13px;font-weight:700;padding:4px 10px}.usage-rule-entry button span{font-size:18px;line-height:0;vertical-align:-1px}.usage-rule-entry p{margin:4px 0;color:var(--muted);font-size:11px}
.image-viewer-stage{touch-action:none}
.more-shops-image{display:block;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;background:transparent;line-height:0}.more-shops-image img{display:block;width:100%;height:auto}.image-viewer-card{width:min(960px,100%);max-height:calc(100vh - 32px);padding:12px;border-radius:14px;background:#202824;color:#fff}.image-viewer-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:10px}.image-viewer-tools button{width:34px;height:34px;border:1px solid #fff5;border-radius:8px;background:#fff2;color:#fff;font-size:22px;line-height:1}.image-viewer-tools span{min-width:44px;text-align:center;font-size:13px}.image-viewer-tools [data-zoom="close"]{margin-left:8px}.image-viewer-stage{max-height:calc(100vh - 126px);overflow:auto;background:#111;display:flex;align-items:flex-start;justify-content:flex-start}.image-viewer-stage img{display:block;width:100%;height:auto;max-width:none;cursor:zoom-in}.image-viewer-card p{margin:9px 0 0;text-align:center;color:#d9dfda;font-size:12px}
.my-button{position:absolute;right:20px;top:20px;z-index:2;border:1px solid #ffffff88;border-radius:18px;background:#ffffff1f;color:#fff;padding:7px 12px;font-size:12px}.my-page{padding:25px 20px 50px}.my-page h2{margin:12px 0 4px;font-size:28px}.my-page h3{margin:30px 0 12px;font-size:17px}.my-heading{display:flex;justify-content:space-between;align-items:center}.my-heading p{margin:0;font-size:10px;color:var(--muted);letter-spacing:1.5px}.my-heading span{font-size:13px;color:var(--muted)}.logout{border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 10px;color:var(--muted);font-size:12px}.my-coupon-list{display:grid;gap:10px}.my-coupon{position:relative;width:100%;overflow:hidden;border:0;border-radius:13px;background:var(--color);padding:17px;color:#fff;text-align:left}.my-coupon:after{content:"券";position:absolute;right:12px;bottom:-22px;color:#fff2;font-size:78px;font-weight:800}.my-coupon span{position:absolute;right:15px;top:14px;border:1px solid #fff5;border-radius:13px;padding:4px 7px;font-size:10px}.my-coupon small,.my-coupon strong,.my-coupon p,.my-coupon em{position:relative;z-index:1;display:block}.my-coupon small{font-size:10px;opacity:.8}.my-coupon strong{margin-top:7px;font-size:19px}.my-coupon p{margin:3px 0 8px;font-size:12px}.my-coupon em{font-size:11px;font-style:normal;opacity:.88}.my-page .empty{padding:22px 0;color:var(--muted);font-size:14px}
.traffic-panel{margin:0 0 30px;padding:20px;background:#fff;border-radius:13px}.traffic-panel h2{margin:0 0 4px;font-size:20px}.traffic-panel>div>small,.traffic-panel>p{margin:0;color:var(--muted);font-size:12px}.traffic-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.traffic-kpis div{padding:13px;border-radius:10px;background:#f6f2ea}.traffic-kpis small{display:block;color:var(--muted);font-size:11px}.traffic-kpis strong{display:block;margin-top:5px;font-size:18px}@media(max-width:620px){.traffic-kpis{grid-template-columns:repeat(2,1fr)}}
.site-footer{padding:34px 20px 28px;color:var(--muted);text-align:center;font-size:11px;line-height:1.8}.admin-shell>.site-footer{margin-top:28px;padding-bottom:0}
.admin-header{position:relative}.admin-actions{position:absolute;top:0;right:0;display:flex;gap:8px}.admin-actions button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:8px 11px;cursor:pointer;font:inherit;font-size:13px}.admin-actions button:last-child{border-color:#d75d3b;color:#d75d3b}@media(max-width:620px){.admin-actions{position:static;margin:12px 0}.admin-header h1{margin-top:16px}}
.back-to-merchants{width:100%;margin-top:12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:13px;font:inherit;font-weight:600;cursor:pointer}
