/* 随机密码 / 随机字符串生成 · 页面专属样式 */
.sec-title { font-size: 16px; margin: 2px 0 14px; color: var(--text, #1f2633); }

/* 两栏布局：PC 端随机字符串在随机密码右侧，移动端自动堆叠 */
.rp-grid { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: start; }
@media (min-width: 860px) { .rp-grid { grid-template-columns: 1fr 1fr; } }

.gen-charset {
  width: 100%; margin: 6px 0 2px; font-size: 13px; letter-spacing: .4px;
  background: var(--card, #fff); color: var(--text, #1f2633);
  border: 1px solid var(--brand, #2f6df0);
  box-shadow: 0 0 0 2px rgba(47, 109, 240, .12);
  resize: vertical; min-height: 56px; line-height: 1.6;
}

.pw-list { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.pw-item {
  display: flex; align-items: center; gap: 12px;
  padding: 8px 12px; background: var(--code-bg, #f6f8fc);
  border: 1px solid var(--line, #eaeef5); border-radius: 10px;
}
.pw-val {
  flex: 1; font-size: 14px; word-break: break-all; line-height: 1.5;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.pw-item .btn { flex: 0 0 auto; }

.usage {
  margin-top: 26px; padding: 16px 18px;
  background: var(--code-bg, #f6f8fc); border: 1px solid var(--line, #eaeef5); border-radius: 12px;
}
.usage h3 { margin: 0 0 8px; font-size: 15px; }
.usage ul { margin: 0; padding-left: 20px; }
.usage li { margin: 6px 0; font-size: 13.5px; color: var(--muted, #6b7689); line-height: 1.65; }
.usage code {
  background: var(--card, #fff); padding: 1px 5px; border-radius: 4px;
  border: 1px solid var(--line, #eaeef5); font-size: 12.5px;
}
