/* Fortune Universe: one blind box whose single draw lands on Instant Discount,
   Extra Grams, Buy 1 Get 1, Double Rewards, or the Mega Bonus Multiplier. */
.neg-app .neg-fortune-open{text-align:center}
.neg-app .neg-fortune-stage{position:relative;max-width:460px;margin:12px auto 20px}
.neg-app .neg-fortune-stage img{width:100%;height:auto;display:block;border-radius:20px;filter:drop-shadow(0 18px 40px rgba(7,37,72,.22));animation:neg-dual-float 3.4s ease-in-out infinite}
.neg-app .neg-fortune-prize-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px;margin:0 auto 22px;padding:0;width:min(920px,100%);text-align:left}
.neg-app .neg-fortune-prize{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px 14px;border-radius:16px;background:linear-gradient(160deg,#fff,#f3f6fb);border:1px solid #e2e8f2;box-shadow:0 10px 26px rgba(7,37,72,.08)}
.neg-app .neg-fortune-prize-emoji{grid-row:1/3;font-size:1.6rem;line-height:1}
.neg-app .neg-fortune-prize strong{font-size:.82rem;font-weight:900;letter-spacing:.06em;color:#0e2f6b}
.neg-app .neg-fortune-prize small{color:#485972;font-size:.76rem;line-height:1.35}
.neg-app .neg-fortune-prize-instant_discount{background:linear-gradient(160deg,#fff6f2,#ffe6da);border-color:#f6c7ae}
.neg-app .neg-fortune-prize-extra_grams{background:linear-gradient(160deg,#fffdf4,#fdf3d8);border-color:#f0e0a6}
.neg-app .neg-fortune-prize-buy_one_get_one{background:linear-gradient(160deg,#f6fff8,#dff5e6);border-color:#b6e2c4}
.neg-app .neg-fortune-prize-double_rewards{background:linear-gradient(160deg,#f2fbff,#e2f1fb);border-color:#bfe0f2}
.neg-app .neg-fortune-prize-mega_multiplier{background:linear-gradient(160deg,#f9f4ff,#ece0fb);border-color:#d3bcf0}
.neg-app .neg-dual-vouchers.neg-fortune-single{grid-template-columns:minmax(0,440px);justify-content:center}
.neg-app .neg-metal-voucher-fortune{background:linear-gradient(160deg,#fffdf4,#f4f7fb);border-color:#e2c887}
.neg-app .neg-metal-voucher-fortune>strong{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.02em}
.neg-app .neg-metal-voucher-instant_discount{background:linear-gradient(160deg,#fff6f2,#ffe6da);border-color:#f6c7ae}
.neg-app .neg-metal-voucher-buy_one_get_one{background:linear-gradient(160deg,#f6fff8,#dff5e6);border-color:#b6e2c4}
.neg-app .neg-metal-voucher-double_rewards{background:linear-gradient(160deg,#f2fbff,#e2f1fb);border-color:#bfe0f2}
.neg-app .neg-metal-voucher-mega_multiplier{background:linear-gradient(160deg,#f9f4ff,#ece0fb);border-color:#d3bcf0}
.neg-app .neg-fortune-result .neg-product-tables{grid-template-columns:1fr}
.neg-app .neg-fortune-note{margin:14px auto 0;width:min(760px,100%);color:#485972;font-size:.9rem;text-align:center}
@media(prefers-reduced-motion:reduce){.neg-app .neg-fortune-stage img{animation:none}}
/* The jackpot's second spin: the Mega Bonus Multiplier is won, the multiplier
   itself is still hidden behind one more gacha. */
.neg-app .neg-fortune-jackpot{text-align:center}
.neg-app .neg-fortune-jackpot .neg-eyebrow{color:#8a6a12;font-weight:900;letter-spacing:.2em}
.neg-app .neg-fortune-jackpot-stage{position:relative;max-width:460px;margin:12px auto 16px}
.neg-app .neg-fortune-jackpot-stage img{width:100%;height:auto;display:block;border-radius:20px;filter:drop-shadow(0 18px 44px rgba(138,106,18,.32));animation:neg-fortune-jackpot-pulse 2.2s ease-in-out infinite}
@keyframes neg-fortune-jackpot-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.neg-app .neg-fortune-jackpot-choices{margin:0 0 18px;font-weight:800;letter-spacing:.08em;color:#8a6a12}
.neg-app .neg-jackpot-badge{display:inline-block;margin:6px auto 2px;padding:4px 14px;border-radius:999px;background:linear-gradient(120deg,#b8300f,#f0a800);color:#fff;font-size:.66rem;font-weight:900;letter-spacing:.18em;box-shadow:0 6px 16px rgba(184,48,15,.35)}
/* The prize video fills the overlay once the draw has answered. */
.neg-app .neg-fortune-opening .neg-opening-video{max-width:min(760px,92vw);width:100%;height:auto;border-radius:18px}
@media(prefers-reduced-motion:reduce){.neg-app .neg-fortune-jackpot-stage img{animation:none}}
/* Once the prize clip actually starts, the overlay drops everything else and
   becomes a plain black fullscreen player: no card, no padding, no caption. */
.neg-app .neg-fortune-opening.is-playing{padding:0;background:#000}
.neg-app .neg-fortune-opening.is-playing .neg-opening-video{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0;box-shadow:none;object-fit:contain;background:#000}
.neg-app .neg-fortune-opening.is-playing [data-neg-drawing-spinner],
.neg-app .neg-fortune-opening.is-playing [data-neg-opening-label]{display:none}
html.neg-overlay-open,html.neg-overlay-open body{overflow:hidden}
/* The Infinite Fortune: seventeen fixed drop slots, each a bundle paid out as
   separate coupons. It reuses the Fortune Universe stage and reveal script.
   Slots share a tint by what they pay: warm for a discount, cream for grams,
   blue when a cashback voucher is involved, purple for a headline drop. */
.neg-app .neg-infinite-open{text-align:center}
.neg-app .neg-infinite-drop-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.neg-app .neg-infinite-drop strong{font-size:.78rem;letter-spacing:.05em}
.neg-app .neg-infinite-drop_1,.neg-app .neg-infinite-drop_3,.neg-app .neg-infinite-drop_9,.neg-app .neg-infinite-drop_11,.neg-app .neg-infinite-drop_15{background:linear-gradient(160deg,#fff6f2,#ffe6da);border-color:#f6c7ae}
.neg-app .neg-infinite-drop_2,.neg-app .neg-infinite-drop_7,.neg-app .neg-infinite-drop_10,.neg-app .neg-infinite-drop_14{background:linear-gradient(160deg,#fffdf4,#fdf3d8);border-color:#f0e0a6}
.neg-app .neg-infinite-drop_4,.neg-app .neg-infinite-drop_5,.neg-app .neg-infinite-drop_12,.neg-app .neg-infinite-drop_13,.neg-app .neg-infinite-drop_16{background:linear-gradient(160deg,#f2fbff,#e2f1fb);border-color:#bfe0f2}
.neg-app .neg-infinite-drop_6{background:linear-gradient(160deg,#f6fff8,#dff5e6);border-color:#b6e2c4}
.neg-app .neg-infinite-drop_8,.neg-app .neg-infinite-drop_17{background:linear-gradient(160deg,#f9f4ff,#ece0fb);border-color:#d3bcf0}
.neg-app .neg-infinite-tagline{font-weight:800;letter-spacing:.06em;color:#8a6a12}
/* A drop can mint up to four coupons, so the reveal lays them out as a grid. */
.neg-app .neg-dual-vouchers.neg-infinite-vouchers{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;justify-content:center}
.neg-app .neg-metal-voucher-cashback_credit{background:linear-gradient(160deg,#f2fbff,#e2f1fb);border-color:#bfe0f2}
.neg-app .neg-metal-voucher-bogo{background:linear-gradient(160deg,#f6fff8,#dff5e6);border-color:#b6e2c4}
.neg-app .neg-metal-voucher-cashback{background:linear-gradient(160deg,#fff6f2,#ffe6da);border-color:#f6c7ae}
.neg-app .neg-infinite-disclaimer{margin:26px auto 0;width:min(860px,100%);color:#7b8798;font-size:.72rem;line-height:1.6;text-align:left}
/* Re-draw: the customer may open another box once the cool-down elapses. */
.neg-app .neg-infinite-redraw-panel{display:grid;gap:8px;justify-items:center;width:min(560px,100%);margin:26px auto 0;padding:20px 22px;border-radius:18px;background:linear-gradient(160deg,#fffdf4,#fdf3d8);border:1px solid #f0e0a6;text-align:center}
.neg-app .neg-infinite-redraw-panel strong{font-size:.82rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#8a6a12}
.neg-app .neg-infinite-redraw-panel b{font-variant-numeric:tabular-nums;font-size:1.3rem;color:#0e2f6b}
.neg-app .neg-infinite-redraw-panel small{color:#7b8798;font-size:.76rem}
.neg-app .neg-voucher-history{width:min(860px,100%);margin:26px auto 0;text-align:left}
.neg-app .neg-voucher-history h2{margin:0 0 12px;font:500 22px Georgia,serif}
.neg-app .neg-voucher-history table{width:100%;border-collapse:collapse;font-size:.86rem}
.neg-app .neg-voucher-history th,.neg-app .neg-voucher-history td{padding:9px 10px;border-bottom:1px solid #eee8dd;text-align:left}
.neg-app .neg-voucher-history code{font-size:.82rem;letter-spacing:.04em}
.neg-app .neg-infinite-redraw-panel em{display:block;margin-top:4px;font-style:normal;font-size:.74rem;color:#7b8798}
/* One code, several prizes. The card is a single centred column — auto-fit would
   stretch a one-prize drop across the whole page — and each prize is stacked so
   a drop paying one reward reads as calmly as a drop paying three. */
.neg-app .neg-dual-vouchers.neg-infinite-vouchers{grid-template-columns:minmax(0,560px);justify-content:center}
.neg-app .neg-metal-voucher-bundle{text-align:center}
.neg-app .neg-bundle-lines{list-style:none;display:grid;gap:0;margin:16px 0 6px;padding:0}
.neg-app .neg-bundle-lines li{padding:16px 0;border-top:1px solid rgba(0,0,0,.08)}
.neg-app .neg-bundle-lines li:first-child{border-top:0;padding-top:6px}
.neg-app .neg-bundle-lines b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:2.7rem;line-height:1;color:#8a6a12;letter-spacing:-.02em}
.neg-app .neg-bundle-lines em{display:block;margin-top:4px;font-style:normal;font-weight:900;letter-spacing:.14em;font-size:.72rem;color:#0e2f6b}
.neg-app .neg-bundle-lines small{display:block;margin:8px auto 0;max-width:44ch;color:#485972;font-size:.8rem;line-height:1.55}
.neg-app .neg-bundle-onecode{margin:16px 0 6px;padding:9px 12px;border-radius:10px;background:rgba(138,106,18,.09);color:#8a6a12;font-weight:800;font-size:.76rem;letter-spacing:.04em}
.neg-app .neg-bundle-missing{display:grid;gap:12px;justify-items:center;margin:14px 0 4px;padding:16px 18px;border-radius:12px;background:rgba(184,48,15,.06);border:1px solid rgba(184,48,15,.2)}
.neg-app .neg-bundle-missing p{margin:0;color:#8f2b22;font-size:.84rem;line-height:1.55}
.neg-app .neg-table-note{margin:10px 0 0;color:#7b8798;font-size:.76rem;line-height:1.55}
/* The heading bar paints its text white, but only the gold/silver/silver-combo
   variants ever got a background — the combo and bogo tables were rendering
   white on white. */
.neg-app .neg-product-table-combo .neg-product-table-heading{background:linear-gradient(120deg,#9a6d0c 0%,#d8ae40 46%,#8795a1 54%,#465665 100%)}
.neg-app .neg-product-table-bogo .neg-product-table-heading{background:linear-gradient(120deg,#1f6b3d,#4fa373)}
.neg-app .neg-was{display:block;margin-top:2px;color:#9aa4ae;font-size:.76rem;text-decoration:line-through}
