:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#24201d;background:#fff7f2;line-height:1.7}*{box-sizing:border-box}body{margin:0}header{max-width:1160px;margin:auto;padding:24px 30px;display:flex;justify-content:space-between;border-bottom:1px solid #d8e2d9}a{color:inherit}header a{text-decoration:none;font-size:22px;font-weight:800}header small,header>span{font-size:12px;color:#695f57}main{max-width:1100px;margin:48px auto;padding:0 24px}.eyebrow{font-size:12px;letter-spacing:.2em;color:#367157;font-weight:700}h1{font-size:clamp(32px,4vw,48px);line-height:1.35;letter-spacing:-.04em;margin:16px 0}.lead{color:#695f57;margin-bottom:34px}.layout{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}.card{background:#fff;padding:30px;border:1px solid #dae4dc;border-radius:20px;box-shadow:0 12px 32px #1c403807}h2{font-size:18px;margin:0 0 22px}button,input{font:inherit}button{cursor:pointer;border:1px solid #c7d6cb;border-radius:9px;background:#fff;color:#244536;padding:10px 15px;font-weight:650}button:hover{background:#edf5ef}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #79ad91;outline-offset:3px}.presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:26px}.presets button{font-size:12px}.length-label,.result-head{display:flex;align-items:center;justify-content:space-between;gap:10px}input[type=number]{width:78px;padding:7px;border:1px solid #b9cbc0;border-radius:7px}input[type=range]{width:100%;accent-color:#019740;margin:18px 0 0}.scale{display:flex;justify-content:space-between;font-size:11px;color:#718079}fieldset{border:0;padding:0;margin:24px 0}legend{margin-bottom:12px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checks label{padding:11px;background:#f5f8f5;border-radius:8px}input[type=checkbox]{accent-color:#019740;width:17px;height:17px;vertical-align:middle;margin-right:8px}small,.hint{font-size:12px;color:#695f57}.option{font-size:14px}details{margin:22px 0}summary{cursor:pointer;font-size:14px;font-weight:650}details label{display:block;margin:16px 0 5px}input[type=text]{width:100%;padding:10px;border:1px solid #b9cbc0;border-radius:8px}.primary{background:#226d4b;color:white;width:100%;margin-top:10px;padding:15px}.primary:hover{background:#185337}.result-head h2{margin:0}#badge{font-size:12px;background:#e8f4eb;padding:3px 10px;border-radius:30px}.result-head{margin-bottom:24px}.password-row{display:flex;align-items:center;gap:10px;background:#f1f6f1;border:1px solid #dce8df;padding:13px;border-radius:12px;margin-bottom:10px}.password-row input{font-family:ui-monospace,monospace;font-size:20px;min-width:0;border:0;background:transparent;flex:1;padding:8px 0}.password-row button{font-size:12px;flex-shrink:0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.privacy{border-top:1px solid #e1e8e2;margin-top:25px;padding-top:24px;font-size:13px}.privacy p{color:#695f57;font-size:12px}#status{font-size:13px;color:#216346}#error{color:#a12937;font-size:13px}.notes{margin:36px 0;max-width:760px}.notes p{color:#695f57;font-size:13px}.notes h2{margin-bottom:12px}footer{text-align:center;color:#64756b;padding:30px;font-size:12px}@media(max-width:760px){.layout{grid-template-columns:1fr}main{margin-top:30px;padding:0 16px}.card{padding:22px}header{padding:18px}.password-row input{font-size:17px}.result{order:-1}}

/* Shared visual language with the G-ENT corporate site. */
body{font-family:"Noto Sans JP",system-ui,sans-serif;background-image:radial-gradient(#eb7d120a .8px,transparent .8px);background-size:10px 10px}
header{max-width:none;padding:0;background:#fffcf7ed;border-bottom:1px solid #5b3b231f;box-shadow:0 10px 34px #46291412}.header-inner{width:min(1200px,calc(100% - 48px));margin:auto;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:grid;font:800 15px/1.3 system-ui,sans-serif;letter-spacing:.095em}.brand b{color:#eb7d12}.brand small{font-size:7px;letter-spacing:.26em;margin-top:6px;color:#8c7e73}nav{display:flex;align-items:center;gap:24px}header nav a{font-size:13px;font-weight:700}nav a:hover{color:#b95500}.contact-link{background:#eb7d12;color:#fff!important;border-radius:999px;padding:11px 22px}
main{max-width:1200px;margin-top:0}.tool-hero{position:relative;padding:54px 0 36px;background:radial-gradient(ellipse at 90% 50%,#dcedd280,transparent 50%)}.eyebrow{display:inline-block;font-size:11px;color:#945014;letter-spacing:.13em;border:1px solid #eb7d1244;border-radius:30px;padding:6px 13px;background:#fffaf6}h1{font-weight:900;font-size:clamp(34px,4.5vw,58px);letter-spacing:-.045em;line-height:1.25}h1 span{color:#019740}.lead{margin:16px 0}.tool-tags{display:flex;gap:9px;flex-wrap:wrap}.tool-tags span{font-size:11px;padding:5px 12px;border:1px solid #e5d6c9;border-radius:30px;background:#fff}.card{border:1px solid #dfd1c4;border-radius:24px;box-shadow:7px 8px 0 #19171410;background:#fffdfb}.card h2{border-left:4px solid #eb7d12;padding-left:12px}.result{border-top:5px solid #019740}.checks label{background:#fff6ee;border:1px solid #f0e1d3}.presets button{border-radius:999px;border-color:#ddc9b7;color:#634126}.presets button:hover{background:#fff0e2;border-color:#eb7d12}.primary{background:#eb7d12;color:#fff;border-color:#eb7d12;border-radius:999px;box-shadow:0 8px 25px #eb7d1235}.primary:hover{background:#c35d00}.password-row{background:#f1f8ed;border-color:#d6e6cf}.privacy{border-color:#eadfd5}.notes{padding:26px;border-left:4px solid #eb7d12;background:#fffaf6;border-radius:0 16px 16px 0}.notes h2{font-weight:850}footer{border-top:1px solid #eadfd5;background:#fffaf6;color:#695f57}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #24201d;outline-offset:4px}
@media(max-width:760px){.header-inner{width:calc(100% - 32px);min-height:72px;gap:12px}.brand{font-size:11px}.brand small{font-size:5.5px}nav{gap:12px}nav a:not(.contact-link){display:none}.contact-link{padding:9px 13px;font-size:11px}.tool-hero{padding:30px 0 20px}.card{border-radius:18px}.result{order:0}.notes{padding:20px}}
[hidden]{display:none!important} #count{width:110px} #page-label{align-self:center;font-size:12px}

.count-settings{margin:24px 0;padding:20px;background:#fff5e9;border:1px solid #eb7d1244;border-radius:14px}.count-entry{display:flex;align-items:center;gap:10px;margin:12px 0}.count-entry small{margin-left:8px}.count-presets{display:flex;gap:7px;flex-wrap:wrap}.count-presets button{font-size:12px;padding:8px 12px;border-radius:999px}.count-presets button[aria-pressed="true"]{background:#24201d;color:white;border-color:#24201d}.tool-tags .bulk-tag{background:#019740;color:white;border-color:#019740;font-weight:800}

.password-row{content-visibility:auto;contain-intrinsic-size:auto 76px}.result>.actions{margin-bottom:18px}

/* Only generated passwords scroll inside their panel. */
#results:not(:empty){max-height:520px;max-height:min(520px,60vh);overflow:auto;scrollbar-gutter:stable;border:1px solid #dfd1c4;border-radius:14px;padding:12px;background:#fffaf6;margin-top:16px}#results:focus-visible{outline:3px solid #24201d;outline-offset:3px}#results .password-row:last-child{margin-bottom:0}@media(max-width:760px){#results:not(:empty){max-height:50vh;padding:8px}}
