.pg{display:flex;flex-direction:column;gap:16px}.pg-screen{position:relative;display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--border-strong);border-radius:14px;padding:16px;min-height:78px}.pg-readout{flex:1;min-width:0;font-family:var(--mono);font-size:clamp(1.05rem,3.2vw,1.55rem);font-weight:600;letter-spacing:.01em;line-height:1.45;word-break:break-all;color:var(--text);user-select:all}.pg-readout.is-empty{color:var(--text-3);font-weight:500;font-size:1rem;font-family:var(--font)}.pg-readout .d{color:var(--accent)}.pg-readout .s{color:#f59e0b}.pg-actions{display:flex;gap:8px;flex:0 0 auto;align-self:flex-start}.pg-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:10px;background:var(--elevated);color:var(--text-2);cursor:pointer;transition:color .14s,border-color .14s,background .14s,transform .1s}.pg-icon:hover{color:var(--text);border-color:var(--tool, var(--accent));background:var(--surface-2)}.pg-icon:active{transform:scale(.9)}.pg-icon.is-ok{color:#16a34a;border-color:#16a34a}.pg-regen.is-spin svg{animation:pg-spin .5s ease}@keyframes pg-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.pg-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pg-meter span{height:6px;border-radius:999px;background:var(--surface-2);transition:background .3s ease}.pg-meter.lv1 span:nth-child(-n+1),.pg-meter.lv2 span:nth-child(-n+2),.pg-meter.lv3 span:nth-child(-n+3),.pg-meter.lv4 span:nth-child(-n+4){background:var(--pg-c, var(--accent))}.pg-meter-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:-4px}.pg-strength{font-size:.86rem;font-weight:650;color:var(--pg-c, var(--text-2));transition:color .3s}.pg-entropy{font-size:.76rem;color:var(--text-3);font-variant-numeric:tabular-nums}.pg-field{display:flex;flex-direction:column;gap:8px}.pg-len-row{display:flex;justify-content:space-between;align-items:baseline}.pg-len-row label{margin:0}.pg-len-val{font-family:var(--mono);font-size:1.15rem;font-weight:700;color:var(--tool, var(--accent));font-variant-numeric:tabular-nums}.pg input[type=range]{accent-color:var(--tool, var(--accent));margin:0}.pg-chips{display:flex;flex-wrap:wrap;gap:8px}.pg-chip{position:relative;margin:0;cursor:pointer;user-select:none}.pg-chip input{position:absolute;inset:0;opacity:0;cursor:pointer}.pg-chip span{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--border-strong);border-radius:999px;font-family:var(--mono);font-size:.85rem;font-weight:600;color:var(--text-2);background:var(--bg);transition:color .14s,border-color .14s,background .14s}.pg-chip span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--border-strong);transition:background .14s}.pg-chip input:checked+span{color:var(--text);border-color:color-mix(in srgb,var(--tool, var(--accent)) 55%,var(--border));background:color-mix(in srgb,var(--tool, var(--accent)) 12%,transparent)}.pg-chip input:checked+span:before{background:var(--tool, var(--accent))}.pg-chip input:focus-visible+span{outline:2px solid var(--tool, var(--accent));outline-offset:2px}.pg-gen{align-self:flex-start;margin-top:2px}@media (max-width: 560px){.pg-gen{align-self:stretch}.pg-screen{padding:14px}}.pg-modes{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border-strong);border-radius:12px;background:var(--bg);align-self:flex-start}.pg-mode{border:0;background:transparent;cursor:pointer;padding:7px 16px;border-radius:9px;font:inherit;font-size:.9rem;font-weight:600;color:var(--text-2);transition:color .14s,background .14s}.pg-mode:hover{color:var(--text)}.pg-mode.is-active{background:color-mix(in srgb,var(--tool, var(--accent)) 16%,transparent);color:var(--text)}#pg-random,#pg-pass,#pg-dice{display:flex;flex-direction:column;gap:16px}.pg-toggle{display:flex;align-items:center;gap:10px;margin:0;cursor:pointer;font-size:.88rem;color:var(--text-2)}.pg-toggle input{width:17px;height:17px;accent-color:var(--tool, var(--accent));cursor:pointer;flex:0 0 auto}.pg-prow{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:center}.pg-sel{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:.88rem;color:var(--text-2);font-weight:600}.pg-sel select{font:inherit;font-size:.86rem;padding:7px 10px;border-radius:9px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);cursor:pointer}.pg-crack{font-size:.82rem;color:var(--text-2);margin-top:-2px}.pg-crack b{color:var(--pg-c, var(--text))}.pg-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.pg-presets button{text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text-2);padding:10px 11px;cursor:pointer;transition:border-color .14s,background .14s,transform .1s}.pg-presets button:hover{border-color:var(--tool, var(--accent));background:color-mix(in srgb,var(--tool, var(--accent)) 8%,transparent)}.pg-presets button:active{transform:scale(.98)}.pg-presets button.is-active{border-color:color-mix(in srgb,var(--tool, var(--accent)) 60%,var(--border));background:color-mix(in srgb,var(--tool, var(--accent)) 13%,transparent);color:var(--text)}.pg-presets b{display:block;font-size:.86rem}.pg-presets span{display:block;margin-top:3px;font-size:.72rem;color:var(--text-3);line-height:1.25}.pg-bulk{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pg-bulk select{font:inherit;font-size:.86rem;padding:7px 10px;border-radius:9px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);cursor:pointer}.pg-bulk-copy{font:inherit;font-size:.82rem;padding:6px 12px;border-radius:8px;border:1px solid var(--border-strong);background:var(--elevated);color:var(--text-2);cursor:pointer}.pg-bulk-copy:hover{color:var(--text);border-color:var(--tool, var(--accent))}.pg-bulk-list{list-style:none;margin:4px 0 0;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);display:flex;flex-direction:column;gap:4px;max-height:280px;overflow:auto;font-family:var(--mono);font-size:.9rem}.pg-bulk-list li{user-select:all;word-break:break-all;padding:2px 0}.pg-profile{border:1px solid var(--border);border-radius:14px;background:var(--bg);padding:14px;display:grid;gap:12px}.pg-profile-kicker{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:2px}.pg-profile strong{color:var(--text)}.pg-fit{display:flex;flex-wrap:wrap;gap:7px}.pg-fit span{padding:5px 8px;border-radius:999px;border:1px solid var(--border);font-size:.76rem;color:var(--text-2)}.pg-fit span.ok{border-color:color-mix(in srgb,var(--tool, var(--accent)) 45%,var(--border));color:var(--text);background:color-mix(in srgb,var(--tool, var(--accent)) 10%,transparent)}.pg-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pg-profile-grid>div{min-width:0;padding:10px;border-radius:10px;background:var(--surface)}.pg-profile-grid span{display:block;font-size:.72rem;color:var(--text-3);margin-bottom:3px}.pg-profile-grid b{display:block;font-size:.86rem;font-weight:650;color:var(--text-2);overflow-wrap:anywhere}@media (max-width: 720px){.pg-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-profile-grid{grid-template-columns:1fr}}.pg-tester{display:flex;flex-direction:column;gap:12px;margin-top:18px}.pg-tester-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.pg-tester-head h2{margin:0;font-size:1.02rem}.pg-tester-sub{font-size:.78rem}.pg-test-in{font-family:var(--mono);font-size:1rem;padding:11px 13px;width:100%}.pg-test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pg-test-grid>div{text-align:center;padding:12px 8px;border-radius:10px;background:var(--bg)}.pg-test-n{font-size:1.25rem;font-weight:750;color:var(--text);font-variant-numeric:tabular-nums}.pg-test-l{font-size:.76rem;color:var(--text-2);margin-top:3px}.pg-test-warn{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.pg-test-warn li{font-size:.85rem;color:#b45309;display:flex;gap:7px;align-items:baseline}.pg-test-warn li:before{content:"⚠";flex:0 0 auto}.pg-test-warn li.ok{color:#16a34a}.pg-test-warn li.ok:before{content:"✓"}.pg-test-note{font-size:.74rem;margin:2px 0 0}
