/* Password Generator */
.gt-pw__result { margin-top: 0.25rem; }
.gt-pw__result .gt-result__head { justify-content: space-between; }
.gt-pw__result .gt-label { margin: 0; }
.gt-pw__box { display: flex; align-items: center; gap: 0.5rem; background: #fff; border: 1.5px solid var(--gt-border); border-radius: 14px; padding: 0.7rem 0.75rem 0.7rem 1rem; margin-top: 0.75rem; }
.gt-pw__text { flex: 1; min-width: 0; font-family: var(--gt-mono); font-size: clamp(1.1rem, 3.2vw + 0.4rem, 1.6rem); font-weight: 700; word-break: break-all; line-height: 1.4; min-height: 2.2rem; user-select: all; border-radius: 6px; }
.gt-pw__meter { margin-top: 0.5rem; padding-top: 1rem; border-top: 1px solid var(--gt-border); }
.gt-pw__meter-head { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.gt-pw__meter .gt-label { margin: 0; }
.gt-pw__bits { display: flex; align-items: baseline; gap: 0.5rem; margin: 0.5rem 0 0.4rem; color: var(--gt-primary-dark); }
.gt-pw__bits strong { font-size: 2.6rem; line-height: 1; letter-spacing: -0.02em; }
.gt-pw__bits span { color: var(--gt-muted); font-weight: 600; }
.gt-bar { height: 10px; background: #e5eae7; border-radius: 999px; overflow: hidden; }
.gt-bar span { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--gt-primary); transition: width 0.25s ease; }
.gt-bar .gt-bar__fill--weak { background: #c62828; }
.gt-bar .gt-bar__fill--fair { background: #d97706; }
.gt-pw__explain { color: var(--gt-muted); font-size: 0.95rem; line-height: 1.55; margin: 0.8rem 0 0; }
.gt-pw__length { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.9rem; }
.gt-pw__length .gt-label { margin: 0; }
.gt-range { width: 100%; accent-color: var(--gt-primary); height: 1.75rem; margin: 0; cursor: pointer; }
.gt-range-scale { display: flex; justify-content: space-between; color: var(--gt-muted); font-size: 0.85rem; }
.gt-tool--password .gt-chips { gap: 0.6rem; }
@media (prefers-reduced-motion: reduce) { .gt-bar span { transition: none; } }
