.upload-crypto .upload-preview{display:block;max-width:100%;max-height:240px;object-fit:contain;margin:12px 0;border-radius:8px}.upload-crypto input[type=file]{width:100%;overflow:hidden}.upload-crypto .dg-form-help-readable{overflow-wrap:anywhere}.upload-crypto .rsa-code-block{max-height:400px}.simple-generator{padding:24px;margin-bottom:24px}.simple-generator h2{margin-top:0}.simple-generator details{margin-top:16px}.simple-generator .crypto-actions,.simple-output .crypto-actions{margin-top:12px}.simple-field{margin:16px 0;min-width:0}.crypto-fields>div:first-child>.crypto-editor:first-child>.simple-field:first-child,.crypto-fields>div:first-child>.simple-field:first-child{margin-top:0}.crypto-workspace textarea,.simple-generator textarea{resize:vertical;font-family:monospace}.simple-output{order:3;border-top:1px solid var(--dg-border);padding-top:12px}.simple-output textarea{min-height:170px;padding:16px}.simple-examples{order:5;margin-top:16px;padding-top:16px;border-top:1px solid var(--dg-border);min-width:0}.simple-crypto .crypto-status{overflow-wrap:anywhere}.simple-crypto .crypto-status[data-status=error]{color:var(--dg-danger)}.simple-crypto .crypto-status[data-status=success]{color:var(--dg-primary)}.simple-documentation details{margin:16px 0}.simple-documentation summary{cursor:pointer;font-weight:500}.simple-documentation section{margin:24px 0}.simple-documentation .crypto-info-grid{margin:20px 0;grid-template-columns:repeat(3,minmax(0,1fr))}.simple-table-scroll{overflow-x:auto;margin:20px 0}.simple-table-scroll table{min-width:480px}@media(max-width:760px){.simple-generator{padding:16px}.simple-documentation .crypto-info-grid{grid-template-columns:1fr}}.pgp-generator{padding:24px;margin-bottom:24px}.pgp-generator h2{margin:0;font-size:22px}.pgp-generated-grid,.pgp-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.pgp-workspace .pgp-field{min-width:0;margin-bottom:12px}.pgp-workspace textarea{resize:vertical;min-height:120px;font-family:monospace}.pgp-workspace .crypto-editor:first-child .pgp-field{margin-bottom:0}.pgp-workspace .crypto-editor:first-child .crypto-editor-meta{padding:4px 0}.pgp-workspace .crypto-run{margin-top:6px}.pgp-workspace .crypto-field-heading>.dg-secondary-btn{flex-shrink:0}.pgp-workspace .crypto-editor textarea{min-height:170px}.pgp-generator .dg-form-control{margin-top:6px}.pgp-generator input,.pgp-generator select{min-height:44px}.pgp-generator .crypto-actions{margin-top:12px}.pgp-examples,.pgp-generator details{margin-top:16px;padding-top:16px;border-top:1px solid var(--dg-border)}.pgp-examples{order:5;min-width:0}.pgp-key-summary,.pgp-workspace .crypto-status{overflow-wrap:anywhere}.pgp-workspace .crypto-status[data-status=error]{color:var(--dg-danger)}.pgp-workspace .crypto-status[data-status=success]{color:var(--dg-primary)}.pgp-key-summary{display:flex;flex-wrap:wrap;gap:4px 12px}.pgp-security{margin:24px 0}@media(max-width:760px){.pgp-generator{padding:16px}.pgp-generated-grid,.pgp-settings{grid-template-columns:1fr}}.crypto-workspace-page [x-cloak]{display:none!important}.rsa-generator{padding:24px;margin-bottom:24px}.rsa-generator h2{margin:0;font-size:22px}.rsa-generator .dg-badge{flex-shrink:0;white-space:nowrap}.rsa-generator-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}.rsa-generator-controls button{min-height:44px}.rsa-generator-controls .dg-form-label{margin-bottom:0}.rsa-generator details{border-top:1px solid var(--dg-border);padding-top:16px}.rsa-generator summary{color:var(--dg-muted)}.rsa-generated-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:20px 0}.rsa-workspace textarea{resize:vertical}.rsa-generator textarea{min-height:120px}.rsa-generator .crypto-actions{margin-top:12px}.rsa-generator .dg-form-control{margin-top:6px}.rsa-key-field{margin:16px 0}.rsa-key-field>.crypto-label-help,.rsa-key-field>.dg-form-label{display:flex;align-items:center;min-height:36px;margin:0}.rsa-key-field textarea{min-height:120px}.rsa-settings .dg-form-label{display:block;line-height:18px;margin:0}.rsa-generator-controls select,.rsa-settings .dg-form-control{height:44px}.rsa-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px}.rsa-workspace .crypto-status{overflow-wrap:anywhere}.rsa-workspace .crypto-status[data-status=error]{color:var(--dg-danger)}.rsa-workspace .crypto-status[data-status=success]{color:var(--dg-primary)}.rsa-key-insight[data-status=error]{color:var(--dg-danger)}.rsa-key-insight[data-status=success]{color:var(--dg-primary)}.rsa-key-summary{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px}.rsa-examples{order:5;margin-top:16px;padding-top:16px;border-top:1px solid var(--dg-border);min-width:0}.rsa-examples summary{color:var(--dg-primary);font-weight:500}.rsa-examples .crypto-field-heading{align-items:end;flex-wrap:wrap}.rsa-examples .rsa-code-block{max-height:400px;overflow:auto;white-space:pre}.crypto-error-card+.crypto-info-grid{margin-top:24px}.rsa-code-block{overflow-x:auto;padding:16px;background:var(--dg-surface-soft);border-radius:8px;font-size:13px}@media(max-width:760px){.rsa-generator{padding:16px}.rsa-generated-grid,.rsa-generator-controls,.rsa-settings{grid-template-columns:1fr}}.crypto-workspace-page .page-heading{padding:20px 0 0}.crypto-workspace-page .page-heading .dg-hero-toolbar{margin-bottom:8px}.crypto-workspace-page .page-heading h1{margin:8px 0 0}.crypto-intro{margin-bottom:24px}.crypto-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.crypto-operation{min-width:0;padding:0;overflow:hidden}.crypto-panel-heading{padding:20px 24px;border-bottom:1px solid var(--dg-border);background:var(--dg-surface)}.crypto-panel-heading h2{margin:0 0 4px;font-size:23px}.crypto-panel-heading p{margin:0;color:var(--dg-muted);font-size:13px}.crypto-workspace form{display:flex;flex-direction:column;padding:24px}.crypto-fields{order:0;border:0;margin:0;padding:0;min-width:0}.crypto-fields legend{margin-bottom:18px}.crypto-config{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.crypto-config .dg-form-label{display:block;line-height:18px;margin:0}.crypto-config .dg-form-control{height:44px}.crypto-workspace .dg-form-control{min-width:0;margin-top:6px}.crypto-workspace .dg-form-help{margin:7px 0 12px}.crypto-key-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:16px 0}.crypto-key-grid>div{display:grid;grid-template-columns:minmax(0,1fr) 110px;column-gap:12px}.crypto-field-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;grid-column:1/-1}.crypto-field-heading label{margin:0}.crypto-key-grid input{grid-column:1;grid-row:2}.crypto-key-grid>div>label{grid-column:2;grid-row:2;font-size:0;margin:0;line-height:0;align-self:start}.crypto-key-grid>div>label select{font-size:14px}.crypto-key-grid input,.crypto-key-grid>div>label select{height:44px;box-sizing:border-box}.crypto-key-grid .dg-form-error,.crypto-key-grid .dg-form-help{grid-column:1/-1}.crypto-key-grid .dg-form-help{margin:4px 0 0}.crypto-key-grid .crypto-key-guidance{margin:4px 0 0}.crypto-editors{display:contents}.crypto-editor{min-width:0}.crypto-editor:first-child{order:1}.crypto-editor:nth-child(2){order:3;border-top:1px solid var(--dg-border);padding-top:12px}.crypto-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px}.crypto-editor-heading>.dg-form-label{max-width:150px;font-size:12px}.crypto-editor textarea{min-height:170px;resize:vertical;line-height:1.6;padding:16px}.crypto-editor-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 0;color:var(--dg-muted);font-size:12px}.crypto-actions{display:flex;flex-wrap:wrap;gap:6px}.crypto-run{display:flex;align-items:center;order:2;margin:12px 0 18px;flex-wrap:wrap;gap:10px}.crypto-run .dg-soft-btn{min-height:44px;padding:10px 24px}.crypto-run .dg-form-help{flex-basis:100%;margin:0}.crypto-status,.crypto-workspace form>.dg-form-error{order:4}.crypto-status{min-height:22px;margin:12px 0 0;color:var(--dg-body)}.crypto-documentation{margin:0 0 40px}.crypto-doc-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:24px 0}.crypto-documentation table{width:100%;border-collapse:collapse}.crypto-documentation td,.crypto-documentation th{padding:10px;border:1px solid var(--dg-border);overflow-wrap:anywhere}.crypto-documentation [role=tabpanel]{min-width:0}.crypto-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.crypto-info-card{padding:16px}.crypto-info-card strong{display:block}.crypto-sharing{margin:28px 0;padding:22px}.crypto-sharing h3{margin:0 0 16px}.crypto-sharing .crypto-actions{gap:10px}.crypto-sharing .crypto-share-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:9px 14px;border:1px solid var(--share-brand);border-radius:6px;background:var(--share-brand);color:#fff;text-decoration:none;font-weight:600;line-height:1.4;min-height:40px;gap:9px}.crypto-sharing .crypto-share-btn:hover{filter:brightness(.9);color:#fff;text-decoration:none}.crypto-sharing .crypto-share-btn:focus-visible{outline:2px solid var(--share-brand);outline-offset:3px}.crypto-sharing svg{width:18px;height:18px;flex-shrink:0;fill:currentColor}.crypto-sharing a[href*="facebook.com/"]{--share-brand:#1877f2}.crypto-sharing a[href*="twitter.com/"]{--share-brand:#0f1419}.crypto-sharing a[href*="pinterest.com/"]{--share-brand:#e60023}.crypto-sharing a[href*="linkedin.com/"]{--share-brand:#0a66c2}.crypto-sharing a[href*="reddit.com/"]{--share-brand:#ff4500}.crypto-sharing a[href*="tumblr.com/"]{--share-brand:#36465d}.crypto-documentation-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:20px 0}.crypto-documentation-toolbar p{margin:0}.crypto-all-tools{display:flex;justify-content:flex-end;margin-left:auto}.crypto-all-tools a{text-decoration:none}@media(max-width:900px){.crypto-workspace{grid-template-columns:1fr}}@media(max-width:760px){.crypto-workspace form{padding:16px}.crypto-config{grid-template-columns:1fr;gap:16px}.crypto-run{align-items:flex-start;flex-direction:column}.crypto-workspace .dg-form-control{font-size:16px}.crypto-workspace button{min-height:44px}}@media(max-width:480px){.crypto-panel-heading{padding:18px 16px}.crypto-key-grid>div{grid-template-columns:minmax(0,1fr) 90px;column-gap:6px}.crypto-editor-heading{flex-wrap:wrap}.crypto-documentation td,.crypto-documentation th{padding:5px;font-size:12px}.crypto-doc-tabs button{white-space:normal}.crypto-sharing{padding:16px}}.crypto-related{padding:22px;margin:28px 0}.crypto-related h3{margin:0 0 16px}.crypto-related ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}.crypto-related li{margin:0;min-width:0}.crypto-related a{box-sizing:border-box;width:100%;height:100%;min-height:60px;padding:12px 16px;justify-content:space-between;gap:16px;text-align:left;text-decoration:none}.crypto-related .dg-badge{flex-shrink:0}.crypto-label-help{display:flex;align-items:center;gap:6px;min-height:24px}.crypto-label-help .dg-form-label{margin:0}.crypto-help{display:inline-flex;flex-shrink:0}.crypto-workspace .crypto-help-trigger,.pgp-generator .crypto-help-trigger,.rsa-generator .crypto-help-trigger{display:inline-flex;align-items:center;justify-content:center;width:22px;height:24px;min-height:24px;padding:0;border:0;background:0 0;color:var(--dg-muted);cursor:help}.crypto-help-trigger:focus-visible,.crypto-help-trigger:hover{opacity:1;color:var(--dg-primary)}.crypto-help-trigger:focus-visible{outline:2px solid var(--dg-primary);outline-offset:2px;border-radius:4px}.crypto-help-tooltip{position:fixed;z-index:1000;box-sizing:border-box;width:max-content;max-width:min(300px,calc(100vw - 24px));padding:12px 14px;border-radius:8px;background:var(--dg-text);color:var(--dg-card);box-shadow:var(--dg-shadow-raised);font:400 13px/1.6 Roboto,sans-serif;overflow-wrap:anywhere}.crypto-help-trigger svg{opacity:.45}.crypto-help-trigger:focus-visible svg,.crypto-help-trigger:hover svg{opacity:.8}@media(max-width:900px){.crypto-related ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.crypto-related ul{grid-template-columns:1fr}}.simple-crypto .text-generate-key{margin-left:auto}.crypto-config-aligned{align-items:end}.crypto-output-actions{margin-top:12px}.upload-picker{display:flex;justify-content:center;margin-inline:auto;max-width:100%;overflow-wrap:anywhere}.exif-controls{text-align:center}.exif-controls .upload-picker{width:min(100%,30rem);min-height:6rem}.exif-controls .crypto-actions{justify-content:center}.upload-picker-row{display:flex;justify-content:center}
.chacha20-fields .crypto-label-help{flex-wrap:wrap}.chacha20-fields .format-controls{margin-inline-start:auto;align-items:center;justify-content:flex-end;max-width:100%}.chacha20-fields .format-controls select{width:auto}.chacha20-fields .simple-field textarea{min-height:0;padding:.75rem}.chacha20-poly-guide .how-to-steps,.chacha20-poly-guide .crypto-features-grid{list-style:none;padding-inline-start:0}
