#gcg-game-root {
  min-height: 820px;
  overflow: hidden;
  color: #f7faff;
  background: #060917;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
#gcg-game-root *, #gcg-game-root *::before, #gcg-game-root *::after { box-sizing: border-box; }
#gcg-game-root button, #gcg-game-root input, #gcg-game-root select { font: inherit; }
#gcg-game-root button { -webkit-tap-highlight-color: transparent; }

.nm-game {
  --nm-a: #36e7ff;
  --nm-b: #756bff;
  --nm-c: #ff5edc;
  --nm-gold: #ffd36d;
  --nm-danger: #ff5478;
  --nm-panel: rgba(8, 13, 37, .84);
  --nm-line: rgba(188, 213, 255, .13);
  --nm-muted: rgba(222, 233, 255, .62);
  position: relative;
  min-height: 820px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% -15%, rgba(86, 92, 255, .30), transparent 36%),
    radial-gradient(circle at 10% 50%, rgba(44, 224, 255, .13), transparent 28%),
    radial-gradient(circle at 90% 60%, rgba(255, 86, 214, .12), transparent 28%),
    linear-gradient(145deg, #050816, #10183b 52%, #080b1d);
}
.nm-game::before {
  content: "";
  position: absolute; inset: 0; z-index: -2; opacity: .42;
  background-image:
    linear-gradient(rgba(120, 160, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 160, 255, .035) 1px, transparent 1px),
    radial-gradient(circle at 15% 20%, #fff 0 1px, transparent 1.5px),
    radial-gradient(circle at 78% 14%, #fff 0 1px, transparent 1.5px),
    radial-gradient(circle at 88% 72%, #fff 0 1px, transparent 1.5px);
  background-size: 44px 44px, 44px 44px, 121px 103px, 151px 129px, 187px 161px;
}
.nm-game::after {
  content: "";
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, rgba(0,0,0,.4), transparent 17% 83%, rgba(0,0,0,.4));
  box-shadow: inset 0 0 210px rgba(0,0,0,.54);
}
.nm-theme-aurora {
  --nm-a: #54ffd0; --nm-b: #25aec9; --nm-c: #a8ff90;
  background: radial-gradient(circle at 50% -15%, rgba(52, 228, 190, .28), transparent 36%), radial-gradient(circle at 10% 55%, rgba(25, 168, 200, .16), transparent 28%), linear-gradient(145deg, #041319, #0a3540 52%, #041317);
}
.nm-theme-ember {
  --nm-a: #ffad58; --nm-b: #ff5d77; --nm-c: #ff8edb;
  background: radial-gradient(circle at 50% -15%, rgba(255, 101, 98, .28), transparent 36%), radial-gradient(circle at 10% 55%, rgba(255, 163, 73, .14), transparent 28%), linear-gradient(145deg, #180709, #3a171e 52%, #13080c);
}
.nm-no-motion *, .nm-no-motion *::before, .nm-no-motion *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
.nm-high-contrast .nm-stage { border-color: rgba(255,255,255,.45); }
.nm-high-contrast .nm-tile { filter: contrast(1.16) saturate(1.12); }

.nm-topbar {
  position: relative; z-index: 60;
  display: grid; grid-template-columns: minmax(205px, 1fr) auto auto auto; align-items: center; gap: 16px;
  min-height: 88px; padding: 12px 18px;
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: linear-gradient(180deg, rgba(5,8,24,.98), rgba(7,12,32,.89));
  box-shadow: 0 16px 48px rgba(0,0,0,.36); backdrop-filter: blur(20px);
}
.nm-brand { display:flex; align-items:center; gap:12px; min-width:0; }
.nm-brand > div:last-child { min-width:0; }
.nm-brand small { display:block; margin-bottom:3px; color:var(--nm-a); font-size:10px; font-weight:900; letter-spacing:.2em; white-space:nowrap; }
.nm-brand h2 { margin:0; font-size:clamp(22px,1.8vw,30px); line-height:.9; letter-spacing:-.06em; }
.nm-logo {
  flex:0 0 60px; width:60px; height:60px; display:grid; grid-template-columns:repeat(2,1fr); gap:3px; padding:7px;
  border:1px solid rgba(167,205,255,.3); border-radius:19px;
  background:linear-gradient(145deg, rgba(68,232,255,.2), rgba(92,75,240,.34));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26), 0 12px 28px rgba(44,101,255,.25);
}
.nm-logo span { display:grid; place-items:center; border-radius:6px; color:#fff; font-size:12px; font-weight:950; background:linear-gradient(145deg, rgba(255,255,255,.19), rgba(255,255,255,.05)); text-shadow:0 0 10px var(--nm-a); }
.nm-actions { display:flex; align-items:center; gap:7px; }
.nm-btn, .nm-icon, .nm-wide, .nm-power, .nm-mobile-pad button, .nm-mode-grid button, .nm-mission-grid button, .nm-world-tabs button { border:0; color:#f7faff; cursor:pointer; }
.nm-btn {
  min-height:42px; padding:0 13px; border:1px solid rgba(196,213,255,.15); border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.024));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06); font-size:12px; font-weight:800; white-space:nowrap;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.nm-btn:hover { transform:translateY(-2px); border-color:rgba(95,230,255,.38); background:linear-gradient(180deg, rgba(79,206,255,.13), rgba(89,82,255,.08)); }
.nm-btn--primary { border-color:rgba(78,229,255,.48); background:linear-gradient(135deg, #1cc9e8, #6659ff); box-shadow:0 10px 24px rgba(52,109,255,.28),inset 0 1px 0 rgba(255,255,255,.28); }
.nm-statsbar { display:flex; gap:7px; }
.nm-statsbar > div { min-width:76px; padding:8px 10px; border:1px solid rgba(255,255,255,.09); border-radius:12px; background:rgba(255,255,255,.035); text-align:center; }
.nm-statsbar span { display:block; margin-bottom:1px; color:var(--nm-muted); font-size:9px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.nm-statsbar strong { font-size:15px; font-weight:900; }
.nm-utility { display:flex; gap:7px; }
.nm-icon { width:42px; height:42px; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(255,255,255,.04); font-size:17px; }
.nm-icon:hover { border-color:rgba(77,231,255,.4); background:rgba(77,231,255,.09); }

.nm-subbar { position:relative; z-index:45; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; min-height:44px; padding:7px 20px; border-bottom:1px solid rgba(255,255,255,.07); background:rgba(5,9,26,.68); backdrop-filter:blur(12px); }
.nm-subbar > div { display:flex; align-items:center; gap:10px; min-width:0; }
.nm-subbar > div:last-child { justify-content:flex-end; }
.nm-subbar b { color:#eaf1ff; font-size:11px; letter-spacing:.04em; }
.nm-mode-chip { padding:5px 9px; border:1px solid rgba(78,230,255,.3); border-radius:999px; color:var(--nm-a); background:rgba(78,230,255,.08); font-size:9px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.nm-objective { justify-content:center; color:var(--nm-muted); font-size:11px; font-weight:750; }
.nm-objective i { color:var(--nm-gold); text-shadow:0 0 11px var(--nm-gold); }
.nm-chain, .nm-timer { padding:5px 9px; border-radius:999px; background:rgba(255,255,255,.05); color:var(--nm-muted); font-size:10px; font-weight:800; }
.nm-chain b { color:var(--nm-c); }
.nm-timer { color:#fff; border:1px solid rgba(255,92,128,.25); background:rgba(255,80,120,.08); font-variant-numeric:tabular-nums; }

.nm-layout { position:relative; z-index:10; display:grid; grid-template-columns:230px minmax(430px,1fr) 230px; gap:14px; width:min(1500px,100%); margin:0 auto; padding:15px 16px 11px; }
.nm-panel { min-width:0; padding:13px; border:1px solid var(--nm-line); border-radius:19px; background:linear-gradient(180deg, rgba(12,19,50,.88), rgba(5,10,27,.9)); box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 20px 55px rgba(0,0,0,.25); backdrop-filter:blur(18px); }
.nm-panel-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:11px; padding-bottom:9px; border-bottom:1px solid rgba(255,255,255,.08); }
.nm-panel-title span { color:#fff; font-size:10px; font-weight:900; letter-spacing:.16em; }
.nm-panel-title b { color:var(--nm-a); font-size:10px; }
.nm-world-orbit { position:relative; height:132px; margin:2px 0 10px; overflow:hidden; border-radius:16px; background:radial-gradient(circle at 50% 52%, rgba(78,231,255,.2), transparent 28%),linear-gradient(145deg, rgba(39,67,140,.25), rgba(12,18,44,.4)); }
.nm-world-orbit::before { content:""; position:absolute; inset:0; opacity:.4; background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px); background-size:31px 29px; }
.nm-orbit-ring { position:absolute; left:50%; top:50%; width:110px; height:52px; border:1px solid rgba(103,231,255,.42); border-radius:50%; transform:translate(-50%,-50%) rotate(-16deg); box-shadow:0 0 22px rgba(69,226,255,.13); }
.nm-world-orbit strong { position:absolute; inset:0; display:grid; place-items:center; font-size:36px; letter-spacing:-.08em; color:#fff; text-shadow:0 0 24px var(--nm-b); }
.nm-world-orbit i { position:absolute; width:7px; height:7px; border-radius:50%; background:var(--nm-a); box-shadow:0 0 12px var(--nm-a); animation:nmOrbit 4s linear infinite; }
.nm-world-orbit i:nth-of-type(1){ left:36px; top:42px; }.nm-world-orbit i:nth-of-type(2){ right:35px; bottom:32px; animation-delay:-1.3s;background:var(--nm-c); }.nm-world-orbit i:nth-of-type(3){ right:48px; top:23px; animation-delay:-2.4s;background:var(--nm-gold); }
@keyframes nmOrbit { 50% { transform:translateY(6px) scale(1.25); opacity:.55; } }
.nm-progress-box, .nm-mission-box, .nm-rank-card, .nm-max-card, .nm-next-card { border:1px solid rgba(255,255,255,.09); border-radius:14px; background:rgba(255,255,255,.035); }
.nm-progress-box { padding:10px; margin-bottom:10px; }
.nm-progress-box > div:first-child { display:flex; justify-content:space-between; color:var(--nm-muted); font-size:9px; font-weight:800; }
.nm-progress-box b { color:#fff; }
.nm-progress { height:6px; margin-top:8px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); }
.nm-progress i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--nm-a),var(--nm-b)); box-shadow:0 0 12px var(--nm-a); transition:width .4s ease; }
.nm-mission-box { padding:12px; margin-bottom:10px; }
.nm-mission-box small { color:var(--nm-c); font-size:8px; font-weight:900; letter-spacing:.16em; }
.nm-mission-box strong { display:block; margin:5px 0 4px; font-size:13px; }
.nm-mission-box p { margin:0; color:var(--nm-muted); font-size:10px; line-height:1.45; }
.nm-wide { width:100%; display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:9px; min-height:53px; margin-top:7px; padding:8px 9px; border:1px solid rgba(255,255,255,.08); border-radius:13px; background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)); text-align:left; transition:.18s ease; }
.nm-wide:hover { transform:translateX(3px); border-color:rgba(81,229,255,.32); background:rgba(79,202,255,.08); }
.nm-wide > i { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#fff; font-style:normal; background:linear-gradient(145deg,var(--nm-b),var(--nm-c)); box-shadow:0 7px 17px rgba(86,78,255,.24); }
.nm-wide span { min-width:0; }.nm-wide b,.nm-wide small { display:block; }.nm-wide b { font-size:10px; }.nm-wide small { margin-top:2px; color:var(--nm-muted); font-size:8px; }.nm-wide em { color:var(--nm-muted); font-style:normal; font-size:18px; }

.nm-stage-shell { min-width:0; display:flex; flex-direction:column; }
.nm-stage { position:relative; flex:1; min-height:600px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(131,175,255,.18); border-radius:25px; background:radial-gradient(circle at 50% 45%, rgba(71,87,195,.22), transparent 42%),linear-gradient(145deg, rgba(7,12,31,.88), rgba(14,22,57,.94)); box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 0 95px rgba(0,0,0,.35),0 24px 60px rgba(0,0,0,.3); }
.nm-stage::before { content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(87,150,255,.12) 1px, transparent 1px),linear-gradient(90deg,rgba(87,150,255,.12) 1px,transparent 1px); background-size:36px 36px; transform:perspective(600px) rotateX(55deg) scale(1.5); transform-origin:center bottom; }
.nm-board-glow { position:absolute; width:min(72%,560px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, rgba(87,88,255,.26), rgba(54,231,255,.07) 42%, transparent 70%); filter:blur(20px); animation:nmPulse 4s ease-in-out infinite; }
@keyframes nmPulse { 50% { transform:scale(1.08); opacity:.7; } }
.nm-board {
  --size:4;
  position:relative; z-index:3;
  width:min(76%,550px); aspect-ratio:1;
  display:grid; grid-template-columns:repeat(var(--size),1fr); gap:clamp(8px,1.2vw,14px); padding:clamp(12px,1.8vw,19px);
  border:1px solid rgba(136,199,255,.25); border-radius:28px;
  background:linear-gradient(145deg, rgba(17,27,68,.95), rgba(6,10,28,.95));
  box-shadow:inset 0 2px 0 rgba(255,255,255,.08),inset 0 0 50px rgba(60,75,180,.14),0 28px 65px rgba(0,0,0,.43),0 0 45px rgba(77,78,255,.13);
}
.nm-board::before { content:""; position:absolute; inset:7px; pointer-events:none; border:1px solid rgba(255,255,255,.04); border-radius:22px; }
.nm-cell { position:relative; min-width:0; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(154,183,255,.09); border-radius:clamp(11px,1.4vw,18px); background:rgba(119,145,214,.065); box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.nm-grid-lines-off .nm-cell:not(.nm-tile):not(.nm-wall) { border-color:transparent; background:rgba(255,255,255,.02); }
.nm-tile { color:#fff; border-color:rgba(255,255,255,.24); cursor:pointer; transition:transform .16s ease,filter .16s ease; isolation:isolate; box-shadow:inset 0 2px 0 rgba(255,255,255,.28),inset 0 -12px 20px rgba(0,0,0,.16),0 10px 24px rgba(0,0,0,.26),0 0 18px var(--tile-glow,rgba(91,215,255,.25)); }
.nm-tile::before { content:""; position:absolute; inset:-30%; z-index:-1; background:conic-gradient(from 120deg,transparent,rgba(255,255,255,.34),transparent 28%); animation:nmSheen 4.8s linear infinite; }
.nm-tile::after { content:""; position:absolute; inset:5px; border:1px solid rgba(255,255,255,.18); border-radius:inherit; }
@keyframes nmSheen { to { transform:rotate(360deg); } }
.nm-tile:hover { transform:translateY(-3px) scale(1.025); filter:brightness(1.08); }
.nm-tile span { display:block; font-size:clamp(20px,3.1vw,42px); font-weight:950; letter-spacing:-.07em; line-height:.9; text-shadow:0 2px 8px rgba(0,0,0,.24),0 0 17px rgba(255,255,255,.15); }
.nm-tile small { position:absolute; bottom:10%; font-size:clamp(5px,.48vw,8px); font-weight:900; letter-spacing:.18em; opacity:.66; }
.nm-tile-1 { --tile-glow:#3de8ff; background:linear-gradient(145deg,#33dff2,#277dd6); }
.nm-tile-2 { --tile-glow:#5e8fff; background:linear-gradient(145deg,#6479ff,#4a43c4); }
.nm-tile-3 { --tile-glow:#9b6dff; background:linear-gradient(145deg,#a26bf3,#6844c8); }
.nm-tile-4 { --tile-glow:#ec5dff; background:linear-gradient(145deg,#e95bd6,#9d3ab1); }
.nm-tile-5 { --tile-glow:#ff5c9b; background:linear-gradient(145deg,#ff668b,#c52b70); }
.nm-tile-6 { --tile-glow:#ff7b5a; background:linear-gradient(145deg,#ff9457,#d64a43); }
.nm-tile-7 { --tile-glow:#ffd45d; background:linear-gradient(145deg,#ffd95e,#df8a22); color:#23130a; }
.nm-tile-8 { --tile-glow:#dbff64; background:linear-gradient(145deg,#dcff6a,#76c735); color:#102106; }
.nm-tile-9 { --tile-glow:#61ffc5; background:linear-gradient(145deg,#52f4ae,#22a77c); color:#061d16; }
.nm-tile-10 { --tile-glow:#70f5ff; background:linear-gradient(145deg,#7df6ff,#2a91d7); }
.nm-tile-11 { --tile-glow:#fff; background:linear-gradient(145deg,#fff7bd,#ffb14d 48%,#ff547c); color:#2b130a; animation:nmLegend 2.2s ease-in-out infinite; }
.nm-tile-12,.nm-tile-13,.nm-tile-14,.nm-tile-15 { --tile-glow:#ff7cf1; background:linear-gradient(145deg,#f8eaff,#a966ff 45%,#ff4bd0); }
@keyframes nmLegend { 50% { box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 0 34px rgba(255,218,90,.8),0 13px 30px rgba(0,0,0,.3); } }
.nm-spawn { animation:nmSpawn .32s cubic-bezier(.18,.9,.3,1.3); }
@keyframes nmSpawn { from { transform:scale(.3); opacity:0; } to { transform:scale(1); opacity:1; } }
.nm-deal-in .nm-tile { animation:nmDeal .55s backwards; }.nm-deal-in .nm-tile:nth-child(2n){animation-delay:.05s}.nm-deal-in .nm-tile:nth-child(3n){animation-delay:.1s}
@keyframes nmDeal { from { transform:translateY(18px) scale(.7); opacity:0; } }
.nm-wall { border-color:rgba(255,89,119,.28); background:repeating-linear-gradient(135deg,rgba(255,74,112,.13) 0 7px,rgba(25,10,30,.45) 7px 14px); color:#ff7994; }
.nm-wall span { font-size:clamp(6px,.55vw,9px); font-weight:900; letter-spacing:.13em; transform:rotate(-45deg); }
.nm-wall i { position:absolute; width:26%; aspect-ratio:1; border:2px solid #ff6b8c; border-radius:6px; box-shadow:0 0 15px rgba(255,80,120,.35); }
.nm-next-card { padding:13px; text-align:center; margin-bottom:12px; }
.nm-next-card > span,.nm-rank-card > span,.nm-max-card > span { color:var(--nm-muted); font-size:8px; font-weight:900; letter-spacing:.16em; }
.nm-next-tile { width:82px; height:82px; margin:10px auto 7px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:20px; background:linear-gradient(145deg,#35e5f4,#5570ff); box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 11px 28px rgba(64,116,255,.29),0 0 20px rgba(55,231,255,.2); font-size:31px; font-weight:950; }
.nm-next-card small { color:var(--nm-muted); font-size:8px; }
.nm-power-list { display:grid; gap:7px; }
.nm-power { width:100%; display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:8px; min-height:57px; padding:8px; border:1px solid rgba(255,255,255,.08); border-radius:13px; background:rgba(255,255,255,.032); text-align:left; transition:.18s ease; }
.nm-power:hover,.nm-power.is-active { border-color:rgba(72,230,255,.42); background:rgba(69,210,255,.08); transform:translateX(-2px); }
.nm-power > i { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:#fff; font-style:normal; font-size:19px; background:linear-gradient(145deg,var(--nm-b),var(--nm-c)); box-shadow:0 8px 18px rgba(78,68,255,.22); }
.nm-power span { min-width:0; }.nm-power b,.nm-power small { display:block; }.nm-power b { font-size:9px; }.nm-power small { margin-top:2px; color:var(--nm-muted); font-size:7px; }.nm-power em { min-width:24px; height:24px; display:grid; place-items:center; border-radius:999px; background:rgba(255,255,255,.08); color:#fff; font-size:9px; font-style:normal; font-weight:900; }
.nm-rank-card,.nm-max-card { margin-top:10px; padding:12px; text-align:center; }
.nm-rank-card strong { display:block; margin:4px 0; font-size:36px; line-height:1; color:var(--nm-gold); text-shadow:0 0 20px rgba(255,211,109,.35); }
.nm-rank-card > div { height:6px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.08); }.nm-rank-card > div i { display:block; width:16%; height:100%; background:linear-gradient(90deg,var(--nm-a),var(--nm-gold)); box-shadow:0 0 12px var(--nm-a); transition:width .35s ease; }
.nm-rank-card small,.nm-max-card small { display:block; margin-top:6px; color:var(--nm-muted); font-size:8px; }
.nm-max-card strong { display:block; margin-top:4px; font-size:25px; }
.nm-overlay { position:absolute; inset:0; z-index:20; display:grid; place-content:center; justify-items:center; gap:8px; background:rgba(4,8,22,.78); backdrop-filter:blur(14px); text-align:center; }
.nm-overlay span { color:var(--nm-a); font-size:10px; font-weight:900; letter-spacing:.25em; }.nm-overlay strong { margin-bottom:8px; font-size:22px; }
.nm-hint-banner { position:absolute; z-index:14; top:18px; left:50%; transform:translateX(-50%); padding:9px 14px; border:1px solid rgba(72,230,255,.3); border-radius:999px; background:rgba(7,17,42,.9); color:#fff; box-shadow:0 12px 30px rgba(0,0,0,.28); font-size:10px; font-weight:800; white-space:nowrap; }
.nm-stage-caption { display:flex; justify-content:space-between; align-items:center; padding:8px 7px 0; color:var(--nm-muted); font-size:9px; }.nm-stage-caption kbd,.nm-footer kbd { padding:2px 5px; border:1px solid rgba(255,255,255,.13); border-radius:5px; background:rgba(255,255,255,.05); color:#fff; font-family:inherit; font-size:8px; }.nm-stage-caption b { color:var(--nm-a); font-size:9px; letter-spacing:.14em; }
.nm-mobile-pad { display:none; }
.nm-footer { position:relative; z-index:12; display:flex; align-items:center; gap:18px; min-height:40px; padding:8px 20px; border-top:1px solid rgba(255,255,255,.07); background:rgba(4,8,22,.72); color:var(--nm-muted); font-size:9px; }.nm-footer div { white-space:nowrap; }.nm-footer > span { margin-left:auto; }

.nm-modal-backdrop { position:fixed; inset:0; z-index:999999; display:grid; place-items:center; padding:18px; background:rgba(2,5,15,.78); backdrop-filter:blur(15px); }
.nm-modal-backdrop[hidden] { display:none !important; }
.nm-modal { width:min(760px,100%); max-height:min(720px,92vh); overflow:auto; padding:19px; border:1px solid rgba(143,190,255,.24); border-radius:24px; background:linear-gradient(145deg,rgba(13,20,52,.98),rgba(5,9,25,.98)); box-shadow:0 32px 90px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.09); }
.nm-modal-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.08); }.nm-modal-head small { color:var(--nm-a); font-size:9px; font-weight:900; letter-spacing:.2em; }.nm-modal-head h3 { margin:3px 0 0; font-size:24px; letter-spacing:-.04em; }.nm-modal-head > button { width:38px; height:38px; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:rgba(255,255,255,.04); color:#fff; cursor:pointer; font-size:22px; }
.nm-mode-grid { display:grid; gap:9px; }.nm-mode-grid button { display:grid; grid-template-columns:56px 1fr auto; align-items:center; gap:12px; min-height:72px; padding:10px; border:1px solid rgba(255,255,255,.09); border-radius:15px; background:rgba(255,255,255,.035); text-align:left; }.nm-mode-grid button:hover { border-color:rgba(75,230,255,.38); background:rgba(68,207,255,.07); }.nm-mode-grid i { width:56px; height:50px; display:grid; place-items:center; border-radius:13px; background:linear-gradient(145deg,var(--nm-b),var(--nm-c)); font-style:normal; font-size:14px; font-weight:900; }.nm-mode-grid b,.nm-mode-grid small { display:block; }.nm-mode-grid b { font-size:13px; }.nm-mode-grid small { margin-top:3px; color:var(--nm-muted); font-size:9px; line-height:1.4; }.nm-mode-grid em { color:var(--nm-muted); font-style:normal; font-size:21px; }
.nm-world-tabs { display:flex; gap:6px; margin-bottom:12px; }.nm-world-tabs button { flex:1; min-height:34px; border:1px solid rgba(255,255,255,.09); border-radius:10px; background:rgba(255,255,255,.035); font-size:10px; font-weight:850; }.nm-world-tabs button.is-active { border-color:rgba(77,230,255,.42); background:linear-gradient(135deg,rgba(49,214,235,.28),rgba(98,79,255,.24)); }
.nm-mission-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }.nm-mission-grid button { min-height:75px; padding:8px; border:1px solid rgba(255,255,255,.09); border-radius:13px; background:rgba(255,255,255,.035); }.nm-mission-grid button:hover:not(:disabled) { transform:translateY(-2px); border-color:rgba(77,230,255,.38); }.nm-mission-grid b,.nm-mission-grid span,.nm-mission-grid small { display:block; }.nm-mission-grid b { font-size:15px; }.nm-mission-grid span { margin:4px 0; color:var(--nm-gold); font-size:9px; letter-spacing:.05em; }.nm-mission-grid small { color:var(--nm-muted); font-size:8px; }.nm-mission-grid .is-locked { opacity:.34; cursor:not-allowed; }
.nm-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }.nm-stat-grid > div { padding:13px; border:1px solid rgba(255,255,255,.08); border-radius:13px; background:rgba(255,255,255,.035); }.nm-stat-grid span { display:block; color:var(--nm-muted); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.nm-stat-grid b { display:block; margin-top:5px; font-size:19px; }.nm-section-title { margin:17px 0 10px; font-size:11px; letter-spacing:.15em; }.nm-achievements { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.nm-achievements > div { display:flex; align-items:center; gap:9px; padding:10px; border:1px solid rgba(255,255,255,.07); border-radius:12px; opacity:.45; }.nm-achievements > div.is-earned { opacity:1; border-color:rgba(255,212,109,.22); background:rgba(255,212,109,.045); }.nm-achievements i { color:var(--nm-gold); font-style:normal; }.nm-achievements b,.nm-achievements small { display:block; }.nm-achievements b { font-size:10px; }.nm-achievements small { margin-top:2px; color:var(--nm-muted); font-size:8px; }
.nm-settings { display:grid; gap:8px; }.nm-settings label { display:flex; justify-content:space-between; align-items:center; min-height:48px; padding:9px 11px; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.03); font-size:11px; font-weight:750; }.nm-settings select { min-width:155px; padding:7px 9px; border:1px solid rgba(255,255,255,.14); border-radius:9px; background:#111b43; color:#fff; }.nm-settings input { width:19px; height:19px; accent-color:#4de8ff; }.nm-modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:17px; }
.nm-result { text-align:center; }.nm-result-emblem { width:82px; height:82px; display:grid; place-items:center; margin:3px auto 10px; border:1px solid rgba(255,255,255,.28); border-radius:26px; background:linear-gradient(145deg,var(--nm-a),var(--nm-b) 52%,var(--nm-c)); box-shadow:0 16px 40px rgba(73,98,255,.32),0 0 30px rgba(69,230,255,.19); font-size:34px; }.nm-result > small { color:var(--nm-a); font-size:9px; font-weight:900; letter-spacing:.2em; }.nm-result h3 { margin:5px 0 13px; font-size:28px; }.nm-result-stars { margin:-3px 0 13px; color:var(--nm-gold); font-size:23px; letter-spacing:.1em; }.nm-result-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.nm-result-stats div { padding:11px; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.035); }.nm-result-stats span,.nm-result-stats b { display:block; }.nm-result-stats span { color:var(--nm-muted); font-size:8px; text-transform:uppercase; }.nm-result-stats b { margin-top:4px; font-size:17px; }
.nm-toast { position:fixed; z-index:1000001; left:50%; bottom:24px; transform:translate(-50%,20px); padding:10px 15px; border:1px solid rgba(78,229,255,.28); border-radius:999px; background:rgba(6,12,31,.95); color:#fff; box-shadow:0 14px 40px rgba(0,0,0,.35); font-size:10px; font-weight:800; opacity:0; pointer-events:none; transition:.22s ease; }.nm-toast.is-visible { transform:translate(-50%,0); opacity:1; }
.nm-shake { animation:nmShake .28s ease; } @keyframes nmShake { 25%{transform:translateX(-5px)} 50%{transform:translateX(5px)} 75%{transform:translateX(-3px)} }
.nm-confetti { position:absolute; inset:0; z-index:500; pointer-events:none; overflow:hidden; }.nm-confetti i { position:absolute; left:var(--x); top:-15px; width:7px; height:12px; border-radius:2px; background:hsl(calc(var(--x) * 3.6),90%,65%); animation:nmFall 2.4s var(--d) ease-in forwards; }.nm-confetti i:nth-child(3n){background:var(--nm-gold)}.nm-confetti i:nth-child(4n){background:var(--nm-a)} @keyframes nmFall { to { transform:translateY(900px) rotate(var(--r)); opacity:.2; } }

@media (max-width: 1180px) {
  .nm-topbar { grid-template-columns:190px 1fr auto; }.nm-actions { justify-content:center; }.nm-statsbar { grid-column:2; grid-row:2; justify-content:center; }.nm-topbar { padding-bottom:9px; }.nm-utility { grid-column:3; grid-row:1 / span 2; }.nm-layout { grid-template-columns:200px minmax(420px,1fr) 200px; }.nm-panel { padding:10px; }.nm-stage { min-height:570px; }.nm-board { width:min(82%,520px); }
}
@media (max-width: 900px) {
  #gcg-game-root,.nm-game { min-height:760px; }
  .nm-topbar { grid-template-columns:1fr auto; min-height:auto; gap:10px; padding:10px 12px; }.nm-brand { grid-column:1; }.nm-actions { grid-column:1 / -1; grid-row:2; overflow-x:auto; justify-content:flex-start; padding-bottom:2px; }.nm-actions .nm-btn { flex:0 0 auto; }.nm-statsbar { grid-column:1; grid-row:3; justify-content:flex-start; }.nm-utility { grid-column:2; grid-row:1; }.nm-subbar { grid-template-columns:1fr auto; padding:6px 12px; }.nm-objective { display:none !important; }.nm-layout { grid-template-columns:1fr; padding:10px 10px 8px; }.nm-panel--left,.nm-panel--right { display:none; }.nm-stage { min-height:590px; }.nm-board { width:min(94%,540px); }.nm-footer { display:none; }.nm-mobile-pad { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:8px; }.nm-mobile-pad button { min-height:43px; border:1px solid rgba(255,255,255,.11); border-radius:12px; background:rgba(255,255,255,.045); font-size:20px; }
}
@media (max-width: 600px) {
  #gcg-game-root,.nm-game { min-height:690px; }
  .nm-brand small { font-size:8px; }.nm-logo { flex-basis:48px; width:48px; height:48px; padding:6px; border-radius:15px; }.nm-brand h2 { font-size:22px; }.nm-actions { gap:5px; }.nm-btn { min-height:38px; padding:0 10px; font-size:10px; }.nm-statsbar > div { min-width:70px; padding:6px 8px; }.nm-statsbar span { font-size:7px; }.nm-statsbar strong { font-size:13px; }.nm-icon { width:38px; height:38px; }.nm-subbar { min-height:38px; }.nm-subbar > div:last-child .nm-chain { display:none; }.nm-layout { padding:7px; }.nm-stage { min-height:480px; border-radius:19px; }.nm-board { width:min(96%,440px); gap:7px; padding:9px; border-radius:20px; }.nm-cell { border-radius:10px; }.nm-tile span { font-size:clamp(18px,8.1vw,34px); }.nm-tile small { font-size:5px; }.nm-stage-caption { padding-top:6px; }.nm-modal { padding:14px; border-radius:18px; }.nm-modal-head h3 { font-size:20px; }.nm-mission-grid { grid-template-columns:repeat(4,1fr); }.nm-stat-grid,.nm-result-stats { grid-template-columns:1fr 1fr; }.nm-achievements { grid-template-columns:1fr; }.nm-mode-grid button { grid-template-columns:48px 1fr auto; }.nm-mode-grid i { width:48px; }.nm-result h3 { font-size:22px; }
}
@media (max-width: 420px) {
  .nm-actions .nm-btn:nth-child(3) { display:none; }.nm-statsbar { width:100%; }.nm-statsbar > div { flex:1; min-width:0; }.nm-stage { min-height:430px; }.nm-board { width:98%; }.nm-board[style*="--size: 5"] { gap:4px; padding:7px; }.nm-board[style*="--size: 5"] .nm-tile span { font-size:clamp(13px,6.4vw,26px); }.nm-mission-grid { grid-template-columns:repeat(3,1fr); }
}
.nm-overlay[hidden], .nm-hint-banner[hidden], .nm-timer[hidden] { display: none !important; }
