/* MeshLane 样式 · style.css
   —— 暗色机械主题，全站无通用模板色块。可点元素 ≥48px，禁双击缩放、禁滑动。 */

* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { width: 100%; height: 100%; overflow: hidden; touch-action: none;
  background: linear-gradient(180deg, #0d1520 0%, #2a3848 100%);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  color: #e8eef5; user-select: none; -webkit-user-select: none; }

#app { position: fixed; inset: 0; padding-top: env(safe-area-inset-top); }
#board { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }

/* ---------- 浮层 ---------- */
.nc-overlay { position: fixed; inset: 0; z-index: 9000; background: rgba(6,10,16,0.82);
  display: flex; align-items: center; justify-content: center; padding: 18px; }

.nc-overlay-card { background: #151f2c; border: 2px solid #2e4355; border-radius: 14px;
  padding: 20px; width: 100%; max-width: 340px; box-shadow: 0 8px 30px rgba(0,0,0,0.5); }
.nc-col { display: flex; flex-direction: column; gap: 12px; }

.nc-title { font-size: 44px; font-weight: bold; text-align: center; color: #e8eef5; }
.nc-sub { font-size: 16px; text-align: center; color: #9fb0c0; line-height: 1.5; margin: 4px 0; }
.nc-dim { font-size: 13px; color: #77889a; }

.nc-row { display: flex; gap: 10px; justify-content: center; margin-top: 8px; flex-wrap: wrap; }

.nc-btn { min-height: 48px; min-width: 96px; padding: 0 14px; font-size: 16px; color: #0b1420;
  background: #b9c6d4; border: none; border-radius: 10px; cursor: pointer; }
.nc-btn:disabled { opacity: 0.45; cursor: default; }
.nc-btn.nc-ad { background: #6b5a35; color: #ffe0a0; }   /* 弱化：与普通按钮同构，不加粗红底 */
.nc-btn.nc-free { background: #5fb08c; color: #06201a; } /* 免费替代：更醒目、默认高亮 */

.nc-cellgrid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.nc-cell { min-height: 48px; background: #1f2c3a; border: 1px solid #2e4355; border-radius: 10px;
  color: #e8eef5; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.nc-cell-hi { background: #23384d; }
.nc-cell-lock { opacity: 0.4; }

.nc-shoprow { display: flex; align-items: center; gap: 10px; background: #1a2431;
  border: 1px solid #2a3a4a; border-radius: 10px; padding: 12px; }
.nc-term { font-size: 16px; }
.nc-lock { opacity: 0.6; }

.nc-toast { position: fixed; bottom: 20%; left: 50%; transform: translateX(-50%);
  background: rgba(8,14,22,0.9); border: 1px solid #2e4355; color: #ffce54;
  padding: 10px 18px; border-radius: 10px; font-size: 16px; z-index: 9999;
  opacity: 0; animation: ncFade 1.4s forwards; }
@keyframes ncFade { 0%{opacity:0} 15%{opacity:1} 80%{opacity:1} 100%{opacity:0} }