@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap";:root{color:#1c2a2a;font-synthesis:none;text-rendering:optimizelegibility;--ink:#1c2a2a;--muted:#68716e;--line:#dfe1d9;--paper:#f7f5f0;--panel:#fffdf8;--teal:#3f8478;--gold:#f2b253;--coral:#e96c52;--soft:#edf0eb;background:#f7f5f0;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer;border:0}.app-shell{min-height:100vh;display:flex}.sidebar{color:#f7f5f0;background:#1c2a2a;flex-direction:column;flex-shrink:0;width:244px;padding:28px 20px;display:flex}.brand,.login-logo,.mobile-brand{letter-spacing:-.02em;align-items:center;gap:11px;font-size:15px;font-weight:700;display:flex}.brand small{color:#aeb9b1;margin-top:3px;font-size:10px;font-weight:400;display:block}.mark{background:var(--gold);width:34px;height:34px;color:var(--ink);border-radius:10px;place-items:center;font-weight:800;display:grid}.sidebar nav{margin-top:60px}.nav-label,.kicker{letter-spacing:.13em;color:#80908b;margin:0 0 13px;font-family:Space Mono,monospace;font-size:10px;font-weight:700}.nav-label.spaced{margin-top:42px}.nav-link{color:#aeb9b1;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:12px;width:100%;margin:2px 0;padding:12px;font-size:14px;display:flex}.nav-link:hover,.nav-link.active{color:#fff;background:#2b3e3c}.nav-link.active{box-shadow:inset 3px 0 var(--gold)}.side-tip{color:#cdd7cf;border-top:1px solid #39504c;gap:9px;padding:15px 8px;font-size:12px;line-height:1.55;display:flex}.side-tip p{margin:0}.side-footer{color:#aeb9b1;align-items:center;gap:8px;margin-top:auto;font-size:11px;display:flex}.status-dot{background:#73c99b;border-radius:50%;width:7px;height:7px}.content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#f7f5f0cc;justify-content:space-between;align-items:center;height:78px;padding:0 4.5%;display:flex}.breadcrumb{color:var(--muted);font-size:13px}.account{align-items:center;gap:10px;font-size:13px;display:flex}.avatar{background:#dce8e0;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.icon-button{color:var(--muted);background:0 0;padding:8px}.mobile-brand{display:none}.page{max-width:1260px;margin:0 auto;padding:54px 4.5% 70px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex}.page-heading.compact{align-items:flex-start}.page h1{letter-spacing:-.065em;margin:0 0 12px;font-size:clamp(31px,4vw,48px);line-height:1.05}.page h2{letter-spacing:-.03em;margin:0;font-size:20px}.lead{color:var(--muted);max-width:600px;margin:0;font-size:16px;line-height:1.6}.primary,.secondary{border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 17px;font-size:13px;font-weight:700;transition:transform .16s,background .16s;display:inline-flex}.primary{background:var(--ink);color:#fff}.primary:hover{background:#304443;transform:translateY(-1px)}.primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.secondary{background:var(--soft);color:var(--ink)}.secondary:hover{background:#dde8df}.full{width:100%}.step-badge,.count{color:var(--teal);border:1px solid #b9d1c7;border-radius:6px;padding:8px 10px;font:11px Space Mono,monospace}.count{background:#eaf1eb;border:0;padding:8px 12px;font-size:16px}.notice{color:#76572a;background:#fff7e7;border:1px solid #edcf91;border-radius:8px;align-items:flex-start;gap:13px;margin-bottom:28px;padding:14px 16px;font-size:13px;display:flex}.notice svg{color:#c89135;flex:none;margin-top:2px}.notice strong{color:#5f4824;margin-bottom:3px;display:block}.notice p{margin:0;line-height:1.5}.overview-grid{grid-template-columns:1.45fr 1fr;gap:22px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0;padding:26px}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:20px;display:flex}.panel-title svg{color:var(--teal)}.empty-state{text-align:center;padding:66px 20px 58px}.empty-icon,.public-mark{width:52px;height:52px;color:var(--teal);background:#e9f0e9;border-radius:14px;place-items:center;margin:0 auto 18px;display:grid}.empty-state h3{margin:0 0 8px;font-size:17px}.empty-state p{color:var(--muted);max-width:300px;margin:0 auto 23px;font-size:13px;line-height:1.55}.process-panel h2{margin-bottom:29px}.process-row{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:17px 0;font-size:13px;display:flex}.process-row span{color:var(--teal);font:11px Space Mono,monospace}.process-row strong{flex:1}.process-row svg{color:#7c9d84}.new-grid{grid-template-columns:1.35fr .75fr;gap:22px;display:grid}.dropzone{min-height:195px;color:var(--teal);text-align:center;background:#f5f8f3;border:1.5px dashed #afc1b4;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:25px 0 20px;padding:20px;display:flex;position:relative}.dropzone:hover,.dropzone.dragging{border-color:var(--teal);background:#edf4ec}.dropzone strong{color:var(--ink);font-size:15px}.dropzone span{color:var(--muted);font-size:12px}.dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.helper{color:var(--muted);gap:9px;padding:0 2px;font-size:12px;line-height:1.55;display:flex}.helper svg{color:var(--teal);flex:none}.settings-panel label,.login-form label{color:#3f4b48;flex-direction:column;gap:8px;margin:22px 0;font-size:12px;font-weight:700;display:flex}.settings-panel input,.login-form input{height:44px;color:var(--ink);background:#fff;border:1px solid #cfd6cf;border-radius:6px;outline:none;padding:0 12px}.settings-panel input:focus,.login-form input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #3f84781c}.disabled-note{color:var(--muted);text-align:center;margin:13px 0 0;font-size:11px;line-height:1.5}.review-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0;display:grid}.review-summary div{background:#f1f4ef;border-radius:6px;padding:12px}.review-summary strong{font-size:20px;display:block}.review-summary span{color:var(--muted);font-size:10px}.review-summary .danger strong{color:var(--coral)}.error-list{color:#8d402f;background:#fff1ec;border-radius:6px;flex-direction:column;gap:6px;margin-bottom:18px;padding:13px;font-size:11px;display:flex}.error-list strong{align-items:center;gap:6px;display:flex}.table-wrap{border:1px solid var(--line);border-radius:6px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:500px;font-size:12px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 13px}th{color:var(--muted);text-transform:uppercase;background:#f6f7f2;font:10px Space Mono,monospace}tbody tr:last-child td{border-bottom:0}.valid{color:#42805f;align-items:center;gap:4px;font-size:11px;display:flex}.table-foot{color:var(--muted);margin:12px 0 0;font-size:11px}.inline-error{color:#994633;background:#fff1ec;border-radius:6px;align-items:center;gap:7px;padding:10px;font-size:12px;line-height:1.4;display:flex}.capability-note{color:#6d7e76;border-top:1px solid #dfe5df;gap:9px;margin-top:28px;padding-top:18px;font-size:11px;line-height:1.5;display:flex}.capability-note svg{color:var(--teal);flex:none}.login-layout{background:var(--paper);grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-art{color:#f7f5f0;background:#1c2a2a;flex-direction:column;padding:36px 7vw 42px;display:flex}.login-logo{color:#fff}.art-copy{max-width:500px;margin:auto 0 34px}.art-copy .kicker{color:var(--gold)}.art-copy h1{letter-spacing:-.075em;margin:0 0 24px;font-size:clamp(42px,5.4vw,74px);line-height:.96}.art-copy h1 em{color:var(--gold);font-family:Georgia,serif;font-weight:400}.art-copy p:last-child{color:#afbbb3;max-width:390px;line-height:1.65}.login-art img{border-radius:9px;align-self:flex-start;width:min(100%,600px);height:auto;display:block}.login-panel{justify-content:center;align-items:center;padding:36px;display:flex}.login-form{width:min(100%,390px)}.login-form h2{letter-spacing:-.06em;margin:0 0 9px;font-size:28px}.login-form .muted{margin:0 0 28px;font-size:13px;line-height:1.5}.public-page{background:#1c2a2a;place-items:center;min-height:100vh;padding:24px;display:grid}.public-card{text-align:center;background:#fffdf8;border-radius:10px;width:min(100%,510px);padding:58px 44px}.public-card h1{letter-spacing:-.06em;margin:0 0 14px;font-size:38px}.public-card>p:not(.kicker):not(.muted){color:var(--muted);font-size:14px;line-height:1.6}.public-divider{background:var(--line);height:1px;margin:28px 0}.public-card .muted{font-size:12px}.public-mark{margin-bottom:20px}@media (width<=880px){.sidebar{width:205px}.overview-grid,.new-grid{grid-template-columns:1fr}.page{padding-top:38px}.login-layout{grid-template-columns:1fr}.login-art{padding:28px 8vw 36px}.art-copy{margin:76px 0 28px}.login-art img{max-width:600px}.login-panel{padding:56px 8vw 70px}}@media (width<=600px){.sidebar{display:none}.mobile-brand{display:flex}.topbar{height:68px;padding:0 20px}.breadcrumb,.account-name{display:none}.page{padding:32px 20px 48px}.page-heading{margin-bottom:28px;display:block}.page-heading .primary{margin-top:22px}.page h1{font-size:35px}.panel{padding:19px}.page-heading.compact .step-badge{margin-top:20px;display:inline-block}.review-summary{gap:6px}.review-summary div{padding:10px 7px}.review-summary strong{font-size:17px}.dropzone{min-height:165px}.login-art{padding:22px 24px 28px}.login-art img{width:100%}.art-copy{margin:64px 0 25px}.art-copy h1{font-size:49px}.login-panel{padding:45px 24px 56px}.public-card{padding:43px 25px}.public-card h1{font-size:32px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.header-brand{color:var(--ink);align-items:center;gap:12px;font-weight:700;text-decoration:none;display:flex}.brand-logo{flex:none;width:30px;height:auto;display:block}.hero-icon{color:#896014;background:#f7e5bd;border-radius:24px;flex:none;place-items:center;width:88px;height:88px;display:grid}.settings-panel fieldset{border:0;min-width:0;margin:0;padding:0}.settings-panel .consent{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;line-height:1.6;display:flex}.settings-panel .consent input{width:18px;height:18px;accent-color:var(--teal);flex:none;margin:3px 0}.start-button{margin-top:14px}.result-heading{align-items:center;gap:22px;margin-bottom:30px;display:flex}.result-heading h2{font-size:30px}.result-heading p{color:var(--muted)}.winner-rank{color:#735018;background:#f7e5bd;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.share-box{background:#eef3ec;border-radius:10px;margin-top:30px;padding:22px}.share-box label{font-size:14px;font-weight:700}.share-box>div{gap:10px;margin-top:12px;display:flex}.share-box input{border:1px solid var(--line);min-width:0;font:inherit;background:#fff;border-radius:7px;flex:1;padding:12px}.share-box p{color:var(--muted);font-size:12px;line-height:1.5}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #da982c}@media (width<=600px){.header-brand{font-size:13px}.topbar .step-badge{font-size:8px}.page-heading>.hero-icon{display:none}.share-box>div{flex-direction:column}.result-heading .hero-icon{width:62px;height:62px}.result-heading h2{font-size:24px}.table-wrap table{min-width:360px}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.settings-panel textarea{font:inherit;resize:vertical;min-height:100px;color:var(--ink);background:#fff;border:1px solid #cfd6cf;border-radius:6px;padding:12px}.count-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.count-fields input{width:100%;min-width:0}.duplicate-confirm{align-items:flex-start;gap:10px;margin-top:12px;font-size:12px;line-height:1.6;display:flex}.duplicate-confirm input{accent-color:var(--teal);margin-top:4px}.prize-list{background:#f5efe0;border-radius:8px;margin-bottom:28px;padding:18px 22px}.prize-list h3{margin:0 0 8px}.prize-list ul{overflow-wrap:anywhere;margin:0;padding-left:22px;line-height:1.8}.result-list{margin-top:28px}.result-list h3{margin-bottom:14px;font-size:18px}.result-list td{overflow-wrap:anywhere}.prize-setting{border:1px solid var(--line);background:#f8faf5;border-radius:9px;margin:16px 0;padding:16px}.prize-setting-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.prize-setting-title .secondary{min-height:30px;padding:0 10px;font-size:11px}.settings-panel .prize-setting label{margin:14px 0}.award-result{border-top:1px solid var(--line);padding:26px 0}.award-result>h2{color:var(--teal);overflow-wrap:anywhere}.content{flex-direction:column;min-height:100dvh;display:flex}.site-footer{--brand:#ff715b;--brand-ink:#073b39;z-index:20;background:var(--brand);color:var(--brand-ink);padding-bottom:env(safe-area-inset-bottom);margin-top:auto;position:sticky;bottom:0;box-shadow:0 -6px 20px #073b391f}.site-footer-inner{justify-content:space-between;align-items:center;gap:12px 32px;max-width:1260px;margin:0 auto;padding:14px 4.5%;display:flex}.footer-brand{flex:none;line-height:0;display:block}.footer-brand img{width:auto;height:28px;display:block}.footer-note{flex:1;min-width:0;margin:0;font-size:14px;line-height:1.4}.footer-note strong{font-weight:800}.footer-meta{letter-spacing:.04em;flex:none;align-items:center;gap:18px;font:12px Space Mono,monospace;display:flex}.footer-meta a{color:var(--brand-ink);border-bottom:1.5px solid;padding-bottom:1px;font-weight:700;text-decoration:none}.footer-meta a:hover{border-bottom-color:#0000}.site-footer a:focus-visible{outline:3px solid var(--brand-ink);outline-offset:4px}@media (width<=880px){.footer-copy{display:none}}@media (width<=600px){.site-footer-inner{gap:12px;padding:10px 16px}.footer-brand img{height:22px}.footer-note{font-size:12px}.footer-meta{display:none}}.confetti-canvas{pointer-events:none;z-index:100;width:100vw;height:100vh;position:fixed;inset:0}.draw-overlay{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#073b39eb;place-items:center;padding:24px;animation:.3s ease-out overlay-in;display:grid;position:fixed;inset:0}.draw-card{text-align:center;color:#f7f5f0;width:min(100%,520px)}.draw-card .kicker{color:#ff715b;margin-bottom:22px}.draw-trophy{color:#073b39;background:#ff715b;border-radius:24px;place-items:center;width:84px;height:84px;margin:0 auto 26px;animation:.9s ease-in-out infinite trophy-shake;display:grid}.draw-slot{color:#073b39;background:#fffdf8;border-radius:14px;height:84px;position:relative;overflow:hidden;box-shadow:0 0 0 4px #ff715b,0 18px 50px #00000059}.draw-slot:before,.draw-slot:after{content:"";z-index:1;pointer-events:none;height:22px;position:absolute;left:0;right:0}.draw-slot:before{background:linear-gradient(#fffdf8,#0000);top:0}.draw-slot:after{background:linear-gradient(#0000,#fffdf8);bottom:0}.draw-name{flex-direction:column;justify-content:center;height:84px;padding:0 18px;animation:70ms ease-out slot-roll;display:flex}.draw-name strong{letter-spacing:-.04em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(20px,5vw,28px);overflow:hidden}.draw-name span{color:#68716e;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.draw-status{color:#cdd7cf;margin:24px 0 0;font-size:14px}.draw-dots{justify-content:center;gap:8px;margin-top:14px;display:flex}.draw-dots i{background:#ff715b;border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite dot}.draw-dots i:nth-child(2){animation-delay:.15s}.draw-dots i:nth-child(3){animation-delay:.3s}.result-panel{animation:.5s cubic-bezier(.2,.8,.2,1) both rise}.result-heading .hero-icon{animation:.8s cubic-bezier(.3,1.6,.5,1) .15s both trophy-pop}.celebrate-button{align-self:center;margin-left:auto}.result-list tbody tr{animation:.45s cubic-bezier(.2,.8,.2,1) both row-in;animation-delay:calc(.35s + var(--i,0) * 70ms)}.result-list.winners tbody tr:first-child .winner-rank{color:#5a3d0c;background:linear-gradient(120deg,#f2b253 30%,#fff3d6 50%,#f2b253 70%) 0 0/250% 100%;animation:2.4s linear 1s infinite shine;box-shadow:0 0 0 3px #f7e5bd}@keyframes overlay-in{0%{opacity:0}}@keyframes slot-roll{0%{opacity:.5;transform:translateY(-18%)}}@keyframes trophy-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-9deg)scale(1.04)}40%{transform:rotate(8deg)}60%{transform:rotate(-5deg)scale(1.04)}80%{transform:rotate(3deg)}}@keyframes trophy-pop{0%{opacity:0;transform:scale(.3)rotate(-25deg)}}@keyframes dot{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@keyframes row-in{0%{opacity:0;transform:translate(-14px)}}@keyframes shine{to{background-position:-150% 0}}@media (width<=600px){.draw-slot,.draw-name{height:72px}.draw-trophy{border-radius:20px;width:68px;height:68px}.celebrate-button{margin-left:0}.result-heading{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.draw-overlay,.draw-trophy,.draw-name,.draw-dots i,.result-panel,.result-heading .hero-icon,.result-list tbody tr,.winner-rank{animation:none!important}}
