:root{color:#17151f;background:#f6f4fa;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.4}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.app,.admin{min-height:100vh}header{background:#fff;border-bottom:1px solid #e8e3ef;justify-content:space-between;align-items:center;height:72px;padding:0 5vw;display:flex}.brand{letter-spacing:.08em;font-size:18px;font-weight:900}.adminBtn{background:#fff;border:1px solid #ddd5e8;border-radius:12px;padding:10px 16px}.hero{grid-template-columns:.8fr 1.2fr;align-items:center;gap:60px;max-width:1150px;margin:0 auto;padding:65px 24px;display:grid}.eyebrow{letter-spacing:.2em;color:#7c3aed;margin:0 0 12px;font-size:12px;font-weight:800}.hero h1{letter-spacing:-.05em;margin:0 0 20px;font-size:clamp(42px,6vw,76px);line-height:.98}.sub{color:#6f697b;max-width:470px;font-size:18px}.dbNotice{color:#765300;background:#fff8e8;border:1px solid #f2d38b;border-radius:14px;margin-top:22px;padding:12px 14px;font-size:13px}.card{background:#fff;border:1px solid #e8e3ef;border-radius:28px;padding:32px;box-shadow:0 20px 70px #2b1d4414}.wheelWrap{aspect-ratio:1;place-items:center;width:min(430px,82vw);margin:auto;display:grid;position:relative}.wheel{border:10px solid #fff;border-radius:50%;width:100%;height:100%;transition:transform 5.2s cubic-bezier(.12,.74,.12,1);position:relative;overflow:hidden;box-shadow:0 15px 45px #24183b25}.pointer{z-index:5;filter:drop-shadow(0 3px 3px #0003);border-top:28px solid #17151f;border-left:14px solid #0000;border-right:14px solid #0000;position:absolute;top:-4px}.hub{z-index:4;color:#fff;background:#17151f;border-radius:50%;place-items:center;width:88px;height:88px;font-size:14px;font-weight:900;display:grid;position:absolute;box-shadow:0 5px 20px #0004}.label{color:#fff;text-shadow:0 1px 3px #0008;pointer-events:none;place-items:center;width:96px;min-height:42px;padding:4px;font-weight:900;display:grid;position:absolute;transform:translate(-50%,-50%)}.label span{text-align:center;overflow-wrap:anywhere;max-width:96px;font-size:clamp(9px,1.6vw,13px);line-height:1.08;display:block}.form{gap:10px;margin-top:28px;display:grid}.form input,.setting input,.table input{background:#fff;border:1px solid #ddd6e7;border-radius:12px;outline:none;padding:12px 14px}.form input:focus,.setting input:focus,.table input:focus{border-color:#7c3aed}.spinBtn,.primary,.modalBox button{color:#fff;background:#7c3aed;border:0;border-radius:12px;padding:13px 18px;font-weight:800}.spinBtn:disabled{opacity:.6}.modal{z-index:20;background:#17151f88;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modalBox{text-align:center;background:#fff;border-radius:28px;min-width:min(420px,90vw);padding:45px;box-shadow:0 30px 90px #0005}.confetti{font-size:48px}.modalBox h2{margin:8px 0;font-size:38px}.winnerGift{color:#7c3aed;margin:12px 0 20px;font-size:26px;font-weight:900}.adminBody{grid-template-columns:220px 1fr;max-width:1400px;min-height:calc(100vh - 72px);margin:auto;display:grid}aside{border-right:1px solid #e8e3ef;padding:30px 18px}aside button{text-align:left;background:0 0;border:0;border-radius:10px;width:100%;margin-bottom:5px;padding:13px 15px;display:block}aside button.sel,aside button:hover{color:#7c3aed;background:#eee9f8}.panel{padding:45px;overflow:auto}.panel h1{margin:0 0 25px;font-size:34px}.panel h2{margin-top:40px}.stats{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.stat{background:#fff;border:1px solid #e8e3ef;border-radius:18px;padding:20px}.stat b{font-size:28px;display:block}.stat span{color:#777080;font-size:13px}.titleRow{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.titleRow p{color:#777080}.table{background:#fff;border:1px solid #e8e3ef;border-radius:18px;overflow:auto}.tr{border-top:1px solid #eee9f3;grid-template-columns:1.35fr 1.15fr .7fr .95fr 1fr 1fr;align-items:center;gap:15px;min-width:900px;padding:13px 16px;display:grid}.spinRow{grid-template-columns:1.35fr 1.15fr 1.15fr 1fr}.tr:first-child{border-top:0}.th{text-transform:uppercase;letter-spacing:.08em;color:#777080;background:#faf9fc;font-size:12px;font-weight:800}.table input{max-width:150px;padding:7px 8px}.table .small{width:75px}.check{color:#777080;font-size:12px}.dangerText{color:#dc2626}.link{background:0 0;border:0;font-weight:700}.setting{background:#fff;border:1px solid #e8e3ef;border-radius:18px;max-width:500px;margin-bottom:20px;padding:25px}.setting label{gap:8px;font-weight:700;display:grid}.danger{color:#dc2626;background:#fff;border:1px solid #fecaca;border-radius:12px;padding:12px 16px}.loading{place-items:center;min-height:100vh;font-weight:800;display:grid}.adminGate .modalBox{max-width:460px}.lockIcon{margin-bottom:8px;font-size:42px}.gateText{color:#777080;margin:0 0 20px}.adminCodeInput{text-align:center;letter-spacing:.35em;border:1px solid #ddd6e7;border-radius:14px;outline:none;width:100%;padding:14px 16px;font-size:24px}.adminCodeInput:focus{border-color:#7c3aed;box-shadow:0 0 0 4px #7c3aed14}.gateActions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.secondary{color:#302a3a;background:#fff;border:1px solid #ddd5e8;border-radius:12px;padding:12px 16px;font-weight:800}@media (width<=850px){.hero{grid-template-columns:1fr;padding-top:35px}.hero>div:first-child{text-align:center}.sub{margin:auto}.adminBody{grid-template-columns:1fr}aside{border-bottom:1px solid #e8e3ef;border-right:0;gap:5px;padding:10px;display:flex;overflow:auto}aside button{white-space:nowrap;width:auto;margin:0}.panel{padding:25px 15px}.stats{grid-template-columns:repeat(2,1fr)}.card{padding:20px}.wheelWrap{width:min(390px,78vw)}.label{width:74px}.label span{font-size:10px}}
