*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden{display:none}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg:#080c14;--panel:#0f1624;--panel-soft:#131d30;--border:#1f314f;--text:#dde8fb;--muted:#a6bad8;--accent:#3d8ef8;--accent-soft:#3d8ef833;--amber:#f0a742;--danger:#f06158;--sans:"IBM Plex Sans", "Segoe UI", Tahoma, sans-serif;--mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html,body{min-height:100%;font-family:var(--sans);color:var(--text);background:radial-gradient(circle at 20% 10%, #3d8ef824, transparent 35%), radial-gradient(circle at 80% 5%, #f0a74212, transparent 30%), linear-gradient(var(--bg), #050912);margin:0}body{background-image:radial-gradient(#a6bad814 1px, transparent 1px), radial-gradient(circle at 20% 10%, #3d8ef824, transparent 35%), radial-gradient(circle at 80% 5%, #f0a74212, transparent 30%), linear-gradient(var(--bg), #050912);background-size:18px 18px,auto,auto,auto}#app{min-height:100vh}.shell{gap:1rem;width:min(1040px,100% - 1.5rem);margin:1.25rem auto;display:grid}.app-header,.panel{border:1px solid var(--border);background:linear-gradient(160deg, var(--panel) 0%, var(--panel-soft) 100%);border-radius:12px}.app-header{justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}h1,h2,h3,p,ol,li{margin:0}h1{letter-spacing:.02em;font-size:clamp(1.2rem,3vw,1.5rem)}.panel{padding:1rem}.panel-title{color:#f5f9ff;margin-bottom:.7rem;font-size:1rem}.field-grid{gap:.8rem;display:grid}.field,.charset-fieldset label{gap:.35rem;display:grid}.field-inline-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.field span,legend,.helper-text,.error-text,summary,.step-list,.proof-result,.state-summary{font-size:.9rem}input,button,dialog{font:inherit}input{width:100%;color:var(--text);background:#0b1320;border:1px solid #2b3f60;border-radius:8px;min-height:44px;padding:.65rem .75rem}input:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.passphrase-wrap,.password-box{grid-template-columns:1fr auto auto;gap:.4rem;display:grid}.password-box input{font-family:var(--mono);letter-spacing:.03em;font-size:1.2rem}.action-button,.ghost-button,.small-button{cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:44px;padding:.5rem .85rem}.action-button{background:var(--accent);color:#f4f9ff}.ghost-button,.small-button{color:var(--text);background:0 0;border-color:#324c74}.small-button{min-width:78px}.form-actions{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.charset-fieldset{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-top:.8rem;padding:.75rem;display:grid}.charset-fieldset label{align-items:center;gap:.4rem;display:flex}.charset-fieldset input{width:auto;min-height:auto}.helper-text{color:var(--muted)}.error-text{color:#ff9d96;min-height:1.2rem}.progress-track,.strength-track{background:#0a111c;border:1px solid #233958;border-radius:99px;height:12px;margin:.5rem 0}.progress-bar,.strength-bar{border-radius:99px;width:0;height:100%}.progress-bar{background:linear-gradient(90deg, #2a7ce8, var(--accent))}.strength-bar{background:linear-gradient(90deg, #3d8ef8 0%, var(--amber) 60%, var(--danger) 100%)}.step-list{gap:.25rem;padding:0;list-style:none;display:grid}details{border:1px solid var(--border);border-radius:8px;padding:.75rem}summary{cursor:pointer}.state-item{color:#ffd39a;font-family:var(--mono);background:#151216;border:1px solid #f0a74233;border-radius:8px;margin-top:.75rem;padding:.7rem}.state-item h3{color:#ffd39a;margin-bottom:.4rem;font-size:.95rem}.state-summary{color:var(--muted);margin-top:.8rem}.proof-grid{font-family:var(--mono);gap:.4rem;margin-top:.6rem;display:grid}.proof-result{margin-top:.6rem}dialog{border:1px solid var(--border);width:min(760px,100% - 1.5rem);color:var(--text);background:#0d1524;border-radius:12px;padding:0}dialog article{gap:.8rem;padding:1rem;display:grid}dialog::backdrop{background:#04080ecc}dialog ol{gap:.45rem;padding-left:1.1rem;display:grid}.skip-link{color:#000;background:#fff;padding:.5rem;position:absolute;top:-100px;left:.5rem}.skip-link:focus{top:.5rem}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.app-header{flex-direction:column;align-items:flex-start}.charset-fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}.password-box,.passphrase-wrap{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
