.nl-stage { cursor: zoom-in; }
.nl-stage.is-full { cursor: default; }
.nl-fill { position: absolute; inset: 0; background: #000; transition: background-color .35s linear; }
.nl-clock { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; font-size: clamp(2.4rem, 14vmin, 9rem);
  font-weight: 300; font-variant-numeric: tabular-nums; letter-spacing: .02em; pointer-events: none; transition: color .35s linear; }
.nl-clock[hidden], .nl-bar[hidden] { display: none; }
.nl-bar { position: absolute; left: 50%; bottom: max(20px, env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 7; display: flex;
  align-items: center; gap: 8px; padding: 6px; border-radius: 999px; background: rgba(12, 6, 6, .85); color: #c77; max-width: calc(100% - 24px); }
.nl-bar button { font: inherit; font-weight: 700; font-size: 1.1rem; min-width: 44px; min-height: 44px; border-radius: 999px;
  border: 1px solid #522; background: #1c0c0c; color: #d88; cursor: pointer; }
.nl-bar .nl-exit { font-size: .9rem; padding: 0 14px; }
.nl-bar-t { font-size: .85rem; padding: 0 6px; font-variant-numeric: tabular-nums; text-align: center; min-width: 7em; }
.nl-custom { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.nl-custom label { font-weight: 500 !important; font-size: .9rem; }
.nl-custom input { width: 44px; height: 36px; padding: 0; border: 1px solid var(--line); border-radius: 10px; background: none; cursor: pointer; }
.nl-note { margin-top: 10px; }
.nl-hide { display: none; }
.is-full .fs-btn { display: none; }
.ctl .switch { justify-content: flex-start; }
