/* Bonus-only styles. Raffle markup, layout and animation definitions live elsewhere. */
.bfab{position:fixed;z-index:40;left:10px;bottom:calc(98px + env(safe-area-inset-bottom));display:flex;align-items:flex-start;width:var(--bonus-width,234px);max-width:calc(100vw - 34px);animation:bfab-enter .75s cubic-bezier(.2,1.25,.4,1) both .25s;transition:transform .45s cubic-bezier(.6,-.25,.7,0),opacity .35s}
.bfab.settled{animation:none}.bfab.gone{transform:translateX(calc(-100% - 24px));opacity:0;pointer-events:none;animation:none}
.bfab-main{position:relative;isolation:isolate;display:flex;flex:none;align-items:center;gap:8px;width:100%;height:54px;padding:0 14px 0 7px;border:0;border-radius:18px;color:#fff;text-align:left;cursor:pointer;box-shadow:0 12px 26px #0006,0 0 20px #44cfb32b;transition:transform .14s}
.bfab-main:active{transform:scale(.96)}
.bfab-main::before{content:'';position:absolute;inset:-2px;z-index:-2;border-radius:20px;background:linear-gradient(90deg,#85f3d1,#65bfff,#adacf9,#85f3d1);background-size:300% 100%;animation:bfab-flow 4s linear infinite}
.bfab-main::after{content:'';position:absolute;inset:0;z-index:-1;border-radius:18px;background:radial-gradient(120% 140% at 0% 0%,#42d9b92e,transparent 55%),linear-gradient(135deg,#173c49,#151d43)}
.bfab-ic{position:relative;display:grid;place-items:center;flex:none;width:42px;height:42px;animation:bfab-bob 2.6s ease-in-out infinite}
.bfab .bn-logo-art{border-radius:11px;box-shadow:0 0 12px #6adecb33}
.bfab-tt{display:grid;min-width:0;gap:1px;line-height:1.15}
.bfab-tt b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font-display);font-size:13px;font-weight:700;line-height:1.15;letter-spacing:.01em;background:linear-gradient(90deg,#bdffeb,#fff 40%,#bbdfff 60%,#bdffeb);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:bfab-text 3s linear infinite}
.bfab-tt small{font-size:10px;color:#c2ddd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bfab-float{position:absolute;left:24px;top:-14px;display:inline-flex;align-items:center;gap:3px;padding:2px 8px 2px 5px;border-radius:10px;background:linear-gradient(180deg,#19514e,#102e38);box-shadow:inset 0 0 0 1px #7bebcb88,0 0 14px #4bc4aa55;color:#ffe3a1;font-family:var(--font-display);font-size:12.5px;font-weight:700;white-space:nowrap;pointer-events:none;animation:bfab-reward 3.4s ease-in-out infinite}
.bfab-float>.art{width:15px;height:15px;filter:drop-shadow(0 0 4px #f8d57e66)}
.bfab-x{display:grid;place-items:center;flex:none;width:24px;height:24px;margin:-8px 0 0 -12px;padding:0;border:0;border-radius:50%;background:#0e1831;color:#e7eff7;box-shadow:inset 0 0 0 1px #ffffff47,0 4px 10px #0006;cursor:pointer;z-index:2}.bfab-x .glyph{width:12px;height:12px}
.bfab-tab{position:fixed;z-index:40;left:0;bottom:calc(104px + env(safe-area-inset-bottom));display:grid;place-items:center;width:26px;height:42px;padding:0;border:0;border-radius:0 13px 13px 0;background:linear-gradient(180deg,#85f3d1,#299ab3);color:#062c33;box-shadow:0 6px 16px #0006,0 0 14px #66dfbf55;transform:translateX(-110%);transition:transform .35s cubic-bezier(.2,1.2,.4,1);cursor:pointer}
.bfab-tab.on{transform:none;animation:bfab-tabglow 2.2s ease-in-out infinite}.bfab-tab .glyph{width:14px;height:14px;stroke-width:3}
.bfab-next{position:fixed;z-index:40;left:184px;bottom:calc(80px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:2px;padding:2px 6px;background:#153e40;color:#c5f5e5;border:1px solid #4c9d9377;border-radius:8px;font-size:9px}.bfab-next .glyph{width:10px;height:10px}
@keyframes bfab-enter{from{transform:translateX(-130%)}to{transform:none}}
@keyframes bfab-flow{to{background-position:300% 0}}
@keyframes bfab-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-7deg)}}
@keyframes bfab-text{to{background-position:200% 0}}
@keyframes bfab-reward{0%{opacity:0;transform:translateY(8px) scale(.9)}18%,72%{opacity:1;transform:translateY(-4px) scale(1)}100%{opacity:0;transform:translateY(-16px) scale(.96)}}
@keyframes bfab-tabglow{50%{box-shadow:0 6px 16px #0006,0 0 26px #66dfbf88}}

/* Keep the uploaded image, description, instructions and proof in their original order. */
dialog.bonus-sheet{max-height:min(94dvh,940px,calc(100dvh - var(--safe-t) - 8px));border:1px solid #929fea2b;background:#10162b;box-shadow:0 24px 80px #03061999}
.bonus-sheet .sheet-grab{background:#58618f77}
.bonus-sheet .sheet-top{padding:12px 16px 12px 20px;border-bottom:1px solid #a8b8ef12;background:linear-gradient(110deg,#1b2344,#161c34)}
.bonus-sheet .sheet-top h2{font-size:20px;color:#f0f2ff}.bonus-sheet .sheet-top .icon-btn{background:#252d4e;border:1px solid #a7b4eb24}
.bonus-sheet .sheet-body{padding:16px;min-height:0;scrollbar-width:thin;scrollbar-color:#6977aa55 transparent}
.bonus-sheet .sheet-foot{padding:12px 16px calc(14px + var(--safe-b));background:#131a30;border-top:1px solid #a3b3ea26;box-shadow:0 -10px 24px #090d201f}
.bonus-sheet .sheet-foot .btn-primary{min-height:48px;border-radius:14px;background:linear-gradient(115deg,#ffe19b,#f7ba45);border:1px solid #ffe1a988;box-shadow:inset 0 1px 0 #fff5,0 6px 18px #e9a72b21;color:#382510}
.bonus-sheet .sheet-foot .btn:disabled{background:linear-gradient(115deg,#77673f,#6c5629);color:#e0d4b8;box-shadow:none;border-color:#bca37522;opacity:.72}
.bn-detail{display:grid;gap:14px}
.bn-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:16px;padding:20px 18px;border-radius:22px;background:radial-gradient(100% 160% at 0% 0%,#6553b849,transparent 65%),radial-gradient(90% 150% at 100% 100%,#28b3aa24,transparent 70%),linear-gradient(125deg,#222c51,#19273d);border:1px solid #92a8e54d;box-shadow:inset 0 1px 0 #d4dcff0d,0 8px 24px #050b201a}
.bn-hero::after{content:'';position:absolute;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,transparent,#a1c1ff88,#86e2d477,transparent);pointer-events:none}
.bn-logo{display:grid;place-items:center;flex:none;width:76px;height:76px;border-radius:18px;background:#ffffff06;box-shadow:0 0 0 1px #c1d4ff30,0 8px 20px #060c2838;overflow:hidden}
.bn-logo-art{display:grid;place-items:center;width:100%;height:100%;min-width:0;border-radius:inherit}.bn-logo-art>img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}.bn-logo-art>img[hidden],.bn-logo-fallback[hidden]{display:none}.bn-logo-fallback{display:grid;place-items:center;width:100%;height:100%;border-radius:inherit;background:linear-gradient(145deg,#35476a,#25354a);color:#b5d5e4}.bn-logo-fallback .glyph{width:28px;height:28px}.bfab .bn-logo-fallback .glyph{width:24px;height:24px}
.bn-identity{display:grid;min-width:0;gap:10px}.bn-hero h3{font-family:var(--font-display);font-size:21px;font-weight:800;line-height:1.25;color:#f2f4ff;letter-spacing:-.02em;margin:0;overflow-wrap:anywhere}
.bn-head-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bn-reward{display:inline-flex;justify-self:start;align-items:center;gap:6px;padding:6px 11px 6px 8px;border:1px solid #f3d27a38;background:linear-gradient(110deg,#e4bb5b1c,#e4bb5b08);border-radius:999px;color:#ffe29a;line-height:1}.bn-reward b{font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.bn-status{font-size:11px;line-height:1.5;color:#a9bbd1}.bn-status.approved{color:#87dfbc}.bn-status.declined{color:#f2aaa5}
.bn-description{margin:0;padding:2px 4px;color:#bac5df;font-size:13.5px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.bn-section{display:grid;gap:14px;padding:17px;border-radius:20px;background:linear-gradient(135deg,#1a223e,#151d33);border:1px solid #91a2df26;box-shadow:inset 0 1px 0 #bdc7ff05}
.bn-section h4{font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#a99bff;margin:0}
.bn-section>a.btn-primary{min-height:48px;border-radius:13px;background:linear-gradient(110deg,#7b65ff,#4f51d8);border:1px solid #cabfff44;box-shadow:inset 0 1px 0 #ffffff17,0 6px 16px #5145d32b}.bn-section>a.btn-primary .glyph{width:18px;height:18px}
.bn-code{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;background:#10182e;border:1px solid #a2b1e61c}.bn-code>span{flex:1;font-size:9px;font-weight:750;letter-spacing:.08em;color:#8fa0c4}.bn-code b{display:block;font-family:var(--font-display);font-size:16px;letter-spacing:.05em;color:#e0e7ff;margin-top:4px;overflow-wrap:anywhere}.bn-code button{min-width:61px;min-height:36px;color:#e0e8ff;background:#283252;border:1px solid #a8b9ee22;border-radius:10px}
.bn-instructions{white-space:pre-wrap;overflow-wrap:anywhere;color:#b5c1dc;font-size:13px;line-height:1.85;margin:0;padding:0 2px}
.bn-upload{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:11px;align-items:center;min-height:83px;padding:14px;border:1px dashed #a2b1e547;border-radius:14px;background:#a1afdb07;cursor:pointer;transition:background .2s,border-color .2s}.bn-upload:hover{background:#a6b4ea0e;border-color:#a2b1e588}.bn-upload>.glyph{grid-row:1/3;box-sizing:content-box;width:20px;height:20px;padding:10px;border-radius:12px;background:#d9b65719;color:#f0cd79}.bn-upload .bn-up-arrow{transform:rotate(-90deg)}.bn-upload b,.bn-upload small{grid-column:2}.bn-upload b{align-self:end;font-size:13px;color:#e3e9fd;overflow-wrap:anywhere}.bn-upload small{align-self:start;font-size:10.5px;color:#98a8c7;margin-top:4px;line-height:1.5}.bn-upload input{display:block;position:absolute;width:1px;height:1px;opacity:0}.bn-upload:focus-within{outline:2px solid #aa9bff}
#bn-preview:empty,.bn-error:empty{display:none}#bn-preview img,#bn-preview video,.bn-section video,.bn-example img,.bn-media{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:13px;background:#091221}.bn-error{font-size:12px;color:var(--coral-ink);line-height:1.5}
.bn-review,.bn-approved{text-align:center;padding:18px;display:grid;justify-items:center;gap:8px}.bn-review>.glyph,.bn-approved>.glyph{width:30px;height:30px;color:#8ae1c8}.bn-review p,.bn-approved p{font-size:13px;color:#b1c3d9;line-height:1.8}.bn-approved{padding:23px 18px;background:#17363566;border:1px solid #74d6b938;border-radius:20px}.bn-approved small{font-size:11px;color:#a5c2c4;line-height:1.7}
.bn-example summary{cursor:pointer;font-size:12px;font-weight:750;display:flex;justify-content:space-between;align-items:center;color:#becfe5}.bn-example[open]>*+*{margin-top:12px}.bn-example p{font-size:13px;line-height:1.7;color:#aebfd6}
.bn-extras{display:grid;gap:8px}.bn-extra{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 12px;border-radius:15px;background:#19243b;color:#dce8fb;text-align:left}.bn-extra img{width:38px;height:38px;object-fit:cover;border-radius:9px}.bn-extra b{flex:1;font-size:12px}.bn-extra>.glyph{width:17px;height:17px}
@media(min-width:700px){dialog.bonus-sheet{max-width:540px;max-height:min(92dvh,940px)}.bonus-sheet .sheet-body{padding:20px 22px}.bonus-sheet .sheet-foot{padding-left:22px;padding-right:22px}.bn-hero{padding:22px}.bn-logo{width:84px;height:84px}.bn-hero h3{font-size:23px}}
@media(min-width:1024px){.bfab{left:calc(max(0px,(100vw - 1440px)/2) + 14px);bottom:182px;width:var(--bonus-width,208px);max-width:208px}.bfab-tab{left:calc(max(0px,(100vw - 1440px)/2));bottom:196px}.bfab-next{left:calc(max(0px,(100vw - 1440px)/2) + 160px);bottom:164px}}
@media(max-width:360px){.bfab{width:var(--bonus-width,218px)}.bfab-next{left:168px}.bonus-sheet .sheet-body{padding:14px}.bn-hero{padding:17px 14px;gap:13px}.bn-logo{width:66px;height:66px}.bn-hero h3{font-size:19px}.bn-section{padding:14px}}
.reduce-motion .bfab,.reduce-motion .bfab *,.reduce-motion .bfab-main::before,.reduce-motion .bfab-tab{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.bfab,.bfab *,.bfab-main::before,.bfab-tab{animation:none!important;transition:none!important}}
