:root{font-family:DM Sans,sans-serif;color:#183c36;background:#f7f6f0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#183c36;--muted:#75817a;--line:#e9e9df;--paper:#fffefa;--forest:#19483f;--orange:#dd794d;--mint:#e8f0e8;--serif:"Manrope",sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f7f6f0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}.admin-app{min-height:100vh}.topbar{height:72px;padding:0 42px;background:#fffefa;border-bottom:1px solid #ecebe4;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:11px;font:800 19px var(--serif);letter-spacing:-.7px;color:var(--ink)}.brand i{font-style:normal;color:var(--orange);font-weight:600}.brand-mark{width:32px;height:32px;border-radius:11px;background:var(--forest);color:#fff;display:grid;place-items:center;font:800 18px var(--serif);box-shadow:inset -5px -5px #143b34}.topbar-right{display:flex;align-items:center;gap:23px}.secure-label{display:flex;gap:8px;align-items:center;color:#64736c;font-size:12px}.tiny-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7aa883}.button{border:0;border-radius:9px;min-height:44px;padding:0 17px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:14px;transition:transform .15s,background .15s,box-shadow .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:var(--forest);color:#fff;box-shadow:0 4px 12px #19483f20}.button.primary:hover:not(:disabled){background:#103b33;box-shadow:0 6px 16px #19483f30}.button.secondary{background:#f1f2e9;color:var(--ink);border:1px solid #e5e7db}.button.quiet{background:transparent;color:#65756d}.button.small{min-height:39px;padding:0 13px;font-size:12px}.button.wide{width:100%}.button.icon-button{width:44px;padding:0;font-size:20px;background:transparent;color:var(--ink);border:1px solid var(--line)}.app-layout{display:grid;grid-template-columns:258px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100vh - 72px)}.sidebar{background:#f1f2e9;border-right:1px solid #e7e8de;padding:28px 16px 18px;display:flex;flex-direction:column;min-height:calc(100vh - 72px)}.side-label,.side-list-head,.new-lottery label{font-size:9px;letter-spacing:1.2px;font-weight:800;color:#8a958c}.side-label{padding:3px 12px 15px}.side-nav{display:grid;gap:4px}.nav-item{position:relative;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;text-align:left;display:flex;align-items:center;gap:12px;color:#4d6258;font-weight:600;font-size:13px}.nav-item.selected{background:#fffefa;color:var(--forest);box-shadow:0 2px 5px #20362b0a}.nav-icon{font-size:18px;width:19px;text-align:center;color:#83988a}.nav-count,.mini-count{margin-left:auto;color:#8e9991;font-size:11px;font-weight:600}.side-list-head{padding:28px 12px 10px;display:flex;align-items:center;gap:8px}.mini-count{border-radius:10px;background:#e3e9df;padding:2px 6px}.lottery-list{display:grid;gap:3px}.lottery-choice{width:100%;min-height:57px;padding:8px 9px;border:0;background:transparent;border-radius:8px;text-align:left;display:flex;align-items:center;gap:10px;color:#39534a}.lottery-choice.active{background:#e4ebe1}.choice-indicator{width:8px;height:8px;border-radius:50%;background:#bdc7bc;flex:none}.choice-indicator.draft{background:#daa66a}.choice-indicator.ready,.choice-indicator.revealed{background:#7aab84}.choice-indicator.drawing{background:#e18a59;box-shadow:0 0 0 3px #e18a5922}.choice-copy{display:grid;gap:4px;min-width:0}.choice-copy strong{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choice-copy small{font-size:10px;color:#89948a}.choice-arrow{margin-left:auto;font-size:22px;color:#779085}.empty-side{margin:3px 12px;color:#929b91;font-size:11px;line-height:1.5}.new-lottery{margin:20px 5px 0;padding:17px 7px 0;border-top:1px solid #dfe3d9}.new-lottery label{display:block;margin-bottom:10px}.inline-create{display:flex;gap:5px}.inline-create input{width:0;flex:1;min-width:0;height:38px;border:1px solid #dfe3d9;border-radius:7px;background:#fffefa;padding:0 9px;font-size:11px;color:var(--ink);outline:none}.inline-create input:focus{border-color:#93aa98;box-shadow:0 0 0 3px #dce8de}.inline-create button{width:38px;height:38px;border:0;border-radius:7px;background:var(--forest);color:#fff;font-size:21px}.sidebar-bottom{margin-top:auto;padding:18px 10px 0;border-top:1px solid #dfe3d9;color:#829087;font-size:10px;display:flex;align-items:center;gap:8px}.main-content{min-width:0;padding:37px clamp(24px,4.2vw,64px) 16px;display:flex;flex-direction:column}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:23px}.breadcrumb,.eyebrow,.section-kicker{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#89948b}.breadcrumb{margin-bottom:10px}.breadcrumb span{padding:0 7px;color:#c1c7bc}.page-heading h1,.welcome-card h1,.login-card h1{font:700 clamp(26px,3vw,36px)/1.1 var(--serif);letter-spacing:-1.25px;color:var(--ink);margin:0}.heading-meta{display:flex;align-items:center;gap:10px;margin-top:12px;color:#8a958b;font-size:11px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:20px;background:#ebeee6;color:#637067;font-size:10px;font-weight:700}.status-pill>span{width:6px;height:6px;border-radius:50%;background:#a4afa4}.status-pill.draft{background:#f5ece1;color:#98714e}.status-pill.draft>span{background:#d2a26a}.status-pill.ready,.status-pill.revealed{background:#e7f0e5;color:#507659}.status-pill.ready>span,.status-pill.revealed>span{background:#73a77d}.status-pill.drawing{background:#f8eee5;color:#aa704b}.status-pill.drawing>span{background:#df8956}.status-pill.finished{background:#e9ecea}.meta-separator{width:3px;height:3px;border-radius:50%;background:#c3c9c0}.heading-actions{display:flex;gap:8px;align-items:center}.heading-actions .button{white-space:nowrap}.notice{border-radius:8px;padding:12px 15px;font-size:12px;line-height:1.5}.notice.error{background:#fff0eb;color:#9e4934;border:1px solid #f1d7cc}.page-notice{display:flex;align-items:center;gap:9px;margin:-8px 0 16px}.page-notice>span{width:18px;height:18px;border-radius:50%;background:#e9b6a4;color:#fff;display:grid;place-items:center;font-weight:800}.page-notice button{margin-left:auto;border:0;background:none;color:inherit;font-size:18px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.stat-card{min-height:94px;padding:16px 17px;background:#fffefa;border:1px solid #eeeee7;border-radius:11px;display:flex;align-items:center;gap:12px;position:relative;box-shadow:0 2px 5px #24372b05}.stat-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;font-size:18px;color:#446856}.stat-icon.peach{background:#f7e9df;color:#bb764e}.stat-icon.sage{background:#e7efe4}.stat-icon.cream{background:#f4efdc;color:#aa905a}.stat-card>div{display:grid;gap:4px}.stat-label{font-size:8px;letter-spacing:1.1px;color:#929b90;font-weight:800}.stat-card strong{font:700 22px var(--serif);letter-spacing:-.6px}.stat-card em{font:500 12px DM Sans,sans-serif;color:#7a877e;font-style:normal}.stat-card>small{margin-left:auto;align-self:flex-end;padding-bottom:2px;color:#89948a;font-size:9px;white-space:nowrap}.display-status{background:#f0f4ed;border:1px solid #e7ece2;border-radius:9px;padding:12px 15px;display:flex;align-items:center;gap:11px;margin-bottom:19px}.online-dot{width:8px;height:8px;border-radius:50%;background:#c4cabe;flex:none}.online-dot.online{background:#6ea57a;box-shadow:0 0 0 3px #6ea57a1a}.display-status>span:nth-child(2){display:grid;gap:3px}.display-status strong{font-size:11px;font-weight:700;color:#496153}.display-status small{font-size:10px;color:#849188}.text-button{margin-left:auto;padding:8px;border:0;background:none;color:#56745f;font-size:10px;font-weight:700;white-space:nowrap}.work-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:16px;align-items:start}.left-column,.right-column{display:grid;gap:16px;min-width:0}.panel{background:#fffefa;border:1px solid #eeeee7;border-radius:11px;padding:20px 20px 17px;box-shadow:0 2px 6px #24372b05}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.section-kicker{font-size:8px;letter-spacing:1.2px;color:#98a097}.panel h2,.draw-card h2{font:700 17px/1.25 var(--serif);letter-spacing:-.45px;margin:5px 0 0;color:var(--ink)}.heading-count{display:inline-grid;place-items:center;vertical-align:2px;min-width:20px;height:20px;padding:0 5px;border-radius:12px;background:#f0f2eb;color:#78867a;font:600 10px DM Sans,sans-serif;letter-spacing:0}.editable-note{font-size:9px;color:#97a197}.add-form{display:flex;align-items:end;gap:8px}.participant-add{padding:12px 10px;background:#f7f8f3;border:1px solid #eff0e8;border-radius:8px;margin-bottom:11px}.input-wrap{min-width:0;flex:1;display:grid;gap:5px}.input-wrap label,.select-label{font-size:8px;font-weight:800;letter-spacing:.9px;color:#89958c}.input-wrap input,.select-label+select{width:100%;height:38px;padding:0 10px;border:1px solid #e4e7dd;border-radius:6px;background:#fffefa;color:#29483e;font-size:11px;outline:none}.input-wrap input:focus,.select-label+select:focus,.prize-edit-row input:focus,.person-name input:focus,.ticket-stepper input:focus{border-color:#93aa98;box-shadow:0 0 0 3px #dce8de}.input-wrap input::placeholder{color:#b2b9b0}.count-input{flex:0 0 64px}.input-wrap input[type=number]{padding-right:5px}.add-button{min-height:38px;padding:0 11px;font-size:10px;gap:8px;white-space:nowrap}.participant-list{display:grid}.participant-row{min-height:58px;padding:8px 2px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f0f0e9}.participant-row:last-child{border-bottom:0}.avatar{width:30px;height:30px;border-radius:50%;background:#e6eee4;color:#50745b;display:grid;place-items:center;font:700 12px var(--serif);flex:none}.person-name{flex:1;min-width:0;display:grid;gap:3px}.person-name strong,.person-name input{font-size:11px;font-weight:700;color:#304b40}.person-name input{width:100%;padding:4px 5px;border:1px solid transparent;border-radius:4px;background:transparent;outline:none}.person-name small{font-size:9px;color:#929b91}.ticket-total{font-size:11px;font-weight:700;color:#577262;white-space:nowrap}.ticket-total small{font-size:9px;color:#929b91;font-weight:500}.ticket-stepper{height:32px;border:1px solid #e8eae2;border-radius:6px;display:flex;align-items:center;flex:none}.ticket-stepper button{height:30px;width:29px;border:0;background:transparent;color:#60776a;font-size:16px}.ticket-stepper input{width:37px;height:28px;padding:0;border:1px solid transparent;border-radius:3px;text-align:center;background:transparent;color:#29483e;font-size:11px;font-weight:700;outline:none;-moz-appearance:textfield}.ticket-stepper input::-webkit-inner-spin-button,.ticket-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.row-delete{width:30px;height:32px;border:0;border-radius:6px;background:transparent;color:#a4aaa1;font-size:19px}.row-delete:hover{background:#fbede7;color:#bc6851}.empty-row{padding:22px 8px;text-align:center;color:#8c978e}.empty-row>span{font-size:22px;color:#bdc9bc}.empty-row p{margin:6px 0 3px;font-size:11px;font-weight:600;color:#6f8074}.empty-row small{font-size:10px}.empty-row.compact{padding:15px 8px}.prize-add{padding:12px 10px;background:#f7f8f3;border:1px solid #eff0e8;border-radius:8px;margin-bottom:9px}.prize-edit-list{display:grid}.prize-edit-row{min-height:46px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #f0f0e9}.prize-number{width:27px;height:25px;display:grid;place-items:center;background:#f7f0e4;color:#ad865a;border-radius:5px;font-size:9px;font-weight:800;flex:none}.prize-edit-row>input{flex:1;min-width:0;height:33px;border:1px solid transparent;border-radius:5px;background:transparent;color:#324f43;font-size:11px;font-weight:600;padding:0 6px;outline:none}.prize-row-actions{display:flex;align-items:center}.prize-row-actions button:not(.row-delete){width:29px;height:31px;border:0;background:transparent;color:#7e9182;border-radius:5px;font-size:15px}.prize-row-actions button:hover:not(:disabled){background:#eff3ec}.prize-row-actions .row-delete{width:27px}.prize-list{list-style:none;padding:0;margin:0}.prize-list li{min-height:45px;border-bottom:1px solid #f0f0e9;display:flex;align-items:center;gap:10px}.prize-list li:last-child{border:0}.prize-name{font-size:11px;font-weight:600;color:#365347}.prize-won{margin-left:auto;border-radius:20px;padding:4px 7px;background:#e9f1e6;color:#65836b;font-size:8px;font-weight:700}.draw-card{position:relative;overflow:hidden;background:#1a493f;color:#fff;border-radius:11px;padding:20px;box-shadow:0 6px 18px #153d3420}.draw-card:after{content:"";position:absolute;width:180px;height:180px;border:1px solid #ffffff12;border-radius:50%;right:-100px;top:12px;box-shadow:0 0 0 20px #ffffff08,0 0 0 40px #ffffff05;pointer-events:none}.draw-card-top{display:flex;align-items:center;justify-content:space-between}.draw-card .section-kicker{color:#a4beb0}.sparkle{color:#e5a16f;font-size:18px}.draw-card h2{position:relative;color:#fff;font-size:21px;margin:17px 0 8px}.draw-card>p{position:relative;color:#c1d0c7;font-size:11px;line-height:1.6;margin:0 0 18px}.readiness{display:flex;align-items:center;gap:9px;margin:12px 0;color:#e0e9e2;font-size:10px}.ready-check{width:20px;height:20px;display:grid;place-items:center;border:1px solid #69887b;border-radius:50%;font-size:9px;color:#b7cbc0}.ready-check.done{background:#70947c;border-color:#70947c;color:#fff}.draw-action{position:relative;margin-top:14px;min-height:45px;background:#e79762!important;color:#263c32!important;box-shadow:none!important}.draw-action:hover:not(:disabled){background:#f0a976!important}.card-footnote{display:block;margin-top:11px;color:#a9c0b3;font-size:9px;text-align:center}.prize-next-label{margin-top:22px;color:#a9c1b4;font-size:8px;font-weight:800;letter-spacing:1.4px}.draw-card .next-prize{font-size:24px;line-height:1.2;margin:7px 0 9px}.draw-card .select-label{display:block;margin:16px 0 6px;color:#afc2b7}.select-label+select{height:41px;color:#28483f;border-color:#e5e8de}.draw-card .select-label+select{background:#f8f8f1}.winner-ribbon{display:inline-flex;margin-top:18px;padding:6px 9px;border-radius:20px;background:#e99a63;color:#244238;font-size:8px;font-weight:800;letter-spacing:1px}.winner-ticket{margin-top:20px;font-size:8px;letter-spacing:1.5px;color:#a7c0b2;font-weight:800}.draw-card .winner-name{font-size:27px;overflow-wrap:anywhere}.draw-card p strong{color:#fff}.winner-meta{font-size:9px;color:#aac0b3;border-top:1px solid #ffffff24;padding-top:11px;margin-top:13px}.draw-controls{display:grid;gap:8px;margin-top:15px}.draw-controls .button.secondary{background:#ffffff12;color:#fff;border:1px solid #ffffff2b}.draw-controls .button.primary{background:#e79762;color:#263c32}.draw-controls .button{font-size:10px;min-height:42px}.drawing-info{padding:11px;border-radius:7px;background:#ffffff0d;color:#c2d3c8;font-size:10px}.draw-loader{display:flex;gap:6px;margin:22px 0 17px}.draw-loader span{width:8px;height:8px;border-radius:50%;background:#e79a66;animation:pulse 1s ease-in-out infinite}.draw-loader span:nth-child(2){animation-delay:.15s}.draw-loader span:nth-child(3){animation-delay:.3s}@keyframes pulse{50%{opacity:.3;transform:scale(.75)}}.history-panel{padding:17px}.history-panel .panel-heading{margin-bottom:6px}.draw-history{list-style:none;margin:0;padding:0}.draw-history li{display:flex;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #f0f0e9}.draw-history li:last-child{border:0}.history-index{font-size:8px;color:#a3a99f;font-weight:800}.history-copy{display:grid;gap:3px;min-width:0;flex:1}.history-copy strong{font-size:10px;color:#355548}.history-copy small{font-size:9px;color:#919b91}.draw-history time{font-size:8px;color:#9da49c;text-align:right}.welcome-card{min-height:490px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:560px;padding:40px 0;position:relative}.welcome-card .eyebrow{margin-bottom:13px;color:#d07b53}.welcome-card h1{max-width:460px;font-size:clamp(30px,4vw,47px);line-height:1.1}.welcome-card>p{max-width:390px;color:#77847b;font-size:13px;line-height:1.7;margin:15px 0 22px}.welcome-art{position:absolute;right:15px;top:58px;width:140px;height:140px;border-radius:50%;background:#f0e8d9;color:#c88761;display:grid;place-items:center;font-size:52px}.welcome-art:before{content:"";position:absolute;inset:12px;border:1px solid #d7b291;border-radius:50%;transform:rotate(-23deg) scaleY(.4)}.welcome-art b{position:absolute;bottom:15px;right:20px;color:#719278;font-size:36px;transform:rotate(13deg)}.welcome-art i{position:absolute;top:14px;left:21px;color:#da9e69;font-size:19px}.page-footer{margin-top:auto;padding-top:32px;display:flex;justify-content:space-between;gap:15px;color:#a0a69c;font-size:8px;letter-spacing:.55px}.page-footer i{font-style:normal;color:#d59166}.login-screen{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;padding:25px;background:#f5f5ed}.login-card{position:relative;z-index:1;width:min(100%,410px);padding:42px;background:#fffefa;border:1px solid #edeee5;border-radius:16px;box-shadow:0 18px 55px #33483812}.login-card .brand{margin-bottom:43px}.login-card .eyebrow{color:#d07b53;margin-bottom:11px}.login-card h1{font-size:29px}.login-card>p{color:#879188;font-size:12px;margin:11px 0 27px}.login-card form{display:grid;gap:8px}.login-card label{font-size:10px;font-weight:700;color:#617267}.login-card input{height:46px;border:1px solid #e0e5dc;border-radius:8px;padding:0 12px;color:var(--ink);outline:none;margin-bottom:8px}.login-card input:focus{border-color:#7b9a83;box-shadow:0 0 0 3px #e2ece2}.login-card form .button{margin-top:5px}.login-card .notice{margin-top:14px}.login-foot{margin-top:28px;padding-top:17px;border-top:1px solid #f0f0e9;display:flex;align-items:center;gap:8px;font-size:10px;color:#88938a}.login-flower{position:absolute;right:calc(50% - 330px);top:calc(50% - 275px);font-size:72px;color:#e4b486;opacity:.45;transform:rotate(15deg)}.admin-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;color:#718078;font-size:12px}.admin-loading .brand-mark{width:42px;height:42px;font-size:22px}@media(max-width:1050px){.app-layout{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.main-content{padding:30px 26px 15px}.work-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:12px}.panel,.draw-card{padding:17px}.stat-card{padding:14px 12px;gap:9px}.stat-card>small{font-size:8px}.editable-note{max-width:110px;text-align:right;line-height:1.4}}@media(max-width:760px){.topbar{height:62px;padding:0 17px}.brand{font-size:17px}.brand-mark{width:30px;height:30px}.secure-label{display:none}.topbar-right{gap:8px}.app-layout{display:flex;flex-direction:column;min-height:calc(100vh - 62px)}.sidebar{min-height:0;padding:10px 14px 11px;border-right:0;border-bottom:1px solid #e4e7dd;display:grid;grid-template-columns:1fr auto;gap:7px 9px}.side-label,.sidebar-bottom{display:none}.side-nav{display:flex;grid-column:1/-1;gap:6px}.nav-item{min-height:38px;padding:0 11px;flex:1;font-size:11px}.nav-icon{font-size:15px}.side-list-head{display:none}.lottery-list{display:flex;overflow:auto;gap:6px;grid-column:1/-1;scrollbar-width:none}.lottery-list::-webkit-scrollbar{display:none}.lottery-choice{width:auto;min-width:145px;min-height:43px;padding:6px 9px;background:#f8f8f3;border:1px solid #e6e9df}.lottery-choice.active{background:#e4ebe1;border-color:#dbe4d8}.choice-copy{gap:2px}.choice-copy strong{max-width:150px}.choice-copy small{font-size:9px}.new-lottery{grid-column:1/-1;margin:2px 0 0;padding:8px 0 0;border-top:1px solid #e0e4da}.new-lottery label{display:none}.inline-create{max-width:450px}.inline-create input{height:36px}.inline-create button{height:36px;width:42px}.main-content{padding:24px 16px 14px}.page-heading{align-items:flex-start;margin-bottom:18px}.page-heading h1{font-size:28px}.heading-actions{gap:5px}.heading-actions .button{font-size:10px;min-height:39px;padding:0 10px;gap:7px}.heading-actions .icon-button{width:39px;padding:0;font-size:17px}.heading-meta{font-size:9px;gap:7px}.stats-grid{gap:7px;margin-bottom:10px}.stat-card{min-height:81px;padding:10px 8px;gap:7px;flex-wrap:wrap;align-content:center}.stat-icon{width:27px;height:27px;font-size:14px;border-radius:8px}.stat-card>div{gap:3px}.stat-label{font-size:7px;letter-spacing:.6px}.stat-card strong{font-size:18px}.stat-card em{font-size:10px}.stat-card>small{width:100%;margin:0;padding:0 0 0 34px;font-size:8px}.display-status{padding:10px;margin-bottom:13px;gap:8px}.display-status strong{font-size:10px}.display-status small{font-size:9px}.text-button{font-size:9px;padding:5px}.work-grid{grid-template-columns:1fr;gap:12px}.left-column,.right-column{gap:12px}.panel,.draw-card{padding:16px}.panel-heading{margin-bottom:12px}.panel h2{font-size:16px}.draw-card h2{font-size:20px}.welcome-card{min-height:420px;padding:40px 0;justify-content:center}.welcome-art{width:92px;height:92px;right:0;top:34px;font-size:37px}.welcome-art b{font-size:25px;bottom:9px;right:12px}.welcome-art i{top:9px;left:13px;font-size:14px}.welcome-card h1{font-size:34px;max-width:330px}.welcome-card>p{font-size:12px;max-width:310px}.page-footer{padding-top:24px;font-size:7px}.draw-card .draw-action{margin-top:13px}.login-card{padding:32px 25px}.login-card .brand{margin-bottom:35px}}@media(max-width:390px){.topbar{padding:0 12px}.main-content{padding-left:12px;padding-right:12px}.sidebar{padding-left:10px;padding-right:10px}.page-heading{gap:8px}.heading-actions .button.secondary{max-width:112px;white-space:normal;line-height:1.15;text-align:center}.page-heading h1{font-size:25px}.stats-grid{gap:5px}.stat-card{padding:9px 6px}.stat-icon{width:24px;height:24px}.stat-card strong{font-size:16px}.stat-label{font-size:6px}.stat-card>small{padding-left:31px;font-size:7px}.panel,.draw-card{padding:13px}.participant-add{padding:9px 7px;gap:5px}.participant-add .count-input{flex-basis:53px}.participant-add .add-button{padding:0 8px;gap:4px;font-size:9px}.participant-row{gap:7px}.ticket-stepper button{width:25px}.ticket-stepper input{width:31px}.row-delete{width:25px}.editable-note{font-size:8px}.page-footer{flex-wrap:wrap}.draw-history time{max-width:73px}}.new-ticket-stepper{height:38px;display:flex;align-items:center;background:#fffefa;border:1px solid #e4e7dd;border-radius:6px}.new-ticket-stepper button{height:36px;width:23px;flex:none;border:0;background:transparent;color:#60776a;font-size:15px}.new-ticket-stepper input{height:34px!important;padding:0!important;border:0!important;border-radius:0!important;text-align:center;-moz-appearance:textfield}.new-ticket-stepper input::-webkit-inner-spin-button,.new-ticket-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.next-prize-preview{display:grid;gap:4px;margin:11px 0 4px;padding:9px 10px;border-left:2px solid #e79a66;background:#ffffff0c}.next-prize-preview span{font-size:7px;letter-spacing:1px;color:#acc4b6;font-weight:800}.next-prize-preview strong{font-size:10px;color:#f0f4ed}.ticket-stepper button,.row-delete,.prize-row-actions button:not(.row-delete){min-height:44px}.ticket-stepper{height:44px}.ticket-stepper button{height:44px;width:34px}.ticket-stepper input{height:38px}.row-delete{width:44px;height:44px}.prize-row-actions button:not(.row-delete){width:40px;height:44px}.new-ticket-stepper{height:44px}.new-ticket-stepper button{width:30px;height:44px}.new-ticket-stepper input{height:40px!important}.fallback-link{display:flex;align-items:center;gap:10px;margin:-8px 0 15px;padding:10px 12px;border:1px solid #e7e9df;border-radius:8px;background:#fffefa}.fallback-link label{flex:none;color:#6e7e72;font-size:10px;font-weight:700}.fallback-link input{width:100%;min-width:0;height:36px;padding:0 9px;border:1px solid #e5e8df;border-radius:5px;background:#f7f8f3;color:#39564a;font-size:11px}@media(max-width:390px){.participant-add{flex-wrap:wrap}.participant-add .input-wrap:first-child{flex:1 1 100%}.participant-add .count-input{flex:1 1 auto}.participant-add .new-ticket-stepper{max-width:110px}.participant-add .add-button{min-width:90px;min-height:44px}.ticket-stepper button{width:29px}.ticket-stepper input{width:28px}.row-delete{width:38px;height:44px}.prize-row-actions button:not(.row-delete){width:33px}.fallback-link{align-items:flex-start;flex-direction:column}.fallback-link input{font-size:9px}}@media(max-width:900px){.work-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){input,select{font-size:16px!important}.input-wrap label,.select-label,.new-lottery label{font-size:9px}.stat-label{font-size:8px;letter-spacing:.7px}.ticket-stepper button,.new-ticket-stepper button{width:44px}.ticket-stepper,.ticket-stepper button{height:44px}.ticket-stepper input{width:36px;height:40px;font-size:16px!important}.row-delete{width:44px;height:44px}.prize-row-actions button:not(.row-delete){width:44px;height:44px}.new-ticket-stepper,.new-ticket-stepper button{height:44px}.new-ticket-stepper input{height:40px!important}.new-lottery .inline-create input{font-size:16px!important}}@media(max-width:390px){.participant-row .avatar{display:none}.ticket-stepper button{width:44px}.ticket-stepper input{width:34px}.participant-add .new-ticket-stepper{max-width:none}.participant-add .count-input{flex:0 0 122px}.participant-add .new-ticket-stepper button{width:44px}.participant-add .new-ticket-stepper input{width:32px}.prize-row-actions button:not(.row-delete){width:44px}.prize-row-actions .row-delete{width:44px}.prize-row-actions{gap:0}.participant-add .add-button{min-width:88px}}.left-column,.right-column{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%}.panel,.draw-card,.participant-add,.prize-add,.participant-row,.prize-edit-row{min-width:0;max-width:100%}.participant-add>*,.prize-add>*{min-width:0}.participant-add .input-wrap,.prize-add .input-wrap,.participant-add .input-wrap:first-child,.prize-add .input-wrap:first-child{min-width:0}.inline-create button{width:44px;min-width:44px;height:44px}.inline-create input{min-width:0}.participant-add .count-input{flex:0 0 134px}.new-ticket-stepper input{min-width:0;width:44px!important;flex:1}.new-ticket-stepper button{flex:0 0 44px;width:44px}.page-heading h1,.draw-card h2{overflow-wrap:anywhere}.heading-actions .icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}.lottery-display{--ink:#f5efdf;--muted:#a6b8b8;--gold:#e9c67e;--teal:#071c24;position:relative;isolation:isolate;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#071c24;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.lottery-display *{box-sizing:border-box}.lottery-display button{font:inherit}.display-glow{position:absolute;z-index:-2;border-radius:50%;pointer-events:none;filter:blur(90px)}.display-glow-one{width:60vw;height:60vw;top:-34vw;right:-9vw;background:#2b615943}.display-glow-two{width:55vw;height:55vw;bottom:-39vw;left:-20vw;background:#b18a4c26}.display-grid{position:absolute;inset:0;z-index:-1;opacity:.13;background-image:linear-gradient(#73908522 1px,transparent 1px),linear-gradient(90deg,#73908522 1px,transparent 1px);background-size:86px 86px;-webkit-mask-image:linear-gradient(transparent,#000,transparent);mask-image:linear-gradient(transparent,#000,transparent)}.display-header{padding:35px 4.5vw;display:flex;justify-content:space-between;align-items:center;gap:24px}.display-brand{display:flex;gap:16px;align-items:center}.display-brand-mark{font-size:45px;color:var(--gold);line-height:1}.display-brand div{display:flex;flex-direction:column;gap:6px}.display-brand div>span{font-size:9px;letter-spacing:.23em;color:var(--muted);font-weight:650}.display-brand strong{font-size:20px;font-weight:600;letter-spacing:-.02em;max-width:65vw;overflow-wrap:anywhere}.display-controls{display:flex;align-items:center;gap:22px}.display-connection{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.15em;color:var(--muted);white-space:nowrap}.display-connection i{height:6px;width:6px;display:inline-block;border-radius:50%;background:#d5b771}.display-connection.live i{background:#80cfb4;box-shadow:0 0 12px #80cfb450}.display-fullscreen{width:39px;height:39px;border:1px solid #d8e2d62a;border-radius:10px;background:#ffffff03;color:var(--ink);cursor:pointer;display:grid;place-items:center}.display-fullscreen:hover{background:#ffffff0d}.display-fullscreen:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.display-fullscreen svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.display-main{flex:1;display:flex;align-items:center;justify-content:center;padding:20px 5.5vw 40px;min-height:0}.display-eyebrow{font-size:11px;font-weight:650;letter-spacing:.21em;color:var(--gold)}.waiting-scene{width:100%;max-width:1400px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:7vw}.waiting-intro h1{font-size:clamp(48px,5.4vw,90px);line-height:1.09;letter-spacing:-.055em;font-weight:500;margin:23px 0 24px}.waiting-intro h1 em{color:var(--gold);font-family:Georgia,Times New Roman,serif;font-weight:400}.waiting-intro>p{max-width:460px;color:var(--muted);font-size:15px;line-height:1.8;margin:0}.display-stats{display:flex;gap:32px;margin-top:54px}.display-stats>div{display:flex;flex-direction:column;gap:9px}.display-stats>div+div{padding-left:32px;border-left:1px solid #d8e2d624}.display-stats strong{font-size:clamp(22px,2.2vw,35px);font-weight:500;white-space:nowrap;letter-spacing:-.04em}.display-stats span{font-size:9px;color:var(--muted);letter-spacing:.17em}.waiting-prize-card{position:relative;overflow:hidden;min-height:420px;aspect-ratio:1.03;padding:50px 38px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #d1ddc52a;background:linear-gradient(145deg,#ffffff07,#ffffff02);border-radius:24px;box-shadow:0 25px 100px #00000012}.prize-card-orbit{position:absolute;width:75%;aspect-ratio:1;border:1px solid #dbcea115;border-radius:50%;top:-42%;right:-20%}.prize-card-orbit:before{content:"";position:absolute;inset:-28px;border:1px solid #dbcea10c;border-radius:50%}.prize-card-icon{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;border:1px solid #e5c58036;background:#d6ba7020;margin-bottom:28px;box-shadow:0 0 60px #d4c38609}.prize-card-icon svg{height:48px;width:48px;color:var(--gold)}.waiting-prize-card .display-eyebrow{font-size:9px;color:var(--muted)}.waiting-prize-card h2{font-size:clamp(27px,3.2vw,52px);line-height:1.15;font-family:Georgia,Times New Roman,serif;font-weight:400;max-width:100%;overflow-wrap:anywhere;margin:17px 0 25px;letter-spacing:-.03em}.prize-card-rule{height:1px;width:50px;background:var(--gold);opacity:.5}.waiting-prize-card p{color:var(--muted);font-size:12px;margin:22px 0 0}.prize-card-spark{position:absolute;bottom:24px;right:28px;font-size:22px;color:var(--gold);opacity:.7}.display-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 4.5vw 28px;color:#819898;font-size:9px;font-weight:600;letter-spacing:.17em}.display-footer>span:last-child{display:flex;align-items:center;gap:18px;text-align:right}.display-footer i{font-style:normal;color:var(--gold);font-size:17px}.display-loading{text-align:center}.display-loading h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,4vw,60px)}.display-loading p{color:var(--muted);max-width:550px;line-height:1.7}.waiting-star{display:block;font-size:70px;color:var(--gold)}.display-notice{position:fixed;bottom:70px;left:50%;transform:translate(-50%);background:#133039;border:1px solid #e9c67e40;padding:12px 20px;border-radius:10px;font-size:13px;max-width:85vw;z-index:20}.lottery-display .winner-scene{position:relative;text-align:center;width:100%;display:flex;align-items:center;flex-direction:column;animation:winner-appear .9s cubic-bezier(.2,.7,.2,1) both}.lottery-display .winner-kicker{display:flex;gap:18px;align-items:center;color:var(--gold);font-size:12px;font-weight:650;letter-spacing:.25em}.lottery-display .winner-kicker>span{height:1px;width:45px;background:var(--gold);opacity:.55}.lottery-display .winner-star{font-size:54px;color:var(--gold);margin:15px 0 0;line-height:1.2}.lottery-display .winner-name{font-size:clamp(50px,8.5vw,145px);font-weight:550;letter-spacing:-.065em;line-height:1.03;margin:13px 0 25px;overflow-wrap:anywhere;width:100%;text-wrap:balance}.lottery-display .winner-ticket{font-size:11px;letter-spacing:.17em;color:var(--muted);display:flex;align-items:center;gap:14px}.lottery-display .winner-ticket strong{color:var(--gold);font-size:30px;letter-spacing:.02em;font-weight:500}.lottery-display .winner-prize{margin-top:38px;display:flex;gap:18px;align-items:center;padding:22px 36px;border-radius:16px;border:1px solid #e9c67e34;background:linear-gradient(135deg,#d3b56d12,#d3b56d04);max-width:90%;text-align:left}.lottery-display .winner-prize svg{height:48px;width:48px;flex-shrink:0;color:var(--gold)}.lottery-display .winner-prize div{display:flex;flex-direction:column;gap:7px}.lottery-display .winner-prize span{color:var(--muted);font-size:9px;letter-spacing:.2em}.lottery-display .winner-prize strong{font-family:Georgia,serif;font-weight:400;font-size:clamp(24px,2.8vw,44px);overflow-wrap:anywhere}.lottery-display .winner-applause{font-family:Georgia,serif;font-style:italic;color:var(--gold);font-size:21px;margin:23px 0 0}.display-confetti{position:fixed;inset:-120px 0 0;pointer-events:none;z-index:-1;overflow:hidden}.display-confetti i{position:absolute;top:-30px;height:10px;width:5px;border-radius:1px;animation:display-confetti-fall linear 2;opacity:.8}@keyframes display-confetti-fall{0%{translate:0 -30px;rotate:0deg;opacity:0}10%{opacity:.9}to{translate:80px 110vh;rotate:800deg;opacity:0}}@keyframes winner-appear{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.drawing-scene{width:100%;max-width:1400px;text-align:center}.drawing-heading h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(27px,3.5vw,52px);letter-spacing:-.035em;line-height:1.2;margin:12px 0 26px;overflow-wrap:anywhere}.drawing-heading .display-eyebrow{font-size:10px}.animation-stage{position:relative;width:100%;min-height:390px}.stage-caption{font-size:12px;color:var(--muted);letter-spacing:.015em;margin:18px 0 0}.drawing-progress{width:120px;height:2px;border-radius:2px;background:#ffffff1c;margin:26px auto 0;overflow:hidden}.drawing-progress i{display:block;height:100%;background:var(--gold)}.motion-free-stage{padding:90px 20px}.motion-free-stage svg{height:90px;width:90px;color:var(--gold)}.motion-free-stage h2{font-family:Georgia,serif;font-size:38px;font-weight:400}.motion-free-stage p{color:var(--muted)}.wheel-stage{display:flex;align-items:center;justify-content:center;gap:8vw}.wheel-wrap{position:relative;width:min(42vw,490px);aspect-ratio:1;flex-shrink:0;padding:12px;border:1px solid #e5c58070;border-radius:50%;box-shadow:0 0 0 8px #e5c58008,0 18px 80px #0003}.wheel-disc{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;border:9px solid #eee5d0;box-shadow:inset 0 0 40px #0003;will-change:transform}.wheel-label{position:absolute;left:50%;top:50%;width:42%;height:20px;transform-origin:0 0;font-size:clamp(9px,1vw,14px);font-weight:700;color:#223137;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:10px}.wheel-pointer{position:absolute;z-index:4;left:50%;top:-7px;transform:translate(-50%);width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:34px solid #fff2cc;filter:drop-shadow(0 5px 6px #0005)}.wheel-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#10282f;border:4px solid #fff1d0;border-radius:50%;width:24%;height:24%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--gold);box-shadow:0 4px 14px #0005}.wheel-hub span{font-size:8px;letter-spacing:.18em}.wheel-hub strong{font-size:45px;line-height:1.1;font-weight:400}.animation-ticket{width:30%;text-align:left;display:flex;flex-direction:column;gap:15px}.animation-ticket small{font-size:10px;letter-spacing:.2em;color:var(--muted)}.animation-ticket strong{font-size:clamp(28px,3.9vw,58px);font-weight:500;line-height:1.1;letter-spacing:-.05em;overflow-wrap:anywhere}.animation-ticket>span{color:var(--gold);font-size:20px}.slot-stage{max-width:950px;margin:0 auto;padding-top:8px}.slot-spark{font-size:35px;color:var(--gold);margin-bottom:12px}.slot-window{height:390px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent)}.slot-focus{position:absolute;top:40%;height:20%;left:0;right:0;border:1px solid #e9c67e66;border-radius:13px;background:#d6bd7814}.slot-reel{position:relative;height:100%;will-change:transform}.slot-row{height:20%;display:flex;align-items:center;gap:25px;padding:0 28px;opacity:.28;overflow:hidden}.slot-row-current{opacity:1}.slot-number{font-size:clamp(24px,3vw,40px);color:var(--gold);font-weight:500;font-variant-numeric:tabular-nums;width:85px;flex-shrink:0}.slot-row strong{font-size:clamp(24px,3.8vw,52px);font-weight:500;letter-spacing:-.03em;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-star{color:var(--gold);margin-left:auto;font-size:25px}.ball-stage{max-width:1100px;margin:0 auto}.ball-track{position:relative;padding:10px 7% 10px 12px;background:linear-gradient(90deg,#17353988,#0c2836);border:1px solid #799a8f28;border-radius:18px;overflow:hidden}.ball-lane{height:34px;border-bottom:1px solid #c4e1c314;position:relative;text-align:left}.ball-lane:last-child{border:0}.race-ball{position:absolute;z-index:2;top:3px;width:29px;height:29px;border-radius:50%;box-shadow:inset -4px -5px 5px #0003,0 3px 7px #0004;display:grid;place-items:center;will-change:left}.race-ball span{font-size:9px;font-weight:750;color:#172d33;background:#fff7;min-width:17px;min-height:17px;border-radius:50%;display:grid;place-items:center}.ball-name{position:absolute;left:10px;top:10px;font-size:10px;color:#b9cbc670;text-overflow:ellipsis;max-width:30%;white-space:nowrap;overflow:hidden}.ball-finish{position:absolute;right:7%;top:0;bottom:0;width:15px;background:repeating-conic-gradient(#eee9d5 0% 25%,#203c3c 0% 50%) 0 0/15px 15px;opacity:.65}.ball-finish span{position:absolute;top:50%;left:20px;font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl;color:var(--gold)}.horse-stage{max-width:1450px;margin:0 auto}.race-topline{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:13px;padding:0 4px}.race-topline>span{font-size:9px;letter-spacing:.14em;color:var(--muted);display:flex;align-items:center;gap:7px}.race-topline>span i{width:5px;height:5px;border-radius:50%;background:#dfb568}.race-topline>strong{font-size:13px;color:var(--gold);font-weight:500}.horse-canvas{display:block;width:100%;height:clamp(360px,49vh,600px);border:1px solid #b8cdb42b;border-radius:16px;box-shadow:0 15px 70px #0002}@media(min-width:1700px){.display-header{padding-top:45px}.display-main{padding-bottom:55px}.waiting-prize-card{min-height:510px}.animation-stage{min-height:460px}.slot-window{height:470px}.ball-lane{height:40px}.race-ball{width:35px;height:35px}}@media(max-height:720px)and (min-width:800px){.display-header{padding-top:22px;padding-bottom:18px}.display-main{padding-top:10px;padding-bottom:15px}.waiting-prize-card{min-height:340px;max-height:370px;aspect-ratio:auto;padding:32px}.waiting-intro h1{font-size:clamp(43px,5vw,70px)}.display-stats{margin-top:30px}.display-footer{padding-top:16px;padding-bottom:17px}.wheel-wrap{width:min(37vw,360px)}.animation-stage{min-height:300px}.slot-window{height:290px}.drawing-heading h1{margin-bottom:16px}.horse-canvas{height:clamp(260px,47vh,400px)}.ball-lane{height:27px}.race-ball{height:24px;width:24px;top:1px}.lottery-display .winner-name{font-size:clamp(50px,7vw,110px);margin-bottom:14px}.lottery-display .winner-star{font-size:35px;margin-top:10px}.lottery-display .winner-prize{margin-top:20px;padding:15px 28px}.lottery-display .winner-applause{margin-top:14px}.drawing-progress{margin-top:16px}}@media(max-width:800px){.display-header{padding:24px 6vw}.display-brand div>span{font-size:7px;letter-spacing:.16em}.display-brand strong{font-size:17px}.display-brand-mark{font-size:32px}.display-controls{gap:10px}.display-connection{font-size:8px;letter-spacing:.08em}.display-main{padding:25px 6vw}.waiting-scene{grid-template-columns:1fr;gap:38px;max-width:560px}.waiting-intro h1{font-size:clamp(44px,8vw,70px)}.waiting-intro>p{font-size:14px}.display-stats{gap:12px;margin-top:30px}.display-stats>div+div{padding-left:12px}.display-stats strong{font-size:23px}.display-stats span{font-size:8px}.waiting-prize-card{min-height:310px;aspect-ratio:auto;padding:33px}.prize-card-icon{width:72px;height:72px;margin-bottom:23px}.waiting-prize-card h2{font-size:35px}.display-footer{padding:24px 6vw;font-size:7px;line-height:1.7}.display-footer>span:last-child{max-width:52%;gap:10px}.wheel-stage{flex-direction:column;gap:28px}.wheel-wrap{width:min(70vw,390px)}.animation-ticket{width:100%;text-align:center;gap:8px}.animation-ticket strong{font-size:35px}.lottery-display .winner-name{font-size:clamp(46px,10vw,85px)}.lottery-display .winner-kicker{font-size:9px;gap:10px}.lottery-display .winner-kicker>span{width:25px}.lottery-display .winner-prize{padding:19px;max-width:100%;gap:12px}.lottery-display .winner-prize strong{font-size:27px}.slot-window{height:320px}.slot-row{padding:0 14px;gap:15px}.slot-number{width:55px;font-size:26px}.slot-row strong{font-size:29px}.slot-star{font-size:20px}.horse-canvas{height:390px}.race-topline>span{font-size:7px;letter-spacing:.07em}.race-topline>strong{font-size:11px}.stage-caption{font-size:10px;line-height:1.6}.display-notice{bottom:55px;text-align:center;width:85vw}}@media(prefers-reduced-motion:reduce){.lottery-display *,.lottery-display *:before,.lottery-display *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.display-confetti{display:none}}
