/* Nile Queen cabinet: gold + lapis video-slot frame. Phone portrait first;
   from 900px the cabinet goes landscape (reels left, control column right). */
.nq-free{font-size:.8rem;text-align:center;margin:.25rem 0 .6rem;color:#475569}
.nq-free a{color:inherit;text-decoration:underline}
#nq-cabinet{--nq-bg:url(assets/temple.webp);--gold:#e9c46a;--gold-d:#9a6b12;--lapis:#14286b;--lapis-d:#0a1440;--led:#ff3b2f;
  position:relative;border-radius:18px;padding:7px;color:#fff;scroll-margin-top:64px;
  background:linear-gradient(160deg,#f7e08a,#b8860b 22%,#fff1a8 45%,#9a6b12 70%,#f2cf63);
  box-shadow:0 10px 28px rgba(10,20,64,.45),inset 0 0 0 2px rgba(255,255,255,.35),inset 0 -3px 0 #6b4a08}
.nq-inner{display:grid;grid-template-columns:minmax(0,1fr);row-gap:6px;border-radius:12px;padding:7px 7px 8px;
  background:radial-gradient(120% 60% at 50% 0%,#24408f 0%,var(--lapis) 45%,var(--lapis-d) 100%);
  box-shadow:inset 0 0 0 2px #0006,inset 0 0 24px #000a}
.nq-side{display:contents}
.nq-logo{order:0}.nq-meters{order:1}#nq-fs{order:2}.nq-glass{order:3}.nq-vault{order:4}#nq-msg{order:5}.nq-deck{order:6}.nq-wallet{order:7}

/* ---------- topper ---------- */
.nq-logo{position:relative;text-align:center;padding:5px 6px 4px;border-radius:10px;overflow:hidden;
  background:linear-gradient(180deg,#0b1a4d,#1b3488);border:2px solid var(--gold);box-shadow:0 0 0 2px #0008,inset 0 0 18px #0009}
.nq-logo::before{content:"";position:absolute;inset:0;background:var(--nq-bg) center 40%/cover no-repeat;opacity:.45}
.nq-logo::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#fff6 48%,transparent 66%);transform:translateX(-120%);pointer-events:none}
.nq-logo b{position:relative;display:block;font:900 clamp(1.5rem,8.4vw,2.8rem)/1 Georgia,'Times New Roman',serif;letter-spacing:.08em;
  background:linear-gradient(180deg,#fff7c9 0%,#f5d061 40%,#b07b10 62%,#ffe48a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 0 #3a2400) drop-shadow(0 0 8px #ffcf4d88)}
.nq-logo small{position:relative;display:block;font:700 .58rem/1.4 'JetBrains Mono',monospace;letter-spacing:.2em;color:#ffe9a6}

/* ---------- LED meters ---------- */
.nq-meters{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:6px}
.nq-meter{background:#050505;border:2px solid var(--gold-d);border-radius:8px;padding:3px 6px;text-align:right;box-shadow:inset 0 0 10px #000;transition:box-shadow .25s}
.nq-meter span{display:block;text-align:left;font:700 .56rem/1 'JetBrains Mono',monospace;letter-spacing:.14em;color:#ffd76a}
.nq-meter b{display:block;font:700 1.04rem/1.2 'JetBrains Mono',monospace;color:var(--led);text-shadow:0 0 6px #ff3b2fcc,0 0 1px #fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.nq-meter.nq-lit{box-shadow:inset 0 0 10px #000,0 0 10px #ffcf4d88;border-color:#ffd76a}
.nq-meter.nq-lit b{color:#ffe35a;text-shadow:0 0 8px #ffb300,0 0 1px #fff}
#nq-fs{width:100%;max-width:none;margin:0;text-align:center;font:800 .78rem/1 'JetBrains Mono',monospace;letter-spacing:.06em;color:#1a1000;
  background:linear-gradient(90deg,#b07b10,#ffe48a,#b07b10);border-radius:6px;padding:7px 4px;animation:nq-pulse 1.4s ease-in-out infinite}
#nq-cabinet.nq-free .nq-glass{box-shadow:0 0 0 3px #ffd76a,0 0 22px #ffcf4d}
#nq-cabinet.nq-free .nq-inner{background:radial-gradient(120% 60% at 50% 0%,#5a2d8f 0%,#2a1460 45%,#12082e 100%)}

/* ---------- reels ---------- */
.nq-glass{position:relative;container-type:inline-size;border-radius:8px;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;
  border:3px solid var(--gold);box-shadow:0 0 0 2px #000a,inset 0 0 30px #000c;background:#0a1440 var(--nq-bg) center/cover}
.nq-glass::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
  background:linear-gradient(180deg,#0009 0%,transparent 12%,transparent 88%,#0009 100%),linear-gradient(100deg,transparent 35%,#ffffff12 45%,transparent 55%)}
.nq-reels{--cell:calc(18.8cqw);position:relative;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--cell) * 3)}
.nq-reel{position:relative;overflow:hidden;height:calc(var(--cell) * 3);
  background:linear-gradient(180deg,#000a,#ffffff10 50%,#000a);border-right:1px solid #e9c46a55}
.nq-reel:last-child{border-right:0}
.nq-strip{will-change:transform;transform:translateY(calc(var(--cell) * -1))}
.nq-blur .nq-strip{filter:url(#nq-vblur)}
.nq-blur .nq-sym img{box-shadow:none}
.nq-tease{box-shadow:inset 0 0 0 3px #ffd76a,inset 0 0 30px #ffb300;z-index:1}
.nq-tease::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffd76a44,transparent 35%,transparent 65%,#ffd76a44);animation:nq-pulse .45s ease-in-out infinite}
.nq-sym{position:relative;height:var(--cell);display:flex;align-items:center;justify-content:center;transition:opacity .25s,filter .25s}
.nq-sym img{width:90%;height:90%;object-fit:cover;border-radius:14%;pointer-events:none;
  border:2px solid #c9962a;box-shadow:0 0 0 1px #2a1a00,0 3px 6px #000b,inset 0 0 0 1px #fff4}
.nq-sym[data-sym=QN] img{border-color:#ffe48a;box-shadow:0 0 0 1px #3a2400,0 0 12px #ffcf4d,0 3px 6px #000b}
.nq-sym[data-sym=SP] img{border-color:#ffb35a;box-shadow:0 0 0 1px #3a1400,0 0 12px #ff9a2e99,0 3px 6px #000b}
.nq-tag{position:absolute;bottom:7%;left:50%;transform:translateX(-50%);font:900 calc(var(--cell) * .13)/1 Georgia,serif;letter-spacing:.06em;color:#fff3c4;
  background:linear-gradient(180deg,#9a1414,#3d0505);border:1px solid #ffd76a;border-radius:4px;padding:2px 5px;text-shadow:0 1px 0 #000;box-shadow:0 2px 4px #000a}
.nq-sym[data-sym=SP] .nq-tag{background:linear-gradient(180deg,#1f6fb0,#0a2a5a)}
.nq-low{position:relative;font:900 calc(var(--cell) * .6)/1 Georgia,'Times New Roman',serif;letter-spacing:-.04em;
  background:linear-gradient(180deg,#fff6c4 0%,#f3c84b 45%,#a8730e 58%,#ffe18a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 0 #0a1440) drop-shadow(0 0 1px #000) drop-shadow(0 0 6px #0008)}
.nq-sym[data-sym=T] .nq-low{font-size:calc(var(--cell) * .48);letter-spacing:-.08em}
.nq-sym[data-sym=A] .nq-low,.nq-sym[data-sym=K] .nq-low{background-image:linear-gradient(180deg,#ffe2da,#ec5b3f 48%,#7a1405 60%,#ffb199)}
.nq-sym[data-sym=Q] .nq-low,.nq-sym[data-sym=J] .nq-low{background-image:linear-gradient(180deg,#e2f9ff,#3aa7e0 48%,#0b3f7a 60%,#a9e2ff)}
.nq-sym[data-sym=T] .nq-low,.nq-sym[data-sym=N] .nq-low{background-image:linear-gradient(180deg,#eaffe6,#3fbf6a 48%,#0b5a2a 60%,#b5f5c4)}

/* win presentation */
.nq-dim{opacity:.32;filter:saturate(.4)}
.nq-hit{z-index:2;animation:nq-hit .55s ease-in-out infinite alternate}
.nq-hit::after{content:"";position:absolute;inset:5%;border-radius:14%;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,#fff9 48%,transparent 62%) -150% 0/250% 100% no-repeat;animation:nq-shine 1.1s ease-in-out infinite}
.nq-hit img{border-color:#fff3b0;box-shadow:0 0 0 1px #3a2400,0 0 16px #ffd76a,0 0 4px #fff}
.nq-hit .nq-low{filter:drop-shadow(0 2px 0 #0a1440) drop-shadow(0 0 10px #ffd76a)}
.nq-land:not(.nq-hit){animation:nq-land .4s cubic-bezier(.2,1.6,.4,1)}
#nq-paylines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
#nq-paylines polyline{fill:none;stroke-width:4;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 2px #000) drop-shadow(0 0 4px currentColor)}
#nq-paylines .nq-pre{stroke-width:2;opacity:.85}
#nq-paylines .nq-draw{stroke-dasharray:100;stroke-dashoffset:100;animation:nq-draw .38s ease-out forwards}
#nq-paylines .nq-one{stroke-width:5}
#nq-boxes{position:absolute;inset:0;pointer-events:none;z-index:3}
.nq-box{position:absolute;width:20%;height:33.333%;border:3px solid;border-radius:10px;box-shadow:0 0 12px var(--glow),inset 0 0 10px var(--glow);animation:nq-box .3s ease-out}
#nq-coins{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:8}

/* big-win banner */
.nq-banner{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle,#000c,#0007)}
.nq-banner[hidden],.nq-screen[hidden],#nq-coins[hidden],#nq-fs[hidden]{display:none}
.nq-rays{position:absolute;left:50%;top:50%;width:180cqw;height:180cqw;margin:-90cqw 0 0 -90cqw;opacity:.55;
  background:repeating-conic-gradient(from 0deg,#ffd76a33 0deg 9deg,transparent 9deg 22.5deg);animation:nq-spin 9s linear infinite;
  -webkit-mask:radial-gradient(circle,#000 10%,transparent 60%);mask:radial-gradient(circle,#000 10%,transparent 60%)}
.nq-banner.huge .nq-rays{background:repeating-conic-gradient(from 0deg,#ff7a2e44 0deg 9deg,transparent 9deg 22.5deg)}
.nq-banner.epic .nq-rays{background:repeating-conic-gradient(from 0deg,#c06bff55 0deg 9deg,transparent 9deg 22.5deg);animation-duration:5s}
.nq-banner-in{position:relative;text-align:center;animation:nq-zoom .45s cubic-bezier(.2,1.4,.4,1)}
.nq-up .nq-banner-in{animation:nq-bump .45s cubic-bezier(.2,1.6,.4,1)}
.nq-banner-t{font:900 clamp(1.8rem,12cqw,3.6rem)/1 Georgia,serif;letter-spacing:.04em;
  background:linear-gradient(180deg,#fff,#ffe07a 40%,#c7880e 60%,#fff2b0);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 0 #4a2a00) drop-shadow(0 0 14px #ffb300)}
.nq-banner.huge .nq-banner-t{filter:drop-shadow(0 3px 0 #4a0000) drop-shadow(0 0 18px #ff5a1f)}
.nq-banner.epic .nq-banner-t{filter:drop-shadow(0 3px 0 #22004a) drop-shadow(0 0 22px #c06bff)}
.nq-banner-n{margin-top:6px;font:800 clamp(1.5rem,9cqw,2.6rem)/1 'JetBrains Mono',monospace;color:#fff;text-shadow:0 0 10px #ffcf4d,0 2px 0 #000;font-variant-numeric:tabular-nums}
.nq-banner-h{margin-top:8px;font:700 .62rem/1 'JetBrains Mono',monospace;letter-spacing:.2em;color:#ffe9a6aa}

/* in-cabinet screens (free spins, vault) */
.nq-screen{position:absolute;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;padding:8px;
  background:radial-gradient(circle at 50% 40%,#1b2f7ae6,#050b26f0 70%)}
.nq-screen-in{text-align:center;animation:nq-zoom .5s cubic-bezier(.2,1.3,.4,1)}
.nq-screen-t{font:900 clamp(1.4rem,9cqw,2.8rem)/1.05 Georgia,serif;
  background:linear-gradient(180deg,#fff7c9,#f5d061 45%,#b07b10 60%,#ffe48a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #000)}
.nq-screen-s{margin:.35rem 0 .2rem;font:800 clamp(.95rem,5.5cqw,1.6rem)/1.1 'JetBrains Mono',monospace;color:#ffd76a;letter-spacing:.06em}
.nq-screen-n{margin:0 0 .6rem;font-size:clamp(.66rem,3.2cqw,.85rem);line-height:1.3;color:#cfd8ff;max-width:34em;margin-inline:auto}
.nq-jars{display:flex;justify-content:center;gap:4cqw;margin:.4rem 0 .5rem}
.nq-vaultscr .nq-screen-in .nq-gold{margin-top:2px}
@container (max-width:360px){.nq-jar{width:21cqw}.nq-screen-t{font-size:7.5cqw}.nq-jars{margin:.25rem 0 .3rem}.nq-screen-n{margin-bottom:.2rem}}
.nq-jar{position:relative;width:24cqw;max-width:150px;min-width:64px;min-height:64px;aspect-ratio:1;padding:0;border:2px solid #ffd76a;border-radius:16px;cursor:pointer;
  background:#120a00;box-shadow:0 4px 0 #5a3a00,0 0 16px #ffcf4d55;transition:transform .15s,box-shadow .15s,opacity .4s;animation:nq-bob 1.6s ease-in-out infinite}
.nq-jar:nth-child(2){animation-delay:.25s}.nq-jar:nth-child(3){animation-delay:.5s}
.nq-jar img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block}
.nq-jar:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 7px 0 #5a3a00,0 0 26px #ffcf4d}
.nq-jar:active{transform:translateY(2px)}
.nq-jar:focus-visible{outline:3px solid #fff;outline-offset:3px}
.nq-jar:disabled{cursor:default}
.nq-jar.nq-picked{animation:nq-shake .5s ease-in-out}
.nq-jar.nq-open{box-shadow:0 0 0 3px #fff3b0,0 0 34px #ffcf4d;animation:nq-bump .45s cubic-bezier(.2,1.6,.4,1)}
.nq-jar.nq-open img{filter:brightness(.55)}
.nq-jar.nq-gone{opacity:.25;animation:none;filter:grayscale(.8)}
.nq-jar-prize{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font:800 clamp(.8rem,4.2cqw,1.2rem)/1.1 'JetBrains Mono',monospace;color:#fff;text-shadow:0 2px 0 #000,0 0 8px #ffb300}
.nq-jar-prize b{font:900 clamp(1.4rem,8cqw,2.4rem)/1 Georgia,serif;color:#ffe48a}

/* scarab coin drop */
.nq-drop{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;background:radial-gradient(circle,#0008,transparent 70%)}
.nq-drop img{width:28cqw;height:28cqw;border-radius:50%;box-shadow:0 0 0 3px #ffd76a,0 0 30px #ffcf4d;animation:nq-fly .7s cubic-bezier(.2,.9,.3,1.2) both}
.nq-drop p{margin-top:2cqw;text-align:center;animation:nq-zoom .4s .35s cubic-bezier(.2,1.4,.4,1) both}
.nq-drop b{display:block;font:900 clamp(1rem,6.5cqw,2rem)/1 Georgia,serif;letter-spacing:.04em;background:linear-gradient(180deg,#fff,#ffe07a 45%,#c7880e 62%,#fff2b0);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #3a2400) drop-shadow(0 0 10px #ffb300)}
.nq-drop span{display:inline-block;margin-top:4px;padding:3px 10px;border-radius:99px;background:#000a;border:1px solid #ffd76a;font:800 clamp(.75rem,4cqw,1.1rem)/1.2 'JetBrains Mono',monospace;color:#fff}
.nq-drop.nq-out{opacity:0;transition:opacity .2s}

/* treasure vault meter */
.nq-vault{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:4px 8px;border-radius:8px;background:#050b26;border:1px solid var(--gold-d)}
.nq-vault-l{font:800 .56rem/1 'JetBrains Mono',monospace;letter-spacing:.14em;color:#ffd76a}
.nq-vault-bar{position:relative;height:10px;border-radius:99px;overflow:hidden;background:#1a2450;box-shadow:inset 0 1px 3px #000;
  background-image:repeating-linear-gradient(90deg,transparent 0 calc(2.5% - 1px),#0008 calc(2.5% - 1px) 2.5%)}
.nq-vault-bar i{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(0);transition:transform .35s cubic-bezier(.2,1.2,.4,1);
  background:linear-gradient(180deg,#fff2b0,#e9b93a 50%,#a36d08)}
.nq-vault b{font:800 .72rem/1 'JetBrains Mono',monospace;color:#fff;min-width:3.6em;text-align:right;font-variant-numeric:tabular-nums}
.nq-vault.nq-near{border-color:#ffd76a;box-shadow:0 0 10px #ffcf4d66}
.nq-vault.nq-near .nq-vault-bar i{animation:nq-glow 1s ease-in-out infinite}
.nq-vault.nq-full{border-color:#fff3b0;box-shadow:0 0 16px #ffcf4d}
.nq-vault.nq-full b{color:#ffe35a}

/* message bar + deck */
#nq-msg{min-height:2.3em;padding:5px 8px;border-radius:6px;background:#020617;border:1px solid var(--gold-d);
  font:700 .72rem/1.2 'JetBrains Mono',monospace;color:#ffd76a;text-align:center;display:flex;align-items:center;justify-content:center;letter-spacing:.03em;box-shadow:inset 0 0 8px #000}
.nq-deck{display:grid;gap:6px}
.nq-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.nq-step{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;background:#0a1440;border:2px solid var(--gold-d);border-radius:10px;overflow:hidden}
.nq-step span{text-align:center;font:700 .54rem/1.1 'JetBrains Mono',monospace;letter-spacing:.1em;color:#ffd76a}
.nq-step span b{display:block;font-size:1.02rem;color:#fff}
.nq-btn{position:relative;min-height:44px;min-width:44px;border:0;border-radius:10px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  font:800 .76rem/1 'Plus Jakarta Sans',system-ui,sans-serif;letter-spacing:.06em;color:#fff;
  background:linear-gradient(180deg,#3c5bc4,#1b3488 55%,#0f1f5c);box-shadow:inset 0 1px 0 #ffffff55,0 3px 0 #050b26,0 4px 6px #0006;
  transition:transform .08s,box-shadow .08s,filter .15s}
.nq-btn:hover:not(:disabled){filter:brightness(1.12)}
.nq-step .nq-btn{border-radius:0;font-size:1.3rem;box-shadow:none;background:linear-gradient(180deg,#2c4bb4,#14286b)}
.nq-btn:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 1px 0 #ffffff33,0 0 0 #050b26,inset 0 2px 6px #0007}
.nq-step .nq-btn:active:not(:disabled){transform:none;filter:brightness(.8)}
.nq-btn:disabled{opacity:.45;cursor:default}
.nq-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.nq-btn[aria-pressed=true]{background:linear-gradient(180deg,#ffe48a,#d39b1d 55%,#8a5a00);color:#1a1000}
.nq-gold{color:#1a1000;background:linear-gradient(180deg,#fff2b0,#e9b93a 50%,#a36d08);box-shadow:inset 0 1px 0 #fff,0 3px 0 #5a3a00;padding:0 1.4rem}
.nq-row4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.nq-main{display:grid;grid-template-columns:1fr 1.6fr;gap:6px}
#nq-spin{min-height:58px;font-size:1.35rem;letter-spacing:.12em;border-radius:14px;color:#1a0900;overflow:hidden;
  background:radial-gradient(120% 90% at 50% 20%,#fff6c8,#f2c040 45%,#b9770a 80%);box-shadow:inset 0 2px 0 #fff,0 4px 0 #5a3a00,0 0 18px #ffcf4d77}
#nq-spin::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,#fff8 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}
#nq-spin:active:not(:disabled){box-shadow:inset 0 2px 0 #fff8,0 1px 0 #5a3a00,0 0 26px #ffcf4d,inset 0 3px 8px #7a4a0055}
#nq-spin.nq-live{filter:brightness(.9) saturate(.85)}
#nq-max{min-height:58px;background:linear-gradient(180deg,#d8402c,#8f1d0e 60%,#5a0f05);font-size:.88rem}
.nq-wallet{display:flex;gap:6px}
.nq-wallet:not(:has(.nq-btn:not([hidden]))){display:none}
.nq-wallet .nq-btn{flex:1}
.nq-wallet .nq-btn[hidden]{display:none}
.nq-keys{text-align:center;font-size:.72rem;color:#64748b;margin:.5rem 0 0}

/* idle attract */
.nq-attract .nq-logo::after{animation:nq-sweep 3.2s ease-in-out infinite}
.nq-attract #nq-spin::after{animation:nq-sweep 2.4s .6s ease-in-out infinite}
.nq-attract .nq-sym img{animation:nq-glint 3.2s ease-in-out infinite}
.nq-attract .nq-reel:nth-child(2) .nq-sym img{animation-delay:.25s}
.nq-attract .nq-reel:nth-child(3) .nq-sym img{animation-delay:.5s}
.nq-attract .nq-reel:nth-child(4) .nq-sym img{animation-delay:.75s}
.nq-attract .nq-reel:nth-child(5) .nq-sym img{animation-delay:1s}

/* paytable dialog */
#nq-pay{margin:auto;max-width:min(560px,94vw);width:94vw;max-height:88vh;border:3px solid #e9c46a;border-radius:14px;padding:0;color:#fff;background:#0b1a4d}
#nq-pay::backdrop{background:#000b}
.nq-pay-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px;background:#14286b;border-bottom:2px solid #9a6b12;position:sticky;top:0;z-index:1}
.nq-pay-head strong{font:900 1.1rem/1 Georgia,serif;color:#ffd76a;letter-spacing:.06em}
.nq-pay-body{padding:10px 12px 14px;font-size:.86rem;line-height:1.45}
.nq-pay-body h3{font:800 1rem/1.2 Georgia,serif;color:#ffd76a;margin:.6rem 0 .3rem}
.nq-pay-body p{margin:0 0 .5rem;color:#e2e8ff}
.nq-small{font-size:.75rem;color:#b9c4ee}
.nq-odds{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0 0 .6rem;font:700 .8rem/1.2 'JetBrains Mono',monospace}
.nq-odds li{background:#0a1440;border:1px solid #9a6b12;border-radius:6px;padding:3px 7px}
.nq-odds b{color:#ffd76a}
.nq-pcard{--cell:64px;display:flex;align-items:center;gap:10px;background:#0a1440;border:1px solid #9a6b12;border-radius:10px;padding:4px 8px;margin:0 0 6px}
.nq-pcard .nq-sym{width:64px;flex:0 0 64px}
.nq-pcard ul{list-style:none;display:grid;gap:1px;font:700 .82rem/1.25 'JetBrains Mono',monospace;color:#fff}
.nq-pcard li b{display:inline-block;width:1.4em;color:#ffd76a}
.nq-pgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.nq-pgrid .nq-pcard{margin:0}
.nq-lgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.nq-mini{background:#0a1440;border-radius:6px;padding:4px;border:1px solid #9a6b12}
.nq-mini span{display:block;font:700 .66rem/1 'JetBrains Mono',monospace;color:var(--lc);margin-bottom:3px}
.nq-mini div{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}
.nq-mini i{display:block;aspect-ratio:1;background:#24346e;border-radius:2px}
.nq-mini i.on{background:var(--lc)}

/* guide below the game */
.nq-guide{max-width:680px;margin:1.5rem auto;padding:0 1rem;line-height:1.6;font-size:.95rem}
.nq-guide h2{font-size:1.2rem;margin:1.2rem 0 .4rem}
.nq-guide ul{padding-left:1.2rem;margin:.4rem 0}
.nq-guide p{margin:.4rem 0}
.nq-guide table{border-collapse:collapse;width:100%;font-size:.85rem;margin:.5rem 0}
.nq-guide th,.nq-guide td{border:1px solid #cbd5e1;padding:4px 6px;text-align:center}
.nq-guide th:first-child,.nq-guide td:first-child{text-align:left}

@keyframes nq-hit{from{transform:scale(1)}to{transform:scale(1.07);filter:brightness(1.2)}}
@keyframes nq-shine{0%{background-position:-150% 0}60%,100%{background-position:150% 0}}
@keyframes nq-land{0%{transform:scale(.86)}100%{transform:scale(1)}}
@keyframes nq-draw{to{stroke-dashoffset:0}}
@keyframes nq-box{from{transform:scale(1.25);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes nq-pulse{50%{opacity:.6}}
@keyframes nq-glow{50%{filter:brightness(1.35)}}
@keyframes nq-zoom{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes nq-bump{0%{transform:scale(1)}40%{transform:scale(1.14)}100%{transform:scale(1)}}
@keyframes nq-spin{to{transform:rotate(360deg)}}
@keyframes nq-bob{50%{transform:translateY(-4px)}}
@keyframes nq-shake{0%,100%{transform:rotate(0)}20%{transform:rotate(-7deg)}40%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(3deg)}}
@keyframes nq-fly{0%{transform:translate(-70cqw,-30cqw) rotate(-40deg) scale(.4);opacity:0}70%{opacity:1}100%{transform:none;opacity:1}}
@keyframes nq-sweep{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes nq-glint{0%,80%,100%{filter:none}88%{filter:brightness(1.35) saturate(1.2)}}

/* phone: keep reels + SPIN on one screen */
@media (max-width:420px){
  .nq-logo small{display:none}
  .nq-logo{padding:4px 6px 3px}
  .nq-step span{font-size:.5rem}
}

/* desktop: landscape cabinet */
@media (min-width:900px){
  html body .game-wrap,html body[data-pip-frame] .game-wrap{max-width:980px}
  #nq-cabinet{padding:10px;border-radius:22px}
  .nq-inner{grid-template-columns:minmax(0,1fr) 270px;column-gap:10px;row-gap:8px;padding:10px;align-items:start}
  .nq-logo{grid-column:1 / -1}
  .nq-logo b{font-size:2.6rem}
  .nq-side{display:flex;flex-direction:column;gap:8px;grid-column:2;grid-row:2 / span 4;align-self:stretch}
  #nq-fs,.nq-glass,.nq-vault,#nq-msg{grid-column:1}
  #nq-fs{grid-row:2}.nq-glass{grid-row:3}.nq-vault{grid-row:4}#nq-msg{grid-row:5}
  #nq-cabinet:not(.nq-free) .nq-glass{grid-row:2 / span 2}
  .nq-meters{grid-template-columns:1fr;gap:6px}
  .nq-meter{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:6px 10px}
  .nq-meter b{font-size:1.45rem}
  .nq-deck{flex:1;grid-template-rows:auto auto 1fr}
  .nq-row{grid-template-columns:1fr}
  .nq-row4{grid-template-columns:1fr 1fr}
  .nq-main{grid-template-columns:1fr 1.6fr;align-items:stretch}
  #nq-spin,#nq-max{min-height:76px}
  .nq-btn{font-size:.86rem}
  #nq-msg{font-size:.85rem}
  .nq-vault-l{font-size:.64rem}
}
@media (prefers-reduced-motion:reduce){
  .nq-hit,.nq-hit::after,#nq-fs,.nq-tease::after,.nq-banner-in,.nq-screen-in,.nq-land,.nq-rays,.nq-jar,.nq-drop img,.nq-drop p,.nq-box,
  .nq-attract .nq-logo::after,.nq-attract #nq-spin::after,.nq-attract .nq-sym img,.nq-vault-bar i{animation:none !important;transition:none}
  #nq-paylines .nq-draw{animation:none;stroke-dashoffset:0}
  .nq-hit{filter:brightness(1.25)}
  .nq-attract .nq-glass{box-shadow:0 0 0 2px #000a,0 0 18px #ffcf4d88}
}
