@font-face{font-family:Geist;src:url(/fonts/geist-variable-v1.7.2.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-variable-v1.7.2.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--bg:#f5f5f2;--surface:#fff;--surface-soft:#eeeeea;--ink:#15171c;--ink-2:#525660;--ink-3:#666b75;--rule:#e2e2de;--rule-strong:#cfcfca;--accent:#c25a31;--accent-action:#b6502b;--accent-ink:#fff;--inverse:#17191f;--inverse-ink:#ededea;--inverse-ink-2:#b9bbc1;--mesh-ink:#525660;--focus:#2856d8;--max:1200px;--max-wide:1400px;--sans:"Geist", system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, monospace;--s-1:clamp(.75rem, .65rem + .3vw, 1rem);--s-2:clamp(1rem, .85rem + .5vw, 1.5rem);--s-3:clamp(1.5rem, 1.1rem + 1.2vw, 2.5rem);--s-4:clamp(2.5rem, 1.8rem + 2.3vw, 4.5rem);--s-5:clamp(4rem, 2.8rem + 4vw, 7.5rem);--s-6:clamp(6rem, 4rem + 6vw, 11rem);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#14161c;--surface:#1b1d24;--surface-soft:#20232b;--ink:#ededea;--ink-2:#b9bbc1;--ink-3:#9699a1;--rule:#2d3039;--rule-strong:#41454f;--accent:#d36b3e;--accent-action:#d36b3e;--accent-ink:#121419;--inverse:#ededea;--inverse-ink:#15171c;--inverse-ink-2:#525660;--mesh-ink:#b9bbc1;--focus:#86a4ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;min-width:320px}body{background:var(--bg);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{color:inherit;font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{background:0 0;border:0}::selection{background:color-mix(in srgb, var(--accent) 32%, transparent)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}[data-measure=heading]{max-width:19ch}[data-measure=lead]{max-width:64ch}[data-measure=body]{max-width:68ch}.wrap{max-width:var(--max);width:100%;margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}.wrap-wide{max-width:var(--max-wide)}.loader{background:var(--bg);pointer-events:none;z-index:1000;flex-direction:column;justify-content:center;align-items:center;animation:.36s 1.3s forwards loader-exit;display:flex;position:fixed;inset:0}.loader-graph{width:min(76vw,560px);max-width:560px;height:auto;overflow:visible}.loader-graph path{fill:none;stroke:var(--rule-strong);stroke-dasharray:720;stroke-dashoffset:720px;stroke-width:1.5px;animation:.9s .12s both loader-line}.loader-node{fill:var(--ink);animation:.28s both loader-node}.loader-node:nth-of-type(2){animation-delay:.1s}.loader-node:nth-of-type(3){animation-delay:.2s}.loader-node:nth-of-type(4){animation-delay:.3s}.loader-node:nth-of-type(5){animation-delay:.4s}.loader-node:nth-of-type(6){animation-delay:.5s}.loader-node:nth-of-type(7){animation-delay:.6s}.loader-node.is-accent{fill:var(--accent)}.loader-word{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-top:24px;font-size:12px;animation:.36s .65s both loader-word}.lab-bar{pointer-events:none;z-index:50;padding-top:18px;position:absolute;top:0;left:0;right:0}.lab-pill{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb, var(--surface) 78%, transparent);border:1px solid color-mix(in srgb, var(--rule-strong) 84%, transparent);pointer-events:auto;border-radius:999px;justify-content:space-between;align-items:center;gap:24px;min-height:54px;padding:7px 10px 7px 16px;display:flex}.lab-left,.lab-right,.brand,.footer-row,.tool-menu>summary,.local-status{align-items:center;display:flex}.lab-left{gap:14px;min-width:0}.lab-right{gap:8px}.brand{gap:8px;min-width:0}.brand-mark{flex:none;overflow:visible}.brand-mark path{fill:none;stroke:var(--accent);stroke-linejoin:round;stroke-width:3.5px}.brand-mark circle{fill:currentColor}.brand-word{letter-spacing:-.025em;font-size:15px;font-weight:600}.chrome-rule{background:var(--rule-strong);width:1px;height:18px}.lab-label,.language-link,.tool-menu>summary{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.lab-label{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.language-link,.icon-button,.tool-menu>summary{border-radius:999px;justify-content:center;align-items:center;min-height:36px;display:inline-flex}.language-link{min-width:42px}.icon-button{cursor:pointer;min-width:36px}.icon-button svg{stroke:currentColor;stroke-linecap:round;stroke-width:1.6px}.tool-menu{position:relative}.tool-menu>summary{cursor:pointer;padding-inline:12px;list-style:none}.tool-menu>summary::-webkit-details-marker{display:none}.tool-menu>summary:after{content:"+";margin-left:8px;font-size:14px}.tool-menu[open]>summary:after{content:"−"}.tool-menu nav{background:var(--surface);border:1px solid var(--rule);border-radius:10px;min-width:270px;padding:8px;display:grid;position:absolute;top:calc(100% + 12px);right:0}.tool-menu nav a{border-bottom:1px solid var(--rule);padding:11px 12px;font-size:14px}.tool-menu nav :last-child{border-bottom:0}.tool-menu nav a:hover,.tool-menu nav a[aria-current=page]{color:var(--accent)}.hub-hero,.tool-screen{isolation:isolate;min-height:100svh;padding-block:clamp(118px,13vh,156px) clamp(64px,8vh,96px);position:relative;overflow:hidden}.hero-mesh{opacity:.72;pointer-events:none;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.hub-hero:after,.tool-screen:after{background:linear-gradient(90deg, var(--bg) 0, color-mix(in srgb, var(--bg) 86%, transparent) 45%, transparent 100%);content:"";pointer-events:none;z-index:-1;position:absolute;inset:0}.hub-hero-content{grid-template-columns:minmax(0,.84fr) minmax(480px,1.16fr);align-items:start;gap:clamp(42px,7vw,100px);display:grid}.tool-head{padding-top:clamp(18px,5vh,56px)}.eyebrow{color:var(--ink-2);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;font-size:11px;display:inline-flex}.eyebrow:before{background:var(--accent);content:"";width:34px;height:1px;margin-right:12px}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.055em;font-weight:500;line-height:.98}h1{margin:var(--s-2) 0;font-size:clamp(44px,6.1vw,88px)}h2{font-size:clamp(38px,4.9vw,68px)}h3{letter-spacing:-.035em;font-size:clamp(20px,2vw,28px);font-weight:500}.emphasis{color:var(--accent)}.lead{color:var(--ink-2);font-size:clamp(17px,1.5vw,21px);line-height:1.55}.tool-ladder{border-top:1px solid var(--rule-strong);margin:0;padding:0;list-style:none}.tool-ladder li{border-bottom:1px solid var(--rule)}.tool-ladder li>a,.tool-ladder li>div{grid-template-columns:42px minmax(0,1fr) minmax(130px,.34fr);align-items:center;gap:18px;min-height:88px;padding-block:12px;display:grid}.tool-ladder li>a{transition:color .18s,transform .18s}.tool-ladder li>a:hover{color:var(--accent);transform:translate(6px)}.rung-number,.rung-meta,.panel-foot,.entropy-output{font-family:var(--mono);font-size:11px}.rung-number{color:var(--ink-3)}.rung-copy{gap:5px;display:grid}.rung-copy strong{letter-spacing:-.025em;font-size:clamp(17px,1.6vw,22px);font-weight:550}.rung-copy>span{color:var(--ink-2);font-size:13px;line-height:1.4}.rung-meta{color:var(--ink-2);text-align:right;text-transform:uppercase;justify-items:end;gap:5px;line-height:1.35;display:grid}.rung-meta small{color:var(--accent-action);font:inherit}.is-planned{color:var(--ink-2)}.hub-note{background:var(--inverse);color:var(--inverse-ink);padding-block:var(--s-6)}.editorial-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(64px,10vw,150px);display:grid}.editorial-pair h2{font-size:clamp(36px,4.3vw,60px)}.editorial-pair p{color:var(--inverse-ink-2);font-size:17px;line-height:1.65}.button{cursor:pointer;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:42px;padding:10px 18px;font-size:11px;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.48}.button-accent{background:var(--accent-action);color:var(--accent-ink)}.button-secondary{border-color:var(--rule-strong)}.button-quiet{color:var(--ink-2);padding-inline:0}.tool-screen-content{gap:var(--s-4);display:grid}.password-screen .tool-head,.fingerprint-screen .tool-head,.seal-screen .tool-head,.keys-screen .tool-head,.checklist-screen .tool-head,.ip-screen .tool-head,.leak-screen .tool-head{padding-top:0}.password-screen .tool-head h1,.fingerprint-screen .tool-head h1,.seal-screen .tool-head h1,.keys-screen .tool-head h1,.checklist-screen .tool-head h1,.ip-screen .tool-head h1,.leak-screen .tool-head h1{font-size:clamp(44px,5.7vw,78px)}.tool-panel{background:var(--surface);border:1px solid var(--rule-strong);box-shadow:0 28px 80px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:12px;overflow:hidden}.panel-top,.panel-foot{justify-content:space-between;align-items:center;display:flex}.panel-top{border-bottom:1px solid var(--rule);gap:18px;min-height:58px;padding:9px 14px}.mode-tabs{gap:4px;display:flex}.mode-tabs button{cursor:pointer;font-family:var(--mono);text-transform:uppercase;border:1px solid #0000;border-radius:999px;min-height:36px;padding:8px 14px;font-size:11px}.fingerprint-panel-top{padding-inline:20px}.fingerprint-count{color:var(--ink-2);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.fingerprint-count strong{color:var(--ink);font-size:13px;font-weight:500}.fingerprint-panel-body{min-height:460px}.fingerprint-pending{align-content:center;justify-items:start;min-height:350px;display:grid}.fingerprint-pending p{color:var(--ink-2);max-width:62ch;line-height:1.6}.fingerprint-summary{justify-content:space-between;align-items:end;gap:30px;display:flex}.fingerprint-summary p,.fingerprint-digest-note,.fingerprint-comparison{color:var(--ink-2);font-size:13px;line-height:1.55}.fingerprint-summary p{margin:9px 0 0}.fingerprint-total{letter-spacing:-.06em;font-size:clamp(42px,5vw,68px);font-weight:500;line-height:.9;display:flex}.fingerprint-total span{color:var(--ink-2);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;align-self:end;margin:0 0 4px 10px;font-size:10px}.fingerprint-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:14px;display:flex}.fingerprint-digest{color:var(--ink-3);font-family:var(--mono);text-transform:uppercase;font-size:10px}.fingerprint-digest code{color:var(--accent-action);font:inherit}.fingerprint-digest-note{margin:18px 0 0}.fingerprint-comparison{border-left:2px solid var(--rule-strong);margin:12px 0 0;padding-left:12px}.fingerprint-rows{border-top:1px solid var(--rule-strong);margin:28px 0 0}.fingerprint-rows>div{border-bottom:1px solid var(--rule);grid-template-columns:minmax(130px,.28fr) minmax(0,1fr);gap:24px;padding:13px 10px;transition:background-color .18s;display:grid}.fingerprint-rows>div.is-changed{background:color-mix(in srgb, var(--accent) 7%, transparent)}.fingerprint-rows dt{color:var(--ink-2);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.fingerprint-rows .is-render-signal dt{color:var(--accent-action)}.fingerprint-rows dd{font-family:var(--mono);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:6px 10px;min-width:0;margin:0;font-size:12px;line-height:1.55;display:flex}.fingerprint-rows dd small,.fingerprint-rows dd em{border:1px solid var(--rule-strong);color:var(--ink-3);font:inherit;text-transform:uppercase;border-radius:999px;padding:2px 7px;font-size:9px}.fingerprint-rows dd em{border-color:color-mix(in srgb, var(--accent) 45%, var(--rule));color:var(--accent-action);font-style:normal}.fingerprint-explanation{padding-block:var(--s-6)}.fingerprint-signal-note{max-width:840px}.seal-panel-body{gap:22px;display:grid}.seal-kind-tabs{justify-self:start}.seal-kind-tabs button,.seal-actions .button,.seal-file-picker .button{min-height:44px}.seal-text-field,.seal-file-picker,.seal-passwords,.seal-strength{min-width:0}.seal-text-field{gap:10px;display:grid}.seal-text-field>span,.seal-file-picker>span{color:var(--ink-2);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.seal-text-field textarea{background:var(--surface-soft);border:1px solid var(--rule-strong);font:inherit;resize:vertical;border-radius:8px;width:100%;min-height:132px;padding:14px;line-height:1.55}.seal-file-picker{border-block:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:12px 18px;min-height:96px;padding-block:20px;display:flex}.seal-file-picker input[type=file]{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.seal-file-picker input[type=file]:focus-visible+label{outline:2px solid var(--accent-action);outline-offset:2px}.seal-file-picker>span{overflow-wrap:anywhere;text-transform:none}.seal-passwords{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.seal-strength{border-top:1px solid var(--rule);padding-top:20px}.seal-weak-warning{border-left:2px solid var(--accent-action);margin-top:18px;padding-left:16px}.seal-weak-warning p{color:var(--ink-2);margin-bottom:10px;font-size:13px;line-height:1.5}.seal-actions{flex-wrap:wrap;gap:8px;display:flex}.seal-actions .button[hidden]{display:none}.seal-panel progress{accent-color:var(--accent-action);width:100%;height:6px}.seal-output{background:var(--surface-soft);border:1px solid var(--rule);font-family:var(--mono);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:8px;min-height:72px;max-height:280px;padding:14px;font-size:12px;line-height:1.6;display:block;overflow:auto}.seal-feedback{color:var(--ink-2);min-height:1.5em;margin:0;font-size:13px;line-height:1.5}.seal-feedback.is-error{color:var(--accent-action)}.seal-feedback.is-success{color:#317b50}.seal-panel .panel-foot{gap:12px 24px}.seal-explanation{padding-block:var(--s-6)}.seal-boundary-note{max-width:840px}.seal-boundary-note p+p{margin-top:12px}.keys-panel-top{align-items:center}.keys-profiles{flex-wrap:wrap}.keys-profile-intro{border-bottom:1px solid var(--rule);grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);align-items:start;gap:28px;padding-bottom:24px;display:grid}.keys-profile-intro>div{gap:5px;display:grid}.keys-profile-intro span,.key-block-head span{color:var(--ink-3);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.keys-profile-intro strong{font-size:19px;font-weight:500}.keys-profile-intro p,.keys-passphrases>p,.keys-age-note,.keys-qr-column>p,.private-key-placeholder,.qr-too-large{color:var(--ink-2);font-size:13px;line-height:1.6}.keys-profile-intro p{max-width:72ch;margin:0}.keys-passphrases{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;padding-top:24px;display:grid}.keys-passphrases .password-input{gap:8px;display:grid}.keys-passphrases>p{grid-column:1/-1;margin:0}.keys-age-note{border-left:2px solid var(--accent);max-width:84ch;margin:24px 0 0;padding-left:16px}.keys-generate-row{flex-wrap:wrap;align-items:center;gap:10px 16px;padding-top:24px;display:flex}.keys-status{color:var(--ink-2);font-family:var(--mono);font-size:11px}.keys-result{border-top:1px solid var(--rule-strong);grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:clamp(24px,4vw,48px);margin-top:30px;padding-top:30px;display:grid}.keys-material{gap:28px;min-width:0;display:grid}.key-block{min-width:0}.key-block-head{justify-content:space-between;align-items:end;gap:18px;margin-bottom:10px;display:flex}.key-block-head>div:first-child{gap:4px;min-width:0;display:grid}.key-block-head strong{color:var(--ink-2);font-family:var(--mono);overflow-wrap:anywhere;font-size:11px;font-weight:400}.key-block-actions{flex-wrap:wrap;gap:7px;display:flex}.button-small{min-height:34px;padding:7px 12px}.key-block pre{background:var(--surface-soft);border:1px solid var(--rule);color:var(--ink-2);font-family:var(--mono);overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-all;border-radius:8px;min-height:92px;max-height:210px;margin:0;padding:14px;font-size:11px;line-height:1.55;overflow:auto}.private-key-placeholder{background:repeating-linear-gradient(-45deg, var(--surface-soft), var(--surface-soft) 8px, color-mix(in srgb, var(--surface-soft) 82%, var(--rule)) 8px, color-mix(in srgb, var(--surface-soft) 82%, var(--rule)) 16px);border:1px solid var(--rule);border-radius:8px;align-content:center;min-height:92px;margin:0;padding:14px;display:grid}.keys-qr-column{border-left:1px solid var(--rule);min-width:0;padding-left:clamp(20px,3vw,38px)}.keys-qr-tabs{grid-template-columns:1fr 1fr;gap:4px;margin-bottom:14px;display:grid}.keys-qr-tabs button{border:1px solid var(--rule);cursor:pointer;font-family:var(--mono);text-transform:uppercase;border-radius:999px;min-height:34px;padding:7px 9px;font-size:10px}.keys-qr-tabs button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.keys-qr{border:1px solid var(--rule);background:#fff;width:100%;max-width:420px;height:auto;padding:8px;display:block}.keys-qr-column>p{margin:13px 0 0}.keys-qr-column>p.qr-warning{color:var(--accent-action)}.qr-too-large{border:1px solid var(--accent);margin:0;padding:18px}.keys-explanation{padding-block:var(--s-6)}.checklist-panel-body{gap:26px;display:grid}.checklist-count{color:var(--ink-2);font-family:var(--mono);font-size:12px}.checklist-progress{grid-template-columns:minmax(180px,.55fr) minmax(0,1fr);align-items:center;gap:10px 18px;display:grid}.checklist-progress progress{accent-color:var(--accent-action);width:100%;height:7px}.checklist-progress p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.checklist-actions{border-block:1px solid var(--rule);flex-wrap:wrap;gap:8px;padding-block:18px;display:flex}.checklist-actions input[type=file]{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.checklist-actions input[type=file]:focus-visible+label{outline:2px solid var(--accent-action);outline-offset:2px}.checklist-sections{gap:42px;display:grid}.checklist-sections>section>header{border-bottom:1px solid var(--rule-strong);grid-template-columns:36px minmax(0,1fr);align-items:baseline;gap:14px;padding-bottom:13px;display:grid}.checklist-sections>section>header span{color:var(--accent-action);font-family:var(--mono);font-size:10px}.checklist-sections>section>header h2{font-size:clamp(22px,2.2vw,31px)}.checklist-items{display:grid}.checklist-item{border-bottom:1px dashed var(--rule-strong);grid-template-columns:minmax(0,1.45fr) minmax(210px,.55fr);gap:14px 30px;padding:22px 2px;transition:background .18s;display:grid}.checklist-item:hover{background:color-mix(in srgb, var(--ink) 2.5%, transparent)}.checklist-item>label{cursor:pointer;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:14px;display:grid}.checklist-item input[type=checkbox]{accent-color:var(--accent-action);width:17px;height:17px;margin:3px 0 0}.checklist-item-copy{gap:5px;display:grid}.checklist-item-copy strong{letter-spacing:-.015em;font-size:16px;font-weight:600;line-height:1.35}.checklist-item-copy>span,.checklist-completion{color:var(--ink-2);font-size:13px;line-height:1.55}.checklist-item.is-complete .checklist-item-copy strong{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong)}.checklist-item dl{gap:8px;margin:0;display:grid}.checklist-item dl>div{grid-template-columns:92px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.checklist-item dt,.checklist-item dd{font-family:var(--mono);margin:0;font-size:10px}.checklist-item dt{color:var(--ink-3);text-transform:uppercase}.checklist-item dd{color:var(--ink-2)}.checklist-completion{grid-column:1;gap:4px;margin:0 0 0 34px;display:grid}.checklist-completion b{color:var(--ink-3);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:500}.checklist-tool-link,.checklist-tool-state{font-family:var(--mono);text-transform:uppercase;grid-column:2;align-self:end;font-size:10px}.checklist-tool-link{color:var(--accent-action)}.checklist-tool-state{color:var(--ink-3)}.checklist-feedback{color:var(--ink-2);min-height:1.5em;margin:0;font-size:13px;line-height:1.5}.checklist-feedback.is-error{color:var(--accent-action)}.checklist-feedback.is-success{color:#317b50}.checklist-print-meta{display:none}.checklist-explanation{padding-block:var(--s-6)}.checklist-boundary-note{max-width:840px}.checklist-boundary-note p+p{margin-top:12px}.ip-panel-body{gap:24px;display:grid}.panel-label,.network-status{color:var(--ink-2);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;font-size:10px}.network-status{align-items:center;gap:9px;display:inline-flex}.network-status i{background:var(--accent-action);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-action) 13%, transparent);border-radius:50%;width:6px;height:6px}.ip-form{gap:10px;display:grid}.ip-form>label{color:var(--ink-2);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;font-size:10px}.ip-form-row{grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;display:grid}.ip-form input{background:var(--surface-soft);border:1px solid var(--rule-strong);color:var(--ink);font-family:var(--mono);border-radius:8px;min-width:0;min-height:46px;padding:10px 14px;font-size:15px}.ip-form input:focus-visible{border-color:var(--accent-action);outline:2px solid color-mix(in srgb, var(--accent-action) 28%, transparent);outline-offset:1px}.ip-status{color:var(--ink-2);min-height:1.55em;font-size:13px;line-height:1.55}.ip-status p{margin:0}.ip-status .is-error,.ip-status.is-error{color:var(--accent-action)}.ip-result{border-top:1px solid var(--rule-strong);padding-top:24px}.ip-result-head{justify-content:space-between;align-items:end;gap:24px;display:flex}.ip-result-head>div{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.ip-result-head strong{font-family:var(--mono);letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(24px,4vw,44px);font-weight:500}.ip-result-head>div>span{border:1px solid var(--accent-action);color:var(--accent-action);font-family:var(--mono);border-radius:999px;padding:3px 9px;font-size:10px}.ip-result-head p{color:var(--ink-2);text-align:right;max-width:34ch;margin:0;font-size:12px;line-height:1.55}.ip-result-head small{color:var(--ink-3);font-family:var(--mono);text-transform:uppercase;margin-top:5px;font-size:9px;display:block}.ip-result-rows{border-top:1px solid var(--rule);margin:22px 0 0;display:grid}.ip-result-rows>div{border-bottom:1px dashed var(--rule-strong);grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);gap:18px;padding-block:13px;display:grid}.ip-result-rows dt,.ip-result-rows dd{margin:0}.ip-result-rows dt{color:var(--ink-3);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:10px}.ip-result-rows dd{overflow-wrap:anywhere;font-size:14px;line-height:1.45}.ip-result-rows dd.is-missing{color:var(--ink-3);font-style:italic}.ip-json-block{border-top:1px solid var(--rule-strong);padding-top:18px}.ip-json-actions{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.ip-json-actions>span{color:var(--ink-2);font-size:12px}.ip-json-block pre{background:var(--surface-soft);border:1px solid var(--rule);font-family:var(--mono);white-space:pre;border-radius:8px;max-height:360px;margin:14px 0 0;padding:14px;font-size:11px;line-height:1.55;overflow:auto}.ip-panel .panel-foot{align-items:start;gap:18px 32px}.ip-panel .panel-foot span:first-child{flex:0 36%}.ip-panel .panel-foot span:last-child{text-align:right;text-transform:none;flex:1}.ip-explanation{padding-block:var(--s-6)}.ip-map-note{max-width:850px}.ip-map-note p+p{margin-top:12px}.ip-attribution{border-top:1px solid var(--rule);color:var(--ink-2);margin:var(--s-4) 0 0;padding-top:var(--s-3);line-height:1.6}.ip-attribution a{color:var(--accent-action);text-underline-offset:3px;text-decoration:underline}.leak-panel-body{gap:24px;display:grid}.leak-overall{color:var(--ink-2);min-height:1.55em;font-size:13px;line-height:1.55}.leak-overall p{margin:0}.leak-overall.is-error{color:var(--accent-action)}.leak-readings{border-block:1px solid var(--rule-strong);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.leak-reading{min-width:0;padding:24px 26px 24px 0}.leak-reading+.leak-reading{border-left:1px solid var(--rule-strong);padding-inline:26px 0}.leak-reading>header{justify-content:space-between;align-items:start;gap:14px;min-height:62px;display:flex}.leak-reading>header h2{letter-spacing:-.035em;margin:0;font-size:clamp(21px,2.2vw,30px);line-height:1.05}.leak-reading>header span,.leak-count,.leak-provenance{color:var(--ink-3);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:9px;line-height:1.45}.leak-reading>header span{text-align:right;max-width:24ch}.leak-empty{color:var(--ink-2);min-height:116px;margin:18px 0 0;font-size:14px;line-height:1.6}.leak-count{margin:18px 0 10px}.leak-resolver-list{margin:0;padding:0;list-style:none}.leak-resolver-list li{border-top:1px dashed var(--rule-strong);padding-block:14px}.leak-resolver-list dl,.leak-webrtc-summary{gap:9px;margin:0;display:grid}.leak-resolver-list dl>div,.leak-webrtc-summary>div{grid-template-columns:minmax(110px,.42fr) minmax(0,1fr);gap:12px;display:grid}.leak-resolver-list dt,.leak-resolver-list dd,.leak-webrtc-summary dt,.leak-webrtc-summary dd{margin:0}.leak-resolver-list dt,.leak-webrtc-summary dt{color:var(--ink-3);font-family:var(--mono);text-transform:uppercase;font-size:9px}.leak-resolver-list dd,.leak-webrtc-summary dd{font-family:var(--mono);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.leak-webrtc-summary{border-top:1px dashed var(--rule-strong);min-height:150px;margin-top:18px;padding-top:14px}.leak-webrtc-summary dd{gap:5px;display:grid}.leak-provenance{border:1px solid var(--rule-strong);border-radius:999px;margin-top:16px;padding:4px 9px;display:inline-block}.leak-actions{flex-wrap:wrap;gap:8px;display:flex}.leak-actions .button{min-height:44px}.leak-panel .panel-foot{align-items:start;gap:18px 32px}.leak-panel .panel-foot span{text-transform:none;flex:1;line-height:1.5}.leak-panel .panel-foot span:last-child{text-align:right}.leak-explanation{padding-block:var(--s-6)}.leak-boundary-note{max-width:880px}.leak-boundary-note p+p{margin-top:12px}.mode-tabs button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.local-status{color:var(--ink-2);font-family:var(--mono);text-transform:uppercase;gap:8px;font-size:10px}.local-status i{background:#3d9a63;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #3d9a6329}.panel-body{min-height:330px;padding:clamp(22px,4vw,44px)}.generated-output{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding-bottom:28px;display:grid}.generated-value{font-family:var(--mono);overflow-wrap:anywhere;font-size:clamp(18px,2.4vw,31px);line-height:1.35;display:block}.output-actions{flex-wrap:wrap;gap:8px;display:flex}.controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:28px;display:grid}.range-control,.select-control,.text-control,.single-choice,.choice-control,.strength-meter,.entropy-output,.password-input{min-width:0}.range-control,.select-control,.text-control,.strength-meter,.entropy-output{grid-template-columns:94px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.range-control>span,.select-control>span,.text-control>span,.strength-meter>span:first-child,.entropy-output>span,.password-input>span:first-child,.choice-control legend{color:var(--ink-2);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px}input[type=range]{accent-color:var(--accent);width:100%}.range-control output,.strength-meter output{color:var(--ink-2);font-family:var(--mono);font-size:11px}.select-control select,.text-control input,.password-input input{background:var(--surface-soft);border:1px solid var(--rule);border-radius:7px;width:100%;min-height:42px;padding:9px 12px}.choice-control{border:0;flex-wrap:wrap;grid-column:1/-1;gap:9px 18px;margin:0;padding:0;display:flex}.choice-control legend{float:left;margin-right:20px;padding:7px 0}.choice-control label,.single-choice{align-items:center;gap:7px;font-size:13px;display:inline-flex}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.strength-track{background:var(--rule);border-radius:99px;height:5px;display:block;overflow:hidden}.strength-track i{background:var(--accent);height:100%;width:calc((attr(data-score type(<number>)) + 1) * 20%);transition:width .18s;display:block}.strength-track[data-score="0"] i{width:10%}.strength-track[data-score="1"] i{width:28%}.strength-track[data-score="2"] i{width:52%}.strength-track[data-score="3"] i{width:76%}.strength-track[data-score="4"] i{width:100%}.control-error,.strength-feedback{color:var(--accent-action);min-height:1.5em;margin:16px 0 0;font-size:13px;line-height:1.5}.password-batch{border-top:1px solid var(--rule);margin:18px 0 0;padding:0;list-style:none}.password-batch li{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;padding-block:9px;display:flex}.password-batch code{font-family:var(--mono);overflow-wrap:anywhere;font-size:12px}.password-batch button{color:var(--accent-action);cursor:pointer;font-family:var(--mono);text-transform:uppercase;font-size:10px}.entropy-output strong{font-family:var(--mono);font-size:13px;font-weight:500}.password-input{gap:10px;display:grid}.password-input-row{display:flex}.password-input-row input{border-radius:7px 0 0 7px}.password-input-row button{background:var(--surface-soft);border:1px solid var(--rule);cursor:pointer;border-left:0;border-radius:0 7px 7px 0;min-width:48px}.check-mode{gap:24px;display:grid}.breach-action{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.breach-result{color:#2f7f50;font-size:13px}.breach-result.is-warning{color:var(--accent)}.privacy-note{color:var(--ink-2);font-size:13px;line-height:1.55}.panel-foot{border-top:1px solid var(--rule);color:var(--ink-3);text-transform:uppercase;gap:18px;padding:14px 20px}.password-explanation{padding-block:var(--s-6)}.explanation-head{grid-template-columns:minmax(0,1.5fr) minmax(240px,.5fr);gap:30px;display:grid}.explanation-head p{color:var(--ink-2);font-size:18px;line-height:1.55}.explanation-steps{border-top:1px solid var(--rule-strong);margin:var(--s-5) 0;padding:0;list-style:none}.explanation-steps li{border-bottom:1px solid var(--rule);padding-block:var(--s-3);grid-template-columns:48px minmax(0,1fr);gap:clamp(24px,5vw,72px);display:grid}.explanation-steps li>span{color:var(--accent-action);font-family:var(--mono);font-size:11px}.explanation-steps h3{margin-bottom:10px}.explanation-steps p,.estimate-note p,.faq p{color:var(--ink-2);line-height:1.65}.estimate-note{border-left:2px solid var(--accent);padding:var(--s-2) 0 var(--s-2) var(--s-3);margin-left:clamp(0px,8vw,100px)}.faq{border-top:1px solid var(--rule-strong);margin-top:var(--s-5)}.faq details{border-bottom:1px solid var(--rule);padding-block:20px}.faq summary{cursor:pointer;font-size:17px;font-weight:500;list-style-position:outside}.faq p{margin:18px 0 0}.lab-footer{border-top:1px solid var(--rule);padding-block:var(--s-4)}.footer-row{justify-content:space-between;gap:28px}.footer-row nav{flex-wrap:wrap;gap:12px 28px;display:flex}.footer-row nav a{color:var(--ink-2);font-family:var(--mono);text-transform:uppercase;font-size:11px}.footer-meta{justify-content:space-between;align-items:end;gap:32px;margin-top:30px;display:flex}.footer-note{color:var(--ink-3);margin:0;font-size:13px;line-height:1.55}.footer-deployment{color:var(--ink-2);font-family:var(--mono);text-transform:uppercase;flex:none;margin:0;font-size:11px}.footer-deployment span{color:var(--ink-3);margin-right:8px}.not-found{align-content:center;min-height:100svh;padding:clamp(32px,8vw,120px);display:grid}.not-found h1{max-width:14ch}.not-found p{color:var(--ink-2);font-size:18px;line-height:1.6}.not-found .button{justify-self:start}@keyframes loader-line{to{stroke-dashoffset:0}}@keyframes loader-node{0%{opacity:0;transform-origin:50%;transform:scale(.4)}}@keyframes loader-word{0%{opacity:0;transform:translateY(6px)}}@keyframes loader-exit{to{opacity:0;visibility:hidden}}@media (max-width:1000px){.hub-hero-content{grid-template-columns:1fr}.tool-head{max-width:760px;padding-top:0}.editorial-pair{gap:var(--s-5);grid-template-columns:1fr}.explanation-head,.keys-result{grid-template-columns:1fr}.keys-qr-column{border-left:0;border-top:1px solid var(--rule);padding-top:28px;padding-left:0}}@media (max-width:860px){.leak-readings{grid-template-columns:1fr}.leak-reading{padding:22px 0}.leak-reading+.leak-reading{border-left:0;border-top:1px solid var(--rule-strong);padding-inline:0}}@media (max-width:720px){.lab-bar{padding-top:10px}.wrap{padding-inline:18px}.lab-pill{min-height:50px;padding-left:12px}.brand-word,.chrome-rule,.lab-label{display:none}.tool-menu>summary{padding-inline:7px}.tool-menu nav{max-height:min(70vh,420px);position:fixed;top:70px;right:18px;overflow:auto}.hub-hero,.tool-screen{padding-block:100px 56px}h1{font-size:clamp(42px,12vw,64px)}.tool-ladder li>a,.tool-ladder li>div{grid-template-columns:34px minmax(0,1fr);gap:10px 14px;padding-block:16px}.rung-meta{text-align:left;grid-column:2;justify-items:start}.generated-output{grid-template-columns:1fr;align-items:start}.keys-profile-intro,.keys-passphrases{grid-template-columns:1fr}.keys-passphrases>p{grid-column:1}.fingerprint-summary{flex-direction:column;align-items:start}.fingerprint-actions{justify-content:start}.fingerprint-rows>div{grid-template-columns:1fr;gap:7px}.controls,.seal-passwords,.checklist-progress,.checklist-item{grid-template-columns:1fr}.ip-form-row{grid-template-columns:1fr 1fr}.ip-form-row input{grid-column:1/-1}.ip-result-head{flex-direction:column;align-items:start}.ip-result-head p{text-align:left}.ip-result-rows>div{grid-template-columns:1fr;gap:6px}.leak-panel .panel-foot span:last-child{text-align:left}.checklist-item dl,.checklist-tool-link,.checklist-tool-state{grid-column:1;margin-left:34px}.choice-control{grid-column:auto}.range-control,.select-control,.text-control,.strength-meter,.entropy-output{grid-template-columns:80px minmax(0,1fr) auto}.panel-foot,.footer-row{flex-direction:column;align-items:start}.footer-meta{flex-direction:column;align-items:start;gap:14px}}@media (max-width:420px){.mode-tabs{width:100%}.mode-tabs button{flex:1;padding-inline:8px}.panel-top{flex-direction:column;align-items:stretch}.key-block-head{flex-direction:column;align-items:start}.key-block-actions{width:100%}.key-block-actions .button{flex:1}.fingerprint-panel-top{align-items:start}.local-status{padding:0 8px 5px}.seal-kind-tabs{justify-self:stretch}.checklist-actions{grid-template-columns:1fr 1fr;display:grid}.checklist-actions .button{width:100%}.ip-form-row{grid-template-columns:1fr}.ip-form-row input{grid-column:auto}.ip-form-row .button{width:100%}.ip-panel .panel-foot span:first-child{flex-basis:auto}.ip-panel .panel-foot span:last-child{text-align:left}.leak-reading>header{flex-direction:column}.leak-reading>header span{text-align:left;max-width:none}.leak-resolver-list dl>div,.leak-webrtc-summary>div{grid-template-columns:1fr;gap:5px}.panel-body{padding:20px 16px}.output-actions{grid-template-columns:1fr 1fr;display:grid}.range-control,.select-control,.text-control,.strength-meter,.entropy-output{grid-template-columns:1fr auto;align-items:start}.range-control input,.select-control select,.text-control input,.strength-track{grid-column:1/-1}.estimate-note{margin-left:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media print{@page{margin:14mm}html,body{color:#15171c;background:#fff}.lab-bar,.hero-mesh,.tool-head,.checklist-panel .panel-top,.checklist-actions,.checklist-feedback,.checklist-panel .panel-foot,.checklist-explanation,.lab-footer{display:none!important}.checklist-screen,.tool-screen{min-height:0;padding:0}.wrap,.tool-screen-content{max-width:none;padding:0;display:block}.checklist-panel{box-shadow:none;color:#15171c;background:#fff;border:0;border-radius:0}.checklist-panel-body{min-height:0;padding:0;display:block}.checklist-progress{margin-bottom:8mm}.checklist-print-meta{justify-content:space-between;margin-bottom:8mm;font-size:11pt;display:flex}.checklist-sections{gap:8mm}.checklist-sections>section,.checklist-item{break-inside:avoid}.checklist-item{background:0 0;grid-template-columns:minmax(0,1.35fr) minmax(45mm,.65fr);gap:3mm 6mm;padding-block:4mm}.checklist-item-copy strong{color:#15171c}.checklist-item-copy>span,.checklist-completion,.checklist-item dd{color:#525660}.checklist-tool-link,.checklist-tool-state{display:none}}
