/* HSPingal app theme: password. Loaded after the app's own styles. */
:root {
  --bg: var(--c-bg);
  --surface: #2a0f15;
  --card: #2e1219;
  --card2: #3a151b;
  --border: rgba(255,216,210,.18);
  --border2: rgba(255,216,210,.18);
  --accent: #ff5a4f;
  --accent2: #ffb3a8;
  --on-accent: #1e0a0e;
  --text: var(--c-fg);
  --text2: var(--c-sub);
  --muted: #b38d88;
  --success: #7ee2a8;
  --ok: #7ee2a8;
  --danger: #ff8a80;
  --warn: #ffd166;
  --warning: #ffd166;
  --glow: rgba(255,90,79, .2);
  --app-w: 1020px;
  --app-font: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
  color-scheme: dark;
}

.app-mast { background: var(--c-bg); }

/* A vault door: one huge readout, then the mechanism. */
.app-mast { background: radial-gradient(70% 140% at 85% 30%, #3a151b, var(--c-bg)); }
.app-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 22px; }
.pw-out-wrap { margin-bottom: 12px; }
.pw-display { padding: 26px 22px; min-height: 104px; font-size: clamp(1.1rem, 3vw, 1.75rem); border-radius: 6px; background: #120508; border: 1.5px solid var(--accent); color: #fff; }
.pw-btns { position: static !important; transform: none !important; margin-top: 10px; justify-content: flex-end; }
.sm-btn { border-radius: 4px; padding: 9px 16px; font-size: .78rem; }
.str-wrap { height: 8px; border-radius: 0; }
.str-bar { border-radius: 0; }
.ctrl-card, .bulk-card { border-radius: 6px; }
.gen-btn { border-radius: 6px; padding: 18px; text-transform: uppercase; letter-spacing: .1em; }
.num-input, .bulk-btn, .copy-one { border-radius: 4px; }
.slider { background: #5d3a40; }
.ctrl-sub { color: var(--muted); }
@media (min-width: 840px) {
  .app-body { grid-template-columns: 1.1fr 1fr; grid-template-rows: auto auto auto auto 1fr; align-items: start; }
  .pw-out-wrap, .str-wrap, .str-lbl { grid-column: 1 / -1; }
  .ctrl-card { grid-column: 1; grid-row: 4 / span 2; }
  .gen-btn { grid-column: 2; grid-row: 4; }
  .bulk-card { grid-column: 2; grid-row: 5; }
}
