@font-face{font-family:Object Sans;src:url(./object-sans-regular-DfKYOdPq.otf) format("opentype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Object Sans;src:url(./object-sans-medium-BrwYdVdg.otf) format("opentype");font-display:swap;font-style:normal;font-weight:500}@font-face{font-family:Object Sans;src:url(./object-sans-bold-BGH-oK66.otf) format("opentype");font-display:swap;font-style:normal;font-weight:700}:root{--blue: #0042ec;--blue-pressed: #0037c7;--blue-soft: #dae9fd;--sky: #eff6fe;--ink: #132159;--ink-strong: #000c1d;--ink-muted: #4773ab;--white: #fff;--orange: #ff4d00;--orange-soft: #fff0e9;--border: #c9dcf7;--control-border: #718fb8;--success: #087b73;--shadow: 0 22px 70px rgb(19 33 89 / 10%);color:var(--ink);background:var(--sky);font-family:Object Sans,Arial,sans-serif;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;background:var(--sky)}button,input,textarea{font:inherit}button{cursor:pointer}[hidden]{display:none!important}:where(a,button,input,textarea):focus-visible{outline:3px solid var(--orange);outline-offset:3px}.page-shell{width:min(100%,1180px);min-height:100vh;margin:0 auto;padding:0 36px}.site-header{display:flex;min-height:82px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.brand{color:var(--blue);font-size:30px;font-weight:700;letter-spacing:-.06em;line-height:1;text-decoration:none;text-transform:lowercase}.intro{max-width:780px;padding:64px 0 34px}.eyebrow{margin:0 0 13px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1{max-width:760px;margin:0 0 18px;color:var(--ink-strong);font-size:clamp(38px,6vw,66px);font-weight:700;letter-spacing:-.055em;line-height:.98}.intro>p:last-child{max-width:690px;margin:0;font-size:clamp(17px,2vw,20px)}.generator-card{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:end;padding:30px;border:1px solid var(--border);border-radius:24px;background:var(--white);box-shadow:var(--shadow)}#generator-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.62fr);gap:18px;align-items:end}.field{display:grid;min-width:0;gap:8px;color:var(--ink-strong);font-size:14px;font-weight:700}.field small{color:var(--ink-muted);font-size:12px;font-weight:400}.field input{width:100%;min-height:52px;padding:0 16px;border:1px solid var(--control-border);border-radius:14px;color:var(--ink-strong);background:var(--white)}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.field input:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.field input[aria-invalid=true]{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.algorithm-badge{align-self:center;width:max-content;padding:8px 12px;border-radius:999px;color:var(--blue);background:var(--blue-soft);font-size:12px;font-weight:700}.primary-button,[data-copy],[data-action]{min-height:44px;border:0;border-radius:12px;font-weight:700}.primary-button{min-height:52px;padding:0 20px;color:var(--white);background:var(--blue)}.primary-button:hover{background:var(--blue-pressed)}.primary-button:disabled{cursor:wait;opacity:.62}#form-errors{grid-column:1 / -1;padding:14px 16px;border-left:4px solid var(--orange);border-radius:10px;color:var(--ink-strong);background:var(--orange-soft)}.local-only-note{margin:0;padding-left:18px;border-left:3px solid var(--success);color:var(--ink);font-size:14px}#result-region{margin-top:22px}#empty-state{padding:34px;border:1px dashed var(--border);border-radius:22px;color:var(--ink);text-align:center}.result-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:16px}.result-heading h2{margin:0;color:var(--ink-strong);font-size:clamp(25px,4vw,36px);letter-spacing:-.03em;line-height:1.08}.key-pair{position:relative;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--border);border-radius:26px;background:var(--white);box-shadow:var(--shadow)}.key-pair:after{position:absolute;top:28px;left:50%;width:18px;height:18px;border:5px solid var(--white);border-radius:50%;background:var(--blue);box-shadow:0 0 0 1px var(--border);content:"";transform:translate(-50%)}.key-panel{min-width:0;padding:28px}.key-panel--public{border-right:1px solid var(--border);background:linear-gradient(180deg,var(--blue-soft),var(--white) 34%)}.key-panel--private{background:linear-gradient(180deg,var(--orange-soft),var(--white) 34%)}.key-panel h3{margin:0 0 8px;color:var(--ink-strong);font-size:21px;line-height:1.2}.output-row{display:grid;gap:8px;margin-top:18px}.output-row>span{color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.output-row>p{margin:0;color:var(--ink);font-size:13px}.output-box{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--white)}.output-box code,.output-box pre,[data-private-key]{width:100%;margin:0;overflow-wrap:anywhere;color:var(--ink-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;white-space:pre-wrap}[data-private-key]{min-height:250px;margin-top:14px;padding:14px;resize:vertical;border:1px solid var(--orange);border-radius:12px;background:#fffaf7}[data-copy],[data-action]{width:max-content;padding:0 14px;color:var(--blue);background:var(--blue-soft)}[data-action=download-private]{color:var(--white);background:var(--ink-strong)}[data-action=clear]{color:var(--ink-strong);background:transparent;border:1px solid var(--border)}.key-panel--private>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.private-warning{margin:14px 0 0;padding:14px;border-left:4px solid var(--orange);border-radius:10px;background:var(--orange-soft)}[data-copy-status],[data-stale-notice]{color:var(--ink);font-size:13px}[data-stale-notice]{padding:14px 16px;border-left:4px solid var(--orange);border-radius:10px;background:var(--orange-soft)}.confirmation-layer{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:24px;background:#000c1d94}.confirmation-dialog{width:min(100%,470px);padding:26px;border:1px solid var(--border);border-radius:22px;background:var(--white);box-shadow:var(--shadow)}.confirmation-dialog h2{margin:0;color:var(--ink-strong);font-size:26px;letter-spacing:-.03em;line-height:1.1}.confirmation-dialog p{margin:12px 0 0}.confirmation-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}[data-confirm]{min-height:44px;padding:0 16px;border:0;border-radius:12px;color:var(--blue);background:var(--blue-soft);font-weight:700}[data-confirm=accept]{color:var(--white);background:var(--blue)}[data-confirmation=clear] [data-confirm=accept]{color:var(--ink-strong);background:var(--orange)}.provider-note{margin:22px 0 52px;padding:22px 24px;border:1px solid var(--border);border-radius:18px;background:var(--white)}.provider-note p{margin:6px 0 0}footer{padding:24px 0 34px;border-top:1px solid var(--border);color:var(--ink);font-size:13px}footer a{color:var(--blue)}body.is-embed{min-height:0}.is-embed .page-shell{width:100%;min-height:0;padding:16px}.is-embed [data-standalone-chrome]{display:none}.is-embed .intro{padding-top:14px}.is-embed .provider-note{margin-bottom:0}@media(max-width:920px){.generator-card{grid-template-columns:1fr;align-items:stretch}}@media(max-width:760px){.page-shell{padding:0 18px}.intro{padding-top:42px}.generator-card,#generator-form,.key-pair{grid-template-columns:1fr}.generator-card{padding:22px}.algorithm-badge,.primary-button,[data-copy],[data-action]{width:100%}.key-pair:after{display:none}.key-panel--public{border-right:0;border-bottom:1px solid var(--border)}.key-panel{padding:22px}.key-panel--private>div{display:grid}.result-heading{align-items:flex-start;flex-direction:column}.confirmation-actions{display:grid}[data-confirm]{width:100%}.is-embed .page-shell{padding:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
