*{box-sizing:border-box} html,body{overflow-x:hidden} [hidden]{display:none!important} :root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#333333;background:#ffffff}body{margin:0;background:#ffffff;min-height:100vh}header{display:flex;align-items:center;justify-content:space-between;padding:18px 4vw;border-bottom:1px solid #e8e8e8;background:#ffffff;gap:16px}header a{color:#666666;text-decoration:none;font-size:14px}header strong{font-size:20px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #dcdcdc;padding:10px 16px;border-radius:12px;background:#ffffff;color:#333333;transition:background .2s}button:hover{background:#f2f2f2}button:disabled{opacity:.55;cursor:wait}.primary{background:#222222;color:white;border-color:#222222}.primary:hover{background:#000000}main{max-width:1380px;padding:38px 36px;margin:auto}.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;color:#999999}h1{font-size:clamp(30px,3vw,45px);letter-spacing:-1.5px;line-height:1.35;margin:14px 0}p{color:#666666;line-height:1.8}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.intro p{margin:0}.selectors{display:flex;gap:14px}label{display:grid;gap:8px;color:#666666;font-size:13px}input,select{border:1px solid #dcdcdc;padding:12px;border-radius:10px;background:#ffffff;color:#333333;min-width:130px}.selectors select{min-width:165px;font-weight:bold}.stage{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:38px;align-items:start}.wheelCard{text-align:center;background:#ffffff;border:1px solid #e8e8e8;border-radius:28px;padding:24px 22px 10px}.wheelWrap{position:relative;max-width:580px;margin:auto;aspect-ratio:1}canvas{width:100%;height:100%;filter:drop-shadow(0 14px 14px #00000014);transition:transform 4.8s cubic-bezier(.12,.75,.12,1)}.pointer{position:absolute;z-index:2;left:50%;top:-5px;transform:translateX(-50%);width:0;height:0;border-left:17px solid transparent;border-right:17px solid transparent;border-top:40px solid #222222;filter:drop-shadow(0 3px 2px #7777)}.spin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100px;height:100px;border-radius:50%;background:#222222;color:#fff;border:7px solid #ffffff;font-size:21px;font-weight:bold;box-shadow:0 3px 14px #00000030;line-height:1.5}.spin:hover{background:#000000}.card{background:#ffffff;border:1px solid #e8e8e8;border-radius:24px;padding:28px;box-shadow:0 10px 35px #0000000a}.resultCard{text-align:center;margin-top:6px}.resultCard h2{font-size:26px;margin:12px 0}.resultCard h3{text-align:left;font-size:16px}#resultIcon{font-size:65px;margin:25px 0 12px}.resultCard hr{border:0;border-top:1px solid #e8e8e8;margin:27px 0}.history{text-align:left;max-height:300px;overflow:auto}.historyItem{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #efefef;font-size:14px}.historyItem small{display:block;color:#999999;margin-top:5px;font-size:11px}.badge{font-size:11px;background:#f0f0f0;border-radius:8px;padding:4px 8px;white-space:nowrap;align-self:center;color:#333333}#couponRule{font-size:12px;background:#f7f7f7;padding:12px;border-radius:10px;line-height:1.8;margin:12px 0}.login{max-width:580px;margin:25px auto;text-align:center}.login h1{font-size:38px}.login form{display:grid;gap:14px;max-width:350px;margin:25px auto}.login label{text-align:left}.login img{border-radius:16px}.login #qrStatus{font-size:13px;margin-top:0}.adminHead{display:flex;justify-content:space-between;align-items:center}#admin p{font-size:13px}#admin h2{margin-top:32px;font-size:20px}.tableWrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;white-space:nowrap;padding:12px 8px;border-bottom:1px solid #ececec}th{color:#333333;font-weight:bold}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#222222;color:#fff;padding:14px 25px;border-radius:12px;max-width:90vw;z-index:99;box-shadow:0 5px 30px #0002}dialog{border:0;border-radius:26px;text-align:center;padding:35px;max-width:450px;width:88vw;color:#333333}dialog::backdrop{background:#00000066;backdrop-filter:blur(4px)}#dialogIcon{font-size:75px}dialog h2{font-size:29px}dialog p{white-space:pre-line}dialog button{width:100%;margin-top:15px}@media(max-width:850px){main{padding:22px 16px}.intro{display:block}.selectors{margin-top:20px}.selectors label{flex:1}.selectors select{min-width:0;width:100%}.stage{grid-template-columns:1fr;gap:18px}.wheelWrap{max-width:480px}.wheelCard{padding:22px 12px 8px}header{padding:14px;flex-wrap:wrap}header strong{font-size:17px}header button{font-size:12px;padding:8px}h1{font-size:32px}.card{padding:22px}.spin{width:88px;height:88px;font-size:18px}}
