:root{--red:#b62637;--deep:#831d2c;--cream:#fff9ed;--gold:#edca83;--ink:#5c2c29;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:#8e2130;background-image:radial-gradient(ellipse at 10% 30%,#b43c43,transparent 60%)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default}a,button,input{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #548bbb;outline-offset:3px}.event{max-width:580px;min-height:100vh;margin:auto;background:#fff7e8;box-shadow:0 0 100px #43101d40;overflow:hidden}.event-nav{display:flex;align-items:center;justify-content:space-between;background:var(--red);color:#fae9c1;padding:23px 28px 0}.event-brand{font-size:12px;letter-spacing:2px;display:flex;align-items:center;gap:8px}.event-brand>span{border:1px solid #ebc18a88;font-family:"Songti SC",serif;font-size:20px;border-radius:5px;display:grid;place-items:center;width:29px;height:29px}.quiet{background:none;color:#fae9c1;border:0;font-size:11px;padding:8px 0}.hero{position:relative;text-align:center;background:var(--red);padding:35px 26px 43px;color:#ffe9b6;overflow:hidden}.hero:after{content:"";position:absolute;left:-10%;width:120%;height:70px;background:#fff7e8;border-radius:50% 50% 0 0;bottom:-56px}.edition{font-family:Georgia,serif;font-size:10px;letter-spacing:3.8px;position:relative;margin:0 0 17px}.hero h1{position:relative;font-family:"Songti SC","STSong","SimSun",serif;font-weight:900;font-size:clamp(42px,10vw,64px);letter-spacing:8px;line-height:1.15;margin:0 0 17px;text-shadow:0 4px 0 #8c2131;overflow-wrap:anywhere}.hero-subtitle{position:relative;font-size:16px;letter-spacing:4px;margin:0 0 21px;line-height:1.7}.event-date{font-size:10px;border:1px solid #f3c78966;display:inline-block;border-radius:30px;padding:7px 17px;letter-spacing:1.3px;color:#f5d4a3}.hero-lines{position:absolute;width:330px;height:330px;border:1px solid #d064573a;border-radius:50%;left:50%;top:-30px;transform:translateX(-50%);box-shadow:0 0 0 27px #c3504922,0 0 0 56px #d0645712}.hero-star{position:absolute;color:#eec47f}.s1{font-size:37px;top:49px;left:22px;transform:rotate(15deg)}.s2{font-size:48px;top:136px;right:19px}.event-banner{position:relative;display:block;width:100%;max-height:260px;object-fit:cover;border-radius:12px;margin-top:25px}.draw-section{position:relative;padding:2px 27px 0;margin-top:-5px}.machine-top{display:flex;align-items:center;justify-content:space-between;color:#a66045;font-size:11px;letter-spacing:.4px;padding:11px 9px 12px}.machine-top>span:first-child{display:flex;align-items:center;gap:6px}.status-dot{width:5px;height:5px;background:#b54e37;border-radius:50%;display:inline-block}.machine{background:#bf3a3d;border:2px solid #d1975b;box-shadow:0 5px 0 #8d2b30,0 10px 23px #8e242022;border-radius:23px;padding:17px;position:relative}.machine:before{content:"";position:absolute;inset:6px;border:3px dotted #ffdf9c;border-radius:17px;pointer-events:none}.prize-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(110px,1fr));gap:8px;position:relative}.prize-cell{background:#fff4df;box-shadow:0 3px 0 #ddb582;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:11px 4px 8px;min-width:0;transition:background .07s,box-shadow .07s;position:relative;overflow:hidden}.prize-cell strong{font-size:12px;font-weight:650;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prize-cell small{font-size:9px;color:#ad8168;margin-top:4px}.prize-cell>img{height:49px;width:60px;object-fit:contain;margin-bottom:6px}.prize-cell.selected{background:#ffe095;box-shadow:0 0 0 3px #ffdf90,0 0 28px #ffe9af;z-index:1}.slot-0{grid-area:1/1}.slot-1{grid-area:1/2}.slot-2{grid-area:1/3}.slot-3{grid-area:2/3}.slot-4{grid-area:3/3}.slot-5{grid-area:3/2}.slot-6{grid-area:3/1}.slot-7{grid-area:2/1}.draw-button{grid-area:2/2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid #d08b35;background:#e6b44f;color:#79241d;box-shadow:0 3px 0 #a76c30,inset 0 0 0 4px #f2d284;border-radius:11px;padding:8px 0}.draw-button>span,.draw-button strong{font-family:"Songti SC","SimSun",serif;font-size:27px;line-height:1.1;letter-spacing:3px;font-weight:800}.draw-button small{font-size:9px;color:#97562a;margin-top:7px}.draw-button:hover:not(:disabled){background:#f1c567}.draw-button:disabled{filter:saturate(.6);opacity:.85}.chance-strip{display:flex;justify-content:center;gap:20px;padding:20px 0 0;font-size:12px;color:#9b6a53}.chance-strip b{font-size:17px;color:#a63032;margin:0 3px}.chance-strip>span+span{border-left:1px solid #e9d8bd;padding-left:20px}.draw-hint{text-align:center;font-size:11px;line-height:1.6;color:#b58d6d;min-height:19px;margin:9px 0 20px}.present{position:relative;width:51px;height:48px;display:inline-block;flex-shrink:0;margin-bottom:7px}.present i{position:absolute;width:37px;height:30px;background:#bc3543;left:7px;top:16px;border-radius:3px;box-shadow:3px 3px 0 #e6cbb34d}.present i:before{content:"";position:absolute;width:43px;height:8px;left:-3px;top:-3px;background:#d95053;border-radius:2px;box-shadow:0 2px 0 #76232b22}.present i:after{content:"";position:absolute;left:15px;top:-3px;width:8px;height:33px;background:#e9c675}.present:before,.present:after{content:"";position:absolute;z-index:1;top:5px;width:13px;height:9px;border:3px solid #d9ad57}.present:before{left:11px;border-radius:80% 70% 0 70%;transform:rotate(13deg)}.present:after{right:9px;border-radius:70% 80% 70% 0;transform:rotate(-13deg)}.present-1 i{background:#536e64}.present-1 i:before{background:#6f8b7b}.present-2 i{background:#c6914d}.present-2 i:before{background:#d9ae73}.present-3 i{background:#e6ad99}.present-3 i:before{background:#edc3ad}.no-prize .present:before,.no-prize .present:after{display:none}.present b{font-family:Georgia,serif;display:block;text-align:center;font-size:50px;font-weight:400;line-height:1;color:#cfab71}.ticket{position:relative;border:1px solid #edd8b5;background:#fffcf4;border-radius:12px;margin:0 27px 15px;padding:21px 20px 15px;box-shadow:0 3px 9px #986b2910}.ticket:before,.ticket:after{content:"";position:absolute;width:13px;height:13px;background:#fff7e8;border:1px solid #edd8b5;border-radius:50%;top:69px}.ticket:before{left:-7px;border-left-color:#fff7e8}.ticket:after{right:-7px;border-right-color:#fff7e8}.ticket-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.mini-label{font-family:Georgia,serif;letter-spacing:2px;font-size:9px;color:#b28d5b}.ticket h2{font-family:"Songti SC","STSong",serif;font-size:21px;font-weight:650;letter-spacing:1px;margin:5px 0 0}.ticket-symbol{font-size:32px;color:#c79344}.ticket form{display:flex;gap:8px}.ticket input{width:100%;min-width:0;border:1px solid #eadac1;border-radius:6px;background:#fff;padding:11px;font-size:11px;color:var(--ink);outline:none}.ticket input:focus{border-color:#b84143}.ticket button{white-space:nowrap;border:0;background:#ab303b;color:#fff0cf;padding:11px 12px;border-radius:6px;font-size:11px}.ticket p{font-size:9px;color:#b19675;letter-spacing:.3px;margin:11px 0 0}.my-prizes{border:1px solid #e8d8be;display:flex;align-items:center;gap:15px;background:#fff9ef;border-radius:10px;padding:17px 20px;margin:0 27px;width:calc(100% - 54px);color:var(--ink);text-align:left}.record-symbol{font-size:29px;color:#ba955b}.my-prizes strong{font-size:13px;font-weight:600}.my-prizes small{font-size:10px;display:block;color:#b49a7d;margin-top:5px}.my-prizes .arrow{margin-left:auto;font-size:20px;color:#b38a51}.prize-gallery{padding:33px 27px 0}.gallery-heading{display:flex;align-items:center;gap:13px;margin-bottom:14px}.gallery-heading h2{font-family:"Songti SC",serif;white-space:nowrap;font-size:16px;font-weight:600;letter-spacing:1px}.gallery-heading span{height:1px;flex:1;background:#dbc49f}.gallery-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery-list article{display:flex;align-items:center;gap:10px;background:#fcf0dc;border:1px solid #f0e2c9;padding:16px 11px;border-radius:9px;min-width:0}.gallery-list img{width:49px;height:49px;object-fit:contain}.gallery-list .present{transform:scale(.9);margin:0 -2px}.gallery-list article>div{min-width:0}.gallery-list h3{font-size:11px;margin:0 0 5px;overflow-wrap:anywhere}.gallery-list p{font-size:9px;color:#a68765;margin:0 0 5px;overflow-wrap:anywhere;line-height:1.5}.gallery-list small{font-size:8px;color:#b49a79}.event-footer{text-align:center;padding:27px 30px 24px}.event-footer p{font-size:11px;color:#9f775b;line-height:1.8}.event-footer small{font-size:9px;color:#b59a7b;line-height:1.9}.event-footer>span{display:block;font-family:Georgia,serif;font-size:8px;letter-spacing:3px;color:#c6aa83;margin-top:20px}.toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);background:#512825ed;color:#fff;padding:13px 22px;border-radius:10px;max-width:90vw;width:max-content;font-size:13px;line-height:1.7;z-index:1000;box-shadow:0 3px 20px #0002}.toast[hidden]{display:none}dialog{width:min(450px,calc(100vw - 36px));max-height:86vh;max-height:86dvh;overflow:auto;border:1px solid #e3cba6;border-radius:17px;background:#fffaf1;color:var(--ink);padding:30px 25px;box-shadow:0 20px 60px #310d1866}dialog::backdrop{background:#481d29aa;backdrop-filter:blur(4px)}dialog h2{font-family:"Songti SC","STSong",serif;font-size:24px;margin:10px 0 18px;line-height:1.4;padding-right:12px}.dialog-close{position:absolute;right:14px;top:10px;width:34px;height:34px;font-size:25px;color:#af8f70;background:transparent;border:0}.rules-text{white-space:pre-wrap;font-size:13px;line-height:2;overflow-wrap:anywhere}.muted{font-size:11px;color:#a48b73;line-height:1.8}.solid,.outline{background:#ae303b;color:#ffefd3;border:0;border-radius:8px;padding:12px 17px;font-size:13px}.solid{width:100%}.outline{background:transparent;border:1px solid #d7bda0;color:#a04239;margin-top:12px;font-size:11px;padding:8px 12px}#result-dialog{text-align:center;padding-top:25px}#result-dialog h2{padding:0}#result-description{font-size:13px;line-height:1.8;color:#a1795e;margin-bottom:25px}.result-art{font-size:66px;line-height:1.5;color:#d4a454}.record{padding:17px 0;border-top:1px dashed #e8d4b7}.record-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.record-head h3{font-size:14px;margin:0 0 8px}.record-badge{font-size:10px;color:#a66843;background:#f5e7cf;padding:4px 8px;border-radius:12px;white-space:nowrap}.record small{color:#af977e;font-size:10px;line-height:1.7}.record p{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.claim-code{font-family:ui-monospace,monospace;font-weight:600;background:#f6ead7;padding:9px;border-radius:5px}.claim-form{display:grid;gap:17px}.claim-form label{display:grid;gap:8px;font-size:12px}.claim-form input,.claim-form textarea{width:100%;padding:11px 12px;background:#fff;border:1px solid #e0cdb0;border-radius:6px;color:var(--ink);font-size:14px;resize:vertical}.empty{padding:35px 10px;text-align:center;color:#a88563;line-height:1.9;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:640px){body{padding:32px 0}.event{border-radius:22px;min-height:0}.event-nav{padding-top:25px}.prize-grid{grid-template-rows:repeat(3,minmax(124px,1fr))}.prize-cell>img{height:57px;width:66px}.hero{padding-top:40px}.prize-cell strong{font-size:14px}.draw-button>span,.draw-button strong{font-size:32px}.gallery-list article{padding:19px 15px}.gallery-list h3{font-size:12px}.gallery-list small{font-size:9px}.ticket input,.ticket button{font-size:12px}}
@media(max-width:380px){.draw-section{padding-left:16px;padding-right:16px}.event-nav{padding-left:19px;padding-right:19px}.hero h1{letter-spacing:5px}.hero-subtitle{font-size:14px}.edition{letter-spacing:2px}.machine{padding:14px}.prize-grid{gap:7px;grid-template-rows:repeat(3,minmax(102px,1fr))}.prize-cell strong{font-size:11px}.ticket{margin-left:16px;margin-right:16px;padding-left:15px;padding-right:15px}.my-prizes{margin-left:16px;margin-right:16px;width:calc(100% - 32px)}.prize-gallery{padding-left:16px;padding-right:16px}.ticket button{padding:10px 8px}.ticket input{font-size:10px}.gallery-list{gap:8px}.gallery-list article{gap:5px;padding:13px 7px}.gallery-list .present{transform:scale(.8);margin-left:-4px;margin-right:-5px}.gallery-heading h2{font-size:14px}.chance-strip{gap:12px}.chance-strip>span+span{padding-left:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
