:root{color-scheme:light;--background:#fff;--foreground:#171717;--card:#fff;--primary:#1976c9;--primary-strong:#1265ad;--primary-soft:#eaf4fc;--muted:#f5f5f5;--muted-foreground:#737373;--border:#e5e5e5;--input:#d4d4d4;--success:#087a55;--success-soft:#ecfdf5;--radius:.75rem;--shadow:0 18px 45px #0f172a14;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-width:320px;min-height:100%}body{background:var(--background);min-height:100vh;color:var(--foreground);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}button,input,select{color:inherit;font:inherit}button,select,input[type=range],input[type=checkbox]{cursor:pointer}a{color:inherit;text-decoration:none}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1}.container{width:min(100% - 2rem,72rem);margin-inline:auto}.site-header{border-bottom:1px solid var(--border);background:#fffffff0}.header-inner{align-items:center;gap:1.25rem;min-height:4rem;display:flex}.brand{letter-spacing:-.025em;font-size:1.125rem;font-weight:800}.site-nav{align-items:center;gap:.75rem;margin-left:auto;display:flex}.nav-link{color:var(--muted-foreground);border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600;transition:color .15s,background .15s;display:inline-flex}.nav-link:before{content:"⌁";color:var(--primary);font-size:1.1rem}.nav-link:hover,.nav-link:focus-visible{background:var(--muted);color:var(--foreground)}.locale-control{border:1px solid var(--border);background:var(--background);border-radius:.5rem;align-items:center;gap:.4rem;padding:.45rem .65rem;display:inline-flex}.locale-control:before{content:"◎";color:var(--muted-foreground)}.locale-control select{background:0 0;border:0;outline:0;font-size:.875rem}.hero{align-items:center;gap:2.5rem;padding-block:4rem;display:grid}.hero-copy{max-width:42rem}.eyebrow,.privacy-badge{background:var(--success-soft);color:var(--success);border:1px solid #a7f3d0;border-radius:999px;align-items:center;gap:.5rem;display:inline-flex}.eyebrow{margin:0 0 1.5rem;padding:.3rem .75rem;font-size:.875rem}.eyebrow:before{content:"✓";font-weight:800}.hero h1{letter-spacing:-.045em;max-width:44rem;margin:0;font-size:clamp(2.4rem,6vw,3.3rem);line-height:1.08}.hero-description{max-width:42rem;color:var(--muted-foreground);margin:1.25rem 0 0;font-size:1.125rem;line-height:1.75}.primary-link{background:var(--primary);color:#fff;border-radius:.75rem;align-items:center;gap:.6rem;margin-top:1.5rem;padding:.75rem 1.25rem;font-weight:700;transition:background .15s;display:inline-flex}.primary-link:after{content:"→"}.primary-link:hover,.primary-link:focus-visible{background:var(--primary-strong)}.hero-preview{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);border-radius:1.5rem;padding:2rem}.preview-path{color:var(--muted-foreground);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem}.preview-lines{gap:.75rem;margin-top:2rem;display:grid}.preview-line{background:var(--muted);border-radius:999px;height:.75rem}.preview-line:first-child{background:#cce4f7;width:75%}.preview-line:last-child{width:84%}.tool-page{width:min(100% - 2rem,48rem);margin-inline:auto;padding-block:3rem}.tool-intro{margin-bottom:1.5rem}.breadcrumb{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:600}.tool-intro h1{letter-spacing:-.035em;margin:.4rem 0 0;font-size:clamp(2rem,6vw,2.5rem);line-height:1.15}.tool-description{color:var(--muted-foreground);margin:.55rem 0 0}.privacy-badge{margin:.8rem 0 0;padding:.25rem .7rem;font-size:.75rem}.password-tool{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);border-radius:1rem;display:block;overflow:hidden}.tool-section{border-bottom:1px solid var(--border);padding:1.25rem}.section-title{margin:0 0 .75rem;font-size:.875rem;font-weight:700}.type-tabs{background:var(--muted);border-radius:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;padding:.25rem;display:grid}.type-tab{min-width:0;color:var(--muted-foreground);background:0 0;border:0;border-radius:.55rem;flex-direction:column;align-items:center;gap:.25rem;padding:.7rem .4rem;font-size:.8rem;font-weight:600;display:flex}.type-tab[aria-selected=true]{background:var(--card);color:var(--foreground);box-shadow:0 2px 8px #00000012}.tab-symbol{font-size:1.1rem;line-height:1}.slider-row{grid-template-columns:5rem minmax(0,1fr) 3.5rem;align-items:center;gap:1rem;display:grid}.slider-label{color:var(--muted-foreground);font-size:.875rem}.slider-row input[type=range]{width:100%;accent-color:var(--primary)}.number-input{border:1px solid var(--border);background:var(--background);text-align:center;border-radius:.5rem;width:100%;padding:.4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem}.mode-options{border-top:1px solid var(--border);min-height:7.5rem;margin-top:1rem;padding-top:1rem}.mode-options[hidden]{display:none}.option-line{flex-wrap:wrap;align-items:center;gap:.65rem 1.1rem;margin-bottom:.8rem;display:flex}.option-heading{width:3.2rem;font-size:.875rem;font-weight:700}.check-option{user-select:none;align-items:center;gap:.45rem;font-size:.875rem;font-weight:600;display:inline-flex}.check-option input{width:1.15rem;height:1.15rem;accent-color:var(--primary);margin:0}.switch-line{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem;font-size:.875rem;font-weight:600;display:flex}.switch{appearance:none;background:var(--input);border-radius:999px;width:3rem;height:1.75rem;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:1.5rem;height:1.5rem;transition:transform .15s;position:absolute;top:.125rem;left:.125rem;box-shadow:0 1px 3px #00000029}.switch:checked{background:var(--primary)}.switch:checked:after{transform:translate(1.25rem)}.password-output{border:1px solid var(--border);background:var(--background);border-radius:.75rem;place-items:center;min-height:5.25rem;padding:1.25rem 1rem;display:grid}.password-value{overflow-wrap:anywhere;text-align:center;letter-spacing:.03em;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.1rem,4vw,1.5rem);font-weight:700}.password-value .digit{color:var(--primary)}.password-value .separator{color:#f97316}.tool-actions{gap:.75rem;padding:1.25rem;display:grid}.action-button{border-radius:.75rem;padding:.8rem 1rem;font-size:.875rem;font-weight:700;transition:background .15s,color .15s}.action-primary{border:2px solid var(--primary);background:var(--primary);color:#fff}.action-primary:hover,.action-primary:focus-visible{background:var(--primary-strong);border-color:var(--primary-strong)}.action-secondary{border:2px solid var(--primary);background:var(--card);color:var(--primary)}.action-secondary:hover,.action-secondary:focus-visible{background:var(--primary-soft)}.site-footer{border-top:1px solid var(--border);background:#fafafa;margin-top:auto}.footer-inner{color:var(--muted-foreground);flex-direction:column;gap:.5rem;padding-block:2rem;font-size:.875rem;display:flex}.footer-inner p{margin:0}.not-found{text-align:center;place-items:center;min-height:70vh;padding:2rem;display:grid}.not-found h1{margin:0;font-size:4rem}.not-found p{color:var(--muted-foreground)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline-offset:2px;outline:3px solid #1976c94d}@media (width>=640px){.container{width:min(100% - 3rem,72rem)}.tool-section,.tool-actions{padding-inline:1.75rem}.tool-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:1.75rem}.footer-inner{flex-direction:row;justify-content:space-between;align-items:center}}@media (width>=900px){.hero{grid-template-columns:1.1fr .9fr;padding-block:6rem}}@media (width<=639px){.nav-link span{display:none}.locale-control select{max-width:5.5rem}.slider-row{grid-template-columns:4rem minmax(0,1fr) 3.2rem;gap:.65rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
