/* 終極密碼頁專用樣式；欄位與按鈕沿用 site.css */
.nb-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.nb-row > * { min-width: 0; }
.nb-start { width: 100%; min-height: 52px; font-size: 1.15rem; margin-top: 10px; }
.nb-range-box { text-align: center; background: #eff4ff; border: 2px solid var(--brand); border-radius: 12px; padding: 10px 12px; margin: 8px 0; }
.nb-range-box small { display: block; color: var(--muted); font-size: 1rem; }
.nb-range { display: block; font-size: clamp(2.2rem, 12vw, 3.6rem); font-weight: 800; color: var(--brand-dark); font-variant-numeric: tabular-nums; line-height: 1.2; overflow-wrap: anywhere; }
.nb-who { text-align: center; font-size: 1.3rem; font-weight: 800; margin: 8px 0; overflow-wrap: anywhere; }
.nb-single { text-align: center; background: #fffbeb; border: 2px solid var(--warn); border-radius: 12px; padding: 8px 12px; font-weight: 700; margin: 8px 0; }
.nb-single[hidden], .nb-who[hidden], .nb-result[hidden], .nb-keys[hidden], .nb-guess-row[hidden], .nb-hist[hidden] { display: none; }
.nb-guess-row { display: grid; grid-template-columns: 1fr 120px; gap: 10px; margin: 8px 0; }
.nb-guess-row > * { min-width: 0; }
.nb-guess-row input { width: 100%; box-sizing: border-box; min-height: 56px; font-size: 1.6rem; font-weight: 700; text-align: center; border: 2px solid var(--line); border-radius: 10px; padding: 4px 8px; font-variant-numeric: tabular-nums; }
.nb-go { min-height: 56px; font-size: 1.3rem; }
.nb-keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 8px 0; }
.nb-key { min-height: 60px; font-size: 1.5rem; font-weight: 700; }
.nb-result { margin: 10px 0; padding: 14px; text-align: center; font-size: 1.4rem; font-weight: 800; border-radius: 12px; overflow-wrap: anywhere; }
.nb-boom { background: #fef2f2; border: 2px solid var(--bad); color: var(--bad); }
.nb-hist { margin: 10px 0; padding-left: 1.6em; max-height: 260px; overflow: auto; font-size: 1rem; }
.nb-hist li { padding: 2px 0; overflow-wrap: anywhere; }
.nb-score { color: var(--muted); font-size: .95rem; margin: 8px 0; overflow-wrap: anywhere; }
.nb-ctl { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0; }
.nb-ctl .btn { flex: 1 1 140px; min-height: 52px; font-size: 1.05rem; }
.nb-ctl .btn[hidden] { display: none; }
@media (max-width: 480px) { .nb-row { grid-template-columns: 1fr 1fr; } }
