@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#18231d;background:#f7f7f2;font-synthesis:none;text-rendering:optimizeLegibility;--green:#1c6a4b;--muted:#778078;--line:#e8e9e1}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 85% 8%,#edf3e8 0,transparent 35%),#f7f7f2}.shell{max-width:1120px;margin:auto;padding:0 38px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9ebe4}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#1d2921;font-family:Manrope,sans-serif;font-weight:800;font-size:18px;letter-spacing:-.7px}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#1c6a4b;color:#fff;font-size:17px}.brand-dot{color:#6cb58c}.badge{display:flex;align-items:center;gap:8px;border:1px solid #e6e9e1;border-radius:30px;padding:9px 13px;color:#59665c;font-size:11px;font-weight:600}.badge i,.live-dot{width:7px;height:7px;border-radius:50%;background:#55a978;box-shadow:0 0 0 3px #e5f1e8}.intro{padding:54px 0 35px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:700;margin:0 0 13px}.intro h1{font:800 clamp(40px,6vw,60px)/1.02 Manrope,sans-serif;letter-spacing:-3px;margin:0;color:#18231d}.intro h1 span{color:#5e9b75}.lead{color:#727a72;font-size:14px;margin:14px 0 0}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel,.result-panel{min-height:438px;border:1px solid #e8e9e2;border-radius:18px;background:#fff}.participants-panel{padding:25px 26px 20px}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading>div{display:flex;align-items:center;gap:11px}.step{font-size:9px;font-weight:700;letter-spacing:1px;color:#6d9c7e;background:#edf4ed;border-radius:6px;padding:6px 7px}.panel h2{font:700 18px Manrope,sans-serif;margin:0;letter-spacing:-.5px}.counter{font-size:11px;color:#858d85}.counter b{font-size:13px;color:#26342a}.hint{font-size:12px;color:#858d85;margin:13px 0}.participants-panel textarea{display:block;width:100%;height:154px;padding:14px 15px;border:1px solid #e6e9e2;border-radius:10px;resize:vertical;outline:none;color:#24332a;font:13px/1.8 'DM Sans',sans-serif;background:#fcfcfa;transition:border .2s}.participants-panel textarea:focus{border-color:#73a687}.participants-panel textarea::placeholder{color:#a4aaa3}.field-footer{height:34px;display:flex;justify-content:space-between;align-items:center;color:#949b94;font-size:10px}.text-button{border:0;background:none;padding:5px;color:#778078;font:600 10px 'DM Sans';cursor:pointer}.text-button:hover{color:var(--green)}.options{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eff0eb;margin-top:8px;padding:14px 0;color:#424c43;font-size:12px}.select-wrap{position:relative}.select-wrap select{appearance:none;background:#f5f7f2;border:1px solid #e8ebe4;padding:8px 29px 8px 11px;border-radius:7px;color:#29352c;font:600 11px 'DM Sans';outline:none}.select-wrap span{position:absolute;right:10px;top:6px;color:#718174;pointer-events:none}.draw-button{height:44px;width:100%;border:0;border-radius:9px;background:#1e6b4c;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font:700 12px 'DM Sans';cursor:pointer;transition:.18s}.draw-button:hover:not(:disabled){background:#17573d;transform:translateY(-1px);box-shadow:0 5px 13px #1e6b4c26}.draw-button:disabled{background:#ccd8ce;cursor:not-allowed}.arrow{font-size:17px;font-weight:400}.privacy{text-align:center;font-size:9px;color:#a0a69f;margin:12px 0 0}.result-panel{position:relative;background:#f1f6ef;overflow:hidden;border-color:#e5ecdf;display:flex;flex-direction:column;justify-content:space-between;padding:25px 26px 19px}.result-panel:before{content:'';position:absolute;width:280px;height:280px;border-radius:50%;background:#e8f0e3;right:-78px;top:53px}.result-top{z-index:1;display:flex;align-items:center;justify-content:space-between}.result-label{font-size:9px;font-weight:700;letter-spacing:1.3px;color:#849286}.result-content{z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:12px 0}.empty-art{height:158px;width:190px;position:relative;display:grid;place-items:center;margin-bottom:3px}.orbit{position:absolute;border:1px solid #d8e6d8;border-radius:50%;transform:rotate(-22deg)}.orbit-one{width:155px;height:89px}.orbit-two{width:130px;height:126px;transform:rotate(48deg)}.ticket{width:76px;height:86px;background:#fff;border-radius:12px;box-shadow:0 10px 24px #44755718;display:grid;place-items:center;color:#6fa580;font:500 36px Manrope;transform:rotate(-8deg);position:relative}.ticket:after{content:'';position:absolute;left:0;right:0;bottom:18px;border-top:1px dashed #dce8dc}.spark{position:absolute;color:#77a985}.spark-a{font-size:20px;top:13px;right:32px}.spark-b{font-size:17px;left:17px;bottom:34px}.spark-c{font-size:23px;right:14px;bottom:26px}.result-content h2{font:800 26px/1.15 Manrope,sans-serif;letter-spacing:-1px;margin:3px 0 8px;color:#283a2d}.result-content p{font-size:11px;line-height:1.7;color:#818d81;margin:0}.result-bottom{z-index:1;border-top:1px solid #dfe9dc;padding-top:14px;display:flex;align-items:center;gap:9px;font-size:10px;color:#718173}.result-bottom .live-dot{width:6px;height:6px}.result-panel.winner{background:#eaf4ea}.winner .winner-name{font:800 clamp(24px,4vw,38px)/1.1 Manrope,sans-serif;letter-spacing:-1.5px;color:#1c6345;overflow-wrap:anywhere;margin:8px 0}.winner .winner-caption{font-size:10px;letter-spacing:1.2px;font-weight:700;color:#75937a}.winner .empty-art{transform:scale(.78);margin:-7px 0}.winner .ticket{background:#fff}.winner .winner-rank{display:inline-block;background:#d8ead8;border-radius:20px;padding:7px 12px;color:#477451;font-size:10px;font-weight:700;margin-top:7px}.result-panel.rolling .ticket{animation:roll .35s ease-in-out infinite alternate}@keyframes roll{to{transform:rotate(9deg) scale(1.08)}}footer{display:flex;justify-content:space-between;padding:25px 2px;color:#9ba198;font-size:9px;letter-spacing:.8px}footer span:last-child{letter-spacing:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#20352a;color:white;padding:11px 16px;border-radius:9px;font-size:12px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:700px){.shell{padding:0 19px}.topbar{height:70px}.intro{padding:41px 0 27px}.intro h1{letter-spacing:-2px}.workspace{grid-template-columns:1fr;gap:13px}.panel,.result-panel{min-height:415px}.result-panel{min-height:370px}.participants-panel{padding:22px 20px}.result-panel{padding:21px 20px 17px}footer{padding:20px 2px}.badge{font-size:10px;padding:8px 10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.brand-name{display:flex;flex-direction:column;gap:1px;line-height:1}.brand-name strong{font:800 13px/1 Manrope,sans-serif;letter-spacing:.4px}.brand-name small{font:700 8px/1 'DM Sans',sans-serif;letter-spacing:1.25px;color:#78847b}
:root{--green:#ed1c24;--muted:#666;--line:#e5e5e5;background:#f5f5f5;color:#151515}
body{background:radial-gradient(ellipse at 85% 8%,#f4dddd 0,transparent 35%),#f5f5f5}
.brand-mark,.draw-button{background:#ed1c24}.brand{color:#111}.brand-dot{color:#ed1c24}.brand-name small{color:#777}
.badge{border-color:#e3e3e3;color:#444}.badge i,.live-dot{background:#ed1c24;box-shadow:0 0 0 3px #f9dddd}
.eyebrow,.step{color:#d61720}.step{background:#fde8e8}.intro h1 span{color:#ed1c24}
.participants-panel textarea:focus{border-color:#ed1c24}.select-wrap select{background:#f6f6f6;border-color:#e5e5e5}
.draw-button:hover:not(:disabled){background:#c9141b;box-shadow:0 5px 13px #ed1c2426}
.result-panel{background:#f2f2f2;border-color:#e4e4e4}.result-panel:before{background:#e8e8e8}.orbit{border-color:#ddd}.ticket{color:#ed1c24}.spark{color:#ed1c24}.result-content h2{color:#171717}.result-bottom{border-color:#ddd;color:#666}
.result-panel.winner{background:#fff0f0}.winner .winner-name{color:#d41720}.winner .winner-caption{color:#777}.winner .winner-rank{background:#fde0e0;color:#b9141b}
.toast{background:#171717}
/* Palette cleanup: neutralize every remaining green from the original theme. */
.brand-mark{background:#ed1c24;color:#fff}.badge i,.live-dot{background:#ed1c24;box-shadow:0 0 0 3px #f9dddd}
.eyebrow{color:#d61720}.intro h1 span{color:#ed1c24}.step{background:#fde8e8;color:#d61720}
.participants-panel textarea{background:#fff;border-color:#e5e5e5;color:#151515}.participants-panel textarea::placeholder{color:#999}.participants-panel textarea:focus{border-color:#ed1c24}
.counter,.counter b,.hint,.field-footer,.text-button,.options,.select-wrap select,.select-wrap span{color:#555}.select-wrap select{background:#f6f6f6;border-color:#e5e5e5}
.draw-button{background:#ed1c24}.draw-button:disabled{background:#d6d6d6;color:#666}.draw-button:hover:not(:disabled){background:#c9141b}
.privacy,footer,.result-label,.result-bottom,.result-content p{color:#777}
.result-panel{background:#f2f2f2;border-color:#e4e4e4}.result-panel:before{background:#e8e8e8}.result-panel.winner{background:#fff0f0}
.result-bottom{border-color:#ddd}.orbit{border-color:#ddd}.ticket{color:#ed1c24}.spark{color:#ed1c24}.result-content h2{color:#151515}
.winner .winner-name{color:#d41720}.winner .winner-caption{color:#777}.winner .winner-rank{background:#fde0e0;color:#b9141b}
.brand{gap:8px}.brand-logo{display:block;width:165px;height:auto;max-height:83px;object-fit:contain}.brand-name{align-self:center}.brand-name small{font:800 10px/1 'DM Sans',sans-serif;letter-spacing:1.4px;color:#171717}@media(max-width:700px){.brand-logo{width:137px;max-height:69px}.brand-name small{font-size:9px}}
.brand-logo{width:165px;height:auto;max-height:84px;object-fit:contain}@media(max-width:700px){.brand-logo{width:137px;max-height:69px}}
.field-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.field-footer>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button{white-space:nowrap;padding-left:5px;padding-right:5px}@media(max-width:700px){.field-footer{gap:3px}.field-actions{gap:0}.text-button{font-size:9px;padding-left:4px;padding-right:4px}}
.draw-button:disabled{background:#ed1c24;color:#fff;opacity:1;cursor:not-allowed}
.intro h1 span{color:#ed1c24}.contest-field{margin:17px 0 10px}.contest-field label{display:block;margin:0 0 7px;color:#424c43;font-size:11px;font-weight:700}.contest-field input{display:block;width:100%;height:39px;border:1px solid #e5e5e5;border-radius:8px;padding:0 11px;background:#fcfcfa;color:#202020;font:600 12px 'DM Sans',sans-serif;outline:none}.contest-field input:focus{border-color:#ed1c24;background:#fff}.participants-panel textarea{height:132px}
.intro h1 .title-red{color:#ed1c24}.intro h1 .title-black{color:#151515}
.number-wrap input{appearance:textfield;width:84px;height:35px;padding:0 8px;border:1px solid #e5e5e5;border-radius:8px;background:#f6f6f6;color:#252525;text-align:center;font:700 12px 'DM Sans',sans-serif;outline:none}.number-wrap input::-webkit-inner-spin-button,.number-wrap input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-wrap input:focus{border-color:#ed1c24;background:#fff}.number-wrap input:invalid{border-color:#ed1c24}
.winner .empty-art{height:100px;transform:scale(.62);margin:-17px 0 -10px}.winner-name{max-height:185px;width:100%;overflow:auto}.winner-line{display:block;line-height:1.16;margin:2px 0}.place-label{color:#151515;font-size:.66em;letter-spacing:-.3px;white-space:nowrap}.winner-name-value{color:#d41720;overflow-wrap:anywhere}.result-bottom{flex-wrap:wrap}.result-bottom #draw-status{flex:1}.export-button{margin-left:auto;padding:6px 9px;border:1px solid #e6bfc0;border-radius:7px;background:#fff;color:#b9141b;font:700 9px 'DM Sans',sans-serif;white-space:nowrap;cursor:pointer}.export-button:hover{background:#fde0e0}.export-button[hidden]{display:none}
