*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{--bg:#1a0f0a;--bg2:#2a170e;--red:#e8452c;--orange:#ff9a2e;--yellow:#ffd25e;--paper:#fff6e2;--ink:#2b1b12;--mute:#a58b78}
html,body{margin:0;background:var(--bg);color:#ffeedd;font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;line-height:1.55}
body{min-height:100vh;background:radial-gradient(ellipse at 50% -10%,#5a2410 0,#2a170e 40%,#1a0f0a 80%) fixed}
#app{max-width:480px;margin:0 auto;padding:18px 18px 40px;position:relative;min-height:100vh}
.lanterns{display:flex;justify-content:space-between;padding:0 10px;font-size:30px;margin:-6px 0 6px;filter:drop-shadow(0 4px 10px #ff5a1f88)}
.lanterns span{animation:sw 3s ease-in-out infinite;transform-origin:top center}
.lanterns span:nth-child(2){animation-delay:.6s}.lanterns span:nth-child(3){animation-delay:1.2s}
@keyframes sw{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
.screen{display:none;animation:fade .35s ease}.screen.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sign{display:inline-block;border:2px solid var(--yellow);color:var(--yellow);padding:2px 12px;border-radius:4px;font-size:13px;letter-spacing:2px;transform:rotate(-2deg)}
h1{font-size:54px;line-height:1.1;margin:16px 0 6px;color:var(--yellow);text-shadow:0 0 18px #ff7a2f,0 3px 0 #b3361a;letter-spacing:3px}
h2{font-size:21px;margin:10px 0}
h3{margin:0 0 8px;font-size:16px;color:var(--yellow)}
.sub{color:#ffcfa0;font-size:14px}
.card{background:linear-gradient(160deg,#3a2012,#2a170e);border:1px solid #6d3a1d;border-radius:14px;padding:14px 16px;margin:14px 0;box-shadow:0 6px 18px #0008}
.menu-title{text-align:center;color:var(--orange);letter-spacing:3px;margin-bottom:8px;font-size:13px}
.menu ul{list-style:none;margin:0;padding:0}
.menu li{display:flex;justify-content:space-between;border-bottom:1px dashed #6d3a1d;padding:7px 0;font-size:14px}
.menu li:last-child{border:0}.menu li i{font-style:normal;color:#ffcfa0}
.btn{background:linear-gradient(180deg,var(--orange),var(--red));color:#fff;border:0;border-radius:999px;padding:11px 22px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 0 #8a2412;transition:transform .08s}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 #8a2412}
.btn.big{width:100%;padding:15px;font-size:19px;margin-top:6px}
.btn.ghost{background:transparent;border:2px solid var(--orange);color:var(--orange);box-shadow:none}
.btn-row{display:flex;gap:10px;margin:14px 0}.btn-row .btn{flex:1;padding:10px}
.link{background:none;border:0;color:var(--orange);font-size:14px;cursor:pointer;padding:6px 0}
.link:disabled{opacity:.3}
.mini{color:var(--mute);font-size:12px;text-align:center}
.disclaimer{color:var(--mute);font-size:11px;text-align:center;margin-top:18px;line-height:1.6}
code{background:#000a;padding:1px 6px;border-radius:4px;color:var(--yellow)}
.top{display:flex;justify-content:space-between;align-items:center}
.chap{color:var(--orange);font-size:13px;letter-spacing:1px}
.bar{height:10px;background:#000a;border-radius:99px;overflow:hidden;margin:6px 0 4px;border:1px solid #6d3a1d}
#bar-in{height:100%;width:0;background:repeating-linear-gradient(45deg,var(--orange) 0 10px,var(--red) 10px 20px);transition:width .3s}
.qno{text-align:right;font-size:13px;color:var(--mute)}
#q-text{font-size:19px;line-height:1.55;margin:8px 0 14px;min-height:88px}
.opts{display:flex;flex-direction:column;gap:11px}
.opt{text-align:left;background:linear-gradient(160deg,#3a2012,#2a170e);color:#ffeedd;border:1.5px solid #7a421f;border-radius:12px;padding:13px 14px;font-size:15px;cursor:pointer;display:flex;gap:10px;line-height:1.5;transition:.15s}
.opt b{color:var(--orange);flex:none}
.opt:active,.opt.sel{background:linear-gradient(160deg,#a8351b,#7a2412);border-color:var(--yellow);transform:scale(.985)}
.pot{font-size:90px;text-align:center;margin-top:60px;animation:bob 1s infinite}
@keyframes bob{50%{transform:translateY(-10px) rotate(4deg)}}
#s-loading{text-align:center}
.receipt{background:var(--paper);color:var(--ink);padding:18px 18px 14px;border-radius:4px;margin:10px 0;position:relative;font-family:"Courier New",ui-monospace,"PingFang SC",monospace;box-shadow:0 10px 24px #000a;
 --z:radial-gradient(circle at 8px 0,transparent 6px,#000 6.5px) 0 0/16px 100% repeat-x;
 -webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 8px) no-repeat,radial-gradient(circle at 8px 8px,transparent 6px,#000 6.5px) bottom/16px 8px repeat-x;
 mask:linear-gradient(#000 0 0) top/100% calc(100% - 8px) no-repeat,radial-gradient(circle at 8px 8px,transparent 6px,#000 6.5px) bottom/16px 8px repeat-x;padding-bottom:22px}
.receipt.gold{background:#fff0c4}
.r-head{text-align:center;font-weight:700;letter-spacing:1px;font-size:14px}
.r-dash{border-top:2px dashed #b9a98a;margin:10px 0}
.r-emoji{font-size:64px;text-align:center}
.r-label{text-align:center;font-size:12px;color:#8a7458}
.receipt h2{text-align:center;font-size:27px;margin:4px 0;color:#b3361a;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
.r-tag{text-align:center;letter-spacing:6px;font-size:13px;color:#8a7458}
.r-match{text-align:center;margin:10px 0}
.r-match span{font-size:58px;font-weight:900;color:var(--red)}.r-match small{font-size:22px;color:var(--red)}
.r-match em{display:block;font-style:normal;font-size:12px;color:#8a7458}
.r-one{text-align:center;font-size:16px;font-weight:700;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;padding:4px 6px}
.teaser{font-size:14px;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
.teaser-lock{color:#b3361a;font-weight:700;margin-bottom:4px}
.blur{filter:blur(5px);user-select:none;color:#5a4636;margin:2px 0 0}
.free-dims{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;font-family:-apple-system,"PingFang SC",sans-serif}
.chip{background:#2b1b12;color:var(--yellow);border-radius:99px;padding:2px 10px;font-size:12px}
.chip.lock{background:#d8c9aa;color:#8a7458}
.r-foot{text-align:center;font-size:11px;color:#8a7458;margin-top:12px}
.unlock{border-color:var(--orange);background:linear-gradient(160deg,#4a2512,#2a170e)}
.perks{margin:0 0 10px;padding-left:20px;font-size:14px;color:#ffe0c0}
.code-row{display:flex;gap:8px}
#code-input{flex:1;min-width:0;border-radius:10px;border:2px solid #7a421f;background:#150b06;color:var(--yellow);padding:10px 12px;font-size:16px;letter-spacing:1px;text-transform:uppercase}
#code-input:focus{outline:0;border-color:var(--orange)}
.msg{min-height:20px;font-size:13px;margin-top:8px}.msg.err{color:#ff7b6b}.msg.ok{color:#8eea8e}
.sec p{margin:4px 0;font-size:14.5px;color:#ffe9d2}
.sec.warn{border-color:#a8351b}.quote{color:var(--yellow)!important;font-weight:700;margin-top:10px!important}
.dim{margin:9px 0}.dim .d-h{display:flex;justify-content:space-between;font-size:13px}
.dim .d-h b{color:var(--yellow)}.dim .track{height:9px;background:#000a;border-radius:99px;overflow:hidden;margin:4px 0}
.dim .fill{height:100%;background:linear-gradient(90deg,var(--orange),var(--red));border-radius:99px;width:0;transition:width .8s}
.dim small{color:var(--mute);font-size:12px}
.t3{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed #6d3a1d}.t3:last-child{border:0}
.t3 .e{font-size:28px}.t3 .n{flex:1;font-size:14px}.t3 .p{color:var(--yellow);font-weight:800}
#toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%) translateY(30px);background:#000d;color:#fff;padding:9px 18px;border-radius:99px;font-size:14px;opacity:0;pointer-events:none;transition:.3s;z-index:9}
#toast.show{opacity:1;transform:translateX(-50%)}
.r-gold{margin:10px 2px 2px;padding:10px 12px 12px;border:2px dashed #b3361a;border-radius:6px;background:#fff0c4;text-align:center;transform:rotate(-1deg);font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
.r-gold .g-label{display:block;font-size:11px;color:#b3361a;letter-spacing:2px;margin-bottom:4px}
.r-gold p{margin:0;font-size:19px;line-height:1.45;font-weight:900;color:#7a1f0e}
.dim.t-lo .fill{background:linear-gradient(90deg,#6d8fb3,#3f6ea3)}.dim.t-mid .fill{background:linear-gradient(90deg,#d6a24a,var(--orange))}
.sec p.note{font-size:13px;color:var(--mute);margin:0 0 8px}
@media (max-width:360px){h1{font-size:44px}}
