:root{--red:#b91c1c;--red2:#dc2626;--gold:#c99128;--ink:#2b2119;--muted:#71645a;--cream:#fff8ec;--line:#ead7b6;--green:#355f3d;--shadow:0 18px 50px rgba(97,53,18,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fffaf1 0%,#fff 48%,#fff7e9 100%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(1160px,92vw);margin:auto}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,250,241,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,145,40,.25)}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}.brandrow{display:flex;gap:14px;align-items:center}.brandrow img{height:56px;max-width:150px;object-fit:contain}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a{padding:9px 13px;border-radius:999px}.nav a:hover,.nav a.active{background:var(--red);color:#fff}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 20%,rgba(255,197,103,.35),transparent 28%),linear-gradient(135deg,#fff9ef,#fff3df 50%,#fffaf2);border-bottom:1px solid var(--line)}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(2px)}.hero:before{width:420px;height:420px;right:-160px;top:-180px;background:rgba(220,38,38,.07)}.hero:after{width:340px;height:340px;left:-180px;bottom:-180px;background:rgba(201,145,40,.12)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;padding:58px 0}.eyebrow{color:var(--red);font-weight:800;letter-spacing:.12em}.hero h1{font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(48px,7vw,88px);line-height:1.02;margin:12px 0 6px;color:#b42318}.hero h2{font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(28px,4vw,48px);margin:0;color:#7f1d1d}.tagline{font-size:clamp(20px,2.2vw,30px);font-weight:700;margin:16px 0;color:#5b2b20}.meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.pill{padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 5px 20px rgba(108,68,23,.06)}.hero-art{display:flex;align-items:center;justify-content:center;position:relative;min-height:360px}.crest{width:min(350px,75vw);filter:drop-shadow(0 18px 30px rgba(96,50,10,.16))}.hero-badge{position:absolute;right:0;bottom:10px;background:#fff;border:1px solid var(--line);padding:13px 16px;border-radius:18px;box-shadow:var(--shadow);font-weight:800;color:var(--red)}.section{padding:38px 0}.section-title{text-align:center;margin:0 0 22px;font-family:"Noto Serif SC",serif;font-size:32px}.highlights{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.hi{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;text-align:center;box-shadow:var(--shadow);min-height:132px}.hi .icon{font-size:34px;display:block;margin-bottom:9px}.hi b{display:block;margin-bottom:6px;color:#8f1d16}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:var(--shadow)}.card h2{margin-top:0}.tickets{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ticket{border:2px solid #f0dec1;border-radius:20px;padding:20px;background:#fffaf1;transition:.2s}.ticket.active{border-color:var(--red);box-shadow:0 10px 30px rgba(185,28,28,.12)}.ticket h3{margin:0}.price{font-size:46px;font-weight:900;color:var(--red);margin:10px 0}.btn{border:0;border-radius:14px;padding:13px 18px;background:linear-gradient(135deg,var(--red2),#a91515);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(185,28,28,.18)}.btn.secondary{background:#3d2b20}.btn:disabled{opacity:.55;cursor:not-allowed}.field{display:grid;gap:7px;margin:13px 0}.field label{font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #dcc9a7;border-radius:12px;padding:12px;background:#fff}.hint{color:var(--muted);font-size:14px;line-height:1.5}.sponsor-box{display:none;background:#fff8e9;border:1px dashed #d7af67;border-radius:16px;padding:14px;margin-top:10px}.sponsor-box.show{display:block}.logos{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:center}.logo-card{height:130px;background:#fff;border:1px solid var(--line);border-radius:20px;display:flex;align-items:center;justify-content:center;padding:18px}.logo-card img{max-width:100%;max-height:92px;object-fit:contain}.footer{background:#8e1717;color:#fff;padding:28px 0;margin-top:36px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}.panel{width:min(1200px,94vw);margin:32px auto}.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:20px 0}.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi strong{font-size:28px}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}.scanner{max-width:520px;margin:20px auto}.status{padding:20px;border-radius:18px;margin:16px 0;font-size:20px;font-weight:800}.status.ok{background:#e9f9ee;color:#176b35}.status.bad{background:#fff0f0;color:#a01515}.draw-stage{text-align:center;padding:34px;background:#2f2118;color:#fff;border-radius:24px}.draw-number{font-size:clamp(52px,9vw,112px);font-weight:900;color:#ffd17a}.ticket-page{width:min(720px,92vw);margin:36px auto}.eticket{background:linear-gradient(180deg,#fff,#fff9ef);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.ticket-no{font-size:28px;font-weight:900;color:var(--red)}#qr{display:flex;justify-content:center;padding:18px}.notice{border-left:4px solid var(--gold);background:#fff8e9;padding:12px 14px;border-radius:10px}.mini{font-size:13px;color:var(--muted)}
@media(max-width:900px){.hero-grid,.grid2{grid-template-columns:1fr}.hero-art{min-height:240px}.highlights{grid-template-columns:repeat(2,1fr)}.logos{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.topbar .wrap{align-items:flex-start}.nav{display:none}.tickets{grid-template-columns:1fr}.brandrow img{height:44px}.hero-grid{padding:36px 0}}
.promo-box{display:none;background:#fff8e9;border:1px dashed #d7af67;border-radius:16px;padding:14px;margin-top:10px}.promo-box.show{display:block}.promo-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.promo-row .btn{white-space:nowrap}@media(max-width:900px){.promo-row{grid-template-columns:1fr}}
.delivery-status{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff8e9;line-height:1.7}.ticket-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.ticket-actions .btn{padding:10px 14px}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#f1eee9;color:#574a41;font-size:12px;white-space:nowrap}.badge.sent{background:#e9f9ee;color:#176b35}.badge.failed{background:#fff0f0;color:#a01515}.badge.waiting{background:#fff8e1;color:#76530a}.admin-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.admin-toolbar .field{min-width:220px}.admin-note{padding:12px 14px;background:#fff8e9;border-left:4px solid var(--gold);border-radius:10px;margin:14px 0}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.btn.small{padding:7px 10px;border-radius:10px;font-size:12px}.muted-row{color:var(--muted);font-size:13px}
@media print{.ticket-actions,.delivery-status,#actionMsg{display:none!important}.ticket-page{width:100%;margin:0}.eticket{box-shadow:none;border:0}.brandrow img{height:48px}}
