/* Dice & Dumplings rewards: the member site. Loaded after app.css. */
:root{--holo-1:#ff9d42;--holo-2:#f5402d;--holo-3:#7b5bff;--holo-4:#3ad29f;--holo-5:#ffd166;--ink:#f4f2f6}
html{scroll-behavior:smooth}
/* The page gradient lives on the fixed aurora layer (one composited layer) rather than as a fixed body background, which phones repaint on every scroll. */
body{overflow-x:hidden;background-image:none;background-attachment:scroll}
/* ---- live background: aurora blobs + particle canvas ----
   Everything here is compositor-only: the blobs are soft radial gradients moved with transforms (no blur filter, no blend
   mode, both of which cost a full-screen render pass per frame on weak GPUs), and the canvas draws at 30fps with cached gradients. */
#bg{position:fixed;inset:0;z-index:0;pointer-events:none}
.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--bg-page)}
.aurora i{position:absolute;width:56vmax;height:56vmax;border-radius:50%;opacity:.55;will-change:transform;transform:translate3d(0,0,0)}
.aurora i:nth-child(1){background:radial-gradient(circle at 50% 50%,rgba(255,157,66,.5) 0%,rgba(255,157,66,.3) 18%,rgba(255,157,66,.13) 38%,rgba(255,157,66,.04) 54%,transparent 68%);left:-18vmax;top:-22vmax;animation:aur1 26s ease-in-out infinite alternate}
.aurora i:nth-child(2){background:radial-gradient(circle at 50% 50%,rgba(123,91,255,.48) 0%,rgba(123,91,255,.28) 18%,rgba(123,91,255,.12) 38%,rgba(123,91,255,.04) 54%,transparent 68%);right:-20vmax;top:10vmax;animation:aur2 31s ease-in-out infinite alternate}
.aurora i:nth-child(3){background:radial-gradient(circle at 50% 50%,rgba(245,64,45,.38) 0%,rgba(245,64,45,.22) 18%,rgba(245,64,45,.09) 38%,rgba(245,64,45,.03) 54%,transparent 68%);left:20vmax;bottom:-30vmax;animation:aur3 37s ease-in-out infinite alternate}
.aurora i:nth-child(4){background:radial-gradient(circle at 50% 50%,rgba(58,210,159,.32) 0%,rgba(58,210,159,.18) 18%,rgba(58,210,159,.07) 38%,rgba(58,210,159,.02) 54%,transparent 66%);right:10vmax;bottom:-10vmax;width:38vmax;height:38vmax;animation:aur1 41s ease-in-out infinite alternate-reverse}
@keyframes aur1{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(14vmax,10vmax,0) scale(1.15)}}
@keyframes aur2{from{transform:translate3d(0,0,0) scale(1.05)}to{transform:translate3d(-12vmax,16vmax,0) scale(.9)}}
@keyframes aur3{from{transform:translate3d(0,0,0) scale(.95)}to{transform:translate3d(10vmax,-14vmax,0) scale(1.1)}}
@media (prefers-reduced-motion:reduce){.aurora i{animation:none}}
/* Frosted panels re-blur their backdrop every frame while the background moves: on this site the panels are plain translucent instead. */
.panel{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,.055)}
.modal-bg{backdrop-filter:none;-webkit-backdrop-filter:none}
/* Looping animations stop while they are off screen (.offscreen, set by the page) or under an overlay, and in lite mode. */
.offscreen,.offscreen::before,.offscreen::after,.offscreen *,.offscreen *::before,.offscreen *::after,body.no-scroll .site *,body.no-scroll .site *::before,body.no-scroll .site *::after,body.has-modal .site *,body.has-modal .site *::before,body.has-modal .site *::after,body.no-scroll .aurora i,body.has-modal .aurora i{animation-play-state:paused!important}
html.lite .aurora i,html.lite .holo .foil,html.lite .hero2 h1 .shine,html.lite .bob,html.lite .eyebrow i::after{animation:none!important}
html.lite .poke::after,html.lite .dropban::after{display:none}
html.lite .aurora i:nth-child(1){transform:translate3d(7vmax,5vmax,0) scale(1.08)}html.lite .aurora i:nth-child(2){transform:translate3d(-6vmax,8vmax,0)}html.lite .aurora i:nth-child(3){transform:translate3d(5vmax,-7vmax,0)}
.site{position:relative;z-index:1;max-width:1040px;margin:0 auto;padding:18px 18px 80px}

/* ---- nav ---- */
.nav-bar{display:flex;align-items:center;gap:14px;padding:6px 0 18px}
.nav-bar .brand{display:flex;align-items:center;gap:12px;color:var(--text)}
.nav-bar .brand img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(255,157,66,.35))}
.nav-bar .brand b{display:block;font-size:19px;letter-spacing:-.3px;line-height:1.1}
.nav-bar .brand span{font-size:12px;color:var(--muted)}
.nav-bar .right{margin-left:auto;display:flex;gap:8px;align-items:center}

/* ---- hero ---- */
.hero2{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center;padding:36px 0 26px;min-height:440px}
.hero2 .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent-1);font-weight:700;padding:6px 12px;border:1px solid var(--accent-line);border-radius:999px;background:var(--accent-bg)}
.hero2 .eyebrow i{position:relative;width:7px;height:7px;border-radius:50%;background:var(--pos)}
.hero2 .eyebrow i::after{content:'';position:absolute;inset:-4px;border-radius:50%;background:rgba(58,210,159,.22);animation:pulse 2.2s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.9);opacity:.15}}
.hero2 h1{font-size:clamp(40px,6.4vw,66px);line-height:.98;letter-spacing:-2px;margin:16px 0 14px;font-weight:900}
.hero2 h1 .shine{background:linear-gradient(90deg,var(--holo-1),var(--holo-5),var(--holo-2),var(--holo-3),var(--holo-1));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 8s steps(110) infinite}
@keyframes shine{to{background-position:300% 0}}
.hero2 .lead{font-size:17px;color:#d9d3e0;max-width:520px;line-height:1.55}
.hero2 .cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;align-items:center}
.hero2 .cta .btn-lg{padding:14px 24px;font-size:16px;border-radius:14px}
.hero2 .stats{display:flex;gap:22px;margin-top:26px;flex-wrap:wrap}
.hero2 .stats div b{display:block;font-size:24px;font-weight:900;letter-spacing:-.5px}.hero2 .stats div span{font-size:12px;color:var(--muted)}
.bob{display:block;animation:bob 5s ease-in-out infinite;will-change:transform}
.mascot-wrap{position:absolute;right:-18px;bottom:-22px;width:150px;pointer-events:none;z-index:2}
.mascot{display:block;width:100%;pointer-events:none;filter:drop-shadow(0 12px 24px rgba(0,0,0,.45))}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(2deg)}}
@media (max-width:860px){.hero2{grid-template-columns:1fr;min-height:0;padding-top:12px}.hero2 .lead{font-size:15.5px}.mascot-wrap{width:96px;right:-6px;bottom:-14px}}

/* ---- holo member card ---- */
.card-stage{perspective:1200px;position:relative;padding:18px 8px}
.holo{--rx:0deg;--ry:0deg;position:relative;width:100%;max-width:420px;margin:0 auto;border-radius:22px;padding:20px 24px 18px;color:#fff;
  background:linear-gradient(135deg,#231a2b 0%,#3a1f2d 45%,#1b1626 100%);border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 60px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.12);transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .12s ease-out;transform-style:preserve-3d;overflow:hidden;isolation:isolate}
/* The light on the card: a glow and a rainbow band that follow the pointer. Both are elements moved with transforms (--gx/--gy,
   --bx/--by set by the page), so following the mouse never repaints the card; painted once and still on touch screens. */
.holo{--gx:0px;--gy:0px;--bx:-31%;--by:-31%}
.holo .fxl{position:absolute;inset:0;border-radius:22px;overflow:hidden;mix-blend-mode:screen;opacity:.9;pointer-events:none;z-index:1}
.holo .fxl .glow{position:absolute;left:-50%;top:-50%;width:200%;height:200%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.3),transparent 27%);transform:translate(var(--gx),var(--gy))}
.holo .fxl .band{position:absolute;left:0;top:0;width:260%;height:260%;background:linear-gradient(115deg,transparent 30%,rgba(255,157,66,.35) 44%,rgba(255,209,102,.35) 48%,rgba(58,210,159,.32) 52%,rgba(123,91,255,.35) 56%,rgba(245,64,45,.3) 60%,transparent 72%);transform:translate(var(--bx),var(--by))}
@media (hover:hover){.holo .fxl .glow,.holo .fxl .band{will-change:transform}}
.holo::after{content:'';position:absolute;inset:0;border-radius:22px;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 2px,transparent 2px 6px);opacity:.6;pointer-events:none;z-index:1}
.holo .foil{position:absolute;inset:-40% -20%;background:conic-gradient(from 180deg at 50% 50%,rgba(255,157,66,0) 0deg,rgba(255,157,66,.12) 35deg,rgba(255,157,66,.2) 70deg,rgba(190,124,160,.17) 110deg,rgba(123,91,255,.18) 150deg,rgba(90,150,207,.15) 185deg,rgba(58,210,159,.16) 220deg,rgba(150,137,102,.14) 255deg,rgba(245,64,45,.18) 290deg,rgba(250,110,55,.1) 325deg,rgba(255,157,66,0) 360deg);opacity:.5;animation:spin 18s linear infinite;will-change:transform;pointer-events:none;z-index:0}
.holo.still .foil{animation-duration:36s}
.holo > .in{position:relative;z-index:2;display:flex;flex-direction:column;gap:14px}
.holo .top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.holo .top .t{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.72);font-weight:700}
.holo .top .t b{display:block;font-size:15px;letter-spacing:-.2px;text-transform:none;color:#fff;margin-top:2px}
.holo .top img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.holo .who{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:6px;min-width:0}
.holo .who .nc{min-width:0}
.holo .who .n{font-size:17px;font-weight:800;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.holo .who .c{font-family:ui-monospace,Menlo,monospace;font-size:19px;letter-spacing:2.5px;color:#ffd166;font-weight:800;text-shadow:0 2px 12px rgba(255,209,102,.35)}
.holo .ean{margin-top:0;background:#fff;border-radius:12px;padding:7px 10px 5px;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.holo .ean img{display:block;width:100%;height:auto;max-height:62px;object-fit:contain}
.holo .ean span{display:block;text-align:center;font-size:10.5px;color:#666;margin-top:2px;letter-spacing:.2px}
.pips{display:flex;gap:6px;margin-top:8px}
.pips i{width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.06)}
.pips i.on{background:linear-gradient(135deg,var(--holo-5),var(--holo-1));border-color:transparent;box-shadow:0 0 10px rgba(255,157,66,.6)}
.holo .badge-unlock{position:absolute;top:16px;right:66px;z-index:3;background:linear-gradient(135deg,var(--holo-4),#1fb586);color:#062b1f;font-weight:900;font-size:11px;letter-spacing:.6px;text-transform:uppercase;padding:6px 10px;border-radius:999px;box-shadow:0 8px 20px rgba(58,210,159,.35)}
@media (max-width:420px){.holo{padding:14px 16px 13px}.holo > .in{gap:10px}.holo .who .c{font-size:16px}.holo .who .n{font-size:15px}.holo .ean{padding:5px 8px 3px}.holo .ean img{max-height:50px}}

/* ---- under the card: barcode for the till, home-screen tip ---- */
.till-strip{display:flex;align-items:center;gap:14px;margin:4px 8px 0;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.till-strip img{height:64px;width:auto;max-width:230px;border-radius:8px;background:#fff;padding:4px 6px;flex:0 0 auto}
.till-strip span{font-size:12.5px;color:var(--muted);line-height:1.4}.till-strip b{color:#ffd166;font-family:ui-monospace,Menlo,monospace;letter-spacing:1px}
@media (max-width:420px){.till-strip{flex-direction:column;align-items:flex-start}.till-strip img{max-width:100%}}
.till-note{margin:10px 8px 0;font-size:12.5px;color:var(--muted);line-height:1.45}.till-note b{color:#ffd166;font-family:ui-monospace,Menlo,monospace;letter-spacing:1px}
.home-tip{position:relative;display:flex;gap:12px;align-items:center;margin:10px 8px 0;padding:10px 40px 10px 12px;border-radius:14px;background:linear-gradient(120deg,rgba(123,91,255,.14),rgba(255,157,66,.1));border:1px solid rgba(123,91,255,.35)}
.home-tip img{width:44px;height:44px;border-radius:12px;flex:0 0 auto;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.home-tip > div > b{display:block;font-size:13.5px}.home-tip span{display:block;font-size:12.5px;color:#d9d3e0;line-height:1.4}.home-tip span b{color:#fff}
.home-tip .x{position:absolute;right:6px;top:6px;border:0;background:transparent;color:var(--muted);padding:6px 8px;font-size:14px}

/* ---- sections ---- */
.sec{margin-top:34px}
.sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.sec-h h2{font-size:26px;letter-spacing:-.6px;margin:0}.sec-h p{margin:0;color:var(--muted);max-width:520px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.step-card{position:relative;padding:22px 20px 20px;border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid var(--line);overflow:hidden;transition:transform .2s,border-color .2s}
.step-card:hover{transform:translateY(-4px);border-color:var(--accent-line)}
.step-card .num{position:absolute;right:14px;top:6px;font-size:64px;font-weight:900;letter-spacing:-3px;color:rgba(255,255,255,.05);line-height:1}
.step-card .ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--accent-bg);border:1px solid var(--accent-line);margin-bottom:14px}
.step-card .ico svg{width:28px;height:28px}
.step-card h3{font-size:17px;margin:0 0 6px}.step-card p{color:#cfc8d6;font-size:14px;margin:0}
@media (max-width:760px){.steps{grid-template-columns:1fr}}

.poke{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center;padding:22px 24px;border-radius:var(--radius);border:1px solid rgba(255,209,102,.3);background:linear-gradient(120deg,rgba(255,209,102,.1),rgba(245,64,45,.08) 50%,rgba(123,91,255,.1));position:relative;overflow:hidden}
.poke::after{content:'';position:absolute;top:0;bottom:0;left:0;width:55%;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);transform:translateX(-100%);animation:sweep 6s ease-in-out infinite;will-change:transform;pointer-events:none}
@keyframes sweep{0%{transform:translateX(-100%)}100%{transform:translateX(290%)}}
.poke .bob{width:110px;height:110px;animation-duration:6s}
.poke img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(245,64,45,.35))}
.poke h2{margin:0 0 6px;font-size:22px}.poke p{margin:0;color:#e2dce8}
.timeline{display:flex;gap:0;margin-top:16px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.tl{flex:1 0 150px;position:relative;padding:12px 12px 0 0}
.tl::before{content:'';position:absolute;left:0;right:0;top:19px;height:2px;background:var(--line-2)}
.tl i{position:absolute;left:0;top:13px;width:14px;height:14px;border-radius:50%;background:var(--bg-1);border:2px solid var(--muted)}
.tl.open i{background:var(--pos);border-color:var(--pos);box-shadow:0 0 0 5px rgba(58,210,159,.18)}
.tl.upcoming i{border-color:var(--accent-1)}
.tl.ended i{border-color:var(--faint)}
.tl b{display:block;margin-top:22px;font-size:13px}.tl span{font-size:12px;color:var(--muted);display:block}
.tl .tag{display:inline-block;margin-top:5px;font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--panel);color:var(--muted)}
.tl.open .tag{background:var(--pos-bg);color:var(--pos)}.tl.upcoming .tag{background:var(--accent-bg);color:var(--accent-1)}
@media (max-width:640px){.poke{grid-template-columns:1fr;text-align:center}.poke .bob{margin:0 auto}}

.rules2{columns:2;column-gap:22px}
.rules2 p{break-inside:avoid;padding:10px 0 10px 24px;position:relative;margin:0;color:#d9d3e0;font-size:14px;border-bottom:1px solid var(--line)}
.rules2 p::before{content:'✦';position:absolute;left:2px;top:9px;color:var(--accent-1)}
@media (max-width:640px){.rules2{columns:1}}
.foot{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.foot #fx{color:var(--muted);text-decoration:underline dotted}.foot #fx:hover{color:var(--text)}

/* ---- forms (join / login) ---- */
.form-wrap{display:grid;grid-template-columns:1fr .9fr;gap:26px;align-items:center;margin-top:10px}
.form-wrap .panel{padding:26px 26px}
.form-wrap .aside{position:relative;text-align:center}
.form-wrap .aside .mascot-wrap{position:static;width:190px;margin:0 auto}
.form-wrap .aside p{color:var(--muted);max-width:320px;margin:8px auto 0}
@media (max-width:760px){.form-wrap{grid-template-columns:1fr}.form-wrap .aside{display:none}}
.field input{padding:12px 14px;font-size:15px}

/* ---- account ---- */
.acct-top{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
@media (max-width:820px){.acct-top{grid-template-columns:1fr}}
.ring-wrap{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}
.ring{width:150px;height:150px;position:relative}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring .seg{fill:none;stroke:rgba(255,255,255,.1);stroke-width:12;stroke-linecap:round}
.ring .seg.on{stroke:url(#ringGrad);filter:drop-shadow(0 0 6px rgba(255,157,66,.5))}
.ring .c{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.ring .c b{font-size:44px;font-weight:900;letter-spacing:-2px;line-height:1}.ring .c span{font-size:11px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}
.unlock-line{font-size:16px;font-weight:700;margin-bottom:6px}.unlock-line b{color:var(--pos)}
@media (max-width:420px){.ring-wrap{grid-template-columns:1fr;justify-items:center;text-align:center}}
.ring .seg.hold{stroke:rgba(255,209,102,.55);stroke-dasharray:4 5!important;filter:none}
.hold-line{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#ffd166;background:rgba(255,209,102,.1);border:1px dashed rgba(255,209,102,.45);padding:5px 10px;border-radius:999px;margin:2px 0 8px}
.hold-line i{width:8px;height:8px;border-radius:50%;background:#ffd166;box-shadow:0 0 0 3px rgba(255,209,102,.2)}
.shop-hint{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}
.pchip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;color:#ffd166;background:rgba(255,209,102,.12);border:1px solid rgba(255,209,102,.3);padding:3px 9px 3px 6px;border-radius:999px;white-space:nowrap}
.pchip svg{width:16px;height:16px}

/* ---- the drop banner + product grid ---- */
.dropban{position:relative;display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:center;padding:18px 22px;border-radius:var(--radius);overflow:hidden;margin:4px 0 16px;
  border:1px solid rgba(255,209,102,.28);background:linear-gradient(115deg,rgba(255,157,66,.16),rgba(245,64,45,.1) 45%,rgba(123,91,255,.14))}
.dropban.open{border-color:rgba(58,210,159,.4)}
.dropban::after{content:'';position:absolute;top:0;bottom:0;left:0;width:55%;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.07) 50%,transparent 100%);transform:translateX(-100%);animation:sweep 7s ease-in-out infinite;will-change:transform;pointer-events:none}
.dropban .bob{width:96px;height:96px;animation-duration:6s}
.dropban .ball{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(245,64,45,.35))}
.dropban h3{margin:6px 0 4px;font-size:24px;letter-spacing:-.6px}
.dropban .meta{font-size:13px;color:#d9d3e0}.dropban .meta b{color:#fff}
.dropban p{margin:8px 0 0;color:#d9d3e0;font-size:14px}
.dropban .badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.dropban .badge + .badge{margin-left:6px}
.dropban.earlier-drop{border-color:rgba(255,255,255,.14);background:linear-gradient(115deg,rgba(255,157,66,.09),rgba(123,91,255,.08))}
/* the pointer under the newest drop: earlier drops with stock are further down */
.earlier{display:flex;align-items:center;gap:14px;margin:-8px 0 26px;padding:14px 16px;border-radius:16px;border:1px dashed rgba(255,209,102,.5);background:linear-gradient(90deg,rgba(255,209,102,.08),rgba(255,157,66,.03))}
.earlier .ea-i{flex:0 0 40px;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,209,102,.12)}.earlier .ea-i svg{width:22px;height:22px}
.earlier > div:not(.ea-i){flex:1}.earlier b{display:block;font-size:14.5px}.earlier span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.earlier .btn{flex:0 0 auto}
@media (max-width:560px){.earlier{flex-wrap:wrap;gap:10px;padding:12px}.earlier .btn{flex:1 1 100%;justify-content:center}}
/* points draw: under its drop's banner, a framed card with fanned tickets */
.draw{position:relative;overflow:hidden;margin:-4px 0 18px;border-radius:22px;border:1px dashed rgba(255,209,102,.55);background:linear-gradient(135deg,rgba(255,209,102,.1),rgba(255,157,66,.05) 40%,rgba(123,91,255,.12));padding:20px 20px 16px}
.draw.drawn{border-style:solid;border-color:rgba(255,209,102,.35)}
.dw-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}
.dw-art{display:flex;flex-direction:column;align-items:center;gap:12px}.dw-art>svg{width:190px;height:auto;filter:drop-shadow(0 16px 28px rgba(0,0,0,.45))}
.dw-pics{position:relative;width:220px;height:178px;margin-top:4px}
.dw-pics figure{position:absolute;margin:0;width:150px;padding:8px;border-radius:18px;background:#fff;box-shadow:0 16px 32px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08);transition:transform .35s cubic-bezier(.2,1.2,.4,1)}
.dw-pics figure img{display:block;width:100%;aspect-ratio:1;object-fit:contain}
.dw-pics.n1 figure{left:50%;top:6px;width:172px;transform:translateX(-50%) rotate(-3deg)}
.dw-pics.n2 figure.v0{left:0;top:0;transform:rotate(-8deg);z-index:1}
.dw-pics.n2 figure.v1{right:0;top:20px;transform:rotate(6deg);z-index:2}
.dw-pics.n3 figure{width:120px}.dw-pics.n3 figure.v0{left:0;top:10px;transform:rotate(-9deg)}.dw-pics.n3 figure.v1{left:50px;top:0;z-index:2;transform:rotate(-1deg)}.dw-pics.n3 figure.v2{right:0;top:24px;z-index:3;transform:rotate(8deg)}
.dw-art:hover .dw-pics.n2 figure.v0{transform:translate(-8px,-4px) rotate(-12deg)}.dw-art:hover .dw-pics.n2 figure.v1{transform:translate(8px,-2px) rotate(10deg)}
.dw-pics figcaption{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);padding:4px 12px;border-radius:99px;font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:#fff;white-space:nowrap;box-shadow:0 6px 14px rgba(0,0,0,.4)}
.dw-pics figcaption.day{background:linear-gradient(135deg,#21b98f,#2a8fd8)}.dw-pics figcaption.night{background:linear-gradient(135deg,#7b4dff,#c03ba5)}
.dw-pics figcaption.t0{background:linear-gradient(135deg,#ff9d42,#f5402d)}.dw-pics figcaption.t1{background:linear-gradient(135deg,#7b5bff,#3ad29f)}.dw-pics figcaption.t2{background:linear-gradient(135deg,#ffd166,#ff9d42);color:#2b1d05}
.dw-side{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}
.dw-stub{display:flex;align-items:center;gap:10px;width:100%;max-width:200px;padding:9px 12px;border-radius:12px;background:linear-gradient(135deg,#ffd166,#ff9d42);color:#2b1d05;box-shadow:0 10px 22px rgba(0,0,0,.35)}
.dw-stub svg{width:20px;height:20px;flex:0 0 20px;padding-right:10px;box-sizing:content-box;border-right:1.5px dashed rgba(43,29,5,.35)}
.dw-stub b{display:block;font-size:13.5px;font-weight:900;line-height:1.2}.dw-stub small{display:block;font-size:11.5px;font-weight:600;opacity:.8;font-family:ui-monospace,Menlo,monospace}
.dw-stub.none{background:rgba(255,255,255,.07);color:var(--text);border:1.5px dashed rgba(255,209,102,.5);box-shadow:none}.dw-stub.none svg{border-right-color:rgba(255,209,102,.4);color:#ffd166}.dw-stub.none small{font-family:inherit;color:#ffd166;opacity:1}
.dw-pics.n2 figure.v0 figcaption{top:-10px;bottom:auto;left:12px;transform:none}.dw-pics.n2 figure.v1 figcaption{bottom:-12px;left:auto;right:14px;transform:none}
.dw-pics.cut{height:228px}.dw-pics.cut figure{background:none;padding:0;box-shadow:none;border-radius:0;width:168px}.dw-pics.cut figure img{aspect-ratio:auto;filter:drop-shadow(0 14px 18px rgba(0,0,0,.55))}
.dw-pics.cut.n2 figure.v0{left:-6px;top:10px;transform:rotate(-8deg)}.dw-pics.cut.n2 figure.v1{right:-6px;top:72px;transform:rotate(5deg)}.dw-pics.cut figcaption{bottom:-14px}
.dw-art:hover .dw-pics.cut.n2 figure.v0{transform:translate(-6px,-6px) rotate(-13deg)}.dw-art:hover .dw-pics.cut.n2 figure.v1{transform:translate(6px,2px) rotate(9deg)}
.dw-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dw-steps>div{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.dw-steps i{flex:0 0 26px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:13px;color:#2b1d05;background:linear-gradient(135deg,#ffd166,#ff9d42)}
.dw-steps span{font-size:12.5px;color:#d9d3e0;line-height:1.4}.dw-steps b{display:block;font-size:13.5px;color:var(--text);margin-bottom:2px}
.dw-sc>.dw-row>div:first-child{flex:1;min-width:220px}.dw-sct{font-size:16px;font-weight:900;letter-spacing:-.3px;color:var(--text)}
.dw-ikinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}
.dw-ikinds .k{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:12px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.09)}
.dw-ikinds .k img{flex:0 0 48px;width:48px;height:48px;object-fit:contain;background:#fff;border-radius:10px;padding:2px}
.dw-ikinds .ki{flex:0 0 48px;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:16px;color:#2b1d05;background:linear-gradient(135deg,#ffd166,#ff9d42)}
.dw-ikinds b{display:block;font-size:13.5px}.dw-ikinds small{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}.dw-ikinds .k.item b{color:#7fe0bd}
.dw-imine .dw-ipic{width:78px;height:78px;object-fit:contain;background:#fff;border-radius:12px;padding:3px}
.celebrate.inst .iw-pic{display:block;width:170px;height:170px;object-fit:contain;margin:10px auto 0;background:#fff;border-radius:22px;padding:8px;box-shadow:0 18px 30px rgba(0,0,0,.45);animation:iwpop .7s cubic-bezier(.2,1.4,.4,1) both}
.dw-row .chip.pic{display:inline-flex;align-items:center;gap:7px;padding-left:6px}.dw-row .chip.pic img{width:28px;height:28px;object-fit:contain;background:#fff;border-radius:7px;padding:1px}
.dw-cap{text-align:center;font-size:12px;color:var(--muted);line-height:1.4}.dw-cap b{color:#7fe0bd}
.dw-main{min-width:0;display:flex;flex-direction:column;gap:14px}
.dw-over{display:flex;align-items:center;gap:7px;flex-wrap:nowrap;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#ffd166}.dw-over svg{width:15px;height:15px;flex:none}
.draw h3{margin:6px 0 6px;font-size:22px;letter-spacing:-.5px;font-weight:900;line-height:1.2}
.draw p{margin:0;color:#d9d3e0;font-size:14px}.draw .gold{color:#ffd166}.dw-desc{margin-top:6px!important;color:var(--muted)!important;font-size:13px!important}
.dw-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.dw-stats>div{padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.26);border:1px solid rgba(255,255,255,.08)}
.dw-stats b{display:block;font-size:22px;font-weight:900;letter-spacing:-.8px;line-height:1.1}.dw-stats b.sm{font-size:14px;letter-spacing:-.2px;line-height:1.3;padding-top:2px}.dw-stats span{font-size:11px;color:var(--muted)}
.dw-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dw-row.between{justify-content:space-between;gap:12px}
.dw-l{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.dw-s{font-size:13px;color:#d9d3e0}.dw-tiny{font-size:12px;color:var(--muted);margin-bottom:6px}.dw-tiny b{color:var(--text)}
.dw-row .chip{min-height:38px;padding:7px 14px;font-weight:800;font-size:13px}
.dw-sc{display:flex;flex-direction:column;gap:8px}.dw-all{padding:5px 10px;min-height:32px;font-size:12px}
.dw-scl{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.scp{display:grid;grid-template-columns:40px minmax(0,1fr) 22px;gap:10px;align-items:center;text-align:left;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.22);color:var(--text);cursor:pointer;min-height:56px;font:inherit}
.scp img{width:40px;height:40px;object-fit:contain;border-radius:8px;background:#fff;padding:2px}.scp b{display:block;font-size:13px;line-height:1.25}.scp em{font-style:normal;font-size:11.5px;color:var(--muted)}
.scp i{width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);display:grid;place-items:center}.scp i svg{width:13px;height:13px}
.scp.on{border-color:rgba(58,210,159,.55);background:rgba(58,210,159,.1)}.scp.on i{background:#3ad29f;border-color:#3ad29f;color:#062b1f}
.scp span{min-width:0}.scp b,.scp em{white-space:normal;overflow-wrap:break-word}.scp:disabled{opacity:.5;cursor:not-allowed}.scp img.ph{background:rgba(255,255,255,.9);padding:6px}
.dw-box{border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.qty.big button{font-size:20px;padding:9px 16px;min-width:44px;min-height:44px}.qty.big b{min-width:40px;text-align:center;font-size:22px;font-weight:900}
.dw-bar{height:10px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}.dw-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ffd166,#ff9d42)}
.dw-odds{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;color:#d9d3e0}.dw-odds svg{width:16px;height:16px;flex:0 0 16px}.dw-odds b{color:#7fe0bd}
.dw-go{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;font-size:15px;min-height:44px}.dw-go svg{width:18px;height:18px}
.dw-fine{font-size:12px!important;color:var(--muted)!important;line-height:1.5}
.dw-alt{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:rgba(58,210,159,.1);border:1px solid rgba(58,210,159,.35);font-size:14px;line-height:1.5}.dw-alt b{color:#3ad29f}
.dw-res{display:flex;flex-direction:column;gap:14px}
.dw-won{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:center;padding:16px 18px;border-radius:18px;border:1px solid rgba(58,210,159,.55);background:linear-gradient(135deg,rgba(58,210,159,.16),rgba(255,209,102,.1) 50%,rgba(123,91,255,.14))}
.dw-won .dw-art svg{width:170px}.dw-won .dw-over{color:#7fe0bd}.dw-won h3{font-size:24px}
.dw-pay{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 8px;padding:12px 14px;border-radius:14px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1)}
.dw-pay>div{margin-right:auto}.dw-pay b{display:block;font-size:24px;font-weight:900;letter-spacing:-.8px;color:#ffd166}.dw-pay span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:700}
.dw-lose{padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.dw-lose h3{font-size:19px;margin-top:0}
.dw-list{display:flex;flex-direction:column;gap:10px}.dw-list h4{margin:0;font-size:16px}
.dw-wins{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.dw-wins>div{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:12px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.08);min-width:0}
.dw-wins .n{flex:0 0 28px;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:900;background:linear-gradient(135deg,#ffd166,#ff9d42);color:#2b1d05}
.dw-wins b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dw-wins span{font-size:11.5px;color:var(--muted)}
.dw-wins em{font-style:normal;font-weight:700}.dw-wins em.p{color:#7fe0bd}.dw-wins em.w{color:#ffb454}.dw-wins em.x{color:#ff9d8a}
.dw-list .btn-sm{align-self:flex-start}
.dw-inst{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,209,102,.38);background:linear-gradient(135deg,rgba(255,209,102,.11),rgba(123,91,255,.09) 60%,rgba(58,210,159,.07))}
.dw-ihead{display:flex;align-items:center;gap:11px}.dw-ihead>svg{width:24px;height:24px;flex:0 0 24px;filter:drop-shadow(0 0 8px rgba(255,209,102,.6));animation:twinkle 2.6s ease-in-out infinite}
.dw-ihead b{display:block;font-size:14.5px;font-weight:900;letter-spacing:-.2px;color:#ffe2a3}.dw-ihead span{display:block;font-size:12.5px;color:#d9d3e0;margin-top:2px}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.18) rotate(18deg)}}
.dw-ifind{display:flex;flex-wrap:wrap;gap:6px}.dw-ifind span{font-size:11.5px;color:#d9d3e0;padding:4px 10px;border-radius:99px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.09)}.dw-ifind b{color:#fff}
.dw-imine{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid rgba(58,210,159,.5);background:rgba(58,210,159,.1)}
.dw-imine svg{width:78px;height:auto}.dw-imine b{display:block;font-size:14px;color:#7fe0bd}.dw-imine span{display:block;font-size:12.5px;color:#d9d3e0;margin-top:2px}
.celebrate.inst .iw-art svg{display:block;width:180px;height:auto;margin:8px auto 0;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45));animation:iwpop .7s cubic-bezier(.2,1.4,.4,1) both}
@keyframes iwpop{0%{transform:scale(.4) rotate(-14deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}
@media (prefers-reduced-motion:reduce){.dw-ihead>svg,.celebrate.inst .iw-art svg{animation:none}}
.ticket.won{border-color:rgba(255,209,102,.6);background:linear-gradient(120deg,rgba(255,209,102,.14),rgba(123,91,255,.08))}
.ticket .m.won{display:flex;align-items:center;gap:5px;color:#ffd166;font-weight:700}.ticket .m.won svg{width:13px;height:13px}
.ticket .tact{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:700px){.dw-grid{grid-template-columns:1fr;gap:14px}.dw-art{flex-direction:row;justify-content:center;align-items:center;gap:14px}.dw-art>svg{width:140px}.dw-cap{text-align:left}.dw-side{align-items:flex-start;width:auto;flex:1;min-width:0;max-width:200px}
  .dw-pics{width:160px;height:136px;flex:0 0 160px}.dw-pics figure{width:110px;padding:6px;border-radius:14px}.dw-pics.n1 figure{width:128px}.dw-pics figcaption{font-size:10px;padding:3px 9px;bottom:-9px}.dw-pics.cut{height:182px}.dw-pics.cut figure{width:120px}.dw-pics.cut.n2 figure.v1{top:56px}.dw-stub small{white-space:normal}.dw-imine .dw-ipic{width:62px;height:62px}.dw-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dw-won{grid-template-columns:1fr}.dw-won .dw-art svg{width:130px}}
@media (max-width:560px){.dw-steps{grid-template-columns:1fr}.dw-row>.dw-l{flex-basis:100%}.draw{padding:14px 12px 12px}.draw h3{font-size:19px}.dw-scl{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.scp{grid-template-columns:30px minmax(0,1fr) 18px;gap:7px;padding:7px 8px;min-height:50px}.scp img{width:30px;height:30px}.scp img.ph{padding:4px}.scp b{font-size:12px}.scp em{font-size:10.5px}.scp i{width:18px;height:18px}.scp i svg{width:11px;height:11px}.dw-imine{grid-template-columns:62px minmax(0,1fr)}.dw-imine svg{width:62px}.dw-go{width:100%;justify-content:center}.dw-wins{grid-template-columns:1fr}}
.dropban .count{text-align:center;padding:10px 18px;border-radius:14px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);display:block}
.count b{display:block;font-size:34px;font-weight:900;letter-spacing:-1.5px;line-height:1}.count span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;line-height:1.2;display:block;margin:3px auto 0;max-width:62px}
@media (max-width:640px){.dropban{grid-template-columns:64px 1fr}.dropban .bob,.dropban .ball{width:64px;height:64px}.dropban .count{grid-column:1 / -1;display:flex;gap:8px;align-items:baseline;justify-content:center;padding:8px}.dropban .count span{max-width:none;margin:0}.dropban h3{font-size:20px}}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-bottom:26px}
@media (max-width:560px){.shop-grid{grid-template-columns:1fr 1fr;gap:10px}.pimg{padding:10px;aspect-ratio:1/.9}.pbody{padding:10px 11px 12px;gap:6px}.pbody h4{font-size:13px;min-height:2.6em}.pline{flex-wrap:wrap;gap:4px 8px}.pprice{font-size:17px}.pchip{font-size:11px;padding:2px 7px 2px 5px}.pstock span{font-size:10.5px}.btn-add{padding:9px 8px;font-size:12.5px}.btn-inb{padding:9px 8px;font-size:12px}.qty button{padding:5px 9px}.flag{font-size:9.5px;padding:3px 7px}.pill{font-size:10px}}
/* "pick one of" set: the choices framed together, with the rule spelled out once */
.choice{grid-column:1 / -1;border:1px dashed rgba(255,209,102,.5);border-radius:22px;padding:10px;background:linear-gradient(180deg,rgba(255,209,102,.07),rgba(255,157,66,.025))}
.choice.picked{border-style:solid;border-color:rgba(31,181,134,.5);background:linear-gradient(180deg,rgba(31,181,134,.08),rgba(31,181,134,.02))}
.ch-h{display:flex;align-items:center;gap:10px;padding:4px 6px 12px}.ch-h svg{flex:0 0 26px;width:26px;height:26px}
.ch-h b{display:block;font-size:14.5px;letter-spacing:-.2px}.ch-h span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.ch-h em{font-style:normal;color:#7fe0bd;font-weight:700}
.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
/* a small set takes only the columns it needs; the grid always has 2+ columns from 560px up, 3+ from 700px, 4+ from 896px */
.choice.n2{grid-column:span 2}.choice.n2 .ch-grid{grid-template-columns:1fr 1fr}
.choice.n3{grid-column:span 3}.choice.n3 .ch-grid{grid-template-columns:repeat(3,1fr)}
.choice.n4{grid-column:span 4}.choice.n4 .ch-grid{grid-template-columns:repeat(4,1fr)}
@media (max-width:895px){.choice.n4{grid-column:1 / -1}.choice.n4 .ch-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}
@media (max-width:699px){.choice.n3{grid-column:1 / -1}.choice.n3 .ch-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}
@media (max-width:560px){.choice,.choice.n2,.choice.n3,.choice.n4{grid-column:1 / -1;padding:8px}.ch-grid,.choice.n2 .ch-grid,.choice.n3 .ch-grid,.choice.n4 .ch-grid{grid-template-columns:1fr 1fr;gap:10px}.ch-h{padding:2px 4px 10px}.ch-h b{font-size:13.5px}.ch-h span{font-size:11.5px}}
.pcard{content-visibility:auto;contain-intrinsic-size:auto 340px;position:relative;display:flex;flex-direction:column;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));overflow:hidden;transition:transform .22s,border-color .22s,box-shadow .22s}
.pcard:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.pcard.inbasket{border-color:rgba(255,209,102,.55);box-shadow:0 0 0 1px rgba(255,209,102,.25),0 14px 34px rgba(255,157,66,.12)}
.pcard.out .pimg img{filter:grayscale(1) opacity(.5)}
.pcard.bump{animation:bump .45s cubic-bezier(.34,1.56,.64,1)}
@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.035)}100%{transform:scale(1)}}
.pimg{position:relative;aspect-ratio:1/.92;background:radial-gradient(circle at 50% 35%,#ffffff 0%,#eef0f4 70%,#dfe3ea 100%);display:grid;place-items:center;padding:14px;overflow:hidden}
.pimg img{width:100%;height:100%;object-fit:contain;transition:transform .35s ease;filter:drop-shadow(0 10px 16px rgba(0,0,0,.25))}
.pcard:hover .pimg img{transform:scale(1.06) rotate(-1.2deg)}
.pimg .noimg{width:100%;height:100%;display:grid;place-items:center}.pimg .noimg img{width:46%;height:auto;opacity:.5}
.flag{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:4px 9px;border-radius:999px;color:#fff;background:#1a1520;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.flag.low{background:linear-gradient(135deg,#f5402d,#ff9d42)}.flag.mine{background:linear-gradient(135deg,#1fb586,#3ad29f);color:#062b1f}.flag.out{background:#3a3541;color:#cfc8d6}
.pill{position:absolute;right:10px;top:10px;font-size:11px;font-weight:800;padding:4px 9px;border-radius:999px;background:#ffd166;color:#2b1d05;box-shadow:0 4px 12px rgba(255,209,102,.4)}
.pbody{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.pbody h4{margin:0;font-size:14.5px;line-height:1.3;min-height:2.6em}
.pline{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pprice{font-size:21px;font-weight:900;letter-spacing:-.6px;color:#ffd166;text-shadow:0 2px 14px rgba(255,209,102,.25)}.pprice small{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.8px;margin-left:5px;text-transform:uppercase}
.pstock{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted)}.pstock i{flex:0 0 46px;height:6px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}.pstock i b{display:block;height:100%;border-radius:99px}
.pstock.lv-high i b{width:100%;background:linear-gradient(90deg,#2fb886,#3ad29f)}.pstock.lv-high span{color:#7fe0bd}
.pstock.lv-mid i b{width:58%;background:linear-gradient(90deg,#ffb454,#ff9d42)}.pstock.lv-mid span{color:#ffc27a}
.pstock.lv-low i b{width:22%;background:linear-gradient(90deg,#ff6e54,#f5402d);box-shadow:0 0 8px rgba(245,64,45,.6)}.pstock.lv-low span{color:#ff9d8a;font-weight:700}
.pstock.lv-out i b{width:0}.pstock.lv-out span{color:var(--muted)}
.pact{margin-top:auto;padding-top:4px;display:flex;align-items:center;gap:10px;min-height:38px}
.btn-add{width:100%;justify-content:center;padding:10px 12px}.btn-add svg{width:18px;height:18px}
.btn-inb{width:100%;justify-content:center;background:rgba(255,209,102,.12);border-color:rgba(255,209,102,.45);color:#ffd166;padding:10px 12px}.btn-inb:hover{background:rgba(255,110,84,.16);border-color:rgba(255,110,84,.5);color:#ffb3a4}.btn-inb svg{width:16px;height:16px}
.inb{font-size:12px;font-weight:700;color:#ffd166}
.why{font-size:12.5px;color:var(--muted);font-weight:600}
.pstock .sfx{font-style:normal}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:999px;overflow:hidden;background:rgba(0,0,0,.25)}
.qty button{border:0;border-radius:0;background:transparent;padding:6px 12px;font-size:17px;line-height:1;color:var(--text)}.qty button:hover{background:rgba(255,255,255,.08)}.qty button:disabled{opacity:.35;cursor:not-allowed}
.qty b{min-width:26px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums}

/* ---- tickets (my pre-orders) ---- */
.tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:10px}
.ticket{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:stretch;padding:12px 16px 12px 14px;border-radius:14px;background:linear-gradient(120deg,rgba(255,157,66,.09),rgba(255,255,255,.03));border:1px dashed rgba(255,157,66,.4);position:relative}
.ticket::before,.ticket::after{content:'';position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:var(--bg-0);transform:translateY(-50%)}
.ticket::before{left:-9px;border-right:1px dashed rgba(255,157,66,.4)}.ticket::after{right:-9px;border-left:1px dashed rgba(255,157,66,.4)}
.ticket .ref{font-family:ui-monospace,Menlo,monospace;font-weight:800;letter-spacing:1.5px;color:var(--accent-1);font-size:13px;writing-mode:vertical-rl;transform:rotate(180deg);border-right:1px solid var(--line);padding-right:8px;align-self:center}
.ticket .tb{display:grid;grid-template-columns:52px 1fr;gap:8px 12px;align-items:center;min-width:0}
.ticket .timg{width:52px;height:52px;object-fit:contain;border-radius:10px;background:#fff;padding:3px}
.ticket b{display:block;font-size:14px;line-height:1.3}.ticket .m{font-size:12px;color:var(--muted)}
.ticket .ts{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:8px;font-weight:700;font-size:12.5px}
.ticket.s-collected{border-style:solid;border-color:rgba(123,91,255,.4);background:linear-gradient(120deg,rgba(123,91,255,.1),rgba(255,255,255,.03))}
.wstats{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.wstats div{flex:1;text-align:center;padding:8px 4px;border-radius:12px;background:rgba(255,255,255,.04)}
.wstats b{display:block;font-size:20px;font-weight:900;letter-spacing:-.5px}.wstats span{font-size:11px;color:var(--muted)}

/* ---- basket bar + drawer ---- */
body.has-bar .site{padding-bottom:120px}
body.has-bar .toast{bottom:92px}
.bbar.bump{animation:bump .45s cubic-bezier(.34,1.56,.64,1)}
body.no-scroll{overflow:hidden}
.bbar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 10px;border-radius:999px;background:rgba(22,18,28,.97);border:1px solid rgba(255,209,102,.45);box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04) inset;animation:barin .4s cubic-bezier(.34,1.4,.64,1);max-width:calc(100vw - 24px)}
@keyframes barin{from{transform:translateX(-50%) translateY(30px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}
.bb-open{position:relative;background:transparent;border:0;padding:4px 6px;display:flex;align-items:center;gap:10px;color:var(--text)}
@media (prefers-reduced-motion:reduce){.bbar,.pcard.bump,.celebrate .stamp,.bob,.dropban::after{animation:none}.drawer{transition:none}}
.bb-open svg{width:26px;height:26px;color:#ffd166}
.bb-open .n{position:absolute;left:24px;top:2px;min-width:18px;height:18px;border-radius:999px;background:var(--grad-accent);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;padding:0 5px}
.bb-open .t{text-align:left;line-height:1.15}.bb-open .t b{display:block;font-size:14px}.bb-open .t small{font-size:12px;color:var(--muted)}
.bb-go{border-radius:999px;padding:11px 18px;font-size:14.5px}
.drawer-bg{position:fixed;inset:0;background:rgba(6,4,10,.62);z-index:45;opacity:0;pointer-events:none;transition:opacity .25s}
.drawer-bg.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);z-index:46;background:var(--panel-solid);border-left:1px solid var(--line-2);box-shadow:-20px 0 60px rgba(0,0,0,.5);transform:translateX(104%);transition:transform .32s cubic-bezier(.2,.8,.2,1);padding:18px 18px 22px;display:flex;flex-direction:column;overflow-y:auto}
.drawer.open{transform:none}
.drawer .dh{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.drawer .dh h3{margin:0;font-size:20px;display:flex;align-items:center;gap:8px}.drawer .dh h3 svg{width:22px;height:22px;color:#ffd166}
.drawer .x{border:0;background:transparent;font-size:18px;color:var(--muted);padding:6px 8px}
.dl{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.dline{display:grid;grid-template-columns:52px 1fr auto auto;gap:10px;align-items:center;padding:8px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.dline .di img{width:52px;height:52px;object-fit:contain;border-radius:10px;background:#fff;padding:3px}
.dline .dn b{display:block;font-size:13.5px;line-height:1.25}.dline .dn span{font-size:12px;color:var(--muted)}
.dline .dp{font-weight:800;font-size:14px;min-width:56px;text-align:right}
.dline .rm{padding:4px 8px;font-size:12px}
@media (max-width:420px){.dline{grid-template-columns:44px 1fr auto}.dline .di img{width:44px;height:44px}.dline .dn{grid-column:2 / -1}.dline .qty,.dline .rm{grid-column:2;justify-self:start}.dline .dp{grid-column:3;grid-row:2;align-self:center}}
.dsum{margin-top:auto;padding:12px 4px 12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.dsum div{display:flex;justify-content:space-between}.dsum span{color:var(--muted)}.dsum .tot{font-size:18px;margin-top:4px}.dsum .tot b{color:#ffd166}
.dempty{text-align:center;padding:30px 10px;color:var(--muted)}.dempty img{width:120px;opacity:.85}

/* ---- checkout ---- */
.chk-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.chk-h h2{margin:0}
.chk-lines{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.cl{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.04)}
.cl img{width:48px;height:48px;object-fit:contain;border-radius:8px;background:#fff;padding:2px}
.cl b{display:block;font-size:13.5px;line-height:1.25}.cl span{font-size:12px;color:var(--muted)}.cl .cp{font-size:14px}
.chk-tot{padding:10px 8px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:14px;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.chk-tot div{display:flex;justify-content:space-between;align-items:baseline}.chk-tot span{color:var(--muted)}.chk-tot .big b{font-size:24px;font-weight:900;letter-spacing:-.6px;color:#ffd166}
.gpay{min-height:48px;margin-bottom:12px}
.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;letter-spacing:.5px;text-transform:uppercase;margin:0 0 12px}.or::before,.or::after{content:'';flex:1;height:1px;background:var(--line)}
#card-container{margin-bottom:12px}
.secure{font-size:12px;color:var(--muted);margin-top:10px;text-align:center}

/* ---- a point for a review: the card that should feel like a small prize ---- */
.rv{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid rgba(255,209,102,.38);background:linear-gradient(120deg,rgba(255,209,102,.16),rgba(255,157,66,.09) 45%,rgba(123,91,255,.16));display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center;padding:20px 22px}
.rv::after{content:'';position:absolute;top:0;bottom:0;left:0;width:55%;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.07) 50%,transparent 100%);transform:translateX(-100%);animation:sweep 8s ease-in-out infinite;will-change:transform;pointer-events:none}
.rv .art{position:relative;width:170px;height:150px}
.rv .art svg{width:100%;height:100%;display:block;overflow:visible}
.rv .art .coin{transform-origin:126px 30px;animation:rvcoin 3.2s ease-in-out infinite}
.rv .art .tw{transform-box:fill-box;transform-origin:center;animation:rvtw 2.4s ease-in-out infinite}
.rv .art .tw.b{animation-delay:.8s}.rv .art .tw.c{animation-delay:1.5s}
.rv .art .star5{transform-box:fill-box;transform-origin:center;animation:rvstar 2.6s ease-in-out infinite}
@keyframes rvcoin{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-6px) rotate(6deg)}}
@keyframes rvtw{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
@keyframes rvstar{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
.rv .overline{margin-bottom:4px}
.rv h3{margin:0 0 6px;font-size:21px;letter-spacing:-.4px}
.rv h3 b{background:linear-gradient(90deg,#ffd166,#ff9d42);-webkit-background-clip:text;background-clip:text;color:transparent}
.rv p{margin:0;color:#e2dce8;font-size:14px}
.rv .steps3{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 14px}
.rv .steps3 span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;padding:5px 10px 5px 6px;border-radius:999px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);color:#e2dce8}
.rv .steps3 i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:11px;background:linear-gradient(135deg,#ffd166,#ff9d42);color:#2b1d05}
.rv .act{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.rv .act .field{margin:0;min-width:200px;flex:1 1 200px}.rv .act .field input{background:rgba(0,0,0,.28)}
.rv .act .btn-primary{padding:12px 18px;border-radius:12px}
.rv .fine{margin-top:10px;font-size:12px;color:var(--muted)}
.rv .state{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px;margin-bottom:8px}
.rv .state.pending{background:rgba(255,209,102,.12);border:1px dashed rgba(255,209,102,.5);color:#ffd166}
.rv .state.pending i{width:8px;height:8px;border-radius:50%;background:#ffd166;animation:pulse 2.2s ease-in-out infinite}
.rv .state.done{background:linear-gradient(135deg,var(--holo-4),#1fb586);color:#062b1f;box-shadow:0 8px 20px rgba(58,210,159,.3)}
.rv .state svg{width:16px;height:16px;flex:0 0 16px}.rv .act .btn-primary svg{width:18px;height:18px;margin-right:6px;vertical-align:-4px}
.rv .state.no{background:rgba(255,110,84,.12);border:1px solid rgba(255,110,84,.4);color:#ff9d8a}
@media (max-width:640px){.rv{grid-template-columns:1fr;text-align:center;gap:8px}.rv .art{margin:0 auto;width:150px;height:132px}.rv .steps3,.rv .act{justify-content:center}.rv .act .field{text-align:left}}
html.lite .rv::after{display:none}html.lite .rv .art .coin,html.lite .rv .art .tw,html.lite .rv .art .star5{animation:none}

/* ---- celebration ---- */
.celebrate{position:relative;text-align:center}
.celebrate canvas{position:absolute;pointer-events:none;z-index:2}
.celebrate .cb{position:relative;z-index:1;padding:10px 6px 4px}
.celebrate .stamp{display:inline-block;font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:900;color:#062b1f;background:linear-gradient(135deg,var(--holo-4),#1fb586);padding:7px 16px;border-radius:999px;transform:rotate(-3deg);box-shadow:0 10px 24px rgba(58,210,159,.35);animation:stamp .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes stamp{from{transform:rotate(-3deg) scale(2.2);opacity:0}to{transform:rotate(-3deg) scale(1);opacity:1}}
.celebrate h2{font-size:32px;letter-spacing:-1px;margin:14px 0 6px;background:linear-gradient(90deg,#fff,#ffd166,#ff9d42);-webkit-background-clip:text;background-clip:text;color:transparent}
.celebrate .lead{color:#d9d3e0;max-width:460px;margin:0 auto 14px;font-size:15px}
.celebrate .tickets{text-align:left;margin-bottom:14px;grid-template-columns:1fr}
.celebrate .btn-lg{margin-top:4px}
.tline{position:relative;padding-left:22px}
.tline::before{content:'';position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--line-2)}
.tline .e{position:relative;padding:6px 0 10px}
.tline .e i{position:absolute;left:-19px;top:11px;width:10px;height:10px;border-radius:50%;background:var(--pos);box-shadow:0 0 0 3px rgba(58,210,159,.18)}
.tline .e.neg i{background:var(--neg);box-shadow:0 0 0 3px rgba(255,110,84,.18)}
.tline .e .d{font-weight:800;font-variant-numeric:tabular-nums;margin-right:8px}.tline .e .d.pos{color:var(--pos)}.tline .e .d.neg{color:var(--neg)}
.tline .e .w{color:var(--muted);font-size:12px;margin-left:6px}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero2 h1 .shine,.poke::after,.holo .foil,.eyebrow i::after{animation:none}}
button,.btn{white-space:nowrap}
@media (max-width:520px){.nav-bar .brand span{display:none}.nav-bar .brand b{font-size:16px}.nav-bar .brand img{width:42px;height:42px}}

/* ---- "Show at the till": full screen, white, big ---- */
.till-btn{margin:12px 8px 0;width:calc(100% - 16px);gap:10px}
.till-btn svg{width:22px;height:22px}
.tillview{position:fixed;inset:0;z-index:80;background:#fff;color:#111;display:flex;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch}
.tillview .tv-top{display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#666;font-weight:700}
.tillview .tv-x{border:1px solid #ccc;background:#fff;color:#111;font:inherit;font-weight:700;font-size:15px;padding:8px 18px;border-radius:999px;cursor:pointer}
.tillview .tv-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:10px 16px calc(24px + env(safe-area-inset-bottom));text-align:center}
.tillview .tv-name{font-size:18px;font-weight:800;color:#111}
.tillview picture{display:block;width:100%;max-width:760px}
.tillview .tv-ean{width:100%;height:auto;max-height:60vh;object-fit:contain;display:block}
.tillview .tv-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:34px;font-weight:900;letter-spacing:6px;color:#111}
.tillview .tv-hint{font-size:13.5px;color:#555;max-width:420px;margin:0;line-height:1.45}.tillview .tv-hint b{color:#111}
@media (orientation:landscape) and (max-height:500px){.tillview .tv-top{padding-top:6px;padding-bottom:2px}.tillview .tv-body{gap:4px;padding:0 16px 10px}.tillview .tv-ean{max-height:50vh}.tillview .tv-name{display:none}.tillview .tv-code{font-size:22px;letter-spacing:4px}.tillview .tv-hint{font-size:11.5px;max-width:640px}.tillview .tv-rotate{display:none}}
@media (max-height:640px){.tillview .tv-body{gap:8px}.tillview .tv-code{font-size:26px}}

/* ---- terms page ---- */
.terms h3{font-size:17px;margin:20px 0 6px}.terms h3:first-child{margin-top:0}
.terms p{margin:0 0 10px;line-height:1.6;color:#d9d3e0}

/* ---- small phones (360-400px wide) ---- */
@media (max-width:400px){
  .nav-bar .brand b{font-size:15px}.nav-bar{gap:8px}
  .hero2 .mascot-wrap{display:none}
  .hero2 .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hero2 .stats div b{font-size:20px}.hero2 .stats div span{font-size:11px}
  .pstock{flex-direction:column;align-items:stretch;gap:5px}.pstock i{flex:0 0 5px;width:100%}.pstock .sfx{display:none}
  .why{font-size:11.5px}.pbody h4{min-height:0}
}
/* email check on the join page: a quiet suggestion, red when the address cannot work */
.email-hint{color:var(--muted)!important;font-size:13px!important}.email-hint.bad{color:#ff8a7a!important}
.linkish{background:none;border:0;padding:0;margin:0;font:inherit;color:#ffb05c;font-weight:700;text-decoration:underline;cursor:pointer;min-height:0;box-shadow:none}.linkish:hover{color:#ffd166}
