/* Nova Engine V3 — isolated flagship runtime.
   This stylesheet is intentionally scoped to .nova-game-page so the legacy
   casino pages keep their existing presentation. */

:root{
  --nv-ink:#020705;
  --nv-ink-2:#06130c;
  --nv-panel:rgba(5,18,10,.88);
  --nv-panel-solid:#07150d;
  --nv-gold:#f4d36f;
  --nv-gold-hot:#fff0aa;
  --nv-green:#70f08a;
  --nv-green-hot:#a8ffb3;
  --nv-red:#ff5b61;
  --nv-text:#f7f6e9;
  --nv-muted:#92a79a;
  --nv-line:rgba(241,207,102,.23);
  --nv-line-soft:rgba(255,255,255,.09);
  --nv-ease:cubic-bezier(.2,.78,.22,1);
  --nv-spring:cubic-bezier(.16,.86,.22,1.15);
  --nv-shadow:0 26px 80px rgba(0,0,0,.6);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color-scheme:dark;
}

*{box-sizing:border-box}
html,body{margin:0;min-width:320px;min-height:100%;background:var(--nv-ink)}
body.nova-game-page{
  height:100vh;
  height:100dvh;
  overflow:hidden;
  overflow:clip;
  color:var(--nv-text);
  background:#020705;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  overscroll-behavior:none;
}
body.nova-game-page button,body.nova-game-page input{font:inherit}
body.nova-game-page button,body.nova-game-page a{-webkit-tap-highlight-color:transparent}
body.nova-game-page button{color:inherit}
body.nova-game-page a{color:inherit;text-decoration:none}
body.nova-game-page img{display:block;max-width:100%}
body.nova-game-page button:focus-visible,body.nova-game-page a:focus-visible,body.nova-game-page input:focus-visible{
  outline:2px solid var(--nv-gold-hot);
  outline-offset:3px;
}

.nv-sr-only{position:fixed!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.nv-skip{position:fixed;z-index:9999;left:12px;top:12px;padding:10px 14px;border-radius:9px;background:#fff;color:#07150d!important;transform:translateY(-180%);transition:transform .18s}
.nv-skip:focus{transform:none}
.nv-app-root{width:100%;height:100%;min-height:0}
.nv-boot{width:100%;height:100%;display:grid;place-content:center;justify-items:center;gap:10px;background:radial-gradient(circle at 50% 35%,#10301c,#020705 56%);letter-spacing:.18em;text-align:center}
.nv-boot i{width:32px;height:32px;border:2px solid rgba(244,211,111,.18);border-top-color:var(--nv-gold);border-radius:50%;animation:nvBoot 1s linear infinite}
.nv-boot b{font-family:Georgia,serif;color:var(--nv-gold);font-size:.82rem}
.nv-boot span{color:var(--nv-muted);font-size:.62rem;letter-spacing:.08em}
.nv-fx-canvas{position:fixed;z-index:310;inset:0;width:100%;height:100%;pointer-events:none}

.nv-shell{
  position:relative;
  isolation:isolate;
  width:100%;
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:54px minmax(0,1fr) 112px;
  overflow:hidden;
  overflow:clip;
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.48)),
    radial-gradient(circle at 50% 37%,rgba(59,236,104,.12),transparent 31%),
    var(--nv-bg) center/cover no-repeat,
    #031008;
}
.nv-shell::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-5%;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 10% 52%,rgba(2,8,4,.86),transparent 35%),
    radial-gradient(ellipse at 90% 52%,rgba(2,8,4,.86),transparent 35%),
    linear-gradient(90deg,rgba(0,0,0,.54),transparent 30%,transparent 70%,rgba(0,0,0,.54));
}
.nv-shell::after{
  content:"";
  position:absolute;
  z-index:250;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 120px rgba(0,0,0,.62);
  opacity:.8;
}
.nv-shell[data-quality="low"]{--nv-shadow:0 18px 45px rgba(0,0,0,.55)}

/* Top navigation */
.nv-topbar{
  position:relative;
  z-index:230;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);
  align-items:center;
  gap:12px;
  padding:6px max(10px,env(safe-area-inset-left)) 6px max(10px,env(safe-area-inset-right));
  border-bottom:1px solid rgba(244,211,111,.18);
  background:linear-gradient(180deg,rgba(5,19,11,.94),rgba(3,12,7,.86));
  backdrop-filter:blur(14px);
  box-shadow:0 12px 35px rgba(0,0,0,.28),inset 0 -1px rgba(111,255,135,.035);
}
.nv-back,.nv-icon-button,.nv-pill-button{
  min-height:40px;
  border:1px solid var(--nv-line-soft);
  border-radius:11px;
  background:linear-gradient(180deg,rgba(21,47,28,.86),rgba(4,16,9,.94));
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 6px 15px rgba(0,0,0,.2);
  cursor:pointer;
  transition:transform .16s var(--nv-ease),border-color .16s,filter .16s,background .16s;
}
.nv-back:hover,.nv-icon-button:hover,.nv-pill-button:hover{transform:translateY(-1px);border-color:rgba(255,226,128,.48);filter:brightness(1.12)}
.nv-back:active,.nv-icon-button:active,.nv-pill-button:active{transform:translateY(1px) scale(.97)}
.nv-back{justify-self:start;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:.72rem;font-weight:850;color:#d5dfd7}
.nv-back svg,.nv-icon-button svg,.nv-pill-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.nv-brand{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.nv-brand i{width:8px;height:8px;border-radius:50%;background:var(--nv-green);box-shadow:0 0 13px var(--nv-green);animation:nvBrandPulse 2.8s ease-in-out infinite}
.nv-brand b{font-family:Georgia,serif;color:var(--nv-gold);font-size:.86rem;letter-spacing:.16em}
.nv-brand span{color:#718779;font-size:.45rem;font-weight:900;letter-spacing:.18em}
.nv-top-actions{justify-self:end;display:flex;align-items:center;gap:6px}
.nv-icon-button{width:40px;height:40px;display:grid;place-items:center;padding:0;color:#e6eee8}
.nv-demo-pill{height:32px;display:flex;align-items:center;padding:0 10px;border:1px solid rgba(112,240,138,.2);border-radius:999px;background:rgba(41,126,61,.11);color:#a8c8b0;font-size:.52rem;font-weight:900;letter-spacing:.1em}

/* Main scene */
.nv-stage{position:relative;z-index:2;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;padding:8px clamp(8px,1.4vw,22px) 7px}
.nv-title-lockup{min-height:56px;display:grid;place-content:center;text-align:center;pointer-events:none}
.nv-title-lockup span{display:flex;align-items:center;justify-content:center;gap:8px;color:#8eaa95;font-size:.44rem;font-weight:900;letter-spacing:.24em}
.nv-title-lockup span::before,.nv-title-lockup span::after{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--nv-gold))}
.nv-title-lockup span::after{transform:scaleX(-1)}
.nv-title-lockup h1{margin:1px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,3.2vh,2.45rem);line-height:1;letter-spacing:.055em;color:#f4d574;text-shadow:0 2px 0 #563809,0 7px 22px rgba(0,0,0,.72)}
.nv-title-lockup h1 b{color:#7bf091;text-shadow:0 2px 0 #0b5222,0 0 18px rgba(93,255,119,.24)}
.nv-title-lockup small{margin-top:3px;color:#71877a;font-size:.4rem;font-weight:900;letter-spacing:.17em}

.nv-game-grid{
  width:min(1510px,100%);
  height:100%;
  min-height:0;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(150px,.62fr) minmax(520px,2.2fr) minmax(160px,.68fr);
  gap:clamp(8px,1vw,15px);
  align-items:stretch;
}
.nv-side-panel,.nv-machine{
  min-width:0;
  min-height:0;
  border:1px solid var(--nv-line);
  background:linear-gradient(180deg,rgba(7,25,14,.88),rgba(2,10,6,.94));
  box-shadow:var(--nv-shadow),inset 0 1px rgba(255,255,255,.035);
}
.nv-side-panel{border-radius:16px;padding:10px;overflow:hidden}
.nv-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 9px;border-bottom:1px solid var(--nv-line-soft)}
.nv-side-head span{color:#8da194;font-size:.44rem;font-weight:900;letter-spacing:.17em}
.nv-side-head b{color:var(--nv-gold);font-size:.58rem}
.nv-pay-list{height:calc(100% - 32px);display:grid;grid-template-rows:repeat(6,minmax(0,1fr));gap:6px;padding-top:7px}
.nv-pay-item{min-height:0;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;padding:5px 7px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.012))}
.nv-pay-item img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}
.nv-pay-item div{min-width:0}
.nv-pay-item span{display:block;overflow:hidden;color:#a9b9ae;font-size:.45rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.nv-pay-item b{display:block;margin-top:2px;color:#f5dfa0;font-size:.58rem;white-space:nowrap}

.nv-feature-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px}
.nv-guardian-card{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(244,211,111,.15);border-radius:12px;background:radial-gradient(circle at 50% 43%,rgba(255,207,76,.2),transparent 37%),linear-gradient(180deg,#112c18,#041009)}
.nv-guardian-card::before{content:"";position:absolute;width:120%;aspect-ratio:1;border:1px solid rgba(244,211,111,.12);border-radius:50%;animation:nvGuardianOrbit 13s linear infinite}
.nv-guardian-card img{position:relative;width:min(88%,180px);max-height:88%;object-fit:contain;filter:drop-shadow(0 16px 20px rgba(0,0,0,.5)) drop-shadow(0 0 18px rgba(247,207,77,.16))}
.nv-guardian-copy{position:absolute;left:9px;right:9px;bottom:8px;padding:7px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(2,10,6,.78);backdrop-filter:blur(7px);text-align:center}
.nv-guardian-copy span{display:block;color:#8ea194;font-size:.4rem;font-weight:900;letter-spacing:.14em}
.nv-guardian-copy b{display:block;margin-top:2px;color:#f1d782;font-size:.56rem}
.nv-feature-rules{display:grid;gap:5px}
.nv-feature-rules div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:9px;background:rgba(255,255,255,.035);color:#9caf9f;font-size:.47rem;font-weight:800}
.nv-feature-rules b{color:#ecdda9;font-size:.5rem}
.nv-preview-button{min-height:37px;border:1px solid rgba(116,255,140,.25);border-radius:10px;background:linear-gradient(180deg,rgba(42,119,56,.35),rgba(9,35,17,.75));color:#c9ffd2!important;font-size:.52rem;font-weight:950;letter-spacing:.08em;cursor:pointer;transition:transform .16s,border-color .16s,filter .16s}
.nv-preview-button:hover{transform:translateY(-1px);border-color:rgba(130,255,150,.55);filter:brightness(1.12)}

/* Cabinet */
.nv-machine{position:relative;display:grid;grid-template-rows:42px minmax(0,1fr) 43px;border-radius:18px;padding:7px;background:linear-gradient(180deg,#27210d,#0a1009 15%,#040b06);border-color:#9d7732;box-shadow:0 0 0 1px rgba(255,240,164,.18),0 30px 80px rgba(0,0,0,.68),0 0 54px rgba(32,229,88,.06),inset 0 1px rgba(255,248,201,.13),inset 0 -20px 35px rgba(0,0,0,.3)}
.nv-machine::before{content:"";position:absolute;pointer-events:none;inset:3px;border:1px solid rgba(255,237,163,.14);border-radius:14px}
.nv-machine-head{position:relative;display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:5px;padding:0 8px;border:1px solid rgba(255,255,255,.05);border-radius:10px 10px 5px 5px;background:linear-gradient(180deg,#18180c,#070b07);text-align:center}
.nv-machine-head div{min-width:0}
.nv-machine-head span{display:block;color:#788d7f;font-size:.37rem;font-weight:900;letter-spacing:.13em}
.nv-machine-head b{display:block;overflow:hidden;margin-top:2px;color:#e9dca6;font-size:.5rem;text-overflow:ellipsis;white-space:nowrap}
.nv-machine-head .nv-bonus-label{color:#7cf091;text-shadow:0 0 10px rgba(80,255,113,.2)}
.nv-machine-head i{display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:#6ff589;box-shadow:0 0 8px #6ff589}

.nv-reel-window{position:relative;min-height:0;margin:6px 0;border:2px solid #9e762d;border-radius:11px;overflow:hidden;background:#020805;box-shadow:inset 0 0 42px rgba(0,0,0,.75),0 10px 24px rgba(0,0,0,.4)}
.nv-reel-window::before{content:"";position:absolute;z-index:9;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.34),transparent 12%,transparent 84%,rgba(0,0,0,.46)),linear-gradient(100deg,rgba(255,255,255,.075),transparent 13%,transparent 70%,rgba(255,255,255,.035));box-shadow:inset 0 0 22px rgba(0,0,0,.55)}
.nv-reel-window::after{content:"";position:absolute;z-index:8;left:0;right:0;top:calc(33.333% - 1px);height:calc(33.333% + 2px);pointer-events:none;border-top:1px solid rgba(255,218,105,.26);border-bottom:1px solid rgba(255,218,105,.26);box-shadow:0 0 18px rgba(255,209,67,.05),inset 0 0 15px rgba(255,229,131,.025)}
.nv-reels{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(2px,.45vw,7px);padding:clamp(3px,.45vw,7px);background:radial-gradient(ellipse at 50% 46%,rgba(53,230,101,.1),transparent 62%),#06140b}
.nv-reel{position:relative;min-width:0;height:100%;overflow:hidden;border:1px solid rgba(225,192,92,.28);border-radius:6px;background:linear-gradient(180deg,#14321d,#07150c);box-shadow:inset 0 0 15px rgba(0,0,0,.45);contain:layout paint}
.nv-reel-strip{width:100%;height:100%;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));transform:translate3d(0,0,0);will-change:transform}
.nv-reel-strip.nv-rolling{height:calc(var(--nv-cells) / 3 * 100%);grid-template-rows:repeat(var(--nv-cells),minmax(0,1fr));backface-visibility:hidden}
.nv-symbol{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid rgba(139,188,147,.12);background:radial-gradient(circle at 50% 45%,rgba(231,255,227,.11),transparent 63%),linear-gradient(135deg,rgba(21,62,31,.92),rgba(5,20,11,.96));contain:layout paint}
.nv-symbol::after{content:"";position:absolute;inset:3%;pointer-events:none;border:1px solid rgba(255,255,255,.025);border-radius:5px}
.nv-symbol img{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;padding:clamp(2px,.7vh,8px);object-fit:contain;object-position:center;filter:drop-shadow(0 7px 7px rgba(0,0,0,.38));transform:translateZ(0)}
.nv-symbol[data-symbol="wild"]{background:radial-gradient(circle,rgba(244,208,92,.18),transparent 64%),linear-gradient(135deg,#19351c,#07150b)}
.nv-symbol[data-symbol="scatter"]{background:radial-gradient(circle,rgba(114,255,142,.18),transparent 64%),linear-gradient(135deg,#133e21,#06140b)}
.nv-reels.is-spinning .nv-reel::after{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 16%,rgba(0,0,0,.08) 50%,transparent 82%,rgba(255,255,255,.035));mix-blend-mode:screen;animation:nvReelScan .32s linear infinite}
.nv-reel.is-settling{animation:nvReelSettle .32s var(--nv-spring)}
.nv-symbol.is-win{z-index:2;animation:nvSymbolWin .82s var(--nv-spring) both}
.nv-symbol.is-win::before{content:"";position:absolute;z-index:-1;inset:3%;border:2px solid var(--nv-gold-hot);border-radius:6px;box-shadow:0 0 18px rgba(255,222,104,.52),inset 0 0 16px rgba(255,225,118,.18)}
.nv-symbol.is-scatter-focus{animation:nvScatterFocus .9s ease-in-out infinite alternate}
.nv-payline-svg{position:absolute;z-index:12;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}
.nv-payline-svg polyline{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.nv-payline-underlay{stroke:rgba(20,8,0,.72);stroke-width:7}
.nv-payline-glow{stroke:var(--nv-gold-hot);stroke-width:2.6;filter:drop-shadow(0 0 3px #f6d36a) drop-shadow(0 0 7px rgba(246,211,106,.72));animation:nvLineDraw .55s var(--nv-ease) both}
.nv-payline-node{fill:#fff4bd;stroke:#7f4c08;stroke-width:1.6;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #ffd761);transform-box:fill-box;transform-origin:center;animation:nvLineNode .62s var(--nv-spring) both}

.nv-machine-status{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(86px,.55fr));align-items:center;gap:5px;padding:0 8px;border:1px solid rgba(255,255,255,.05);border-radius:5px 5px 10px 10px;background:linear-gradient(180deg,#09130c,#050b07)}
.nv-status-copy{min-width:0}
.nv-status-copy b,.nv-status-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-status-copy b{color:#e7eddf;font-size:.57rem}
.nv-status-copy span{margin-top:1px;color:#789081;font-size:.4rem;font-weight:750}
.nv-mini-meter{padding-left:9px;border-left:1px solid rgba(255,255,255,.07);text-align:right}
.nv-mini-meter span{display:block;color:#6f8477;font-size:.35rem;font-weight:900;letter-spacing:.1em}
.nv-mini-meter b{display:block;margin-top:2px;color:#f1daa0;font-size:.57rem}
.nv-mini-meter.win b{color:#8dffa0}

/* Bottom command deck */
.nv-control-deck{
  position:relative;
  z-index:220;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(230px,1fr) minmax(240px,1.15fr) 118px minmax(210px,.92fr);
  align-items:center;
  gap:10px;
  padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  border-top:1px solid rgba(244,211,111,.18);
  background:linear-gradient(180deg,rgba(7,22,13,.94),rgba(2,10,6,.98));
  box-shadow:0 -16px 38px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.035);
  backdrop-filter:blur(12px);
}
.nv-session,.nv-bet-box,.nv-quick-actions{height:76px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:inset 0 1px rgba(255,255,255,.025)}
.nv-session{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 14px}
.nv-session div+div{padding-left:13px;border-left:1px solid rgba(255,255,255,.07)}
.nv-session span,.nv-bet-box>span{display:block;color:#748a7c;font-size:.4rem;font-weight:900;letter-spacing:.12em}
.nv-session b{display:block;margin-top:4px;color:#f3e7bd;font-size:.92rem;white-space:nowrap}
.nv-session b i{font-style:normal;color:#768e7d;font-size:.58rem}
.nv-bet-box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 12px}
.nv-bet-box>div:first-child{min-width:0}
.nv-bet-box strong{display:block;margin-top:4px;color:#f3dda0;font-size:.92rem}
.nv-bet-steps{display:grid;grid-template-columns:42px 66px 42px;gap:5px}
.nv-bet-steps button{height:43px;border:1px solid rgba(244,211,111,.22);border-radius:10px;background:linear-gradient(180deg,#17341f,#07150d);font-weight:950;cursor:pointer;transition:transform .15s,filter .15s,border-color .15s}
.nv-bet-steps button:hover{filter:brightness(1.16);border-color:rgba(255,226,128,.5)}
.nv-bet-steps button:active{transform:scale(.95)}
.nv-bet-steps output{height:43px;display:grid;place-items:center;border:1px solid rgba(244,211,111,.18);border-radius:10px;background:#030906;color:#f6e4ab;font-size:.72rem;font-weight:950}

.nv-spin{
  position:relative;
  width:104px;
  height:104px;
  justify-self:center;
  display:grid;
  place-items:center;
  border:7px solid #c6a247;
  border-radius:50%;
  background:radial-gradient(circle at 38% 30%,#c6ffbd 0,#63e879 28%,#1c9b40 58%,#075522 76%,#031c0c 100%);
  box-shadow:0 0 0 3px rgba(255,238,155,.3),0 12px 28px rgba(0,0,0,.52),0 0 30px rgba(82,255,114,.19),inset 0 2px rgba(255,255,255,.45),inset 0 -9px 13px rgba(0,0,0,.34);
  color:#06210e!important;
  cursor:pointer;
  isolation:isolate;
  transition:transform .17s var(--nv-spring),filter .17s,box-shadow .17s;
}
.nv-spin::before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.42);border-radius:50%}
.nv-spin::after{content:"";position:absolute;inset:-12px;border:1px solid rgba(244,211,111,.25);border-radius:50%;animation:nvSpinOrbit 4.4s linear infinite}
.nv-spin span{position:relative;z-index:2;display:grid;justify-items:center;gap:1px;font-weight:1000;letter-spacing:.08em;font-size:.72rem;text-shadow:0 1px rgba(255,255,255,.3)}
.nv-spin svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.nv-spin:hover:not(:disabled){transform:translateY(-2px) scale(1.035);filter:saturate(1.12) brightness(1.08);box-shadow:0 0 0 3px rgba(255,238,155,.42),0 16px 34px rgba(0,0,0,.56),0 0 43px rgba(82,255,114,.3),inset 0 2px rgba(255,255,255,.5),inset 0 -9px 13px rgba(0,0,0,.32)}
.nv-spin:active:not(:disabled){transform:translateY(2px) scale(.95)}
.nv-spin:disabled{cursor:not-allowed;filter:saturate(.45) brightness(.65)}
.nv-shell.is-spinning .nv-spin{animation:nvSpinLive .7s ease-in-out infinite alternate}

.nv-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:6px}
.nv-pill-button{min-width:0;min-height:30px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 7px;color:#c5d4c9!important;font-size:.46rem;font-weight:900;letter-spacing:.055em}
.nv-pill-button.is-active{border-color:rgba(114,255,140,.45);background:linear-gradient(180deg,rgba(49,137,66,.5),rgba(8,38,17,.86));color:#c9ffd2!important}
.nv-pill-button.is-danger{border-color:rgba(255,91,97,.36);color:#ffb7ba!important}

/* Dialog and lightweight overlays */
.nv-dialog{width:min(720px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 28px));padding:0;border:1px solid rgba(244,211,111,.34);border-radius:18px;overflow:hidden;background:#06140c;color:var(--nv-text);box-shadow:0 28px 100px rgba(0,0,0,.8)}
.nv-dialog::backdrop{background:rgba(0,5,2,.78);backdrop-filter:blur(10px)}
.nv-dialog-head{height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 16px;border-bottom:1px solid rgba(244,211,111,.15);background:linear-gradient(180deg,#102b19,#07140c)}
.nv-dialog-head span{display:block;color:#789081;font-size:.42rem;font-weight:900;letter-spacing:.15em}
.nv-dialog-head b{display:block;margin-top:2px;color:#f0d888;font-family:Georgia,serif;font-size:1rem}
.nv-dialog-head button{width:36px;height:36px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(0,0,0,.18);font-size:1.1rem;cursor:pointer}
.nv-dialog-tabs{display:flex;gap:5px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.07);overflow:auto}
.nv-dialog-tabs button{min-height:36px;padding:0 13px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.035);color:#a8baae;font-size:.58rem;font-weight:900;white-space:nowrap;cursor:pointer}
.nv-dialog-tabs button.is-active{border-color:rgba(244,211,111,.36);background:rgba(244,211,111,.1);color:#f4dfa0}
.nv-dialog-body{max-height:calc(min(760px,100dvh - 28px) - 116px);padding:18px;overflow:auto;color:#b5c2b9;font-size:.78rem;line-height:1.65}
.nv-dialog-body h3{margin:18px 0 7px;color:#f1daa0;font-size:.88rem}
.nv-dialog-body p{margin:7px 0}
.nv-dialog-body ol{margin:8px 0;padding-left:20px}
.nv-dialog-body code{padding:2px 5px;border-radius:5px;background:rgba(255,255,255,.06);color:#d9e6dc}
.nv-rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.nv-rule-card{padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.025)}
.nv-rule-card img{width:56px;height:56px;margin:0 auto 6px;object-fit:contain}
.nv-rule-card b,.nv-rule-card span{display:block;text-align:center}
.nv-rule-card b{color:#f1d98f;font-size:.62rem}
.nv-rule-card span{margin-top:3px;color:#8da195;font-size:.52rem}
.nv-toast{position:fixed;z-index:520;left:50%;top:70px;max-width:min(440px,calc(100vw - 24px));padding:11px 16px;border:1px solid rgba(244,211,111,.32);border-radius:12px;background:rgba(4,18,9,.94);box-shadow:0 18px 45px rgba(0,0,0,.55);color:#f3e5b8;font-size:.68rem;font-weight:850;transform:translate(-50%,-18px);opacity:0;pointer-events:none;transition:opacity .22s,transform .3s var(--nv-ease)}
.nv-toast.show{opacity:1;transform:translate(-50%,0)}

/* Cinematic gate between reels and Plinko */
.nv-portal{
  position:absolute;
  z-index:1000;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  background-color:#010603;
  background-image:radial-gradient(circle at 50% 47%,rgba(80,230,105,.24),rgba(3,17,8,.94) 44%,#010402 78%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .38s ease,visibility .38s;
}
.nv-portal.is-active{z-index:1000;opacity:1;visibility:visible}
.nv-portal::before,.nv-portal::after{content:"";position:absolute;z-index:0;top:-10%;bottom:-10%;width:56%;background:radial-gradient(ellipse at center,#173f23,#07160c 48%,#020603 70%);filter:drop-shadow(0 0 34px rgba(38,255,91,.14));transition:transform .9s cubic-bezier(.18,.82,.2,1)}
.nv-portal::before{left:-6%;transform:translateX(-100%) rotate(4deg)}
.nv-portal::after{right:-6%;transform:translateX(100%) rotate(-4deg)}
.nv-portal.is-active::before,.nv-portal.is-active::after{transform:translateX(0) rotate(0)}
.nv-portal[data-phase="enter"]::before{transform:translateX(-32%) rotate(-3deg)}
.nv-portal[data-phase="enter"]::after{transform:translateX(32%) rotate(3deg)}
.nv-portal[data-phase="release"]::before{transform:translateX(-110%) rotate(4deg)}
.nv-portal[data-phase="release"]::after{transform:translateX(110%) rotate(-4deg)}
.nv-portal-vines{position:absolute;z-index:1;inset:0;pointer-events:none}
.nv-portal-vines i{position:absolute;top:-9%;bottom:-8%;width:29%;opacity:.78;filter:drop-shadow(0 0 12px rgba(59,255,91,.18));transition:transform .9s var(--nv-ease)}
.nv-portal-vines i::before,.nv-portal-vines i::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 28px 9px at 30% 8%,rgba(66,142,61,.78) 0 62%,transparent 68%),radial-gradient(ellipse 24px 8px at 69% 17%,rgba(42,117,49,.74) 0 62%,transparent 68%),radial-gradient(ellipse 31px 10px at 25% 28%,rgba(59,137,57,.7) 0 62%,transparent 68%),radial-gradient(ellipse 25px 8px at 72% 39%,rgba(38,111,46,.7) 0 62%,transparent 68%),radial-gradient(ellipse 30px 9px at 28% 51%,rgba(65,146,63,.68) 0 62%,transparent 68%),radial-gradient(ellipse 24px 8px at 70% 62%,rgba(43,119,49,.72) 0 62%,transparent 68%),radial-gradient(ellipse 31px 10px at 27% 74%,rgba(61,139,58,.67) 0 62%,transparent 68%),radial-gradient(ellipse 25px 8px at 68% 86%,rgba(39,112,46,.72) 0 62%,transparent 68%),linear-gradient(90deg,transparent 48%,rgba(129,97,35,.7) 49% 51%,transparent 52%)}
.nv-portal-vines i::after{opacity:.58;transform:translate(24px,5%)}
.nv-portal-vines i:first-child{left:-5%;transform:translateX(-110%) rotate(5deg)}
.nv-portal-vines i:last-child{right:-5%;transform:translateX(110%) rotate(-5deg) scaleX(-1)}
.nv-portal.is-active .nv-portal-vines i:first-child{transform:translateX(0) rotate(0)}
.nv-portal.is-active .nv-portal-vines i:last-child{transform:translateX(0) rotate(0) scaleX(-1)}
.nv-portal[data-phase="enter"] .nv-portal-vines i:first-child,.nv-portal[data-phase="release"] .nv-portal-vines i:first-child{transform:translateX(-72%) rotate(5deg)}
.nv-portal[data-phase="enter"] .nv-portal-vines i:last-child,.nv-portal[data-phase="release"] .nv-portal-vines i:last-child{transform:translateX(72%) rotate(-5deg) scaleX(-1)}
.nv-portal-beam{position:absolute;z-index:1;left:50%;top:50%;width:min(38vmin,330px);height:145%;background:linear-gradient(90deg,transparent,rgba(111,255,137,.05) 18%,rgba(255,235,151,.2) 50%,rgba(111,255,137,.05) 82%,transparent);filter:blur(9px);transform:translate(-50%,-50%) scaleX(.05);opacity:0;transition:transform .7s var(--nv-ease),opacity .45s}
.nv-portal[data-phase="awaken"] .nv-portal-beam,.nv-portal[data-phase="enter"] .nv-portal-beam{transform:translate(-50%,-50%) scaleX(1);opacity:1;animation:nvPortalBeam 1.1s ease-in-out infinite alternate}
.nv-portal-rings{position:absolute;z-index:2;inset:0;width:min(66vmin,570px);aspect-ratio:1;margin:auto;border-radius:50%;animation:nvPortalFloat 3.2s ease-in-out infinite alternate}
.nv-portal-rings i{position:absolute;border-radius:50%;border:1px solid rgba(244,211,111,.46);box-shadow:0 0 28px rgba(244,211,111,.16),inset 0 0 34px rgba(81,255,116,.1)}
.nv-portal-rings i:nth-child(1){inset:0;border-width:2px;animation:nvPortalRing 5.6s linear infinite}
.nv-portal-rings i:nth-child(2){inset:9%;border-style:dashed;border-color:rgba(124,255,146,.48);animation:nvPortalRing 3.4s linear infinite reverse}
.nv-portal-rings i:nth-child(3){inset:20%;border-color:rgba(255,229,132,.32);box-shadow:0 0 55px rgba(85,255,116,.2),inset 0 0 55px rgba(85,255,116,.12);animation:nvPortalRing 7s linear infinite}
.nv-portal[data-phase="awaken"] .nv-portal-rings{filter:brightness(1.45);animation-duration:1.4s}
.nv-portal[data-phase="enter"] .nv-portal-rings{animation:nvPortalOpen .7s var(--nv-ease) both}
.nv-portal-runes{position:absolute;z-index:2;inset:0;width:min(76vmin,650px);aspect-ratio:1;margin:auto;border-radius:50%;animation:nvPortalRing 15s linear infinite;transform-origin:center}
.nv-portal-runes i{--angle:0deg;--counter:0deg;position:absolute;left:50%;top:50%;color:#dfffe4;font-family:Georgia,serif;font-size:clamp(.65rem,1.7vmin,1.05rem);font-style:normal;text-shadow:0 0 10px #6aff83;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(min(36vmin,310px) * -1)) rotate(var(--counter));opacity:.64}
.nv-portal-runes i:nth-child(2){--angle:45deg;--counter:-45deg}.nv-portal-runes i:nth-child(3){--angle:90deg;--counter:-90deg}.nv-portal-runes i:nth-child(4){--angle:135deg;--counter:-135deg}.nv-portal-runes i:nth-child(5){--angle:180deg;--counter:-180deg}.nv-portal-runes i:nth-child(6){--angle:225deg;--counter:-225deg}.nv-portal-runes i:nth-child(7){--angle:270deg;--counter:-270deg}.nv-portal-runes i:nth-child(8){--angle:315deg;--counter:-315deg}
.nv-portal-content{position:relative;z-index:3;display:grid;justify-items:center;text-align:center;transform:translateY(15px) scale(.94);opacity:0;transition:transform .65s .28s var(--nv-spring),opacity .48s .24s}
.nv-portal.is-active .nv-portal-content{transform:none;opacity:1}
.nv-portal-content img{width:min(31vmin,260px);aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 22px 28px rgba(0,0,0,.7)) drop-shadow(0 0 22px rgba(244,211,111,.22));transition:filter .35s,transform .55s var(--nv-spring)}
.nv-portal[data-phase="awaken"] .nv-portal-content img{filter:drop-shadow(0 22px 28px rgba(0,0,0,.7)) drop-shadow(0 0 38px rgba(124,255,145,.5));transform:scale(1.055)}
.nv-portal[data-phase="enter"] .nv-portal-content img{animation:nvGuardianEnter .7s var(--nv-ease) both}
.nv-portal-content span{margin-top:-10px;color:#86aa90;font-size:.55rem;font-weight:900;letter-spacing:.25em}
.nv-portal-content h2{margin:5px 0 0;font-family:Georgia,serif;font-size:clamp(1.55rem,4.3vw,3.4rem);line-height:.95;color:#f5d779;text-shadow:0 3px 0 #553608,0 10px 30px #000}
.nv-portal-content p{margin:8px 0 0;color:#8dffa0;font-size:.72rem;font-weight:850}
.nv-portal-loader{width:min(280px,64vw);height:5px;margin-top:18px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08)}
.nv-portal-loader i{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,transparent,var(--nv-gold),var(--nv-green),transparent);animation:nvPortalLoad 1.15s ease-in-out infinite}
.nv-portal-steps{display:flex;gap:7px;margin-top:9px}.nv-portal-steps i{width:26px;height:3px;border-radius:4px;background:#284431;transition:background .25s,box-shadow .25s}.nv-portal[data-phase="seal"] .nv-portal-steps i:nth-child(1),.nv-portal[data-phase="awaken"] .nv-portal-steps i:nth-child(-n+2),.nv-portal[data-phase="enter"] .nv-portal-steps i,.nv-portal[data-phase="return"] .nv-portal-steps i{background:#d8bd63;box-shadow:0 0 9px rgba(255,225,126,.42)}

/* Temple Charge Plinko */
.nv-plinko-layer{
  position:absolute;
  z-index:400;
  inset:0;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:74px minmax(0,1fr) 72px;
  gap:8px;
  padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
  background:radial-gradient(circle at 50% 38%,rgba(46,166,72,.2),transparent 36%),linear-gradient(180deg,#06150c,#010603 72%);
  opacity:0;
  visibility:hidden;
  transform:scale(1.025);
  clip-path:circle(0 at 50% 48%);
  pointer-events:none;
  overflow:clip;
  transition:opacity .5s var(--nv-ease),transform .65s var(--nv-ease),clip-path .72s var(--nv-ease),filter .5s,visibility .5s;
}
.nv-plinko-layer.is-active{opacity:1;visibility:visible;transform:none;clip-path:circle(150% at 50% 48%);pointer-events:auto}
.nv-plinko-layer.is-entering{animation:nvPlinkoEnter .7s var(--nv-ease) both}
.nv-plinko-layer.is-active.is-playable{clip-path:none;transition:opacity .5s var(--nv-ease),transform .65s var(--nv-ease),filter .5s,visibility .5s}
.nv-plinko-layer.is-returning{z-index:350;filter:brightness(.55) saturate(.72);transform:scale(.978);clip-path:circle(38% at 50% 48%);pointer-events:none}
.nv-plinko-page .nv-shell{grid-template-rows:54px minmax(0,1fr)}
.nv-plinko-page .nv-plinko-layer{position:relative;z-index:2;grid-row:2;opacity:1;visibility:visible;transform:none;clip-path:none;pointer-events:auto}
.nv-plinko-head{min-width:0;display:grid;grid-template-columns:minmax(190px,1.15fr) repeat(4,minmax(70px,.38fr));align-items:center;gap:6px;padding:5px 7px;border:1px solid var(--nv-line);border-radius:14px;background:linear-gradient(180deg,rgba(12,37,20,.96),rgba(3,13,7,.97));box-shadow:0 12px 32px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.04)}
.nv-plinko-brand{min-width:0;display:flex;align-items:center;gap:10px;padding:0 6px}
.nv-plinko-brand img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 6px 9px rgba(0,0,0,.42))}
.nv-plinko-brand div{min-width:0}
.nv-plinko-brand span{display:block;color:#799080;font-size:.4rem;font-weight:900;letter-spacing:.16em}
.nv-plinko-brand h2{overflow:hidden;margin:3px 0 0;font-family:Georgia,serif;font-size:clamp(.8rem,1.4vw,1.1rem);color:#f3d678;text-overflow:ellipsis;white-space:nowrap}
.nv-plinko-stat{height:58px;display:grid;place-content:center;padding:0 8px;border:1px solid rgba(255,255,255,.075);border-radius:10px;background:rgba(255,255,255,.026);text-align:center}
.nv-plinko-stat span{display:block;color:#718779;font-size:.34rem;font-weight:900;letter-spacing:.1em}
.nv-plinko-stat b{display:block;margin-top:3px;color:#edf1e8;font-size:.78rem}
.nv-plinko-stat.level b{color:#f5d97c}
.nv-plinko-stat.win b{color:#8effa1}

.nv-plinko-layout{min-height:0;display:grid;grid-template-columns:minmax(160px,.42fr) minmax(360px,1.6fr) minmax(175px,.46fr);gap:8px}
.nv-plinko-side{min-width:0;min-height:0;display:grid;align-content:start;gap:8px;padding:10px;border:1px solid rgba(244,211,111,.16);border-radius:14px;background:linear-gradient(180deg,rgba(9,30,17,.88),rgba(2,11,6,.94));box-shadow:inset 0 1px rgba(255,255,255,.025);overflow:hidden}
.nv-plinko-side span.nv-side-kicker{color:#778d7e;font-size:.4rem;font-weight:900;letter-spacing:.16em}
.nv-plinko-side h3{margin:0;color:#f1d783;font-family:Georgia,serif;font-size:.92rem;line-height:1.05}
.nv-plinko-side p{margin:0;color:#8ea194;font-size:.53rem;line-height:1.5}
.nv-pillar-guide{display:grid;gap:6px;margin-top:4px}
.nv-pillar-guide div{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;padding:7px;border:1px solid rgba(255,255,255,.06);border-radius:9px;background:rgba(255,255,255,.025)}
.nv-pillar-guide i{width:9px;height:25px;justify-self:center;border-radius:5px;background:linear-gradient(180deg,#fff1a5,#a67421);box-shadow:0 0 8px rgba(244,211,111,.35)}
.nv-pillar-guide b{display:block;color:#c9d7cd;font-size:.49rem}
.nv-pillar-guide small{display:block;margin-top:2px;color:#6f8576;font-size:.39rem}
.nv-ball-legend{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:auto}
.nv-ball-chip{aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:50%;background:radial-gradient(circle at 35% 28%,var(--ball-hi),var(--ball) 54%,#07140b 100%);box-shadow:0 0 11px color-mix(in srgb,var(--ball) 35%,transparent);font-size:.58rem;color:#07140b;font-weight:1000}

.nv-plinko-board{--level-energy:0;--impact-x:50%;--impact-y:48%;position:relative;min-width:0;min-height:0;overflow:hidden;isolation:isolate;border:1px solid #9d7935;border-radius:16px;background:radial-gradient(circle at 50% 20%,rgba(102,255,132,.12),transparent 40%),#031009;box-shadow:0 24px 64px rgba(0,0,0,.6),0 0 0 1px rgba(255,236,153,.1),inset 0 0 60px rgba(0,0,0,.45);transition:border-color .28s,box-shadow .45s,filter .32s}
.nv-plinko-board::before{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.045),transparent 13%,transparent 74%,rgba(255,255,255,.02)),radial-gradient(circle at 50% 45%,transparent 34%,rgba(0,5,2,.3) 100%)}
.nv-plinko-board[data-level="2"],.nv-plinko-board[data-level="3"]{box-shadow:0 24px 64px rgba(0,0,0,.6),0 0 42px rgba(82,224,108,.12),inset 0 0 70px rgba(26,112,50,.2)}
.nv-plinko-board[data-level="4"],.nv-plinko-board[data-level="5"],.nv-plinko-board[data-level="6"],.nv-plinko-board[data-level="7"],.nv-plinko-board[data-level="8"],.nv-plinko-board[data-level="9"]{box-shadow:0 24px 64px rgba(0,0,0,.6),0 0 54px rgba(255,213,91,.2),inset 0 0 85px rgba(56,146,67,.22)}
.nv-board-atmosphere{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}
.nv-board-canopy{display:none;position:absolute;top:-10%;width:58%;height:31%;opacity:calc(.28 + var(--level-energy));background:radial-gradient(ellipse at 16% 52%,rgba(55,119,52,.66) 0 13%,transparent 14%),radial-gradient(ellipse at 39% 23%,rgba(41,101,43,.74) 0 14%,transparent 15%),radial-gradient(ellipse at 63% 51%,rgba(45,132,55,.64) 0 17%,transparent 18%),radial-gradient(ellipse at 87% 20%,rgba(30,92,37,.72) 0 15%,transparent 16%);background-size:180px 140px}
.nv-board-canopy-left{left:-11%;transform:rotate(5deg)}.nv-board-canopy-right{right:-11%;transform:rotate(-5deg) scaleX(-1);animation-direction:alternate-reverse}
.nv-board-column{display:none;position:absolute;top:12%;bottom:5%;width:5.2%;min-width:15px;border:1px solid rgba(228,190,93,.24);border-radius:8px;background:linear-gradient(90deg,rgba(27,17,7,.2),rgba(159,118,45,.18),rgba(17,12,6,.42));box-shadow:inset 0 0 14px rgba(0,0,0,.58),0 0 18px rgba(0,0,0,.25)}
.nv-board-column::after{content:"";position:absolute;left:-18%;right:-18%;top:-2%;height:5%;border:1px solid rgba(231,198,107,.25);border-radius:5px;background:#433218}.nv-board-column-left{left:2.3%}.nv-board-column-right{right:2.3%}
.nv-board-torch{display:none;position:absolute;top:27%;width:3px;height:18%;border-radius:4px;background:linear-gradient(#c79b4a,#4b3214);box-shadow:0 0 7px rgba(0,0,0,.55)}
.nv-board-torch::before{content:"";position:absolute;left:50%;top:-18px;width:22px;height:29px;border-radius:50% 50% 46% 46%;background:radial-gradient(circle at 50% 70%,#fff3ae 0 12%,#ffb239 28%,#e9691b 52%,transparent 70%);box-shadow:0 0 10px rgba(247,169,52,.5);transform:translateX(-50%);animation:nvTorch 1.1s ease-in-out infinite alternate}
.nv-board-torch-left{left:6.7%}.nv-board-torch-right{right:6.7%;animation-delay:-.4s}
.nv-board-sigil{display:none;position:absolute;left:50%;top:51%;width:min(55%,440px);aspect-ratio:1;border:1px solid rgba(102,255,128,.12);border-radius:50%;box-shadow:inset 0 0 36px rgba(88,255,112,.04),0 0 24px rgba(88,255,112,.03);transform:translate(-50%,-50%);opacity:calc(.16 + var(--level-energy))}
.nv-board-sigil::before,.nv-board-sigil::after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(244,211,111,.15)}.nv-board-sigil::before{inset:10%}.nv-board-sigil::after{inset:24%;border-style:solid;border-color:rgba(105,255,129,.13)}
.nv-board-mist{display:none;position:absolute;left:-10%;right:-10%;bottom:-5%;height:26%;background:radial-gradient(ellipse at 30% 70%,rgba(149,255,168,.09),transparent 45%),radial-gradient(ellipse at 70% 60%,rgba(239,221,151,.075),transparent 48%);opacity:calc(.4 + var(--level-energy))}
.nv-board-hit-wave{position:absolute;left:var(--impact-x);top:var(--impact-y);width:70px;height:70px;border:4px solid #ffe27a;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.35)}
.nv-plinko-board.is-pillar-0{border-color:#f6c954}.nv-plinko-board.is-pillar-0 .nv-board-hit-wave{border-color:#ffe27a;box-shadow:0 0 32px #f3b62c,inset 0 0 24px #fff0a5;animation:nvSolarBoardHit .58s var(--nv-ease) both}
.nv-plinko-board.is-pillar-1{border-color:#c381ff}.nv-plinko-board.is-pillar-1 .nv-board-hit-wave{width:105px;height:42px;border-color:#d7a2ff;box-shadow:0 0 34px #a952ec,inset 0 0 18px #ead1ff;animation:nvLunarBoardHit .62s var(--nv-ease) both}
.nv-plinko-board.is-pillar-2{border-color:#6aff8c}.nv-plinko-board.is-pillar-2 .nv-board-hit-wave{width:30px;height:145px;border-color:#76ff91;border-radius:45% 45% 12px 12px;box-shadow:0 0 36px #3fe168,inset 0 0 22px #d9ffe0;animation:nvEmeraldBoardHit .62s var(--nv-ease) both}
.nv-plinko-mount{position:absolute;z-index:1;inset:0;display:grid;place-items:center;overflow:hidden;touch-action:none}
.nv-plinko-mount canvas{display:block!important;max-width:100%!important;max-height:100%!important;outline:none}
.nv-charge-panel{display:grid;gap:6px;padding:9px;border:1px solid rgba(244,211,111,.22);border-radius:11px;background:linear-gradient(180deg,rgba(5,23,11,.94),rgba(1,8,4,.94));box-shadow:0 8px 24px rgba(0,0,0,.44),inset 0 1px rgba(255,255,255,.045)}
.nv-charge-overlay{position:absolute;z-index:6;top:8px;left:7%;right:7%;pointer-events:none}
.nv-charge-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.nv-charge-head span{color:#8ca092;font-size:.42rem;font-weight:900;letter-spacing:.1em}
.nv-charge-head b{color:#f4dd96;font-size:.62rem}
.nv-charge-head b i{font-style:normal}
.nv-charge-track{height:11px;padding:2px;border:1px solid rgba(244,211,111,.2);border-radius:999px;background:#020804;overflow:hidden}
.nv-charge-fill{width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#20ad4d,#7cff91 48%,#ffe477);box-shadow:0 0 15px rgba(94,255,121,.42);transform:scaleX(0);transform-origin:left;transition:transform .36s var(--nv-ease)}
.nv-charge-meta{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(260px,1.28fr);align-items:center;gap:7px}
.nv-charge-pips{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.nv-charge-pip{height:23px;display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid rgba(255,255,255,.07);border-radius:7px;background:rgba(255,255,255,.025);color:#718679;font-size:.38rem;font-weight:900;transition:background .2s,border-color .2s,color .2s,transform .2s}
.nv-charge-pip i{width:4px;height:12px;border-radius:3px;background:#6f7655}
.nv-charge-pip.is-hit{border-color:rgba(255,229,130,.55);background:rgba(244,211,111,.13);color:#f3dc96;transform:translateY(-1px)}
.nv-charge-pip.is-hit i{background:#ffe17b;box-shadow:0 0 8px #ffe17b}
.nv-level-ladder{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px}
.nv-level-ladder i{height:23px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.065);border-radius:6px;background:rgba(255,255,255,.025);color:#5f7567;font-size:.35rem;font-style:normal;font-weight:950;transition:transform .22s var(--nv-spring),background .22s,color .22s,border-color .22s}
.nv-level-ladder i.is-complete{border-color:rgba(83,255,120,.2);background:rgba(53,196,83,.09);color:#72a87c}
.nv-level-ladder i.is-current{border-color:#ffe58a;background:linear-gradient(180deg,#6d5819,#2f2a0c);box-shadow:0 0 12px rgba(255,222,101,.28);color:#fff0a9;transform:translateY(-2px) scale(1.06)}
.nv-charge-panel.is-overload{animation:nvChargeBurst .7s var(--nv-spring)}
.nv-level-card{display:grid;justify-items:center;padding:12px 8px;border:1px solid rgba(244,211,111,.18);border-radius:11px;background:radial-gradient(circle at 50% 30%,rgba(255,222,99,.1),transparent 60%),rgba(255,255,255,.025);text-align:center}
.nv-level-card span{color:#768c7d;font-size:.39rem;font-weight:900;letter-spacing:.13em}
.nv-level-card b{margin-top:2px;color:#f6d970;font-family:Georgia,serif;font-size:2rem;line-height:1}
.nv-level-card small{margin-top:5px;color:#9ab0a0;font-size:.42rem}
.nv-current-ball{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:8px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(255,255,255,.024)}
.nv-current-ball span{color:#758b7c;font-size:.4rem;font-weight:900;letter-spacing:.09em}
.nv-current-ball b{color:#dce9df;font-size:.52rem}
.nv-reward-feed{min-height:0;display:grid;align-content:start;gap:5px;overflow:hidden}
.nv-reward{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:6px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(255,255,255,.026);animation:nvRewardIn .38s var(--nv-spring) both}
.nv-reward i{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff3ac,#d49c25 65%,#4d2804);color:#281400;font-style:normal;font-size:.48rem;font-weight:1000}
.nv-reward span,.nv-reward b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-reward span{color:#768b7d;font-size:.36rem;font-weight:850}
.nv-reward b{margin-top:2px;color:#f1dda0;font-size:.49rem}
.nv-reward.extra{border-color:rgba(112,255,139,.3)}
.nv-reward.extra i{background:radial-gradient(circle at 35% 28%,#d9ffe0,#55e875 66%,#075321);color:#04230e}

.nv-plinko-callout{position:absolute;z-index:7;left:50%;top:18%;min-width:min(380px,82%);padding:12px 18px;border:1px solid rgba(255,230,139,.58);border-radius:13px;background:rgba(3,16,8,.93);box-shadow:0 18px 50px rgba(0,0,0,.56),0 0 30px rgba(244,211,111,.18);text-align:center;transform:translate(-50%,-18px) scale(.92);opacity:0;pointer-events:none}
.nv-plinko-callout.show{animation:nvCallout 1.4s var(--nv-spring) both}
.nv-plinko-callout span{display:block;color:#83a18e;font-size:.43rem;font-weight:900;letter-spacing:.14em}
.nv-plinko-callout b{display:block;margin-top:3px;color:#ffe58e;font-family:Georgia,serif;font-size:clamp(.8rem,2vw,1.25rem)}
.nv-level-up{position:absolute;z-index:10;left:50%;top:47%;width:min(430px,82%);padding:22px;border:2px solid #ffe27a;border-radius:22px;background:radial-gradient(circle at 50% 0,rgba(131,255,145,.24),transparent 48%),linear-gradient(180deg,rgba(23,73,34,.97),rgba(3,17,8,.98));box-shadow:0 28px 80px rgba(0,0,0,.72),0 0 55px rgba(255,224,112,.3),inset 0 1px rgba(255,255,255,.12);text-align:center;transform:translate(-50%,-50%) scale(.45) rotate(-4deg);opacity:0;visibility:hidden;pointer-events:none}
.nv-level-up.show{visibility:visible;animation:nvLevelUp .95s var(--nv-spring) both}
.nv-level-up span,.nv-level-up b,.nv-level-up small{display:block}
.nv-level-up span{color:#9df2aa;font-size:.6rem;font-weight:950;letter-spacing:.2em}
.nv-level-up span i{color:#fff0a2;font-family:Georgia,serif;font-size:1.4rem;font-style:normal}
.nv-level-up b{margin-top:5px;color:#fff0a2;font-family:Georgia,serif;font-size:clamp(1rem,2.7vw,1.65rem);text-shadow:0 3px 0 #523704}
.nv-level-up small{margin-top:7px;color:#8effa1;font-size:.65rem;font-weight:950;letter-spacing:.08em}

.nv-plinko-footer{min-width:0;display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,1.5fr) minmax(150px,1fr);align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--nv-line);border-radius:14px;background:linear-gradient(180deg,rgba(12,37,20,.96),rgba(3,13,7,.98));box-shadow:0 -10px 30px rgba(0,0,0,.24)}
.nv-plinko-status{min-width:0;padding-left:6px}
.nv-plinko-status b,.nv-plinko-status span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-plinko-status b{color:#dfe8e1;font-size:.58rem}
.nv-plinko-status span{margin-top:2px;color:#728779;font-size:.4rem}
.nv-launch-button{height:56px;display:grid;grid-template-columns:39px auto;grid-template-rows:1fr 1fr;align-items:center;justify-content:center;column-gap:9px;padding:5px 20px 5px 8px;border:1px solid rgba(255,229,130,.52);border-radius:14px;background:linear-gradient(180deg,#315f2f,#0c2d17);box-shadow:0 12px 26px rgba(0,0,0,.35),0 0 22px rgba(95,255,123,.11),inset 0 1px rgba(255,255,255,.13);cursor:pointer;transition:transform .16s var(--nv-spring),filter .16s,box-shadow .16s}
.nv-launch-button i{grid-row:1/3;width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff5af,#d7a226 65%,#573005);box-shadow:0 0 12px rgba(255,222,101,.34);color:#281500;font-style:normal;font-weight:1000}
.nv-launch-button b{align-self:end;color:#f7edc9;font-size:.65rem;letter-spacing:.06em}
.nv-launch-button span{align-self:start;color:#9fc2a7;font-size:.39rem;font-weight:850}
.nv-launch-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 16px 30px rgba(0,0,0,.4),0 0 30px rgba(95,255,123,.2),inset 0 1px rgba(255,255,255,.15)}
.nv-launch-button:active:not(:disabled){transform:translateY(2px) scale(.97)}
.nv-launch-button:disabled{cursor:not-allowed;filter:saturate(.45) brightness(.62)}
.nv-launch-button.is-ready{animation:nvLaunchReady 1.2s ease-in-out infinite alternate}
.nv-plinko-actions{justify-self:end;display:flex;align-items:center;gap:6px}
.nv-plinko-actions button{min-height:39px;padding:0 11px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.035);color:#b7c7bc;font-size:.45rem;font-weight:900;cursor:pointer}

.nv-plinko-result{position:absolute;z-index:12;inset:0;display:grid;place-items:center;padding:18px;background:rgba(1,8,3,.72);backdrop-filter:blur(9px);opacity:0;visibility:hidden;transition:opacity .32s,visibility .32s}
.nv-plinko-result.show{opacity:1;visibility:visible}
.nv-result-card{width:min(410px,90%);padding:25px;border:1px solid rgba(244,211,111,.45);border-radius:20px;background:radial-gradient(circle at 50% 0,rgba(79,220,102,.16),transparent 45%),linear-gradient(180deg,#102b18,#041009);box-shadow:0 28px 80px rgba(0,0,0,.65),0 0 40px rgba(244,211,111,.12);text-align:center;transform:translateY(15px) scale(.94);transition:transform .45s var(--nv-spring)}
.nv-plinko-result.show .nv-result-card{transform:none}
.nv-result-card span{display:block;color:#82a18b;font-size:.48rem;font-weight:900;letter-spacing:.17em}
.nv-result-card h3{margin:7px 0 0;color:#f3d675;font-family:Georgia,serif;font-size:1.45rem}
.nv-result-card strong{display:block;margin:9px 0;color:#92ffa2;font-size:2rem}
.nv-result-card p{margin:0;color:#8ea195;font-size:.63rem;line-height:1.5}
.nv-result-card button{min-height:43px;margin-top:15px;padding:0 20px;border:1px solid rgba(255,229,130,.4);border-radius:11px;background:linear-gradient(180deg,#315e30,#0b2b16);font-weight:900;cursor:pointer}

/* State cues */
.nv-shell.is-anticipating .nv-stage{filter:saturate(.72) brightness(.66);transition:filter .6s var(--nv-ease)}
.nv-shell.is-anticipating .nv-machine{box-shadow:0 0 0 1px rgba(255,240,164,.26),0 30px 80px rgba(0,0,0,.72),0 0 75px rgba(85,255,114,.17),inset 0 1px rgba(255,248,201,.16),inset 0 -20px 35px rgba(0,0,0,.34)}
.nv-shell.is-anticipating .nv-reel:not(.is-anticipation){filter:brightness(.62) saturate(.68)}
.nv-shell.is-bonus-open{grid-template-rows:0 minmax(0,1fr) 0}
.nv-shell.is-bonus-open>.nv-topbar,.nv-shell.is-bonus-open>.nv-stage,.nv-shell.is-bonus-open>.nv-control-deck{opacity:0;pointer-events:none;transition:opacity .3s}
.nv-shell.nv-reduce-motion *{scroll-behavior:auto!important}

/* Compact desktop and tablets */
@media(max-width:1180px){
  .nv-game-grid{grid-template-columns:minmax(0,1fr)}
  .nv-side-panel{display:none}
  .nv-control-deck{grid-template-columns:minmax(160px,.8fr) minmax(210px,1fr) 108px minmax(185px,.86fr)}
  .nv-session,.nv-bet-box,.nv-quick-actions{height:72px}
  .nv-spin{width:96px;height:96px}
  .nv-plinko-layout{grid-template-columns:minmax(0,1fr) minmax(155px,.36fr)}
  .nv-plinko-side:first-child{display:none}
}

@media(max-width:840px){
  .nv-topbar{grid-template-columns:1fr auto 1fr}
  .nv-back span,.nv-demo-pill{display:none}
  .nv-back{width:40px;padding:0;justify-content:center}
  .nv-title-lockup{min-height:47px}
  .nv-control-deck{grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);grid-template-rows:58px 38px;gap:6px;padding-top:6px}
  .nv-session{grid-column:1;grid-row:1;height:58px;padding:0 8px}
  .nv-session b{font-size:.72rem}
  .nv-session div+div{padding-left:7px}
  .nv-bet-box{grid-column:3;grid-row:1;height:58px;padding:0 7px}
  .nv-bet-box>div:first-child{display:none}
  .nv-bet-steps{width:100%;grid-template-columns:34px minmax(44px,1fr) 34px}
  .nv-bet-steps button,.nv-bet-steps output{height:39px}
  .nv-spin{grid-column:2;grid-row:1/3;width:84px;height:84px;border-width:6px}
  .nv-spin span{font-size:.58rem}
  .nv-spin svg{width:23px;height:23px}
  .nv-quick-actions{grid-column:1/4;grid-row:2;height:38px;grid-template-columns:repeat(4,1fr);padding:3px}
  .nv-pill-button{min-height:30px}
  .nv-plinko-head{grid-template-columns:minmax(145px,1fr) repeat(4,minmax(54px,.36fr))}
  .nv-plinko-brand img{width:44px;height:44px}
  .nv-plinko-stat{height:54px;padding:0 4px}
  .nv-plinko-layout{grid-template-columns:minmax(0,1fr)}
  .nv-plinko-side{display:none}
  .nv-plinko-footer{grid-template-columns:minmax(110px,1fr) minmax(200px,1.35fr) minmax(100px,.7fr)}
}

/* Portrait phones */
@media(max-width:640px) and (orientation:portrait){
  .nv-shell{grid-template-rows:50px minmax(0,1fr) 116px}
  .nv-topbar{height:50px;padding-top:5px;padding-bottom:5px}
  .nv-brand span{display:none}
  .nv-brand b{font-size:.75rem}
  .nv-icon-button{width:36px;height:36px}
  .nv-top-actions .nv-icon-button:nth-of-type(2){display:none}
  .nv-stage{grid-template-rows:46px minmax(0,1fr);gap:3px;padding:4px 5px}
  .nv-title-lockup{min-height:43px}
  .nv-title-lockup span{font-size:.34rem;letter-spacing:.16em}
  .nv-title-lockup h1{font-size:1.15rem}
  .nv-title-lockup small{font-size:.31rem}
  .nv-machine{grid-template-rows:37px minmax(0,1fr) 38px;padding:4px;border-radius:12px}
  .nv-machine-head{padding:0 4px}
  .nv-machine-head span{font-size:.29rem;letter-spacing:.08em}
  .nv-machine-head b{font-size:.39rem}
  .nv-reel-window{margin:4px 0;border-radius:7px}
  .nv-reels{gap:2px;padding:3px}
  .nv-reel{border-radius:4px}
  .nv-symbol img{padding:3px}
  .nv-machine-status{grid-template-columns:minmax(0,1.3fr) 70px 70px;padding:0 5px}
  .nv-status-copy b{font-size:.48rem}
  .nv-status-copy span{font-size:.34rem}
  .nv-mini-meter{padding-left:5px}
  .nv-mini-meter span{font-size:.28rem}
  .nv-mini-meter b{font-size:.46rem}
  .nv-control-deck{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);grid-template-rows:54px 34px;gap:4px;padding:4px 5px max(5px,env(safe-area-inset-bottom))}
  .nv-session,.nv-bet-box{height:54px;border-radius:9px}
  .nv-session{padding:0 5px}
  .nv-session span{font-size:.3rem;letter-spacing:.06em}
  .nv-session b{font-size:.62rem}
  .nv-session b i{font-size:.43rem}
  .nv-bet-steps{grid-template-columns:29px minmax(37px,1fr) 29px;gap:3px}
  .nv-bet-steps button,.nv-bet-steps output{height:36px;border-radius:8px;font-size:.55rem}
  .nv-spin{width:72px;height:72px;border-width:5px}
  .nv-spin::after{inset:-7px}
  .nv-spin span{font-size:.48rem;letter-spacing:.03em}
  .nv-spin svg{width:19px;height:19px}
  .nv-quick-actions{height:34px;gap:2px;padding:2px;border-radius:8px}
  .nv-pill-button{min-height:27px;border-radius:7px;padding:0 3px;font-size:.36rem;letter-spacing:.02em}
  .nv-pill-button svg{display:none}
  .nv-plinko-layer{grid-template-rows:58px minmax(0,1fr) 60px;gap:4px;padding:4px 4px max(4px,env(safe-area-inset-bottom))}
  .nv-plinko-head{grid-template-columns:minmax(94px,1fr) repeat(4,minmax(39px,.44fr));gap:3px;padding:3px;border-radius:10px}
  .nv-plinko-brand{gap:4px;padding:0 2px}
  .nv-plinko-brand img{display:none}
  .nv-plinko-brand span{font-size:.29rem;letter-spacing:.09em}
  .nv-plinko-brand h2{font-size:.64rem}
  .nv-plinko-stat{height:47px;padding:0 2px;border-radius:7px}
  .nv-plinko-stat span{font-size:.25rem;letter-spacing:.04em}
  .nv-plinko-stat b{font-size:.55rem}
  .nv-plinko-board{border-radius:10px}
  .nv-charge-overlay{top:4px;left:4px;right:4px;gap:4px;padding:5px;border-radius:8px;backdrop-filter:none}
  .nv-charge-head span{font-size:.3rem;letter-spacing:.05em}
  .nv-charge-head b{font-size:.43rem}
  .nv-charge-track{height:8px;padding:1px}
  .nv-charge-meta{grid-template-columns:minmax(0,1fr)}
  .nv-charge-pips{display:none}
  .nv-level-ladder{gap:2px}
  .nv-level-ladder i{height:18px;border-radius:4px;font-size:.27rem}
  .nv-plinko-callout{top:15%;padding:8px 10px}
  .nv-level-up{padding:16px 10px;border-radius:15px}
  .nv-plinko-footer{grid-template-columns:minmax(75px,.8fr) minmax(166px,1.25fr) 50px;gap:4px;padding:3px;border-radius:10px}
  .nv-plinko-status{padding-left:2px}
  .nv-plinko-status b{font-size:.43rem}
  .nv-plinko-status span{font-size:.31rem}
  .nv-launch-button{height:49px;grid-template-columns:34px auto;column-gap:5px;padding:4px 8px 4px 5px;border-radius:10px}
  .nv-launch-button i{width:34px;height:34px}
  .nv-launch-button b{font-size:.52rem}
  .nv-launch-button span{font-size:.31rem}
  .nv-plinko-actions button{position:relative;width:43px;min-height:40px;padding:0;overflow:hidden;color:transparent;font-size:0}
  .nv-plinko-actions button span{display:none}
  .nv-plinko-actions button::before{content:"↻";position:absolute;inset:0;display:grid;place-items:center;color:#b7c7bc;font-size:1rem}
  .nv-plinko-actions button+button{display:none}
  .nv-plinko-callout{padding:9px 12px}
}

/* Short landscape phones */
@media(max-height:620px) and (orientation:landscape){
  .nv-shell{grid-template-rows:44px minmax(0,1fr) 78px}
  .nv-topbar{height:44px;padding-top:3px;padding-bottom:3px}
  .nv-back,.nv-icon-button{min-height:34px;height:34px}
  .nv-icon-button{width:34px}
  .nv-demo-pill{display:none}
  .nv-stage{grid-template-rows:32px minmax(0,1fr);gap:2px;padding:3px 8px}
  .nv-title-lockup{min-height:30px}
  .nv-title-lockup span,.nv-title-lockup small{display:none}
  .nv-title-lockup h1{font-size:1.05rem}
  .nv-machine{grid-template-rows:30px minmax(0,1fr) 31px;padding:4px}
  .nv-machine-head span{font-size:.29rem}
  .nv-machine-head b{font-size:.4rem}
  .nv-reel-window{margin:3px 0}
  .nv-status-copy b{font-size:.45rem}
  .nv-status-copy span{display:none}
  .nv-control-deck{grid-template-columns:minmax(150px,.8fr) minmax(190px,1fr) 70px minmax(180px,.8fr);grid-template-rows:1fr;gap:6px;padding:4px 8px}
  .nv-session,.nv-bet-box,.nv-quick-actions{height:62px}
  .nv-session b,.nv-bet-box strong{font-size:.66rem}
  .nv-spin{grid-column:3;grid-row:1;width:65px;height:65px;border-width:5px}
  .nv-spin span{font-size:.42rem}
  .nv-spin svg{width:17px;height:17px}
  .nv-quick-actions{grid-column:4;grid-row:1;grid-template-columns:repeat(2,1fr)}
  .nv-bet-box{grid-column:2;grid-row:1}
  .nv-session{grid-column:1;grid-row:1}
  .nv-plinko-layer{grid-template-rows:46px minmax(0,1fr) 49px;gap:3px;padding:3px}
  .nv-plinko-head{grid-template-columns:minmax(132px,1fr) repeat(4,minmax(48px,.38fr));gap:3px;padding:3px}
  .nv-plinko-brand img{width:34px;height:34px}
  .nv-plinko-brand h2{font-size:.7rem}
  .nv-plinko-stat{height:38px}
  .nv-plinko-layout{grid-template-columns:minmax(0,1fr)}
  .nv-plinko-side{display:none}
  .nv-plinko-footer{grid-template-columns:minmax(130px,1fr) minmax(210px,1.3fr) minmax(100px,.8fr);padding:3px}
  .nv-launch-button{height:41px}
  .nv-charge-overlay{top:3px;left:6px;right:6px;grid-template-columns:minmax(0,1fr);gap:3px;padding:4px 6px}
  .nv-charge-head span{font-size:.3rem}
  .nv-charge-head b{font-size:.42rem}
  .nv-charge-track{height:7px;padding:1px}
  .nv-charge-meta{grid-template-columns:minmax(0,1fr)}
  .nv-charge-pips{display:none}
  .nv-level-ladder i{height:15px;font-size:.25rem}
}

@media(prefers-reduced-motion:reduce){
  .nova-game-page *, .nova-game-page *::before,.nova-game-page *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
  .nv-portal,.nv-portal-content,.nv-plinko-layer{transition-duration:.01ms!important}
}
.nv-reduce-motion *, .nv-reduce-motion *::before,.nv-reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
.nv-shell[data-quality="low"] .nv-guardian-card::before,.nv-shell[data-quality="low"] .nv-spin::after,.nv-shell[data-quality="low"] .nv-board-canopy,.nv-shell[data-quality="low"] .nv-board-sigil,.nv-shell[data-quality="low"] .nv-board-mist,.nv-shell[data-quality="low"] .nv-portal-runes{animation:none}
.nv-shell[data-quality="low"] .nv-topbar,.nv-shell[data-quality="low"] .nv-control-deck{backdrop-filter:none}

/* Animations stay on opacity and transforms wherever possible. */
@keyframes nvBoot{to{transform:rotate(360deg)}}
@keyframes nvBrandPulse{0%,100%{transform:scale(.82);opacity:.7}50%{transform:scale(1.15);opacity:1}}
@keyframes nvGuardianOrbit{to{transform:rotate(360deg)}}
@keyframes nvReelScan{from{transform:translateY(-35%)}to{transform:translateY(35%)}}
@keyframes nvReelSettle{0%{transform:translateY(-4px)}42%{transform:translateY(3px)}100%{transform:none}}
@keyframes nvSymbolWin{0%{transform:scale(.94);filter:brightness(.8)}45%{transform:scale(1.06);filter:brightness(1.35)}100%{transform:scale(1);filter:brightness(1.1)}}
@keyframes nvScatterFocus{from{filter:brightness(.85) saturate(.9)}to{filter:brightness(1.36) saturate(1.25);box-shadow:inset 0 0 23px rgba(112,255,138,.22)}}
@keyframes nvLineDraw{from{stroke-dasharray:1 100;opacity:0}to{stroke-dasharray:100 0;opacity:1}}
@keyframes nvLineNode{0%{transform:scale(.2);opacity:0}55%{transform:scale(1.45);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes nvSpinOrbit{to{transform:rotate(360deg)}}
@keyframes nvSpinLive{from{filter:brightness(.9)}to{filter:brightness(1.14);box-shadow:0 0 0 3px rgba(255,238,155,.38),0 12px 28px rgba(0,0,0,.52),0 0 42px rgba(82,255,114,.33),inset 0 2px rgba(255,255,255,.45),inset 0 -9px 13px rgba(0,0,0,.34)}}
@keyframes nvPortalRing{to{transform:rotate(360deg)}}
@keyframes nvPortalLoad{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}
@keyframes nvPortalBeam{from{opacity:.52;filter:blur(12px) brightness(.85)}to{opacity:1;filter:blur(6px) brightness(1.35)}}
@keyframes nvPortalFloat{from{transform:translateY(-5px) scale(.985)}to{transform:translateY(6px) scale(1.015)}}
@keyframes nvPortalOpen{0%{transform:scale(.84) rotate(-8deg);opacity:.7}58%{transform:scale(1.12) rotate(4deg);opacity:1}100%{transform:scale(1.45) rotate(12deg);opacity:0}}
@keyframes nvGuardianEnter{0%{transform:scale(1.05);opacity:1}55%{transform:scale(1.16);filter:drop-shadow(0 0 55px rgba(139,255,157,.72));opacity:1}100%{transform:scale(.76);filter:drop-shadow(0 0 70px rgba(255,231,144,.74));opacity:0}}
@keyframes nvPlinkoEnter{0%{filter:brightness(1.8) saturate(.7);transform:scale(1.045)}55%{filter:brightness(1.22) saturate(1.18)}100%{filter:none;transform:none}}
@keyframes nvCanopyDrift{from{background-position:0 0,12px 8px,-8px 4px,5px -5px}to{background-position:7px 3px,5px 12px,-2px 9px,11px 1px}}
@keyframes nvTorch{from{transform:translateX(-50%) rotate(-4deg) scale(.9,1.04);opacity:.72}to{transform:translateX(-50%) rotate(4deg) scale(1.08,.92);opacity:1}}
@keyframes nvBoardSigil{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes nvBoardMist{from{transform:translateX(-2%) scale(1)}to{transform:translateX(2%) scale(1.06)}}
@keyframes nvSolarBoardHit{0%{transform:translate(-50%,-50%) scale(.25) rotate(-15deg);opacity:0}22%{opacity:1}100%{transform:translate(-50%,-50%) scale(4) rotate(28deg);opacity:0}}
@keyframes nvLunarBoardHit{0%{transform:translate(-50%,-50%) scale(.3) rotate(-18deg);opacity:0}28%{opacity:1}100%{transform:translate(-50%,-50%) scale(3.4) rotate(28deg);opacity:0}}
@keyframes nvEmeraldBoardHit{0%{transform:translate(-50%,-50%) scale(.28,.15);opacity:0}24%{opacity:1}100%{transform:translate(-50%,-50%) scale(2.2,3.1);opacity:0}}
@keyframes nvChargeBurst{0%,100%{transform:none;filter:brightness(1)}35%{transform:scale(1.025);filter:brightness(1.7)}65%{transform:scale(.995);filter:brightness(1.2)}}
@keyframes nvLevelUp{0%{transform:translate(-50%,-50%) scale(.42) rotate(-5deg);opacity:0}28%{transform:translate(-50%,-50%) scale(1.08) rotate(1deg);opacity:1}70%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-54%) scale(.96);opacity:0}}
@keyframes nvRewardIn{from{transform:translateX(12px);opacity:0}to{transform:none;opacity:1}}
@keyframes nvCallout{0%{transform:translate(-50%,-15px) scale(.9);opacity:0}18%,74%{transform:translate(-50%,0) scale(1);opacity:1}100%{transform:translate(-50%,8px) scale(.98);opacity:0}}
@keyframes nvLaunchReady{from{box-shadow:0 12px 26px rgba(0,0,0,.35),0 0 10px rgba(95,255,123,.08),inset 0 1px rgba(255,255,255,.13)}to{box-shadow:0 12px 26px rgba(0,0,0,.35),0 0 27px rgba(95,255,123,.25),inset 0 1px rgba(255,255,255,.16)}}
