.password-tool-page { background: radial-gradient(circle at 46% 10%, rgba(190, 52, 92, .18), transparent 28%), radial-gradient(circle at 87% 48%, rgba(114, 43, 136, .13), transparent 30%), linear-gradient(180deg, #020615, #05091a 72%, #071027); }.password-page-icon { color: #ff607c; border-color: rgba(244, 80, 112, .4); background: linear-gradient(145deg, rgba(200, 48, 84, .24), rgba(91, 28, 60, .4)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 36px rgba(238, 73, 106, .14); font-size: 36px; }.password-page-hero .eyebrow { color: #ff6681; }
.password-workspace { border: 1px solid rgba(103, 118, 166, .24); border-radius: 18px; background: linear-gradient(145deg, rgba(18, 28, 53, .95), rgba(6, 14, 33, .97)); box-shadow: 0 25px 70px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.025); overflow: hidden; }.password-output-card { padding: 24px 25px; border-bottom: 1px solid rgba(101, 116, 160, .17); background: rgba(16, 26, 51, .6); }.password-output-heading { margin-bottom: 9px; display: flex; align-items: center; justify-content: space-between; color: #cfd3e2; font-size: 12px; }.password-output-heading span:last-child { color: #7f879e; font-size: 11px; }.password-output-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 9px; }.password-output-row input { height: 51px; min-width: 0; padding: 0 15px; color: #f3f5ff; border: 1px solid #3b4664; border-radius: 10px; outline: 0; background: #081126; font: 600 16px ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; letter-spacing: .03em; }.password-output-row button { min-width: 67px; padding: 0 14px; color: #c5cadb; border: 1px solid rgba(107, 120, 158, .35); border-radius: 9px; background: rgba(20, 31, 56, .86); font-size: 11px; font-weight: 700; cursor: pointer; }.password-output-row button:hover { color: white; border-color: rgba(244, 88, 119, .52); }.password-output-row .password-copy-button { min-width: 94px; color: #ffd0d9; border-color: rgba(240, 82, 114, .42); background: rgba(197, 53, 84, .12); }
.password-builder-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr); }.password-options-panel { padding: 25px; border-right: 1px solid rgba(101, 116, 160, .17); }.password-length-heading { display: flex; align-items: center; justify-content: space-between; }.password-length-heading label { color: #cfd3e2; font-size: 12px; }.password-length-heading strong { min-width: 43px; padding: 5px 8px; color: #ffd3db; border: 1px solid rgba(239, 87, 117, .3); border-radius: 8px; background: rgba(190, 45, 77, .1); font-size: 13px; text-align: center; }.password-options-panel > input[type="range"] { width: 100%; margin: 18px 0 12px; accent-color: #f15876; }.password-length-presets { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }.password-length-presets button { height: 34px; color: #aeb5c8; border: 1px solid rgba(102, 116, 157, .3); border-radius: 7px; background: rgba(12, 21, 43, .7); font-size: 11px; cursor: pointer; }.password-length-presets button.active { color: white; border-color: #e45372; background: rgba(190, 47, 79, .2); }.password-character-options { margin: 23px 0 14px; padding: 0; border: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }.password-character-options legend { margin-bottom: 10px; color: #cfd3e2; font-size: 12px; }.password-character-options label, .ambiguous-option { min-height: 53px; padding: 9px 12px; display: flex; align-items: center; gap: 10px; border: 1px solid rgba(100, 114, 156, .23); border-radius: 9px; background: rgba(8, 17, 38, .62); cursor: pointer; }.password-character-options input, .ambiguous-option input { width: 16px; height: 16px; accent-color: #ed5473; }.password-character-options label > span, .ambiguous-option > span { display: grid; gap: 3px; }.password-character-options strong, .ambiguous-option strong { color: #d7dae7; font-size: 11px; }.password-character-options small, .ambiguous-option small { color: #7f879c; font-size: 10px; }.password-generate-button { width: 100%; height: 44px; margin-top: 17px; color: white; border: 0; border-radius: 9px; background: linear-gradient(135deg, #e94f70, #9d4fd5); box-shadow: 0 10px 25px rgba(203, 67, 107, .2); font-size: 12px; font-weight: 750; cursor: pointer; }.password-generate-button:hover { filter: brightness(1.08); }.password-generate-button:disabled { opacity: .45; cursor: default; }
.password-strength-panel { padding: 25px; background: rgba(6, 14, 31, .52); }.password-strength-heading { display: flex; align-items: flex-start; justify-content: space-between; }.password-strength-heading > div { display: grid; gap: 6px; }.password-strength-heading span { color: #8b93a9; font-size: 11px; }.password-strength-heading strong { color: #f3f4fa; font-size: 19px; }.password-strength-heading > span { padding: 5px 8px; border: 1px solid rgba(109, 122, 162, .26); border-radius: 8px; background: rgba(21, 31, 56, .68); }.strength-meter { margin: 17px 0 22px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }.strength-meter i { height: 6px; border-radius: 999px; background: rgba(92, 101, 130, .24); }.strength-meter i.active { background: #ff657c; box-shadow: 0 0 13px rgba(255, 86, 118, .24); }.strength-2 .strength-meter i.active { background: #ff8a56; }.strength-3 .strength-meter i.active { background: #e6b949; }.strength-4 .strength-meter i.active { background: #66d888; }.strength-5 .strength-meter i.active { background: #48d884; box-shadow: 0 0 13px rgba(72, 216, 132, .25); }.crack-time-card { padding: 18px; border: 1px solid rgba(102, 117, 159, .2); border-radius: 11px; background: rgba(10, 20, 43, .75); }.crack-time-card > span { color: #8e96ac; font-size: 11px; }.crack-time-card strong { margin-top: 8px; display: block; color: #f0f2f9; font-size: 20px; line-height: 1.25; }.crack-time-card p { margin: 12px 0 0; color: #7e879e; font-size: 10px; line-height: 1.55; }.password-stats { margin: 18px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.password-stats div { padding: 10px; border: 1px solid rgba(99, 112, 153, .17); border-radius: 8px; background: rgba(12, 21, 42, .56); }.password-stats dt { color: #81899f; font-size: 9px; }.password-stats dd { margin: 4px 0 0; color: #dce0ec; font-size: 12px; font-weight: 700; }.password-status { min-height: 35px; margin: 0; padding: 10px 25px 13px; color: #f1849b; border-top: 1px solid rgba(101, 116, 160, .13); background: rgba(5, 13, 31, .62); font-size: 11px; }.password-information article > span { color: #f05d78; }
@media (max-width: 860px) {
  .password-builder-grid { grid-template-columns: minmax(0, 1fr); }
  .password-options-panel, .password-strength-panel { min-width: 0; }
  .password-options-panel { border-right: 0; border-bottom: 1px solid rgba(101, 116, 160, .17); }
}
@media (max-width: 560px) {
  .password-output-card, .password-options-panel, .password-strength-panel { padding: 18px; }
  .password-output-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .password-output-row input { width: 100%; grid-column: 1 / -1; }
  .password-output-row button, .password-output-row .password-copy-button { min-width: 0; height: 38px; }
  .password-character-options { grid-template-columns: minmax(0, 1fr); }
  .password-character-options label, .ambiguous-option { min-width: 0; }
  .password-stats { grid-template-columns: minmax(0, 1fr); }
  .crack-time-card strong { font-size: clamp(16px, 6vw, 20px); overflow-wrap: anywhere; }
  .password-status { padding-right: 18px; padding-left: 18px; }
}
