[hidden]{display:none!important}:root{--bg:#0d0f12;--panel:#1b1e24;--panel2:#12151a;--line:#30343d;--text:#f5f6f7;--muted:#969ba7;--accent:#f21f45;--green:#35d07f;--amber:#f7b83d;--red:#ff4f67;--purple:#5865f2;--kick:#53fc18}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% 0,#25141a 0,transparent 30%),var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid #242831;background:#0d0f12e8}.brand{font-weight:950;letter-spacing:.14em;color:#fff;text-decoration:none}.nav-links{display:flex;gap:24px}.nav-links a{color:#9da2ad;text-decoration:none;font-weight:750;font-size:.88rem}.nav-links a.active,.nav-links a:hover{color:#fff}.shell{max-width:1500px;margin:auto;padding:28px 3vw 50px}.hero{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.hero h1{margin:7px 0 4px;font-size:2.3rem}.hero p,.muted{color:var(--muted)}.eyebrow{font-size:.72rem;font-weight:900;letter-spacing:.15em;color:#c0c3cb}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);margin-right:7px}.hero-actions{display:flex;gap:10px;align-items:center}.state-pill{padding:7px 12px;border-radius:999px;border:1px solid;font-weight:900;font-size:.7rem}.state-pill.live{color:var(--green);border-color:#35d07f66;background:#35d07f12}.state-pill.offline{color:#aaa;border-color:#555;background:#222}.dashboard{display:grid;grid-template-columns:360px minmax(420px,1.4fr) minmax(320px,1fr);gap:22px}.panel{background:linear-gradient(#20232a,#191c22);border:1px solid #2d313a;border-radius:14px;padding:20px;min-height:650px}.panel-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:15px}.panel-head h2{margin:0;font-size:1.25rem}.small-badge{font-size:.65rem;background:var(--accent);padding:4px 7px;border-radius:5px;font-weight:900}.field{display:block;margin-bottom:12px}.field span{display:block;color:#b7bbc4;font-size:.76rem;margin-bottom:6px}.field input,.field select,.inline input{width:100%;height:42px;border:1px solid #3a3f49;border-radius:8px;background:#111419;color:#fff;padding:0 10px}.inline{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;margin:-3px 0 13px}.toggle-list{border-top:1px solid #30343d;border-bottom:1px solid #30343d;margin:8px 0 15px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0}.toggle-row b,.toggle-row small{display:block}.toggle-row b{font-size:.8rem}.toggle-row small{font-size:.66rem;color:var(--muted);margin-top:2px}.toggle-row input{display:none}.toggle-row i{width:42px;height:23px;border-radius:999px;background:#484d58;position:relative;flex:none}.toggle-row i:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:.15s}.toggle-row input:checked+i{background:var(--accent)}.toggle-row input:checked+i:after{left:22px}.grid-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.primary,.ghost,.danger,.demo{border:0;border-radius:8px;padding:11px 14px;color:#fff;font-weight:850;cursor:pointer}.primary{background:linear-gradient(135deg,#ff4767,var(--accent))}.ghost{background:#30343c;border:1px solid #444a55}.danger{background:#be1733}.demo{background:#6941c6}.wide{width:100%;margin-top:8px}.small{padding:8px 12px}.notice{padding:11px 14px;border:1px solid #35d07f55;background:#35d07f11;border-radius:9px;margin-bottom:14px}.notice.bad{border-color:#ff4f6755;background:#ff4f6711}.list{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto}.empty{display:grid;place-items:center;text-align:center;color:#858b96;min-height:130px;border:1px dashed #3a3e47;border-radius:10px}.person{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #313640;background:#111419;border-radius:10px}.person img,.winner-item img{width:42px;height:42px;border-radius:50%;background:#333;object-fit:cover}.name{font-weight:850}.meta{color:var(--muted);font-size:.67rem;margin-top:3px}.status-chip{font-size:.62rem;text-transform:uppercase;font-weight:900;border:1px solid;border-radius:999px;padding:5px 8px}.status-chip.eligible{color:var(--green);border-color:#35d07f55}.status-chip.cooldown,.status-chip.off_code{color:var(--red);border-color:#ff4f6755}.draw-bar{display:flex;gap:10px;margin-top:16px}.draw-bar button{flex:1}.winner-item{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid #f21f4544;background:#111419;border-radius:10px}.winner-item strong,.winner-item span{display:block}.winner-item span{font-size:.68rem;color:var(--muted);margin-top:3px}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#000c;padding:20px}.modal-card{width:min(430px,92vw);text-align:center;background:#1c1f25;border:1px solid #f21f4566;border-radius:16px;padding:30px}.modal-card>img{width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid var(--accent)}.winner-kicker{font-size:.7rem;font-weight:950;letter-spacing:.2em;color:#ff5471}.winner-identities{display:grid;gap:7px;text-align:left;background:#111419;border:1px solid #30343c;border-radius:9px;padding:12px;margin:14px 0}.link-btn{display:block;text-decoration:none;margin-bottom:8px}.modal-card button{width:100%}@media(max-width:1050px){.dashboard{grid-template-columns:330px 1fr}.winners-panel{grid-column:1/-1;min-height:auto}}@media(max-width:740px){.dashboard{grid-template-columns:1fr}.winners-panel{grid-column:auto}.nav-links a:not(.active){display:none}.hero{align-items:flex-start}.grid-fields{grid-template-columns:1fr}.inline{grid-template-columns:1fr}}

/* ===== Rust winner effect: Firework Explosion ===== */
.firework-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);padding:18px}.firework-shell{width:min(1080px,96vw);height:min(720px,92vh);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border-radius:10px;border:2px solid #5d4936;background:#17120e;box-shadow:0 30px 100px #000,0 0 0 1px #a46a3344 inset;position:relative}.firework-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 86px,#ffffff06 87px 88px),linear-gradient(180deg,#ffffff04,transparent 12%,transparent 86%,#0008);mix-blend-mode:screen}.firework-topbar,.firework-footer{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:13px 17px;background:linear-gradient(180deg,#2a2119,#18130f);border-bottom:1px solid #5c4633;color:#d8c4aa;letter-spacing:.07em}.firework-footer{border-top:1px solid #5c4633;border-bottom:0;color:#806f5f;font-size:.72rem}.firework-topbar>div{display:flex;align-items:center;gap:10px}.rust-tag{font-size:.62rem;padding:4px 6px;background:#a64627;color:#ffe4ce;border:1px solid #d0653d;font-weight:950;letter-spacing:.12em}.firework-topbar strong{font-size:.8rem}.firework-close{width:34px;height:34px;border:1px solid #654b37;background:#211810;color:#c7b49f;border-radius:5px;font-size:1.3rem;cursor:pointer}.firework-stage{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 110%,#8c351e55 0,transparent 36%),radial-gradient(circle at 22% 30%,#59301833 0,transparent 22%),linear-gradient(#080909 0%,#11100e 52%,#21130d 100%)}.firework-stage:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at center,#ffffff05,transparent 58%),repeating-linear-gradient(0deg,#ffffff025 0 1px,transparent 1px 4px)}.firework-horizon{position:absolute;left:0;right:0;bottom:16%;height:25%;opacity:.85;background:linear-gradient(164deg,transparent 0 11%,#090a09 11.3% 18%,transparent 18.2%),linear-gradient(197deg,transparent 0 16%,#080907 16.2% 23%,transparent 23.2%),linear-gradient(170deg,transparent 0 25%,#0a0a08 25.2% 32%,transparent 32.3%);filter:drop-shadow(0 -4px 12px #000)}.firework-ground{position:absolute;left:-10%;right:-10%;height:23%;bottom:-8%;background:radial-gradient(ellipse at center,#6c2c1b 0,#27150f 42%,#090909 75%);transform:perspective(300px) rotateX(58deg);border-top:2px solid #5f2d1c}.firework-title{position:absolute;z-index:9;left:50%;top:7%;transform:translateX(-50%);font-size:clamp(.75rem,1.6vw,1.05rem);font-weight:1000;letter-spacing:.25em;color:#aa9179;text-shadow:0 2px 8px #000;transition:.35s}.firework-title.confirmed{color:#ffb55c;text-shadow:0 0 18px #e36c2f88}.firework-winners{position:absolute;inset:0;pointer-events:none}.fw-rocket{position:absolute;z-index:4;left:50%;bottom:4%;width:6px;height:14px;transform:translate(-50%,50%);animation:fwLaunch 900ms cubic-bezier(.22,.7,.25,1) var(--delay) forwards}.fw-head{position:absolute;width:6px;height:9px;border-radius:50% 50% 30% 30%;background:#fff7cf;box-shadow:0 0 8px 3px #ffcf66,0 0 20px 6px #df5a25}.fw-trail{position:absolute;width:3px;height:90px;left:2px;top:7px;transform-origin:top;background:linear-gradient(#ffd48a,rgba(237,98,37,.65) 28%,transparent);filter:blur(.6px);box-shadow:0 0 8px #e45b2c}.fw-rocket:after{content:"";position:absolute;left:-3px;top:11px;width:12px;height:12px;border-radius:50%;background:#e35e28;filter:blur(6px);box-shadow:0 0 18px #ff8e3a}.fw-burst{position:absolute;z-index:6;width:1px;height:1px;pointer-events:none}.fw-spark{position:absolute;left:0;top:0;width:4px;height:17px;border-radius:99px;background:linear-gradient(#fffad8,#ffb44e 38%,#e15324 72%,transparent);box-shadow:0 0 6px #ffd064;opacity:0;transform:translate(0,0) rotate(var(--rot));transform-origin:center top}.fw-burst.explode .fw-spark{animation:fwSpark 1.15s cubic-bezier(.15,.65,.25,1) var(--spark-delay) forwards}.fw-burst:after{content:"";position:absolute;left:-10px;top:-10px;width:20px;height:20px;border-radius:50%;background:#fff6bd;box-shadow:0 0 22px 12px #ffbd55,0 0 65px 25px #dc4b2399;opacity:0}.fw-burst.explode:after{animation:fwFlash .6s ease-out forwards}.fw-winner-card{position:absolute;z-index:8;transform:translate(-50%,-50%) scale(.25);min-width:150px;max-width:250px;text-align:center;opacity:0;pointer-events:none}.fw-winner-card span{display:inline-block;padding:3px 7px;margin-bottom:4px;background:#9f3f24;border:1px solid #d46942;color:#ffe5ca;font-size:.57rem;font-weight:1000;letter-spacing:.18em}.fw-winner-card strong{display:block;padding:8px 11px;background:linear-gradient(180deg,#201813ee,#0e0d0cee);border:1px solid #a56a42;border-radius:3px;color:#fff4e6;font-size:clamp(.85rem,1.9vw,1.25rem);text-shadow:0 2px 3px #000;box-shadow:0 7px 28px #000b,0 0 20px #f0763533}.fw-winner-card.show{animation:fwNameIn .55s cubic-bezier(.18,.95,.3,1.25) forwards}.firework-footer .primary{padding:8px 18px;background:linear-gradient(#b94b27,#813319);border:1px solid #d0643e;border-radius:4px}
@keyframes fwLaunch{0%{left:50%;bottom:3%;opacity:0;transform:translate(-50%,30px) scale(.7)}8%{opacity:1}100%{left:var(--tx);bottom:calc(100% - var(--ty));opacity:1;transform:translate(-50%,50%) scale(1)}}
@keyframes fwFlash{0%{opacity:1;transform:scale(.3)}35%{opacity:.95;transform:scale(2.5)}100%{opacity:0;transform:scale(5)}}
@keyframes fwSpark{0%{opacity:1;transform:translate(0,0) rotate(var(--rot)) scaleY(.7)}55%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scaleY(.25)}}
@keyframes fwNameIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}62%{opacity:1;transform:translate(-50%,-50%) scale(1.13)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:700px){.firework-shell{height:min(650px,94vh)}.firework-topbar strong{font-size:.66rem}.fw-winner-card{min-width:115px;max-width:155px}.fw-winner-card strong{font-size:.8rem;padding:6px}.fw-winner-card span{font-size:.5rem}.firework-footer{padding:10px 12px}}

/* ===== Per-effect admin settings ===== */
.effect-settings{margin:-2px 0 14px;padding:12px;border:1px solid #4a3a2e;border-radius:9px;background:linear-gradient(180deg,#1a1511,#111315);box-shadow:inset 0 0 0 1px #ffffff05}.effect-settings-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px}.effect-settings-head b,.effect-settings-head small{display:block}.effect-settings-head b{font-size:.8rem;color:#e1c7ad}.effect-settings-head small{margin-top:2px;font-size:.64rem;color:#8f8174}.rust-mini{font-size:.56rem;font-weight:1000;letter-spacing:.12em;padding:4px 6px;border:1px solid #b05231;background:#7d301e;color:#ffe0c5}.effect-color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:11px}.effect-color-grid label{display:grid;gap:5px;color:#9f948a;font-size:.62rem}.effect-color-grid input[type=color]{width:100%;height:34px;padding:2px;border:1px solid #4a423b;border-radius:6px;background:#101216;cursor:pointer}.effect-range{display:block;margin-bottom:11px}.effect-range>span{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;color:#b7bbc4;font-size:.7rem}.effect-range output{font-weight:900;color:#f0a468}.effect-range input{width:100%;accent-color:#bd4c27}.effect-style-field{margin-bottom:4px}.effect-preview{border-color:#684a35;background:#2a2119;color:#efc7a6}.effect-preview:hover{background:#34271d}@media(max-width:740px){.effect-color-grid{grid-template-columns:1fr 1fr 1fr}}

/* Firework variables are supplied per draw from the effect settings panel. */
.fw-rocket{animation-duration:var(--airtime,900ms)}
.fw-head{background:var(--fw-trail,#fff7cf);box-shadow:0 0 8px 3px var(--fw-primary,#ffcf66),0 0 20px 6px var(--fw-secondary,#df5a25)}
.fw-trail{background:linear-gradient(var(--fw-trail,#ffd48a),var(--fw-primary-rgba,rgba(237,98,37,.65)) 28%,transparent);box-shadow:0 0 8px var(--fw-secondary,#e45b2c)}
.fw-rocket:after{background:var(--fw-secondary,#e35e28);box-shadow:0 0 18px var(--fw-primary,#ff8e3a)}
.fw-spark{background:linear-gradient(#fff,var(--fw-primary,#ffb44e) 38%,var(--fw-secondary,#e15324) 72%,transparent);box-shadow:0 0 7px var(--fw-primary,#ffd064)}
.fw-burst:after{background:#fff;box-shadow:0 0 22px 12px var(--fw-primary,#ffbd55),0 0 65px 25px var(--fw-secondary-rgba,rgba(220,75,35,.6))}
.fw-burst.ring .fw-spark{height:10px;width:5px}.fw-burst.ring.explode .fw-spark{animation-name:fwSparkRing;animation-duration:1s}.fw-burst.willow .fw-spark{height:25px;width:3px;filter:blur(.25px)}.fw-burst.willow.explode .fw-spark{animation-name:fwSparkWillow;animation-duration:1.8s}.fw-burst.willow:after{box-shadow:0 0 16px 8px var(--fw-primary,#ffbd55),0 0 42px 14px var(--fw-secondary-rgba,rgba(220,75,35,.55))}
@keyframes fwSparkRing{0%{opacity:1;transform:translate(0,0) rotate(var(--rot)) scale(.5)}45%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.15)}}
@keyframes fwSparkWillow{0%{opacity:1;transform:translate(0,0) rotate(var(--rot)) scaleY(.8)}45%{opacity:1;transform:translate(var(--dx-mid),var(--dy-mid)) rotate(var(--rot)) scaleY(.65)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scaleY(.25)}}

/* ===== Rust winner effect: Beancan Blast ===== */
.bean-color-grid{grid-template-columns:1fr}.beancan-modal{position:fixed;inset:0;z-index:92;display:grid;place-items:center;background:#000d;backdrop-filter:blur(8px);padding:18px}.beancan-shell{width:min(1180px,97vw);height:min(760px,94vh);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border:2px solid #65452f;border-radius:10px;background:#17110d;box-shadow:0 30px 100px #000}.beancan-topbar{display:flex;align-items:center;justify-content:space-between;padding:13px 17px;background:linear-gradient(#2b2119,#17120e);border-bottom:1px solid #604631;color:#ddc4aa}.beancan-topbar>div{display:flex;align-items:center;gap:10px}.beancan-stage{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 100%,#5a281a55,transparent 45%),linear-gradient(#0b0c0c,#17120f)}.beancan-title{position:absolute;z-index:20;top:18px;left:50%;transform:translateX(-50%);font-weight:1000;letter-spacing:.18em;font-size:.78rem;color:#bda48d;text-shadow:0 2px 8px #000}.beancan-lanes{position:absolute;inset:58px 18px 18px;display:grid;grid-template-columns:repeat(var(--lane-count),minmax(0,1fr));gap:12px;align-items:stretch}.bc-lane{position:relative;min-width:0;overflow:hidden;border:1px solid #4b3729;border-radius:7px;background:radial-gradient(circle at 50% 65%,#3c2117,#0b0c0c 70%);box-shadow:inset 0 0 35px #000}.bc-door{position:absolute;z-index:2;left:50%;bottom:2%;height:91%;max-width:96%;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 10px 12px #000a)}.bc-broken{opacity:0}.bc-can-wrap{position:absolute;z-index:7;width:clamp(46px,7vw,88px);left:-18%;top:55%;opacity:0;filter:drop-shadow(0 6px 7px #000);transform:rotate(-35deg)}.bc-can{display:block;width:100%;height:auto}.bc-lane.throw .bc-can-wrap{animation:bcThrow 850ms cubic-bezier(.18,.65,.25,1) forwards}.bc-flash{position:absolute;z-index:9;left:50%;top:52%;width:20px;height:20px;border-radius:50%;transform:translate(-50%,-50%) scale(.1);opacity:0;background:#fff;box-shadow:0 0 30px 16px var(--blast),0 0 110px 50px var(--blast)}.bc-smoke{position:absolute;z-index:10;inset:0;pointer-events:none;opacity:0}.bc-smoke i{position:absolute;left:50%;top:52%;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#777b 0,#3c3c3c99 38%,transparent 72%);filter:blur(7px);transform:translate(-50%,-50%) scale(.4)}.bc-smoke i:nth-child(2){margin-left:-65px;margin-top:22px}.bc-smoke i:nth-child(3){margin-left:65px;margin-top:-15px}.bc-smoke i:nth-child(4){margin-left:10px;margin-top:65px}.bc-name{position:absolute;z-index:13;left:50%;top:50%;width:90%;transform:translate(-50%,-50%) scale(.45);text-align:center;opacity:0;text-shadow:0 3px 7px #000}.bc-name span{display:inline-block;background:#78341f;border:1px solid var(--blast);padding:3px 7px;color:#ffe4ce;font-size:.55rem;font-weight:1000;letter-spacing:.15em}.bc-name strong{display:block;margin-top:6px;color:#fff5e9;font-size:clamp(.75rem,1.7vw,1.35rem);overflow-wrap:anywhere}.bc-lane.blast .bc-intact{opacity:0}.bc-lane.blast .bc-broken{opacity:1}.bc-lane.blast .bc-can-wrap{opacity:0!important}.bc-lane.blast .bc-flash{animation:bcFlash .55s ease-out forwards}.bc-lane.blast .bc-smoke{animation:bcSmoke 2.4s ease-out forwards}.bc-lane.blast .bc-smoke i{animation:bcCloud 2.4s ease-out forwards}.bc-lane.blast .bc-name{animation:bcWinner .65s .38s cubic-bezier(.2,.9,.3,1.2) forwards}@keyframes bcThrow{0%{left:-18%;top:60%;opacity:0;transform:rotate(-40deg) scale(.75)}10%{opacity:1}55%{top:22%;transform:rotate(390deg) scale(1)}100%{left:48%;top:48%;opacity:1;transform:rotate(760deg) scale(.9)}}@keyframes bcFlash{0%{opacity:1;transform:translate(-50%,-50%) scale(.2)}45%{opacity:1;transform:translate(-50%,-50%) scale(7)}100%{opacity:0;transform:translate(-50%,-50%) scale(12)}}@keyframes bcSmoke{0%{opacity:0}12%{opacity:1}65%{opacity:.78}100%{opacity:.22}}@keyframes bcCloud{0%{transform:translate(-50%,-50%) scale(.3)}100%{transform:translate(-50%,-65%) scale(2.3)}}@keyframes bcWinner{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:800px){.beancan-lanes{overflow-x:auto;grid-template-columns:repeat(var(--lane-count),minmax(180px,1fr))}.bc-door{height:84%}}

/* Rust Wheel of Fortune winner effect */
.wheel-shell{max-width:980px}
.wheel-stage{position:relative;display:grid;place-items:center;min-height:620px;padding:32px 20px 24px;overflow:hidden}
.wheel-visual{--wheel-glow:#ff9f32;position:relative;width:min(70vw,540px);aspect-ratio:1;filter:drop-shadow(0 0 12px var(--wheel-glow)) drop-shadow(0 0 34px color-mix(in srgb,var(--wheel-glow) 55%,transparent))}
.wheel-rotor{position:absolute;inset:0;will-change:transform;transform:rotate(0deg);transform-origin:50% 50%}
.wheel-rotor>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.wheel-pointer{position:absolute;z-index:8;top:13px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:22px solid transparent;border-right:22px solid transparent;border-top:48px solid #f3e5c2;filter:drop-shadow(0 3px 4px #000)}
.wheel-labels{position:absolute;inset:0;z-index:3;pointer-events:none}
.wheel-labels span{position:absolute;width:19%;padding:2px 4px;border-radius:4px;font-size:clamp(9px,1.15vw,14px);font-weight:1000;line-height:1.05;text-align:center;color:#17100a;background:#f5e7c9d9;border:1px solid #3b2518aa;text-shadow:0 1px 0 #fff9;box-shadow:0 1px 3px #0005;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform-origin:50% 50%}
.wheel-result{min-height:76px;margin-top:18px;text-align:center;display:grid;gap:3px;place-items:center}
.wheel-result span{font-size:12px;letter-spacing:.22em;color:#d5b78e;font-weight:800}.wheel-result strong{font-size:clamp(24px,4vw,44px);color:#fff;text-shadow:0 0 18px var(--wheel-glow,#ff9f32)}
.wheel-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){.wheel-stage{min-height:440px}.wheel-visual{width:min(88vw,390px)}.wheel-pointer{top:18px}}

/* Beancan fuse ignition: spark burns from throw until detonation. */
.bc-fuse-spark{position:absolute;z-index:9;right:2%;top:3%;width:12px;height:12px;border-radius:50%;background:#fff7bd;box-shadow:0 0 5px 2px #fff,0 0 10px 5px #ffc12e,0 0 19px 8px #ff5a00;animation:bcFusePulse .11s steps(2,end) infinite alternate;pointer-events:none}
.bc-fuse-spark::before,.bc-fuse-spark::after{content:"";position:absolute;inset:-8px;border-radius:50%;background:repeating-conic-gradient(transparent 0 13deg,#ffe06c 14deg 18deg,transparent 19deg 40deg);animation:bcFuseSpin .22s linear infinite}
.bc-fuse-spark::after{inset:-12px;opacity:.65;animation-duration:.31s;animation-direction:reverse}
.bc-fuse-spark i{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:#ffd35a;box-shadow:0 0 4px #ff7a18;animation:bcFuseParticle .52s ease-out infinite}
.bc-fuse-spark i:nth-child(1){--x:-18px;--y:-13px;animation-delay:-.04s}.bc-fuse-spark i:nth-child(2){--x:17px;--y:-11px;animation-delay:-.16s}.bc-fuse-spark i:nth-child(3){--x:-13px;--y:17px;animation-delay:-.28s}.bc-fuse-spark i:nth-child(4){--x:19px;--y:12px;animation-delay:-.39s}.bc-fuse-spark i:nth-child(5){--x:-5px;--y:-22px;animation-delay:-.23s}.bc-fuse-spark i:nth-child(6){--x:8px;--y:21px;animation-delay:-.1s}
.bc-lane.blast .bc-fuse-spark{display:none}
@keyframes bcFusePulse{from{transform:scale(.72);filter:brightness(.95)}to{transform:scale(1.3);filter:brightness(1.6)}}
@keyframes bcFuseSpin{to{transform:rotate(360deg)}}
@keyframes bcFuseParticle{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--x),var(--y)) scale(.1);opacity:0}}

.wheel-modal[hidden]{display:none!important}

/* V3.8 — keep Wheel of Fortune respin controls above the bottom edge of the effect panel */
.wheel-shell{grid-template-rows:auto minmax(0,1fr) auto}
.wheel-stage{min-height:0;padding-bottom:12px}
.wheel-shell .firework-footer{
  position:relative;
  z-index:20;
  flex-shrink:0;
  padding-top:12px;
  padding-bottom:20px;
  background:linear-gradient(180deg,#17110d00 0%,#17110df2 24%,#17110d 100%);
}
.wheel-actions{align-items:center;margin-top:-4px}
#wheel-respin,#wheel-done{position:relative;z-index:21}
@media(max-width:700px){
  .wheel-shell .firework-footer{padding-bottom:16px}
  .wheel-actions{width:100%;justify-content:center}
}
.br-setting-grid{grid-template-columns:1fr 1fr}.battle-modal[hidden]{display:none!important}.battle-shell{width:min(1120px,97vw);height:min(820px,94vh);grid-template-rows:auto minmax(0,1fr) auto}.battle-stage{position:relative;min-height:0;padding:14px;background:#17140f;display:grid;place-items:center;overflow:hidden}.battle-stage canvas{display:block;width:min(100%,1000px);height:auto;max-height:100%;aspect-ratio:1000/650;border:2px solid #554b39;border-radius:8px;background:#65784d}.battle-hud{position:absolute;left:25px;right:25px;top:24px;z-index:4;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.battle-hud span{background:#16120ddd;border:1px solid #79684d;border-radius:5px;padding:7px 10px;color:#eee1c9;font-weight:900;font-size:12px}.battle-winner{position:absolute;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%);min-width:min(420px,78%);padding:22px;text-align:center;background:#17110df0;border:2px solid #b48545;border-radius:8px}.battle-winner[hidden]{display:none}.battle-winner span{display:block;color:#d0a869;font-size:12px;font-weight:1000;letter-spacing:.2em}.battle-winner strong{display:block;margin-top:8px;color:#fff;font-size:clamp(28px,5vw,52px);overflow-wrap:anywhere}.battle-shell .firework-footer{position:relative;z-index:9}@media(max-width:700px){.br-setting-grid{grid-template-columns:1fr}.battle-stage{padding:7px}.battle-hud{left:12px;right:12px;top:12px}.battle-hud span{font-size:10px;padding:5px 7px}}
.effect-dud-toggle .inline-toggle{display:flex;align-items:center;gap:9px;font-weight:800}
.effect-dud-toggle input{width:18px;height:18px}
.bc-dud-fizzle{position:absolute;z-index:9;left:50%;top:43%;width:10px;height:10px;opacity:0;pointer-events:none}
.bc-dud-fizzle i{position:absolute;width:16px;height:16px;border-radius:50%;background:rgba(174,174,162,.68);filter:blur(2px)}
.bc-dud-fizzle i:nth-child(2){left:10px;top:-7px}.bc-dud-fizzle i:nth-child(3){left:-8px;top:-12px}
.bc-lane.dud .bc-dud-fizzle{animation:bcDudFizzle 1.8s ease-out forwards}
.bc-lane.dud .bc-can-wrap{animation:none!important;filter:grayscale(.35) brightness(.75)}
.bc-lane.dud .bc-flash,.bc-lane.dud .bc-smoke{display:none!important}
.bc-lane.dud .bc-broken{opacity:0!important}.bc-lane.dud .bc-intact{opacity:1!important}
.bc-lane.dud .bc-name span{color:#aaa28f}
@keyframes bcDudFizzle{0%{opacity:.9;transform:translate(-50%,0) scale(.5)}45%{opacity:.65;transform:translate(-40%,-20px) scale(1.45)}100%{opacity:0;transform:translate(-20%,-58px) scale(2.5)}}

/* v4.13: dedicated dud text overlay — independent of the normal winner reveal */
.bc-lane{position:relative}
.bc-dud-message{display:none;position:absolute;z-index:30;left:50%;top:48%;transform:translate(-50%,-50%);width:min(88%,320px);padding:12px 14px;text-align:center;border:2px solid #8b7250;border-radius:6px;background:rgba(19,15,11,.94);color:#e8ddc7;font-size:clamp(15px,2.2vw,22px);font-weight:1000;line-height:1.15;letter-spacing:.07em;text-shadow:0 2px 2px #000;pointer-events:none}
.bc-dud-message strong{display:block;margin-top:4px;color:#f0b24d;font-size:1.15em}
.bc-lane.dud .bc-dud-message{display:block;animation:bcDudMessageIn .28s ease-out both}
.bc-lane.dud .bc-name{display:none!important}
@keyframes bcDudMessageIn{from{opacity:0;transform:translate(-50%,-44%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* ===== NIGHTWAVE v5.0 COMMAND DECK ===== */
:root{--nw-bg:#070b10;--nw-panel:#0d141c;--nw-panel2:#101a24;--nw-line:#22313d;--nw-cyan:#28d7d2;--nw-blue:#4a8cff;--nw-amber:#f0a83a;--nw-red:#ef5968;--nw-text:#edf6f7;--nw-muted:#7e929d}
body{min-height:100vh;background:radial-gradient(900px 500px at 12% -10%,#12333a99,transparent 65%),radial-gradient(700px 450px at 95% 10%,#17274477,transparent 65%),linear-gradient(180deg,#080d12,#06090d 70%);color:var(--nw-text)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(#ffffff025 1px,transparent 1px),linear-gradient(90deg,#ffffff025 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,#000,transparent 78%)}
.topbar{height:72px;padding:0 max(3vw,24px);border-bottom:1px solid #263844;background:rgba(5,10,14,.9);backdrop-filter:blur(18px);box-shadow:0 10px 35px #0007}.brand{font-size:1.05rem;color:#eafafa;text-shadow:0 0 24px #28d7d255}.brand:before{content:"//";color:var(--nw-cyan);margin-right:8px}.nav-links a{padding:9px 12px;border-radius:7px}.nav-links a.active{color:#081014;background:linear-gradient(135deg,#57e6dc,#24b9c4);box-shadow:0 0 22px #28d7d233}
.shell{max-width:1600px;padding-top:34px}.hero{position:relative;padding:26px 28px;margin-bottom:18px;border:1px solid #263944;border-radius:16px;background:linear-gradient(115deg,#101c25ee,#0a1118ee);overflow:hidden;box-shadow:0 18px 50px #0006}.hero:after{content:"NIGHTWAVE";position:absolute;right:-10px;bottom:-30px;font-size:7rem;font-weight:1000;letter-spacing:.05em;color:#ffffff035;pointer-events:none}.hero h1{font-size:clamp(2rem,3.3vw,3.2rem);letter-spacing:-.035em}.hero p{max-width:720px}.eyebrow{color:var(--nw-cyan)}.live-dot{background:var(--nw-cyan);box-shadow:0 0 16px var(--nw-cyan)}
.hero-metrics{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.hero-metrics>div{min-width:110px;padding:10px 13px;border:1px solid #263a46;border-radius:9px;background:#071016aa}.hero-metrics span,.hero-metrics strong{display:block}.hero-metrics span{font-size:.58rem;letter-spacing:.16em;color:#69818d;font-weight:900}.hero-metrics strong{margin-top:4px;font-size:.92rem;color:#e9f7f7}.hero-metrics>div:nth-child(2) strong{color:#5ee3a0}.hero-metrics>div:nth-child(3) strong{color:var(--nw-amber)}
.dashboard{grid-template-columns:minmax(340px,390px) minmax(480px,1.45fr) minmax(330px,.9fr);gap:16px}.panel{position:relative;min-height:650px;border:1px solid var(--nw-line);border-radius:14px;background:linear-gradient(180deg,#111a23f5,#0a1016f5);box-shadow:0 18px 50px #0005,inset 0 1px #ffffff08;overflow:hidden}.panel:before{content:"";position:absolute;left:0;top:0;width:90px;height:2px;background:linear-gradient(90deg,var(--nw-cyan),transparent)}.panel-head{border-color:#1d2b35}.panel-head h2{letter-spacing:.01em}.small-badge{background:#173b42;color:#63e5dc;border:1px solid #2a6670}.muted{color:var(--nw-muted)}
.field input,.field select,.inline input{border-color:#263640;background:#070d12;color:#eef7f7;box-shadow:inset 0 1px 8px #0005}.field input:focus,.field select:focus,.inline input:focus{outline:none;border-color:#36bfc1;box-shadow:0 0 0 3px #28d7d215}.field-help{display:block;margin-top:5px;color:#647983;font-size:.64rem}.control-divider{display:flex;align-items:center;gap:10px;margin:17px 0 11px;color:#69818c;font-size:.6rem;font-weight:1000;letter-spacing:.16em}.control-divider:after{content:"";height:1px;flex:1;background:#21303a}
.primary{background:linear-gradient(135deg,#ed9c31,#f1bb4f);color:#171006;box-shadow:0 7px 20px #f0a83a20}.primary:hover{filter:brightness(1.08)}.ghost{background:#13202a;border-color:#2a3e49;color:#c8dade}.ghost:hover{border-color:#3e6974;background:#172934}.danger{background:#3a171d;border:1px solid #71303a;color:#ff8994}.demo{background:#17294a;border:1px solid #2c5190;color:#8bb9ff}.toggle-row input:checked+i{background:linear-gradient(90deg,#21a9ad,#3ed8cc);box-shadow:0 0 12px #28d7d233}
.effect-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:10px}.effect-cards button{min-height:58px;text-align:left;padding:9px 10px;border:1px solid #263844;border-radius:9px;background:#091118;color:#d7e3e6;cursor:pointer}.effect-cards b,.effect-cards small{display:block}.effect-cards b{font-size:.7rem;letter-spacing:.06em}.effect-cards small{margin-top:4px;color:#607985;font-size:.6rem}.effect-cards button.active{border-color:#d99b3c;background:linear-gradient(135deg,#2a2115,#151a1b);box-shadow:inset 3px 0 #f0a83a,0 0 18px #f0a83a12}.effect-cards button.active b{color:#ffc864}.native-effect-select{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.effect-settings{border-color:#33424a;background:linear-gradient(180deg,#101820,#0a0f14)}.effect-preview{border-color:#27545b;background:#10262b;color:#65ded8}.effect-range input{accent-color:var(--nw-cyan)}
.participants-panel{min-height:720px}.list{max-height:620px}.person{border-color:#20313b;background:linear-gradient(90deg,#091118,#0b131a);transition:.15s}.person:hover{border-color:#31505d;transform:translateX(2px)}.person img,.winner-item img{border:1px solid #36505c}.status-chip.eligible{color:#60dfa0;border-color:#285d46;background:#10261d}.winner-item{border-color:#5a4726;background:linear-gradient(90deg,#17130c,#0b1116)}.draw-bar{position:sticky;bottom:0;padding-top:14px;background:linear-gradient(transparent,#0a1016 24%)}#draw-btn{min-height:54px;font-size:.95rem;letter-spacing:.05em}#draw-btn:before{content:"◆ ";font-size:.7rem}
.reward-toggle{border:1px solid #263640;border-radius:9px;padding:10px}.reward-actions{display:flex;gap:6px;margin-top:7px}.reward-send{padding:7px 9px!important;font-size:.62rem;background:#173d42!important;border:1px solid #2b6b70!important;color:#69e2da!important}.delivery-chip{display:inline-block;margin-top:5px;padding:3px 6px;border-radius:5px;font-size:.57rem;font-weight:900;letter-spacing:.05em}.delivery-chip.sent{color:#66dfa2;background:#123322}.delivery-chip.failed{color:#ff8994;background:#35161c}.delivery-chip.pending{color:#f4c86e;background:#352a13}
.nightwave-footer{display:grid;grid-template-columns:1fr auto auto;gap:25px;align-items:center;margin-top:18px;padding:18px 22px;border:1px solid #20323d;border-radius:14px;background:#080e13;box-shadow:0 18px 45px #0005}.footer-brand b,.footer-brand span{display:block}.footer-brand b{letter-spacing:.16em}.footer-brand span,.footer-meta{margin-top:3px;color:#59707b;font-size:.58rem;letter-spacing:.13em}.footer-status{display:flex;gap:14px;flex-wrap:wrap}.footer-status span{font-size:.57rem;color:#78909a;font-weight:850;letter-spacing:.05em}.footer-status i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#48d796;box-shadow:0 0 8px #48d796}
@media(max-width:1150px){.dashboard{grid-template-columns:360px 1fr}.winners-panel{grid-column:1/-1}.nightwave-footer{grid-template-columns:1fr}.footer-status{justify-content:flex-start}}@media(max-width:760px){.dashboard{grid-template-columns:1fr}.hero{padding:20px}.hero-actions{position:absolute;right:18px;top:18px}.hero-metrics{padding-right:0}.effect-cards{grid-template-columns:1fr 1fr}.nightwave-footer{padding:15px}.footer-status{gap:8px}.panel{padding:15px}}

/* v5.0.2 Kick creator connection */
.kick-connect-card{margin:10px 0 14px;padding:12px;border:1px solid #223b46;border-radius:10px;background:linear-gradient(135deg,rgba(40,215,210,.07),rgba(10,16,23,.65));display:flex;gap:12px;align-items:center;justify-content:space-between}.kick-connect-card>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.kick-connect-label{font-size:10px;letter-spacing:.15em;color:#7f96a5}.kick-connect-card b{font-size:12px;color:#ef5968}.kick-connect-card b.ok{color:#45e3a1}.kick-connect-card b.warn{color:#f0a83a}.kick-connect-card b.bad{color:#ef5968}.kick-connect-card small{color:#8193a1;line-height:1.3}.kick-connect-actions{display:flex;flex-direction:column;gap:6px;min-width:155px}.kick-connect-actions button{font-size:10px;padding:9px 10px}@media(max-width:760px){.kick-connect-card{align-items:stretch;flex-direction:column}.kick-connect-actions{min-width:0}}

/* v5.0.4 Kick event diagnostics */
.kick-event-detail{display:block;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08);color:#8fa6b8;font-size:10px;line-height:1.35;word-break:break-word}

/* === NIGHTWAVE v5.2 FULLSCREEN COMMAND DECK === */
body{--deck-image:none;--deck-dark:.55;--deck-blur:0px;min-height:100%;background:#05090d!important;position:relative}
body:before{content:"";position:fixed;inset:-24px;z-index:-2;background-image:var(--deck-image);background-size:cover;background-position:center;filter:blur(var(--deck-blur));transform:scale(1.03)}
body:after{content:"";position:fixed;inset:0;z-index:-1;background:rgba(3,7,10,var(--deck-dark));pointer-events:none}
body[data-bg="grid"]{--deck-image:radial-gradient(circle at 12% 0%,#0d3d49 0,transparent 30%),linear-gradient(#10202a55 1px,transparent 1px),linear-gradient(90deg,#10202a55 1px,transparent 1px);background-size:auto,32px 32px,32px 32px!important}
body[data-bg="space"]{--deck-image:radial-gradient(circle at 18% 15%,#133d5d 0,transparent 24%),radial-gradient(circle at 78% 8%,#17343f 0,transparent 25%),radial-gradient(circle at 55% 80%,#151e42 0,transparent 28%),linear-gradient(135deg,#020509,#09111c)}
body[data-bg="carbon"]{--deck-image:linear-gradient(45deg,#101820 25%,transparent 25%),linear-gradient(-45deg,#101820 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#101820 75%),linear-gradient(-45deg,transparent 75%,#101820 75%);background-size:28px 28px!important}
body[data-bg="cyber"]{--deck-image:radial-gradient(circle at 50% 0,#0c3d46 0,transparent 35%),linear-gradient(#0b2b3355 1px,transparent 1px),linear-gradient(90deg,#0b2b3355 1px,transparent 1px);background-size:auto,48px 48px,48px 48px!important}
body[data-bg="black"]{--deck-image:linear-gradient(#030507,#030507)}
.topbar{padding:0 2vw;height:72px}.shell{max-width:none!important;width:100%;padding:22px 1.5vw 46px!important}.hero{min-height:210px;padding:28px 32px!important}.dashboard{grid-template-columns:minmax(390px,24vw) minmax(520px,1.5fr) minmax(390px,1fr)!important;gap:18px!important}.panel{padding:24px!important;min-height:720px!important}.settings-panel{max-height:none}.panel-head h2{font-size:1.45rem!important}.field span,.toggle-row b{font-size:.88rem!important}.field input,.field select,.inline input{height:50px!important;font-size:1rem!important;padding:0 14px!important}.primary,.ghost,.danger,.demo{min-height:48px!important;padding:13px 18px!important;font-size:.9rem!important;border-radius:10px!important}.wide{min-height:52px!important}.toggle-row{padding:13px 0!important}.toggle-row small{font-size:.72rem!important}.toggle-row i{width:50px!important;height:28px!important}.toggle-row i:after{width:20px!important;height:20px!important;top:4px!important;left:4px!important}.toggle-row input:checked+i:after{left:26px!important}.effect-cards{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important}.effect-cards button{min-height:76px!important;text-align:center!important}.effect-cards b{font-size:.78rem!important}.effect-cards small{font-size:.66rem!important}.kick-connect-card{padding:16px!important}.kick-connect-actions{min-width:190px!important}.kick-connect-actions button{font-size:.76rem!important;min-height:44px!important}.list{max-height:720px!important}.person{grid-template-columns:54px 1fr auto!important;padding:14px!important}.person img,.winner-item img{width:54px!important;height:54px!important}.name{font-size:1rem}.meta{font-size:.74rem!important}.draw-bar button{min-height:62px!important;font-size:1rem!important}.creator-telemetry{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-top:20px;max-width:1120px}.telemetry-card{padding:12px 14px;border:1px solid #24404b;border-radius:11px;background:#071018b8;min-width:0}.telemetry-card span{display:block;font-size:.62rem;letter-spacing:.14em;color:#6f8997;font-weight:900}.telemetry-card strong{display:block;margin:5px 0 2px;font-size:1.35rem;color:#eefbff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telemetry-card small{color:#718994;font-size:.66rem}.telemetry-card.live strong{color:#4ce3a1}.telemetry-card.offline strong{color:#ef5968}.stream-strip{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:11px;color:#79909c;font-size:.72rem}.stream-strip>span:first-child{color:#b8cbd3;max-width:620px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stream-strip b{color:#e8f5f7}.appearance-card{border:1px solid #223843;border-radius:12px;padding:14px;background:#07101899;margin-bottom:14px}.appearance-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:12px}.appearance-presets button{min-height:44px;border:1px solid #2a414d;border-radius:9px;background:#0b151d;color:#b9ccd3;font-weight:800;cursor:pointer}.appearance-presets button.active{border-color:#28d7d2;color:#65ece6;box-shadow:inset 3px 0 #28d7d2}.appearance-card input[type=file]{padding:10px!important;height:auto!important}.nightwave-footer{margin-top:18px!important}
@media(max-width:1500px){.creator-telemetry{grid-template-columns:repeat(3,1fr)}.effect-cards{grid-template-columns:repeat(3,1fr)!important}.dashboard{grid-template-columns:380px minmax(480px,1.35fr) 360px!important}}
@media(max-width:1180px){.dashboard{grid-template-columns:380px 1fr!important}.winners-panel{grid-column:1/-1}.creator-telemetry{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.shell{padding:12px!important}.dashboard{grid-template-columns:1fr!important}.hero{padding:20px!important}.creator-telemetry{grid-template-columns:repeat(2,1fr)}.effect-cards{grid-template-columns:repeat(2,1fr)!important}.panel{padding:16px!important}.appearance-presets{grid-template-columns:1fr 1fr}}

/* === NIGHTWAVE v5.2.1 BACKGROUND LAYER FIX ===
   v5.2 placed the background pseudo-elements at negative z-index, which allowed
   the body's opaque background to cover them. Keep them inside the root
   stacking context and lift the application UI above them. */
body{isolation:isolate}
body:before{z-index:0!important;pointer-events:none;background-size:cover;background-repeat:repeat;background-position:center}
body:after{z-index:0!important}
/* Only page content sits above the background layer. The winner overlays keep their own position:fixed + z-index, otherwise they render at the bottom of the page. */
body>.topbar,body>main{position:relative;z-index:1}
body[data-bg="grid"]:before{background-size:auto,32px 32px,32px 32px}
body[data-bg="carbon"]:before{background-size:28px 28px}
body[data-bg="cyber"]:before{background-size:auto,48px 48px,48px 48px}
body[data-bg="space"]:before,body[data-bg="black"]:before,body[data-bg="custom"]:before{background-size:cover}

/* === NIGHTWAVE v5.2.2 VISIBLE BACKGROUND FIX ===
   Keep the page canvas transparent so the selectable background layer is
   actually visible. The command-deck surfaces are translucent enough to let
   the selected theme/image read through without sacrificing legibility. */
html{background:#05090d}
body{background:transparent!important}
body:before{opacity:1!important}
body:after{background:rgba(3,7,10,var(--deck-dark))!important}
body[data-bg="grid"]:before{background-image:radial-gradient(circle at 12% 0%,#12677a 0,transparent 32%),linear-gradient(rgba(40,215,210,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(40,215,210,.16) 1px,transparent 1px),linear-gradient(135deg,#061018,#0a1821)!important}
body[data-bg="space"]:before{background-image:radial-gradient(circle at 15% 18%,#17618d 0,transparent 25%),radial-gradient(circle at 82% 12%,#23566a 0,transparent 27%),radial-gradient(circle at 58% 78%,#283568 0,transparent 30%),linear-gradient(135deg,#020509,#0a1728)!important}
body[data-bg="carbon"]:before{background-image:linear-gradient(45deg,rgba(37,58,70,.72) 25%,transparent 25%),linear-gradient(-45deg,rgba(37,58,70,.72) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(37,58,70,.72) 75%),linear-gradient(-45deg,transparent 75%,rgba(37,58,70,.72) 75%),linear-gradient(#071016,#0b141a)!important;background-position:0 0,0 14px,14px -14px,-14px 0,0 0!important}
body[data-bg="cyber"]:before{background-image:radial-gradient(circle at 50% 0,#116c76 0,transparent 38%),linear-gradient(rgba(40,215,210,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(40,215,210,.24) 1px,transparent 1px),linear-gradient(180deg,#06131a,#03080c)!important}
body[data-bg="black"]:before{background-image:radial-gradient(circle at 50% -15%,#17222a 0,transparent 38%),linear-gradient(145deg,#050709,#010203)!important}
body[data-bg="custom"]:before{background-image:var(--deck-image)!important;background-repeat:no-repeat!important;background-size:cover!important;background-position:center!important}
.hero,.panel,.appearance-card,.telemetry-card,.nightwave-footer{backdrop-filter:blur(7px)}
.panel{background:linear-gradient(rgba(20,29,38,.92),rgba(12,18,25,.91))!important}
.hero{background:linear-gradient(135deg,rgba(10,20,28,.91),rgba(8,15,22,.86))!important}

/* === NIGHTWAVE v5.2.3 FULL INTERFACE THEMES === */
body{--theme-accent:#28d7d2;--theme-accent2:#4a8cff;--theme-action:#f0a83a;--theme-action2:#f1bb4f;--theme-panel:rgba(20,29,38,.92);--theme-panel2:rgba(12,18,25,.91);--theme-input:#070d12;--theme-line:#263944;--theme-muted:#7e929d;--theme-glow:rgba(40,215,210,.20);--nw-cyan:var(--theme-accent);--nw-blue:var(--theme-accent2);--nw-amber:var(--theme-action);--nw-line:var(--theme-line);--nw-muted:var(--theme-muted)}
body[data-bg="grid"]{--theme-accent:#28d7d2;--theme-accent2:#4a8cff;--theme-action:#f0a83a;--theme-action2:#ffd06a;--theme-panel:rgba(14,31,39,.91);--theme-panel2:rgba(7,18,25,.93);--theme-input:#061219;--theme-line:#28505b;--theme-muted:#82a5ad;--theme-glow:rgba(40,215,210,.24)}
body[data-bg="space"]{--theme-accent:#9b7cff;--theme-accent2:#4fa9ff;--theme-action:#657dff;--theme-action2:#a06cff;--theme-panel:rgba(18,19,47,.91);--theme-panel2:rgba(8,11,31,.94);--theme-input:#090b22;--theme-line:#403b72;--theme-muted:#9895bd;--theme-glow:rgba(155,124,255,.25)}
body[data-bg="carbon"]{--theme-accent:#f29b45;--theme-accent2:#d5dde4;--theme-action:#ef7e32;--theme-action2:#ffb15d;--theme-panel:rgba(28,31,33,.94);--theme-panel2:rgba(15,17,19,.95);--theme-input:#111416;--theme-line:#50565a;--theme-muted:#9ba2a6;--theme-glow:rgba(242,155,69,.22)}
body[data-bg="cyber"]{--theme-accent:#5cff9d;--theme-accent2:#35e7ff;--theme-action:#ff4fd8;--theme-action2:#a95cff;--theme-panel:rgba(6,31,31,.91);--theme-panel2:rgba(3,15,20,.95);--theme-input:#031317;--theme-line:#1e665f;--theme-muted:#79aaa3;--theme-glow:rgba(92,255,157,.25)}
body[data-bg="black"]{--theme-accent:#e8eef2;--theme-accent2:#9ca8b0;--theme-action:#d8dde1;--theme-action2:#ffffff;--theme-panel:rgba(17,19,21,.96);--theme-panel2:rgba(6,7,8,.97);--theme-input:#08090a;--theme-line:#35393d;--theme-muted:#8b9298;--theme-glow:rgba(232,238,242,.13)}
body[data-bg="custom"]{--theme-accent:#28d7d2;--theme-accent2:#4a8cff;--theme-action:#f0a83a;--theme-action2:#ffd06a;--theme-panel:rgba(11,19,26,.88);--theme-panel2:rgba(6,11,16,.92);--theme-input:#070d12;--theme-line:#2b414c;--theme-muted:#8499a3;--theme-glow:rgba(40,215,210,.20)}
.panel{background:linear-gradient(var(--theme-panel),var(--theme-panel2))!important;border-color:var(--theme-line)!important}.panel:before{background:linear-gradient(90deg,var(--theme-accent),transparent)!important}.hero{background:linear-gradient(135deg,var(--theme-panel),var(--theme-panel2))!important;border-color:var(--theme-line)!important}.topbar{border-color:var(--theme-line)!important;background:color-mix(in srgb,var(--theme-panel2) 92%,transparent)!important}.brand:before,.eyebrow{color:var(--theme-accent)!important}.brand{ text-shadow:0 0 24px var(--theme-glow)!important}.live-dot{background:var(--theme-accent)!important;box-shadow:0 0 16px var(--theme-accent)!important}.nav-links a.active{background:linear-gradient(135deg,var(--theme-accent),var(--theme-accent2))!important;color:#071014!important;box-shadow:0 0 22px var(--theme-glow)!important}.hero-metrics>div,.telemetry-card,.appearance-card{border-color:var(--theme-line)!important;background:color-mix(in srgb,var(--theme-panel2) 78%,transparent)!important}.hero-metrics>div:nth-child(3) strong{color:var(--theme-action)!important}.field input,.field select,.inline input{border-color:var(--theme-line)!important;background:var(--theme-input)!important}.field input:focus,.field select:focus,.inline input:focus{border-color:var(--theme-accent)!important;box-shadow:0 0 0 3px var(--theme-glow)!important}.control-divider:after{background:var(--theme-line)!important}.primary{background:linear-gradient(135deg,var(--theme-action),var(--theme-action2))!important;color:#120e08!important;box-shadow:0 7px 22px color-mix(in srgb,var(--theme-action) 22%,transparent)!important}.ghost{background:color-mix(in srgb,var(--theme-panel) 82%,var(--theme-accent) 8%)!important;border-color:var(--theme-line)!important;color:#d9e4e8!important}.ghost:hover{border-color:var(--theme-accent)!important}.demo{background:color-mix(in srgb,var(--theme-panel) 70%,var(--theme-accent2) 20%)!important;border-color:var(--theme-accent2)!important;color:color-mix(in srgb,#fff 75%,var(--theme-accent2) 25%)!important}.toggle-row input:checked+i{background:linear-gradient(90deg,var(--theme-accent2),var(--theme-accent))!important;box-shadow:0 0 14px var(--theme-glow)!important}.effect-cards button{border-color:var(--theme-line)!important;background:color-mix(in srgb,var(--theme-panel2) 92%,var(--theme-accent) 3%)!important}.effect-cards button.active{border-color:var(--theme-action)!important;background:linear-gradient(135deg,color-mix(in srgb,var(--theme-action) 17%,var(--theme-panel2)),var(--theme-panel2))!important;box-shadow:inset 4px 0 var(--theme-action),0 0 20px color-mix(in srgb,var(--theme-action) 14%,transparent)!important}.effect-cards button.active b{color:var(--theme-action2)!important}.effect-settings{border-color:var(--theme-line)!important;background:linear-gradient(var(--theme-panel),var(--theme-panel2))!important}.effect-preview{border-color:var(--theme-accent)!important;color:var(--theme-accent)!important}.effect-range input{accent-color:var(--theme-accent)!important}.person{border-color:var(--theme-line)!important;background:linear-gradient(90deg,var(--theme-panel2),color-mix(in srgb,var(--theme-panel2) 94%,var(--theme-accent) 6%))!important}.person:hover{border-color:var(--theme-accent)!important}.winner-item{border-color:var(--theme-action)!important;background:linear-gradient(90deg,color-mix(in srgb,var(--theme-action) 10%,var(--theme-panel2)),var(--theme-panel2))!important}.draw-bar{background:linear-gradient(transparent,var(--theme-panel2) 24%)!important}.small-badge{background:color-mix(in srgb,var(--theme-accent) 16%,var(--theme-panel2))!important;color:var(--theme-accent)!important;border-color:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line))!important}.appearance-presets button{border-color:var(--theme-line)!important;background:var(--theme-input)!important}.appearance-presets button.active{border-color:var(--theme-accent)!important;color:var(--theme-accent)!important;box-shadow:inset 4px 0 var(--theme-accent),0 0 16px var(--theme-glow)!important}.kick-connect-card{border-color:var(--theme-line)!important;background:linear-gradient(135deg,color-mix(in srgb,var(--theme-accent) 8%,transparent),color-mix(in srgb,var(--theme-panel2) 70%,transparent))!important}.nightwave-footer{border-color:var(--theme-line)!important;background:var(--theme-panel2)!important}.footer-status i{background:var(--theme-accent)!important;box-shadow:0 0 8px var(--theme-accent)!important}
body[data-bg="black"] .primary{color:#08090a!important}body[data-bg="space"] .primary,body[data-bg="cyber"] .primary{color:#fff!important}
