:root{color-scheme:dark;--bg:#11120f;--surface:#1b1d18;--raised:#282b23;--line:#3b4033;--text:#f6f7f0;--muted:#afb4a5;--accent:#ffe34d;--ink:#22200f;--good:#ffe34d;--radius:8px;font-family:Arial,Helvetica,sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.55}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;color:inherit;background:transparent}button:disabled{opacity:.48;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.8rem,4vw,2.55rem);letter-spacing:-.065em;line-height:1.13;font-weight:750}h2{font-size:1.35rem;letter-spacing:-.04em;line-height:1.3}h3{font-size:1.05rem;letter-spacing:-.02em}p{color:var(--muted)}small,.small{font-size:.875rem;color:var(--muted)}.shell{max-width:1120px;margin:auto;padding:0 44px 60px}.top{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-weight:750;letter-spacing:-.04em;font-size:1.25rem}.brand-mark{width:42px;height:42px;border-radius:14px;background:var(--accent);color:var(--ink);display:inline-grid;place-items:center;font-size:2rem;line-height:1;letter-spacing:-.12em;font-weight:800;padding-right:4px}.identity{display:flex;gap:10px;align-items:center}.avatar{height:38px;width:38px;border-radius:50%;background:var(--raised);display:grid;place-items:center;color:var(--accent);font-weight:700}.nav{display:flex;gap:12px;padding:24px 0 30px}.nav button{display:flex;align-items:center;gap:9px;padding:11px 18px;border-radius:12px;font-size:.9rem;font-weight:650;color:var(--muted)}.nav button.active{background:var(--raised);color:var(--text)}.nav button.active svg{color:var(--accent)}.demo-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#2b2a1c;border-bottom:1px solid #565333;padding:10px max(24px,calc((100vw - 1032px)/2));font-size:.875rem;color:#ffe34d}.demo-banner button{font-size:.875rem;text-decoration:underline;text-underline-offset:4px}.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 28px}.eyebrow{display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:750;color:var(--muted);margin-bottom:12px}.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.heading p{margin-top:12px}.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:30px;padding:6px 12px;font-size:.875rem;white-space:nowrap;color:var(--muted)}.pill.active{color:var(--good);border-color:#777144}.pill.finished{color:var(--accent)}.pill.draft{color:#ddd2a5}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:26px;text-align:left;position:relative}.giveaway{display:flex;flex-direction:column;align-items:stretch;min-height:310px;transition:background .18s,border-color .18s}.giveaway:hover{background:#252920;border-color:#edcf52}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.prize-number{font-size:4.8rem;line-height:1;font-weight:650;letter-spacing:-.075em;color:var(--accent);margin:20px 0 16px}.prize-number span{font-size:.875rem;letter-spacing:0;color:var(--muted);font-weight:500;margin-left:12px}.giveaway h2{max-width:310px;margin-bottom:20px}.card-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;gap:10px}.arrow{height:40px;width:40px;border-radius:50%;display:grid;place-items:center;background:var(--raised);color:var(--accent)}.meta{display:flex;align-items:center;gap:7px;font-size:.875rem;color:var(--muted)}.meta svg{width:17px;height:17px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:32px 0 16px}.empty{border:1px dashed var(--line);border-radius:24px;padding:48px 24px;text-align:center}.empty svg{color:var(--accent);width:32px;height:32px;margin-bottom:14px}.empty p{margin:12px auto 22px;max-width:420px}.primary,.secondary,.danger{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:13px 20px;border-radius:14px;font-weight:750;font-size:.94rem}.primary{background:var(--accent);color:var(--ink)}.primary:hover{background:#ffeb80}.secondary{background:var(--raised);border:1px solid var(--line)}.secondary:hover{background:#353a2d}.danger{background:#30211e;color:#ffbbb0;border:1px solid #6c453e}.full{width:100%}.back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.875rem;padding:0 0 24px}.back svg{width:18px}.detail-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}.detail-main,.detail-side{display:grid;gap:20px}.detail-cover{padding:30px;background:linear-gradient(125deg,#ffe34d,#1b1d18 70%);border:1px solid #ffe34d;border-radius:24px}.detail-cover h1{margin:24px 0 28px;max-width:400px}.facts{display:flex;gap:25px;border-top:1px solid #989048;padding-top:22px}.facts strong{font-size:1.25rem;display:block;color:var(--text);letter-spacing:-.04em}.facts small{display:block;margin-top:3px}.progress-top{display:flex;justify-content:space-between;align-items:center}.progress-big{font-size:3rem;letter-spacing:-.07em;font-weight:700;color:var(--accent);line-height:1.2;margin:18px 0 14px}.progress-big span{font-size:1.25rem;color:var(--muted);letter-spacing:-.04em}.track{height:8px;background:#3c3b29;border-radius:8px;overflow:hidden;margin:12px 0}.track>span{display:block;background:var(--accent);height:100%;border-radius:8px}.note{font-size:.875rem;color:var(--muted);margin-top:14px}.success{color:var(--good)}.steps{margin-top:22px}.step{display:flex;gap:14px;align-items:flex-start;padding:17px 0;border-top:1px solid var(--line)}.step-number{flex-shrink:0;width:29px;height:29px;border:1px solid #6d6945;border-radius:50%;display:grid;place-items:center;font-size:.875rem;color:var(--accent)}.step p{font-size:.875rem;margin-top:5px}.channel{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.channel:last-of-type{margin-bottom:20px}.channel-icon{width:38px;height:38px;display:grid;place-items:center;background:var(--raised);border-radius:12px;color:var(--accent);flex-shrink:0}.channel a{flex:1;min-width:0;overflow-wrap:anywhere}.channel a strong{display:block;font-size:.95rem}.channel a small{display:block;margin-top:2px}.channel-status{color:var(--good)}.channel-status.unknown{color:var(--muted)}.stack{display:grid;gap:12px}.link-box{padding:13px 15px;background:var(--bg);border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere;font-size:.875rem;color:#dbe6bf;margin:18px 0 12px}.rules{padding:20px 24px;border:1px solid var(--line);border-radius:18px;color:var(--muted);font-size:.875rem}.rules summary{cursor:pointer;color:var(--text);font-size:.94rem}.rules p{margin-top:15px}.rules ol{padding-left:22px;margin-bottom:0}.rules li{padding:4px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}.stat strong{font-size:1.9rem;letter-spacing:-.05em;font-weight:650;display:block}.stat small{display:block;margin-top:5px}.filters{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.filters button{border:1px solid var(--line);color:var(--muted);padding:8px 15px;border-radius:20px;font-size:.875rem}.filters button.selected{color:var(--ink);background:var(--accent);border-color:var(--accent)}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 0;border-bottom:1px solid var(--line);width:100%;text-align:left}.admin-row h3{margin-bottom:7px}.admin-row>div:first-child{flex:1}.admin-row svg{color:var(--muted)}.form{max-width:780px}.form-section{border:1px solid var(--line);border-radius:24px;background:var(--surface);padding:28px;margin-bottom:20px}.form-section h2{margin-bottom:24px;display:flex;gap:12px;align-items:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:grid;gap:9px;margin:0 0 20px}.field:last-child{margin-bottom:0}.field label{font-size:.94rem;font-weight:650}.field small{font-size:.875rem}.field input{width:100%;min-width:0;min-height:50px;padding:12px 14px;color:var(--text);background:var(--bg);border:1px solid #454d3a;border-radius:12px}.field input::placeholder{color:#979d8d}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:24px 0}.error{background:#30221e;border:1px solid #6f493f;padding:15px 18px;border-radius:14px;color:#ffc2b4;margin-bottom:20px}.people-list{display:grid;gap:0}.person{padding:18px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:14px}.person .person-main{flex:1;min-width:0}.person strong{display:block;overflow-wrap:anywhere}.person small{display:block;margin-top:3px}.person-score{font-size:1.3rem;letter-spacing:-.03em;color:var(--accent)}.pagination{display:flex;justify-content:center;gap:12px;margin-top:20px}.winner-rank{width:34px;color:var(--accent);font-size:1.4rem;font-weight:700}.gate{max-width:450px;padding:80px 24px;margin:auto;text-align:center}.gate h1{margin:24px 0 18px}.gate p{margin-bottom:28px}.gate .brand-mark{width:64px;height:64px;font-size:3rem;border-radius:20px}.footnote{margin:36px 0 0;text-align:center;font-size:.875rem;color:var(--muted)}#toast{position:fixed;z-index:20;bottom:100px;left:50%;transform:translate(-50%,16px);padding:14px 20px;max-width:calc(100vw - 32px);width:max-content;background:#e9eedc;color:#20271a;border-radius:14px;box-shadow:0 10px 40px #0008;font-size:.94rem;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:24px;padding:28px;max-width:450px;width:calc(100vw - 32px)}dialog::backdrop{background:#000a}dialog p{margin:16px 0 24px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end}.loading{animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.5}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:700px){.shell{padding:0 20px 115px}.top{height:82px}.identity .name{display:none}.nav{position:fixed;z-index:10;bottom:0;left:0;right:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:4px;justify-content:space-around;background:#151810fa;backdrop-filter:blur(14px);border-top:1px solid var(--line)}.nav button{flex:1;flex-direction:column;gap:5px;font-size:.75rem;padding:7px 3px;border-radius:10px}.nav button svg{width:22px;height:22px}.nav button.active{background:transparent;color:var(--accent)}.heading{margin:28px 0 24px;align-items:flex-start}.heading p{font-size:.94rem}.heading>.pill{display:none}.grid{grid-template-columns:1fr;gap:16px}.giveaway{min-height:280px}.giveaway h2{font-size:1.35rem}.card{padding:23px}.prize-number{font-size:4.25rem;margin:18px 0}.detail-layout{grid-template-columns:1fr;gap:20px}.detail-cover{padding:24px}.detail-cover h1{font-size:2.15rem}.back{padding-top:24px}.detail-side{gap:18px}.facts{gap:20px}.facts strong{font-size:1.13rem}.demo-banner{padding:10px 20px;font-size:.8rem}.demo-banner span{max-width:235px}.stats{gap:9px}.stat{padding:16px 12px}.stat strong{font-size:1.5rem}.stat small{font-size:.8rem}.admin-row .pill{font-size:.75rem;padding:5px 9px}.form-section{padding:23px}.form-grid{grid-template-columns:1fr;gap:0}.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions p{font-size:.875rem;text-align:center}.heading .primary{padding:11px 13px;font-size:.875rem}.heading .primary svg{display:none}.card-top .eyebrow{margin:0}.rules{padding:20px}.detail-main .card h2{font-size:1.2rem}}
@media(min-width:701px){.detail-side{position:sticky;top:24px}.grid .giveaway:first-child{background:linear-gradient(125deg,#2b2a1d,#1b1d18 70%);border-color:#85803d}.page{min-height:60vh}}

/* Independent identity: numbered draw tickets, banana yellow ink and editorial typography. */
h1{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-weight:900;letter-spacing:.005em;text-transform:uppercase;font-size:clamp(2.3rem,5vw,4rem);line-height:1.02}h2{letter-spacing:-.025em;font-weight:800}.shell{max-width:1220px}.top{height:96px;border-bottom:2px solid var(--text)}.brand{font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;gap:14px}.brand-mark{font-family:Arial,sans-serif;border-radius:0;width:44px;height:44px;font-size:1.45rem;letter-spacing:-.13em;transform:rotate(-7deg);padding-right:3px}.avatar{border-radius:4px;border:1px solid var(--line);font-family:monospace}.nav{gap:0;padding:0;margin:0 0 36px;border-bottom:1px solid var(--line)}.nav button{border-radius:0;padding:20px 22px;border-bottom:3px solid transparent;font-weight:700}.nav button.active{background:transparent;color:var(--accent);border-bottom-color:var(--accent)}.heading{margin:8px 0 32px}.heading .eyebrow{font-family:monospace;letter-spacing:.1em}.eyebrow .dot{border-radius:0;width:8px;height:8px}.pill{border-radius:3px;padding:5px 9px;font-size:.8125rem;font-family:monospace}.grid{grid-template-columns:1fr;gap:18px}.giveaway{display:grid;grid-template-columns:minmax(0,1fr) 170px;grid-template-rows:auto 1fr auto;min-height:230px;padding:0;border-radius:8px;background:var(--surface)!important;border-color:var(--line)!important;overflow:hidden}.giveaway:hover{border-color:var(--accent)!important;transform:translateY(-2px)}.giveaway .card-top{grid-column:1;padding:22px 28px 0;justify-content:flex-start;gap:16px}.giveaway h2{grid-column:1;grid-row:2;font-size:1.8rem;max-width:620px;margin:0;padding:22px 28px;align-self:center}.giveaway .card-bottom{grid-column:1;grid-row:3;padding:17px 28px;border-top:1px solid var(--line);margin:0}.ticket-stub{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--accent);color:var(--ink);border-left:2px dashed #a49a4d;position:relative;padding:24px 14px;gap:12px}.ticket-stub::before,.ticket-stub::after{content:"";position:absolute;left:-10px;width:18px;height:18px;background:var(--bg);border-radius:50%}.ticket-stub::before{top:-9px}.ticket-stub::after{bottom:-9px}.ticket-stub .prize-number{font-family:Impact,"Arial Narrow",sans-serif;font-size:5.5rem;color:var(--ink);margin:0;letter-spacing:-.02em}.ticket-stub .prize-label{font-family:monospace;font-size:.875rem;text-transform:uppercase}.ticket-stub .stub-id{font-family:monospace;font-size:.75rem;margin-top:12px;border-top:1px solid #a49a4d;padding-top:12px;width:100%;text-align:center;overflow-wrap:anywhere}.giveaway.closed .ticket-stub{background:#d9ddcf;color:#20241a}.arrow{border-radius:3px;width:34px;height:34px;background:transparent;color:var(--text)}.ticket-cta{display:flex;align-items:center;gap:10px;font-size:.875rem;font-weight:700}.primary,.secondary,.danger{border-radius:5px}.primary{font-weight:800}.card:not(.giveaway){border-radius:8px}.detail-cover{background:var(--accent);color:var(--ink);border-radius:8px;border:0;padding:30px;position:relative}.detail-cover h1{font-size:clamp(2.5rem,4vw,3.4rem);max-width:none;overflow-wrap:anywhere}.detail-cover .pill{border-color:#8b823e;color:var(--ink)}.detail-cover .small,.detail-cover small,.detail-cover strong{color:#413e1e}.detail-cover .facts{border-top:2px dashed #9c934b}.detail-cover .card-top{flex-wrap:wrap}.progress-big{font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.02em;font-size:4.5rem}.track{height:14px;border-radius:0}.track>span{border-radius:0;background:repeating-linear-gradient(90deg,var(--accent) 0,var(--accent) 18px,#d8be35 18px,#d8be35 20px)}.channel-icon,.step-number{border-radius:3px}.link-box{border-radius:4px;font-family:monospace}.rules,.form-section,.stat,.empty,dialog{border-radius:8px}.stat{border-top:3px solid var(--accent)}.stat strong{font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.02em;font-size:2.5rem}.filters button{border-radius:3px}.field input{border-radius:4px}.form-section h2 .step-number{background:var(--accent);color:var(--ink);border:0;font-family:monospace}.section-title{margin-top:40px;border-bottom:1px solid var(--line);padding-bottom:16px}.section-title h2{text-transform:uppercase;font-size:1rem;letter-spacing:.07em}.winner-rank{font-family:Impact,sans-serif}.gate .brand-mark{border-radius:0;font-size:2rem}.demo-banner{background:#29281d;color:#d8d19a;border-bottom-color:#555135}#toast{border-radius:5px}.error{border-radius:5px}.admin-row:hover{background:#20241a}.detail-layout{grid-template-columns:1.12fr 1fr}
@media(min-width:950px){.grid{grid-template-columns:1fr 1fr}.giveaway{grid-template-columns:minmax(0,1fr) 125px;min-height:290px}.giveaway h2{font-size:1.65rem;padding:20px 24px}.giveaway .card-top{padding:22px 24px 0;flex-wrap:wrap;gap:8px}.giveaway .card-bottom{padding:16px 24px}.ticket-stub .prize-number{font-size:4.8rem}.ticket-cta span{display:none}}
@media(max-width:700px){.top{height:80px}.shell{padding:0 16px 115px}.brand{font-size:1rem}.brand-mark{width:37px;height:37px}.nav{margin:0;border-top:1px solid var(--line);border-bottom:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.nav button{font-size:.8125rem;padding:8px 3px;border-bottom:0;border-top:2px solid transparent}.nav button.active{border-top-color:var(--accent)}.heading{margin:28px 0 24px}.heading h1{font-size:2.75rem}.heading p{line-height:1.5}.grid{gap:16px}.giveaway{grid-template-columns:minmax(0,1fr) 92px;min-height:245px}.giveaway .card-top{padding:18px 18px 0;flex-wrap:wrap;gap:8px}.giveaway h2{font-size:1.42rem;line-height:1.2;padding:22px 18px}.giveaway .card-bottom{padding:14px 18px;gap:6px}.ticket-stub{padding:16px 8px}.ticket-stub .prize-number{font-size:3.9rem}.ticket-stub .prize-label{font-size:.75rem}.stub-id{font-size:.75rem}.ticket-cta span{display:none}.meta{font-size:.8125rem}.detail-layout{grid-template-columns:1fr}.detail-cover{padding:24px}.detail-cover h1{font-size:2.65rem}.heading .primary{min-width:90px}.facts{flex-wrap:wrap}.card-top .small{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){.giveaway:hover{transform:none}}

/* Keep the brand mark independent of OS emoji fonts. */
.brand-mark{padding:0;flex-shrink:0}.brand-mark svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter}
