.crykey-aperture { max-width: 420px; margin: 0 auto; padding: 0 20px 28px; border: 0; background: transparent; }
.crykey-aperture h1 { font-size: 28px; margin: 8px 0 24px; overflow-wrap: anywhere; }
.crykey-form { display: grid; gap: 18px; text-align: left; }
.genesis__crykey { display: grid; gap: 18px; margin: 18px 0; }
.crykey-form label, .crykey-field { display: grid; gap: 8px; font-size: 14px; color: #c3d3e7; }
.crykey-form input:not([type="hidden"]), .crykey-field input { width: 100%; min-width: 0; min-height: 48px; font-size: 16px; padding: 10px 12px; background: #101b22; color: #edf4ff; border: 1px solid #466073; border-radius: 4px; letter-spacing: 0; }
.crykey-input { display: flex; align-items: center; gap: 4px; }
.crykey-input input { flex: 1; }
.crykey-input button, .crykey-generate button { min-width: 44px; min-height: 44px; display: inline-flex; gap: 8px; align-items: center; justify-content: center; padding: 8px; border: 0; background: transparent; color: #a8caff; border-radius: 4px; }
.crykey-aperture svg.lucide, .crykey-field svg.lucide, .crykey-generate svg.lucide { width: 20px; height: 20px; flex-shrink: 0; }
.crykey-aperture .crykey-submit { min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid #689cfa; border-radius: 4px; background: #172f54; color: #e4efff; box-shadow: 0 0 18px #246aff33; font-size: 16px; }
.crykey-motto { font-size: 12px; color: #aebccc; margin-top: -10px; text-align: left; }
.crykey-generate { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: -14px; }
.crykey-generate small, .crykey-note { color: #aebccc; font-size: 12px; line-height: 1.5; }
.crykey-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #b6d2ff; }
.crykey-secondary { display: flex; align-items: center; justify-content: center; min-height: 48px; margin-top: 12px; color: #b6d2ff; }
.crykey-recovery { text-align: left; margin-top: 16px; font-size: 13px; color: #b6c7d8; }
.crykey-recovery summary { cursor: pointer; min-height: 44px; align-content: center; }
.crykey-recovery p { font-size: 13px; line-height: 1.6; }
.crykey-aperture .crykey-saved { color: #b0e5cc; font-size: 14px; }
.crykey-aperture :focus-visible, .crykey-field :focus-visible, .crykey-generate :focus-visible { outline: 2px solid #a8caff; outline-offset: 3px; }
@media (max-width: 600px) {
    .access-body .access-shell { padding-top: max(8px, env(safe-area-inset-top)); }
    .access-body .access-crown { margin-bottom: 16px; }
}
