:root{color-scheme:dark;--bg:#130f0d;--panel:#211916;--copper:#d59c75;--text:#f4e9df;--muted:#b6a59b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 40%,#39251c 0,transparent 55%),var(--bg);color:var(--text);font-family:Arial,sans-serif;line-height:1.6}header{max-width:1200px;margin:auto;padding:30px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff12}.brand{font-family:Georgia,serif;font-size:36px;letter-spacing:9px;text-decoration:none;color:var(--text);line-height:1}.brand span{display:block;font:9px Arial;letter-spacing:6px;text-align:center;margin-top:10px}.edition,.eyebrow{font-size:10px;letter-spacing:3px;color:var(--copper)}main{max-width:1180px;margin:40px auto 70px;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;padding:0 40px;align-items:center}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.16}h1{font-size:49px;margin:18px 0}h1 em{color:var(--copper);font-weight:400}h2{font-size:33px;margin:16px 0}.lead{max-width:400px;color:var(--muted);font-size:15px}.card{padding:36px;border:1px solid #b17b553d;border-radius:5px;background:linear-gradient(130deg,#2a201bd9,#1a1412);box-shadow:0 20px 70px #0005}.card p{color:var(--muted);font-size:14px}.card .eyebrow{color:var(--copper);font-size:10px}label{display:block;font-size:12px;margin:20px 0 8px}input:not([type=checkbox]){width:100%;background:#100c0a66;border:1px solid #ffffff25;padding:15px;color:var(--text);border-radius:3px;font:14px Arial}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--copper);outline-offset:4px}.check{display:flex;gap:10px;font-size:11px;color:var(--muted);align-items:flex-start}.check input{margin-top:4px;accent-color:var(--copper)}a{color:var(--copper)}button,.button{border:0;background:linear-gradient(100deg,#d7a27e,#b77951);color:#21150e;padding:16px 20px;display:block;width:100%;text-align:center;border-radius:3px;font-size:14px;font-weight:bold;text-decoration:none;cursor:pointer;margin-top:24px}button span{float:right}button:disabled{opacity:.6;cursor:wait}.micro{font-size:10px!important;text-align:center}.wheel-wrap{position:relative;width:330px;height:330px;margin:34px auto 12px;filter:drop-shadow(0 15px 25px #0008)}.wheel{width:100%;height:100%;border-radius:50%;border:8px solid #bc865f;background:conic-gradient(from -36deg,#483025 0deg 72deg,#ba865f 72deg 144deg,#2e211b 144deg 216deg,#8b5c40 216deg 288deg,#60402d 288deg 360deg);position:relative;transition:transform 6s cubic-bezier(.12,.75,.12,1);box-shadow:inset 0 0 0 4px #211710}.pointer{position:absolute;z-index:3;top:-12px;left:calc(50% - 13px);width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:30px solid #f3cfaa}.hub{position:absolute;width:64px;height:64px;border-radius:50%;background:#1d1511;border:2px solid #d3a079;left:calc(50% - 32px);top:calc(50% - 32px);display:grid;place-items:center;font:32px Georgia;color:var(--copper)}.slice{position:absolute;top:calc(50% - 20px);left:calc(50% - 55px);width:110px;text-align:center;font-size:10px;line-height:1.4;letter-spacing:1px}.s0{transform:rotate(0deg) translateY(-104px)}.s1{transform:rotate(72deg) translateY(-104px)}.s2{transform:rotate(144deg) translateY(-104px)}.s3{transform:rotate(216deg) translateY(-104px)}.s4{transform:rotate(288deg) translateY(-104px)}.caption{text-align:center;letter-spacing:2px;font-size:8px;color:var(--muted)}.rules{max-width:1100px;margin:0 auto;padding:35px 40px;border-top:1px solid #ffffff16}.rules p,.rules li{font-size:12px;color:var(--muted)}.rules h2{font-size:27px}.prize{font:27px Georgia!important;color:var(--copper)!important}#code{display:block;overflow-wrap:anywhere}#message{color:#f0b28c}footer{text-align:center;padding:30px;font-size:9px;letter-spacing:3px;color:var(--muted)}[hidden]{display:none!important}.admin{display:block;max-width:1200px}.admin section{margin:25px 0;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:12px;border-bottom:1px solid #ffffff25;text-align:left}select{padding:8px;background:var(--panel);color:var(--text)}.admin input{min-width:70px}.admin .title-input{min-width:300px}pre{white-space:pre-wrap;font-size:11px}@media(max-width:800px){header{padding:24px}.edition{font-size:8px}main{grid-template-columns:1fr;gap:24px;padding:0 24px;margin-top:24px}h1{font-size:38px}.wheel-wrap{width:290px;height:290px}.slice{font-size:9px}.s0{transform:rotate(0deg) translateY(-90px)}.s1{transform:rotate(72deg) translateY(-90px)}.s2{transform:rotate(144deg) translateY(-90px)}.s3{transform:rotate(216deg) translateY(-90px)}.s4{transform:rotate(288deg) translateY(-90px)}.card{padding:26px}.rules{padding:25px}.admin{padding:20px}}@media(prefers-reduced-motion:reduce){.wheel{transition-duration:.01s}}

/* Black UNNA: treatment based on the supplied campaign reference. */
.campaign{--bg:#090604;--panel:#1d130e;--copper:#efb282;--text:#fff0df;--muted:#c6b9ad;background:radial-gradient(ellipse at 0 39%,#a54b1838,transparent 35%),radial-gradient(ellipse at 100% 60%,#9e4d1d38,transparent 35%),linear-gradient(125deg,#160c06,#080604 48%,#1a0d06);min-height:100vh}
.campaign header{justify-content:center;gap:30px;position:relative;padding:30px 24px;border-bottom:0}.campaign .brand{color:#f2b67e;font-size:36px;letter-spacing:3px}.campaign .brand span{letter-spacing:5px}.campaign-brand{font:24px/.95 Georgia,serif;color:#efb282;border-left:1px solid #b47a50;padding-left:26px}.campaign .edition{position:absolute;right:30px;font-size:9px;letter-spacing:2px}.campaign main{gap:70px;margin-top:10px}.campaign .intro{text-align:center;position:relative}.campaign h1{font-size:46px;line-height:1.04;margin-top:18px}.campaign h1 em{font-style:normal;background:linear-gradient(#ffddaa,#d98549);background-clip:text;color:transparent}.campaign .lead{margin:18px auto;font-size:15px}.campaign .eyebrow{letter-spacing:2px}.campaign .wheel-wrap{width:360px;height:360px;margin:40px auto 25px;filter:drop-shadow(0 0 16px #dd722d55)}
.campaign .wheel-wrap:before{content:'';position:absolute;inset:-12px;border:1px solid #b77a43;border-radius:50%;box-shadow:0 0 0 3px #4e2a17,0 0 0 5px #edb47e,0 0 15px 6px #e0773155;pointer-events:none}
.campaign .wheel-wrap:after{content:'';position:absolute;inset:-10px;border-radius:50%;background:conic-gradient(from 15deg,transparent 0 10%,#fff3d9bb 11%,transparent 13% 55%,#ffc995aa 56%,transparent 58%);pointer-events:none}
.campaign .wheel{border:6px solid #b7753e;background:conic-gradient(from -36deg,#29180e 0deg 72deg,#d99455 72deg 144deg,#f5d6a6 144deg 216deg,#b8753b 216deg 288deg,#eed1a0 288deg 360deg);box-shadow:inset 0 0 0 2px #ffcf99,inset 0 0 30px #2b130a99}
.campaign .slice{font-size:10px;letter-spacing:.3px;font-weight:600;color:#fff0d9;text-shadow:0 1px 2px #0005;top:calc(50% - 28px)}.campaign .slice:before{content:'♔';display:block;font:24px/1.3 Georgia;margin-bottom:4px}.campaign .s0{transform:rotate(0deg) translateY(-112px)}.campaign .s1{transform:rotate(72deg) translateY(-112px);color:#211309;text-shadow:none}.campaign .s2{transform:rotate(144deg) translateY(-112px);color:#211309;text-shadow:none}.campaign .s3{transform:rotate(216deg) translateY(-112px);color:#211309;text-shadow:none}.campaign .s4{transform:rotate(288deg) translateY(-112px);color:#211309;text-shadow:none}
.campaign .hub{width:76px;height:76px;left:calc(50% - 38px);top:calc(50% - 38px);background:radial-gradient(circle at 35% 20%,#4b2b18,#090604 65%);border:3px solid #e4aa6d;box-shadow:0 0 0 3px #3e2315,0 0 16px #0009;color:#eaa667;font:38px Georgia}.campaign .pointer{top:-22px;border-top:44px solid #ffc68a;border-left-width:15px;border-right-width:15px;left:calc(50% - 15px);filter:drop-shadow(0 2px 2px #4d1f08)}
.campaign .card{border:1px solid #b879495e;border-radius:18px;background:linear-gradient(145deg,#24170dd9,#0c0805ee);box-shadow:0 15px 60px #0007,inset 0 1px 0 #ffe2b729;padding:34px}.campaign h2{font-size:35px}.campaign input:not([type=checkbox]){border:1px solid #a78d7066;border-radius:9px;background:linear-gradient(120deg,#2c2620,#211b17);padding:16px;color:#fff1e5}.campaign button,.campaign .button{background:linear-gradient(180deg,#ffcf98 0%,#eea061 26%,#e88f4a 60%,#bf602a 100%);border:1px solid #f7b778;box-shadow:inset 0 2px 3px #fff3d799,0 0 15px #e47c3133;border-radius:30px;padding:17px 20px;color:#160b05;font-size:13px;letter-spacing:.3px}.campaign button:hover,.campaign .button:hover{filter:brightness(1.1)}.campaign button span{font-size:25px;line-height:19px}.campaign .prize{border:1px solid #a66c425e;padding:24px 18px;border-radius:12px;background:linear-gradient(130deg,#5d301f44,#170d07);font-size:31px!important;color:#ffc28d!important;text-align:center}.campaign #result{text-align:center}.campaign #result-heading{color:#efb282}.campaign #person{margin-bottom:5px}.campaign #masked{margin-top:0}.campaign .rules{border-top-color:#a56c4338}.campaign footer{color:#bb8c69}.campaign .settled{transition:none}.campaign.has-result .intro h1{font-size:42px}
@media(max-width:800px){.campaign header{padding:28px 20px 14px;gap:20px}.campaign .brand{font-size:30px}.campaign-brand{font-size:20px;padding-left:20px}.campaign .edition{display:none}.campaign main{padding:0 22px;gap:22px;margin-top:14px}.campaign .intro>.eyebrow{font-size:8px}.campaign h1{font-size:37px}.campaign .lead{font-size:13px}.campaign .wheel-wrap{width:min(300px,calc(100vw - 76px));height:auto;aspect-ratio:1;margin-top:32px}.campaign .wheel{height:100%;position:absolute}.campaign .slice{font-size:8px;width:90px;left:calc(50% - 45px);top:calc(50% - 25px)}.campaign .slice:before{font-size:20px}.campaign .s0{transform:rotate(0deg) translateY(-85px)}.campaign .s1{transform:rotate(72deg) translateY(-85px)}.campaign .s2{transform:rotate(144deg) translateY(-85px)}.campaign .s3{transform:rotate(216deg) translateY(-85px)}.campaign .s4{transform:rotate(288deg) translateY(-85px)}.campaign .hub{width:62px;height:62px;left:calc(50% - 31px);top:calc(50% - 31px);font-size:30px}.campaign .card{padding:25px 22px}.campaign .card h2{font-size:30px}.campaign .caption{font-size:7px;letter-spacing:1.4px}.campaign .rules{padding:26px 24px}.campaign.has-result .intro h1{font-size:34px}}
@media(max-width:350px){.campaign .s0{transform:rotate(0deg) translateY(-72px)}.campaign .s1{transform:rotate(72deg) translateY(-72px)}.campaign .s2{transform:rotate(144deg) translateY(-72px)}.campaign .s3{transform:rotate(216deg) translateY(-72px)}.campaign .s4{transform:rotate(288deg) translateY(-72px)}}
.campaign .slice:before{content:'';width:22px;height:22px;margin:0 auto 5px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M4 10h16v11H4zM3 7h18v4H3zM12 7v14M12 7C3 7 5 0 9 3zM12 7c9 0 7-7 3-4z'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
/* Original supplied UNNA artwork; framing only, source image preserved. */
.campaign header .brand{display:block;position:relative;width:146px;height:116px;overflow:hidden;flex-shrink:0;mix-blend-mode:screen}
.campaign header .brand img{position:absolute;width:180px;height:180px;max-width:none;left:-17px;top:-24px}
.campaign .hub{overflow:hidden;display:block;background:#000}
.campaign .hub img{position:absolute;width:144px;height:144px;max-width:none;left:calc(50% - 72px);top:-15px}
@media(max-width:800px){.campaign header .brand{width:126px;height:100px}.campaign header .brand img{width:156px;height:156px;left:-15px;top:-21px}.campaign .hub img{width:120px;height:120px;left:calc(50% - 60px);top:-13px}}
.campaign header .brand{height:132px}
@media(max-width:800px){.campaign header .brand{height:116px}}
/* Motion campaign flow: focused stage, modal signup, result reveal. */
.campaign main{display:block;max-width:860px;margin:0 auto 48px}.campaign .intro{max-width:610px;margin:auto}.campaign h1{font-size:46px}.campaign .wheel{transition:none;will-change:transform}.campaign .wheel-wrap{width:360px;height:360px}.campaign .launch{max-width:390px;margin:38px auto 18px;font-size:16px;padding:21px 24px;position:relative;overflow:hidden;animation:invite-glow 3s ease-in-out infinite}.campaign .launch:after{content:'';position:absolute;inset:-40% auto -40% -80%;width:35%;background:linear-gradient(100deg,transparent,#fff6,transparent);transform:skewX(-25deg);animation:button-shine 4s ease-in-out infinite}.campaign .launch:disabled{animation:none}.campaign #message{font-size:13px;min-height:22px;max-width:400px;margin:10px auto}.campaign #result-card{max-width:520px;margin:32px auto;animation:prize-reveal .8s cubic-bezier(.16,1,.3,1) both}.campaign dialog{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #d99760;border-radius:22px;background:linear-gradient(145deg,#2b1b11,#0e0906);color:var(--text);padding:36px 28px;box-shadow:0 20px 100px #000c,inset 0 1px 0 #ffdfba44}.campaign dialog[open]{animation:prize-reveal .35s ease-out}.campaign dialog::backdrop{background:#080402c9;backdrop-filter:blur(9px)}.campaign dialog h2{font-size:32px}.campaign dialog>p{font-size:13px;color:var(--muted)}.campaign dialog .eyebrow{color:var(--copper);font-size:10px}.campaign #close-signup{position:absolute;right:12px;top:10px;width:34px;height:34px;padding:0;margin:0;border:1px solid #ffffff30;background:#2d2017;color:#f7dcc7;font-size:24px;box-shadow:none;display:grid;place-items:center}.campaign .is-spinning{pointer-events:auto}.campaign.is-spinning .wheel-wrap:before{animation:spin-glow 1.4s ease-in-out infinite}.campaign .hub img{pointer-events:none}.campaign #form-message{color:#ffbd90}.campaign .rules{max-width:860px}.campaign .intro>.eyebrow{margin-top:8px}
@keyframes invite-glow{0%,100%{box-shadow:inset 0 2px 3px #fff3d799,0 0 20px #e47c3140;transform:translateY(0)}50%{box-shadow:inset 0 2px 3px #fff3d799,0 0 35px #e47c3180;transform:translateY(-3px)}}
@keyframes button-shine{0%,60%{left:-80%}100%{left:150%}}
@keyframes prize-reveal{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes spin-glow{50%{box-shadow:0 0 0 3px #4e2a17,0 0 0 5px #edb47e,0 0 38px 12px #e0773180}}
@media(max-width:800px){.campaign main{padding:0 22px}.campaign h1{font-size:35px}.campaign header{padding-top:12px;padding-bottom:0}.campaign .wheel-wrap{width:min(310px,calc(100vw - 70px));height:auto;aspect-ratio:1}.campaign .launch{font-size:14px;margin-top:32px}.campaign .intro>.eyebrow{margin-top:0}.campaign .caption{line-height:1.7}.campaign #result-card{padding:24px 18px}}
@media(prefers-reduced-motion:reduce){.campaign *, .campaign *:before,.campaign *:after{animation:none!important;scroll-behavior:auto!important}}
.campaign header{padding-top:10px;padding-bottom:10px}.campaign header .brand{height:108px;width:128px}.campaign header .brand img{width:150px;height:150px;left:-11px;top:-20px}.campaign h1{font-size:39px;margin:12px 0}.campaign .wheel-wrap{width:320px;height:320px;margin-top:30px}.campaign .lead{margin:12px auto}.campaign .launch{margin-top:30px}.campaign .s0{transform:rotate(0deg) translateY(-99px)}.campaign .s1{transform:rotate(72deg) translateY(-99px)}.campaign .s2{transform:rotate(144deg) translateY(-99px)}.campaign .s3{transform:rotate(216deg) translateY(-99px)}.campaign .s4{transform:rotate(288deg) translateY(-99px)}
@media(max-width:800px){.campaign h1{font-size:30px}.campaign .wheel-wrap{width:min(290px,calc(100vw - 70px));height:auto}.campaign .s0{transform:rotate(0deg) translateY(-85px)}.campaign .s1{transform:rotate(72deg) translateY(-85px)}.campaign .s2{transform:rotate(144deg) translateY(-85px)}.campaign .s3{transform:rotate(216deg) translateY(-85px)}.campaign .s4{transform:rotate(288deg) translateY(-85px)}}
@media(max-width:350px){.campaign .s0{transform:rotate(0deg) translateY(-72px)}.campaign .s1{transform:rotate(72deg) translateY(-72px)}.campaign .s2{transform:rotate(144deg) translateY(-72px)}.campaign .s3{transform:rotate(216deg) translateY(-72px)}.campaign .s4{transform:rotate(288deg) translateY(-72px)}}
/* Compact signup; rules live in their own dialog, never below the CTA. */
.campaign #signup{position:fixed;inset:auto 0 auto;top:var(--dialog-center,50dvh);transform:translateY(-50%);margin:0 auto;width:min(350px,calc(100vw - 36px));max-height:calc(var(--visible-height,100dvh) - 20px);overflow:hidden;padding:22px 20px;border-radius:18px}.campaign #signup[open]{animation:modal-fade .25s ease-out}.campaign #signup h2{font-size:25px;line-height:1.1;margin:6px 0 8px}.campaign #signup .signup-intro{font-size:12px;margin:0 0 12px}.campaign #signup label:not(.check){margin:12px 0 5px;font-size:12px}.campaign #signup input:not([type=checkbox]){font-size:16px;padding:11px 12px;height:43px}.campaign #signup .check{font-size:10px;line-height:1.45;margin:12px 0}.campaign #signup #phone-help{font-size:9px!important;margin:6px 0;text-align:left}.campaign #signup button[type=submit]{margin-top:14px;padding:13px 15px;font-size:12px}.campaign #form-message:empty{display:none}.campaign #form-message{font-size:11px;margin:9px 0 0}.campaign .short-viewport #signup{padding:15px 18px}.campaign.short-viewport #signup .signup-intro{display:none}.campaign.short-viewport #signup h2{font-size:21px;margin:0 0 6px}.campaign.short-viewport #signup label:not(.check){margin-top:7px}.campaign.short-viewport #signup .check{margin:8px 0}.campaign.short-viewport #signup #phone-help{display:none}.campaign.short-viewport #signup button[type=submit]{margin-top:8px;padding:11px}.campaign #rules-dialog{padding:28px 20px;max-height:85dvh;width:min(560px,calc(100vw - 32px));overflow-y:auto}.campaign #rules-dialog .rules{border:0;padding:0}.campaign #rules-dialog .eyebrow{font-size:9px}.close-dialog{position:absolute;right:12px;top:10px;width:30px!important;height:30px;padding:0!important;margin:0!important;font-size:24px!important}.campaign footer{padding:16px 20px;font-size:8px}.campaign #message:empty{display:none}.campaign #message{font-size:12px}.campaign .celebration{display:none;pointer-events:none}.campaign.has-result .celebration{display:block;position:absolute;inset:0;overflow:hidden;z-index:0}.ribbon{position:absolute;width:9px;height:22px;background:linear-gradient(110deg,#8f4925,#ffdc9d,#b76634);border-radius:2px;animation:ribbon-fall 2.7s ease-out both}.r0{left:5%;top:12%}.r1{left:18%;top:34%;animation-delay:.1s}.r2{left:91%;top:19%;animation-delay:.2s}.r3{left:78%;top:46%;animation-delay:.1s}.r4{left:8%;top:65%;animation-delay:.3s}.r5{left:92%;top:72%}.r6{left:30%;top:9%;animation-delay:.4s}.r7{left:69%;top:7%}.r8{left:14%;top:48%;animation-delay:.2s}.r9{left:86%;top:40%}.r10{left:24%;top:72%;animation-delay:.1s}.r11{left:75%;top:79%;animation-delay:.3s}.campaign.has-result main{max-width:650px;margin-bottom:10px}.campaign.has-result .intro h1{font-size:37px;line-height:1.05;margin:10px 0 20px}.campaign.has-result .intro>.eyebrow{display:none}.campaign.has-result .wheel-wrap{width:230px;height:230px;margin:26px auto 18px}.campaign.has-result .slice{font-size:7px;width:74px;left:calc(50% - 37px);top:calc(50% - 23px)}.campaign.has-result .slice:before{width:16px;height:16px;margin-bottom:3px}.campaign.has-result .s0{transform:rotate(0deg) translateY(-65px)}.campaign.has-result .s1{transform:rotate(72deg) translateY(-65px)}.campaign.has-result .s2{transform:rotate(144deg) translateY(-65px)}.campaign.has-result .s3{transform:rotate(216deg) translateY(-65px)}.campaign.has-result .s4{transform:rotate(288deg) translateY(-65px)}.campaign.has-result .hub{width:56px;height:56px;left:calc(50% - 28px);top:calc(50% - 28px)}.campaign.has-result .hub img{width:110px;height:110px;left:calc(50% - 55px);top:-12px}.campaign #result-card{max-width:420px;padding:22px 20px 16px;border-color:#ce965f;box-shadow:inset 0 1px 0 #ffe0b944,0 0 24px #bd703020;margin:14px auto}.campaign #result-heading{font:25px Georgia,serif;letter-spacing:0;color:#ffead4;margin:0 0 14px}.campaign #result-card .prize{font-size:29px!important;line-height:1.15;text-transform:uppercase;border:0;padding:0;background:linear-gradient(#ffe7bc,#e18c49);background-clip:text;color:transparent!important;margin:10px 0 15px}.campaign #result-card .winner{font-size:11px;margin:10px 0}.campaign #result-card p{font-size:11px;line-height:1.5}.campaign #result-card #code{font-size:10px;letter-spacing:1px}.campaign #result-card .button{font-size:14px;margin-top:18px;padding:16px 18px}.campaign #result-card .micro{margin-bottom:0;font-size:10px!important}.campaign.has-result header{padding-top:5px;padding-bottom:0}
@keyframes modal-fade{from{opacity:0}to{opacity:1}}
@keyframes ribbon-fall{from{opacity:0;transform:translateY(-60px) rotate(0deg)}25%{opacity:1}to{opacity:.8;transform:translateY(25px) rotate(150deg)}}
@media(max-width:800px){.campaign.has-result .intro h1{font-size:32px}.campaign.has-result .wheel-wrap{width:220px;height:220px}.campaign.has-result header .brand{height:92px}.campaign #result-card{margin-top:15px}.campaign #result-card .prize{font-size:25px!important}}
@media(prefers-reduced-motion:reduce){.campaign .ribbon{animation:none!important}.campaign #signup[open]{animation:none!important}}
html:has(dialog[open]),body.campaign:has(dialog[open]){overflow:hidden}
.campaign #prize-conditions{font-size:14px!important;color:#f0bd91;margin:8px 0 14px}.campaign #prize-conditions:empty{display:none}.campaign.short-viewport #signup{padding:15px 18px}.campaign.short-viewport #signup input:not([type=checkbox]){height:40px;padding:9px 11px}.campaign.short-viewport #signup label:not(.check){font-size:11px;line-height:1.2}.campaign.short-viewport #signup .check{font-size:9px;line-height:1.3}
/* Rotating square bounds must not contribute to horizontal page overflow. */
html{overflow-x:hidden;overflow-x:clip}
body.campaign{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}
.campaign main,.campaign .intro{min-width:0}
.campaign .wheel-viewport{position:absolute;inset:0;overflow:hidden;border-radius:50%;isolation:isolate}
.campaign .wheel-viewport .wheel{position:absolute;inset:0;width:100%;height:100%;margin:0}
.campaign .launch{width:100%;min-width:0;box-sizing:border-box}
/* Continuous copper confetti on the saved-prize screen. */
.campaign.has-result .celebration{position:fixed;inset:0;z-index:4;overflow:hidden;pointer-events:none;contain:strict}
.campaign.has-result .ribbon{top:-32px;width:7px;height:17px;opacity:0;animation:confetti-loop var(--fall-duration,7s) linear infinite;animation-delay:var(--fall-delay,0s);will-change:transform,opacity}
.campaign .r0{--fall-delay:-.5s;--fall-duration:6.5s;--drift:22px}
.campaign .r1{--fall-delay:-4s;--fall-duration:8s;--drift:-20px}
.campaign .r2{--fall-delay:-2s;--fall-duration:7.5s;--drift:-26px}
.campaign .r3{--fall-delay:-5s;--fall-duration:6.8s;--drift:18px}
.campaign .r4{--fall-delay:-3s;--fall-duration:8.5s;--drift:28px}
.campaign .r5{--fall-delay:-6s;--fall-duration:7.8s;--drift:-30px}
.campaign .r6{--fall-delay:-1s;--fall-duration:7s;--drift:24px}
.campaign .r7{--fall-delay:-4.5s;--fall-duration:8.2s;--drift:-18px}
.campaign .r8{--fall-delay:-2.7s;--fall-duration:6.9s;--drift:16px}
.campaign .r9{--fall-delay:-5.7s;--fall-duration:7.6s;--drift:-24px}
.campaign .r10{--fall-delay:-1.7s;--fall-duration:8.7s;--drift:20px}
.campaign .r11{--fall-delay:-6.4s;--fall-duration:8.1s;--drift:-22px}
@keyframes confetti-loop{0%{opacity:0;transform:translate3d(0,0,0) rotate(0deg)}8%{opacity:.9}88%{opacity:.85}100%{opacity:0;transform:translate3d(var(--drift,20px),calc(100dvh + 64px),0) rotate(720deg)}}
@media(prefers-reduced-motion:reduce){.campaign.has-result .celebration{display:none}}
.campaign .slice small{display:block;font-size:.82em;font-weight:400;line-height:1.2;margin-top:3px;letter-spacing:0}
/* Administration: export and explicit per-participant deletion. */
.admin .export-csv{width:auto;max-width:100%;margin:0 0 10px;padding:12px 20px}.admin .export-note{font-size:12px;color:var(--muted)}.admin .delete-entry,.admin-confirm .delete-entry{background:#55291e;border:1px solid #bf785c;color:#ffe5d7;padding:9px 13px;margin:0;width:auto;white-space:nowrap;font-size:12px}.admin-confirm{width:min(420px,calc(100vw - 32px));max-height:85dvh;overflow-y:auto;background:#211612;color:var(--text);border:1px solid #b8805f;border-radius:16px;padding:26px}.admin-confirm::backdrop{background:#000b;backdrop-filter:blur(5px)}.admin-confirm h2{font-size:28px;margin-top:0}.admin-confirm p{font-size:13px;overflow-wrap:anywhere}.admin-confirm-actions{display:flex;gap:12px;flex-wrap:wrap}.admin-confirm-actions button{margin:0;flex:1;min-width:120px;padding:12px}.admin-confirm #delete-error{color:#ffb58d}.admin #message{overflow-wrap:anywhere}
