:root{font-family:system-ui,-apple-system,"PingFang SC",sans-serif;color:#f5dcad;background:#780f22;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 25%,#ab2737 0%,#831327 55%,#660e20 100%)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #fff0c9;outline-offset:5px}header{height:100px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eccd8f30}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font-family:"Noto Serif SC",serif;font-size:23px;letter-spacing:3px}.brand-mark{font-size:36px;border:1px solid #dfba76;line-height:52px;width:52px;text-align:center;border-radius:50%}.brand small{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:2px;margin-top:6px}.header-right{display:flex;align-items:center;gap:28px}.occasion{font-size:12px;letter-spacing:3px;color:#dfac8b}.outline{background:transparent;color:#f1d3a0;border:1px solid #d4ab7270;padding:10px 17px;border-radius:5px;font-size:13px}main{max-width:1000px;margin:auto;padding:38px 30px 0}.intro{text-align:center}.eyebrow{font-size:10px;letter-spacing:4px;color:#dfb582}.intro h1{font-family:"Noto Serif SC",serif;font-weight:500;font-size:42px;letter-spacing:7px;margin:15px 0 12px}.intro p{font-size:13px;letter-spacing:2px;color:#e4b6a1;margin-bottom:30px}.draw-panel{position:relative;border:1px solid #d7aa635e;border-radius:12px;padding:22px 36px 0;background:linear-gradient(120deg,#9a213380,#690c2070);box-shadow:0 16px 60px #3b031b20;outline:1px solid #edcb7617;outline-offset:6px}.panel-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;color:#dcb083}.panel-top span:last-child{background:#f9d79710;border:1px solid #dfb98730;border-radius:20px;padding:5px 12px;margin-top:-5px}.stage{display:flex;justify-content:space-around;align-items:center;padding:22px 0 18px}.side-note{writing-mode:vertical-rl;font-family:"Noto Serif SC",serif;font-size:21px;letter-spacing:12px;color:#d7aa6c80;border-top:1px solid #d7aa6c50;border-bottom:1px solid #d7aa6c50;padding:20px 0 10px}.number-wrap{text-align:center;min-width:60%}#numberCaption{font-size:12px;letter-spacing:4px;color:#e5b991}#number{font-family:Georgia,serif;font-size:108px;line-height:1.3;font-weight:400;letter-spacing:15px;padding-left:15px;color:#ffe6ab;text-shadow:0 4px 25px #efb35625;font-variant-numeric:tabular-nums}#resultText{font-size:12px;letter-spacing:2px;color:#edc7a3}.prize{display:flex;justify-content:center;align-items:center;gap:15px;margin:7px auto 21px}.gift{font-size:36px;color:#f8d49b}.prize>div{display:grid;grid-template-columns:auto auto;gap:3px 10px;align-items:center}.muted-label{font-size:11px;color:#deb18c}.prize #prizeName{background:transparent;border:0;color:#ffe5af;max-width:260px;font-size:16px;padding:3px 20px 3px 0}.prize option{background:#781427}.prize small{grid-column:2;font-size:10px;color:#d8a784}.draw-button{display:block;margin:auto;width:280px;padding:17px;border:1px solid #ffe7b6;border-radius:7px;background:linear-gradient(110deg,#eabf7c,#ffe5af,#edc787);color:#791a28;box-shadow:0 5px 0 #532015,0 10px 35px #40021140;font-family:"Noto Serif SC",serif;font-size:21px;letter-spacing:5px;font-weight:700;transition:transform .2s}.draw-button:hover{transform:translateY(-2px)}.draw-button span{margin-left:17px;font-size:20px}.key-hint{text-align:center;color:#d3a185;font-size:10px;letter-spacing:2px;margin:17px 0 23px}.stats{border-top:1px solid #f1cc8a26;display:flex;justify-content:center;gap:50px;padding:17px 0;font-size:11px;color:#d8ab91}.stats b{color:#f8dcab;font-weight:500;margin:0 5px}.records-section{padding-top:33px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.section-title h2{font-family:"Noto Serif SC",serif;letter-spacing:2px;font-size:20px;font-weight:500;margin:0}.section-title h2 span{font-family:system-ui;font-size:11px;color:#d7a88c;letter-spacing:1px;margin-left:12px}.section-title p{font-size:10px;color:#d7a88c;letter-spacing:1px;margin-bottom:0}.dedupe{font-size:10px;color:#dcb896;background:#ecc88d0b;padding:7px 10px;border-radius:20px}.empty{text-align:center;padding:26px;border:1px dashed #d9a47745;border-radius:8px;color:#d6a489;font-size:12px}.empty strong{display:block;font-family:"Noto Serif SC",serif;font-size:21px;color:#d8af83;margin-bottom:8px;font-weight:400}.record{display:flex;gap:20px;align-items:center;padding:16px 20px;border:1px solid #e1b47730;background:#69102330;border-radius:8px;margin-bottom:10px}.record-number{font-family:Georgia,serif;font-size:30px;color:#ffe1a6;min-width:70px}.record-info{flex:1}.record-info strong{font-weight:500;font-size:14px}.record-info small{display:block;color:#d4a58c;font-size:10px;margin-top:5px}.record time{font-size:10px;color:#ce9e84}.round-tag{font-size:10px;color:#e4bd92}footer{text-align:center;font-family:serif;font-size:19px;color:#c39668;padding:32px 0 23px}footer span{font-family:system-ui;font-size:10px;letter-spacing:3px;margin:0 18px;color:#c5967c}dialog{width:min(680px,95vw);max-height:90vh;border:1px solid #d1ac7a;border-radius:14px;padding:0;background:#fff9ef;color:#48272b;box-shadow:0 20px 100px #1b000970}dialog::backdrop{background:#240514b5;backdrop-filter:blur(7px)}.dialog-header,.dialog-footer{display:flex;justify-content:space-between;align-items:center;padding:22px 28px}.dialog-header{border-bottom:1px solid #e9d9c5}.dialog-header h2{font-family:"Noto Serif SC",serif;margin:7px 0 0;font-size:24px}.dialog-header .eyebrow{color:#9d7446;font-size:9px}.icon-button{border:0;background:none;color:#9c6c68;font-size:28px}.dialog-body{padding:0 28px;max-height:60vh;overflow:auto}.dialog-body section{padding:22px 0;border-bottom:1px solid #e9d9c5}h3{margin:0 0 13px;font-size:13px;font-weight:500;color:#a17c54}h3 span{color:#48272b;margin-left:9px;font-weight:600}.range-fields{display:flex;align-items:center;gap:14px}.range-fields label{flex:1;font-size:11px;color:#846868}.range-fields input{display:block;width:100%;margin-top:7px}.range-fields>span{padding-top:20px;color:#b49a85}input{min-width:0;padding:10px;border:1px solid #dccbb7;border-radius:5px;background:white;color:#48272b;font-size:13px}input:focus{outline:2px solid #b45b60;outline-offset:1px}.help{font-size:11px;line-height:1.7;color:#967a72;margin:10px 0 0}.subheading{display:flex;justify-content:space-between;align-items:baseline}.text-button{border:0;background:none;color:#9e293b;font-size:12px}.edit-row{display:flex;gap:8px;margin-top:12px;align-items:center}.edit-row input{width:0;flex:1}.edit-row input.prize-name{flex:2}.edit-row button{border:0;background:none;color:#a26e68;font-size:21px}.edit-row span{font-size:12px;white-space:nowrap}.data-section{display:flex;justify-content:space-between;align-items:center;gap:15px}.data-section h3{color:#48272b;margin:0}.danger-button{background:none;border:1px solid #d3aa9f;border-radius:5px;color:#992c3d;padding:9px;font-size:11px;white-space:nowrap}.dialog-footer{border-top:1px solid #e9d9c5;gap:15px}.dialog-footer span{font-size:10px;color:#967a72}.save-button{border:0;border-radius:5px;padding:11px 23px;background:#952338;color:#ffe7c3}#formError{font-size:12px;color:#b52439}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#fff1d5;color:#6e1c2c;box-shadow:0 5px 20px #2004;border-radius:8px;padding:13px 22px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:5}#toast.show{opacity:1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#confetti{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:3}.confetto{position:absolute;top:-20px;width:7px;height:13px;animation:fall 3s ease-in forwards}@keyframes fall{to{transform:translateY(110vh) rotate(760deg)}}@media(min-width:1400px){main{padding-top:55px}.stage{padding:35px 0}#number{font-size:125px}}@media(max-width:600px){header{height:80px;margin:0 20px}.brand{font-size:18px;gap:9px}.brand-mark{width:40px;line-height:40px;font-size:28px}.brand small{font-size:7px}.occasion{display:none}.outline{font-size:11px;padding:9px}.intro h1{font-size:27px;letter-spacing:3px}.intro p{font-size:11px;letter-spacing:0;line-height:1.8}.eyebrow{font-size:8px;letter-spacing:2px}main{padding:30px 20px 0}.draw-panel{padding:20px 15px 0}.panel-top{font-size:9px;letter-spacing:1px}.stage{padding:30px 0 20px}.side-note{font-size:15px;letter-spacing:8px}#number{font-size:72px;letter-spacing:4px;padding-left:4px}#numberCaption{font-size:10px;letter-spacing:1px}#resultText{font-size:10px;letter-spacing:0}.draw-button{width:80%;font-size:19px}.stats{gap:12px;font-size:9px}.stats b{margin:0 2px}.prize #prizeName{font-size:14px;max-width:190px}.section-title h2{font-size:17px}.section-title h2 span{display:none}.dedupe{font-size:9px}.record{padding:12px;gap:10px}.record-number{min-width:40px;font-size:25px}.record time{max-width:65px}.dialog-header,.dialog-footer{padding:18px}.dialog-body{padding:0 18px}.edit-row{gap:5px}.edit-row input{padding:9px 6px}.edit-row span{font-size:10px}footer span{font-size:9px;letter-spacing:1px;margin:0 7px}.range-fields{gap:9px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
