*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;font-size:14px;background:#f0f2f5;color:#1a1a2e;min-height:100vh}code,textarea,input[spellcheck=false]{font-family:Courier New,Courier,monospace;font-size:12px}.splash{display:flex;align-items:center;justify-content:center;height:100vh;color:#888}.setup-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.setup-card{background:#fff;border-radius:12px;padding:40px;width:100%;max-width:480px;box-shadow:0 4px 24px #00000014}.setup-card h1{font-size:24px;margin-bottom:6px}.setup-subtitle{color:#666;margin-bottom:28px}.tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:2px solid #e8eaed}.tab{padding:8px 16px;border:none;background:none;cursor:pointer;color:#666;font-size:14px;margin-bottom:-2px;border-bottom:2px solid transparent}.tab.active{color:#1a1a2e;border-bottom-color:#1a1a2e;font-weight:600}.tab:hover:not(.active){color:#333}form{display:flex;flex-direction:column;gap:16px}label{display:flex;flex-direction:column;gap:6px;font-weight:500;color:#444}.optional{font-weight:400;color:#999;font-size:12px}input[type=text],input[type=email],input[type=number],input[type=url],input:not([type]){padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .15s;width:100%}input:focus{border-color:#1a1a2e}textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;resize:vertical;outline:none;width:100%;transition:border-color .15s}textarea:focus{border-color:#1a1a2e}textarea[readonly]{background:#f8f9fa;cursor:default}.btn-primary{padding:10px 20px;background:#1a1a2e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover:not(:disabled){background:#2d2d4a}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:7px 14px;background:#1a1a2e;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-sm:hover:not(:disabled){background:#2d2d4a}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{padding:7px 14px;background:transparent;color:#555;border:1px solid #d1d5db;border-radius:6px;font-size:13px;cursor:pointer;transition:border-color .15s,color .15s}.btn-ghost:hover:not(:disabled){border-color:#888;color:#1a1a2e}.btn-danger{padding:7px 14px;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:background .15s}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger-sm{padding:4px 10px;background:transparent;color:#dc2626;border:1px solid #dc2626;border-radius:5px;font-size:12px;cursor:pointer;transition:background .15s,color .15s}.btn-danger-sm:hover{background:#dc2626;color:#fff}.decrypt-btn{font-size:13px;padding:6px 12px;cursor:pointer;color:#555}.error{color:#dc2626;font-size:13px;padding:8px 12px;background:#fef2f2;border-radius:6px;border:1px solid #fecaca}.success{color:#16a34a;font-size:13px;padding:8px 12px;background:#f0fdf4;border-radius:6px;border:1px solid #bbf7d0}.hint{color:#888;font-size:12px;margin-top:6px}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;gap:20px;padding:0 24px;height:56px;background:#1a1a2e;color:#fff;flex-shrink:0}.app-title{font-size:16px;font-weight:700}.header-fp{font-size:11px;color:#9ca3af;margin-right:auto}.app-nav{display:flex;gap:4px}.key-select{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:4px 8px;font-family:Courier New,Courier,monospace;font-size:11px;cursor:pointer;outline:none}.key-select:hover{background:#ffffff24}.key-select option{background:#1a1a2e;color:#fff}.nav-tab{padding:6px 14px;border:none;background:transparent;color:#9ca3af;font-size:14px;cursor:pointer;border-radius:6px;transition:background .15s,color .15s}.nav-tab:hover{background:#ffffff14;color:#fff}.nav-tab.active{background:#ffffff1f;color:#fff;font-weight:600}.app-main{flex:1;padding:24px;max-width:760px;width:100%;margin:0 auto}.pane{display:flex;flex-direction:column;gap:20px}.pane-header{display:flex;align-items:center;justify-content:space-between}.pane-header h2{font-size:18px}.pane-header-actions{display:flex;gap:6px}.empty{color:#888;text-align:center;padding:40px 0}.sig-pending{color:#9ca3af;font-style:italic}.sig-ok{color:#16a34a;font-weight:600}.sig-bad{color:#dc2626;font-weight:600}.input-row{display:flex;gap:8px}.input-row input{flex:1}.fp{font-size:11px;color:#555;word-break:break-all}.settings-section{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:14px}.settings-section h3{font-size:15px;color:#444}.about-list{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:13px}.about-list dt{color:#888;font-weight:500}.about-list dd{color:#1a1a2e}.settings-section--danger{border-color:#fecaca}.settings-section--danger h3{color:#dc2626}.danger-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-top:12px;border-top:1px solid #fecaca}.danger-item:first-of-type{border-top:none;padding-top:0}.danger-item strong{font-size:14px;display:block;margin-bottom:2px}.danger-item .btn-danger,.danger-item .btn-danger-sm{flex-shrink:0;align-self:center}.key-info{display:flex;flex-direction:column;gap:12px}.fp-full{display:block;word-break:break-all;font-size:13px;padding:10px;background:#f8f9fa;border-radius:6px;color:#1a1a2e}.key-actions{display:flex;flex-wrap:wrap;gap:8px}.key-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.key-row{display:flex;flex-direction:column;gap:0;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#f8f9fa}.key-row-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.key-row-active{border-color:#1a1a2e;background:#fff}.key-row-identity{display:flex;flex-direction:column;gap:3px;min-width:0}.key-row-name-row{display:flex;align-items:center;gap:8px}.key-name-input{border:none;background:transparent;font-size:14px;font-weight:600;color:#1a1a2e;padding:2px 4px;border-radius:4px;outline:none;width:180px;font-family:system-ui,-apple-system,sans-serif;transition:background .15s}.key-name-input:hover{background:#0000000a}.key-name-input:focus{background:#fff;box-shadow:0 0 0 2px #1a1a2e33}.key-name-input::placeholder{color:#bbb;font-style:italic;font-weight:400}.key-row-fp-text{font-size:11px;color:#9ca3af}.btn-ghost--active{background:#f3f4f6;border-color:#9ca3af;color:#1a1a2e}.dark .btn-ghost--active{background:#ffffff14;border-color:#6b7280;color:#c9cfe0}.key-export-panel,.key-register-panel{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.dark .key-export-panel,.dark .key-register-panel{border-color:#272748}.qr-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:1000}.qr-modal{position:relative;background:#fff;border-radius:12px;padding:32px 28px 24px;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:320px;width:calc(100% - 48px);box-shadow:0 20px 60px #0000004d}.dark .qr-modal{background:#1c1c3a;box-shadow:0 20px 60px #0009}.qr-modal-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:16px;cursor:pointer;color:#6b7280;padding:4px 6px;line-height:1}.qr-modal-close:hover{color:#111}.dark .qr-modal-close:hover{color:#e5e7eb}.qr-modal-name{font-weight:600;font-size:15px;margin:0}.qr-modal-code{border-radius:8px;padding:12px;background:#fff}.qr-modal-fp{font-size:10px;color:#6b7280;word-break:break-all;text-align:center;line-height:1.5}.qr-scanner-modal{position:relative;background:#111;border-radius:12px;padding:32px 20px 20px;display:flex;flex-direction:column;align-items:center;gap:14px;width:min(400px,calc(100vw - 48px));box-shadow:0 20px 60px #0009;color:#e5e7eb}.qr-scanner-modal .qr-modal-close{color:#9ca3af}.qr-scanner-modal .qr-modal-close:hover{color:#f3f4f6}.qr-scanner-viewport{position:relative;width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#000}.qr-scanner-video{width:100%;height:100%;object-fit:cover;display:block}.qr-scanner-canvas{display:none}.qr-scanner-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;height:60%;border:2px solid rgba(255,255,255,.8);border-radius:6px;pointer-events:none}.key-register-input{font-family:Courier New,Courier,monospace;font-size:15px;letter-spacing:.08em;text-transform:uppercase}.key-actions-menu{position:relative}.key-actions-menu-btn{padding:4px 8px;font-size:16px;line-height:1;letter-spacing:1px}.key-actions-dropdown{position:absolute;right:0;top:calc(100% + 4px);z-index:100;list-style:none;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001a;min-width:180px;padding:4px;display:flex;flex-direction:column;gap:2px}.key-actions-dropdown li button{width:100%;text-align:left;background:none;border:none;padding:8px 12px;font-size:13px;color:#1a1a2e;border-radius:5px;cursor:pointer}.key-actions-dropdown li button:hover{background:#f3f4f6}.key-actions-dropdown-danger button{color:#dc2626!important}.key-actions-dropdown-danger button:hover{background:#fef2f2!important}.dark .key-actions-dropdown{background:#1c1c3a;border-color:#272748;box-shadow:0 4px 16px #0006}.dark .key-actions-dropdown li button{color:#c9cfe0}.dark .key-actions-dropdown li button:hover{background:#272748}.dark .key-actions-dropdown-danger button{color:#f87171!important}.dark .key-actions-dropdown-danger button:hover{background:#2d0a0a!important}.key-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.badge-active{font-size:11px;font-weight:600;color:#16a34a;background:#dcfce7;border:1px solid #bbf7d0;border-radius:4px;padding:1px 6px}.add-key-form{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background:#f8f9fa;margin-top:4px}.add-key-form .tabs{margin-bottom:16px}.form-row{display:flex;gap:8px;align-items:center}.key-gen-warning{font-size:12px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:8px 12px;line-height:1.5}.dark .key-gen-warning{color:#fcd34d;background:#1c1400;border-color:#78350f}.hint-inline{font-size:12px;font-weight:400;color:#9ca3af}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.reg-mode-toggle{display:flex;align-items:center;gap:4px}.reg-mode-label{font-size:12px;color:#9ca3af;white-space:nowrap}.mode-btn{padding:3px 10px;font-size:12px;border:1px solid #d1d5db;background:transparent;color:#666;border-radius:4px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.mode-btn:hover{border-color:#888;color:#1a1a2e}.mode-btn.active{background:#1a1a2e;color:#fff;border-color:#1a1a2e}.app--chat{height:100vh;overflow:hidden}.app-main--chat{padding:0;max-width:none;width:100%;flex:1;display:flex;overflow:hidden;margin:0}.chat-layout{display:flex;flex:1;overflow:hidden}.chat-sidebar{width:260px;flex-shrink:0;border-right:1px solid #e5e7eb;background:#fff;display:flex;flex-direction:column;overflow:hidden}.chat-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.chat-sidebar-title{font-weight:600;font-size:15px}.chat-sidebar-actions{display:flex;gap:6px;align-items:center}.btn-xs{padding:3px 8px;font-size:12px}.new-chat-form{padding:12px 16px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.new-chat-form input{padding:8px 10px;font-size:12px}.new-chat-error{font-size:12px;color:#dc2626}.chat-sidebar-hint{padding:16px;font-size:13px;color:#888}.chat-sidebar-sections{overflow-y:auto;flex:1}.chat-key-section{border-bottom:1px solid #e5e7eb}.chat-key-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px 7px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f4f5f7;border-bottom:1px solid #e5e7eb}.chat-key-section-header:hover{background:#ecedf0}.chat-key-section-name{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#555;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-key-section-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.chat-key-section-toggle{font-size:11px;color:#999;padding:0 2px}.chat-convo-list{list-style:none}.chat-convo-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background .1s}.chat-convo-item:hover{background:#f8f9fa}.chat-convo-item.active{background:#eff0ff;border-left:3px solid #1a1a2e;padding-left:13px}.chat-convo-label{font-family:Courier New,Courier,monospace;font-size:12px;font-weight:600;color:#1a1a2e;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-convo-preview{font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f0f2f5}.chat-empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:#888;font-size:14px}.chat-thread-header{padding:12px 20px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.chat-thread-header-info{display:flex;flex-direction:column;gap:2px;min-width:0}.chat-thread-name{font-weight:600;font-size:14px;color:#1a1a2e;font-family:Courier New,Courier,monospace}.chat-thread-fp{font-size:11px;color:#9ca3af}.chat-thread-via{font-size:11px;color:#9ca3af;font-style:italic}.chat-mute-btn{flex-shrink:0;font-size:11px}.chat-mute-btn--muted{color:#9ca3af}.chat-context-menu{position:fixed;z-index:600;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 20px #00000024;min-width:160px;padding:4px 0;list-style:none;margin:0}.chat-context-menu li button{width:100%;background:none;border:none;text-align:left;padding:8px 14px;font-size:13px;cursor:pointer;color:#1a1a2e}.chat-context-menu li button:hover{background:#f3f4f6}.chat-context-menu-danger button{color:#dc2626!important}.dark .chat-context-menu{background:#1c1c3a;border-color:#272748;box-shadow:0 4px 20px #0006}.dark .chat-context-menu li button{color:#c9cfe0}.dark .chat-context-menu li button:hover{background:#272748}.chat-header-menu{position:relative;display:none}.chat-header-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 20px #00000024;min-width:160px;padding:4px 0;list-style:none;margin:0;z-index:200}.chat-header-dropdown li button{width:100%;background:none;border:none;text-align:left;padding:10px 14px;font-size:14px;cursor:pointer;color:#1a1a2e}.chat-header-dropdown li button:hover{background:#f3f4f6}.chat-header-dropdown-danger button{color:#dc2626!important}.dark .chat-header-dropdown{background:#1c1c3a;border-color:#272748;box-shadow:0 4px 20px #0006}.dark .chat-header-dropdown li button{color:#c9cfe0}.dark .chat-header-dropdown li button:hover{background:#272748}.chat-thread{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:6px}.chat-thread-empty{color:#888;font-size:13px;text-align:center;margin-top:32px}.chat-date-separator{display:flex;align-items:center;gap:10px;margin:8px 0;color:#9ca3af;font-size:11px}.chat-date-separator:before,.chat-date-separator:after{content:"";flex:1;border-top:1px solid #e5e7eb}.dark .chat-date-separator{color:#4b4b78}.dark .chat-date-separator:before,.dark .chat-date-separator:after{border-color:#272748}.bubble-row{display:flex;flex-direction:column}.bubble-row--out{align-items:flex-end}.bubble-row--in{align-items:flex-start}.bubble{max-width:72%;padding:9px 13px;border-radius:16px;font-size:14px;line-height:1.5;word-break:break-word;white-space:pre-wrap}.bubble--out{background:#1a1a2e;color:#fff;border-bottom-right-radius:4px}.bubble--in{background:#fff;color:#1a1a2e;border:1px solid #e5e7eb;border-bottom-left-radius:4px}.bubble-text{display:inline}.bubble-sig{font-size:11px;opacity:.65;margin-left:4px}.bubble-meta{display:flex;align-items:center;gap:6px;margin-top:2px;padding:0 4px}.bubble-meta--out{flex-direction:row-reverse}.bubble-time{font-size:11px;color:#9ca3af}.bubble-delete{background:none;border:none;color:#c4c9d4;cursor:pointer;font-size:15px;padding:0;line-height:1}.bubble-delete:hover{color:#dc2626}.chat-compose{padding:12px 16px;background:#fff;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.chat-compose-controls{display:flex;gap:10px;align-items:flex-end}.chat-compose-attachment{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f3f4f6;border-radius:8px;font-size:12px;color:#374151}.chat-attach-thumb{height:48px;width:auto;border-radius:4px;object-fit:cover;flex-shrink:0}.chat-attach-filename{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.chat-attach-size{color:#9ca3af;flex-shrink:0}.chat-attach-btn{flex-shrink:0;padding:7px 10px;display:flex;align-items:center;justify-content:center}.chat-compose-input{flex:1;resize:none;font-size:14px;padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;outline:none;font-family:system-ui,-apple-system,sans-serif;transition:border-color .15s;line-height:1.5}.chat-compose-input:focus{border-color:#1a1a2e}.chat-send-btn{align-self:flex-end;flex-shrink:0}.chat-send-error{font-size:12px;padding:4px 0;margin:0;border:none;background:none}.file-bubble{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.file-bubble-img{max-width:100%;max-height:280px;border-radius:6px;object-fit:contain;display:block}.file-bubble-info{display:flex;align-items:center;gap:8px;font-size:12px;flex-wrap:wrap}.file-bubble-name{font-weight:500;word-break:break-all}.file-bubble-size{color:#9ca3af;flex-shrink:0}.file-bubble-unavailable{color:#9ca3af;font-style:italic}.bubble--out .btn-ghost,.bubble--out .btn-xs{color:#ffffffd9;border-color:#ffffff59}.bubble--out .btn-ghost:hover:not(:disabled),.bubble--out .btn-xs:hover:not(:disabled){color:#fff;border-color:#ffffffb3}.bubble--out .file-bubble-size,.bubble--out .file-bubble-unavailable{color:#ffffff8c}.reg-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0}.reg-yes{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.reg-no{color:#9ca3af;background:#f3f4f6;border:1px solid #e5e7eb}.reg-unknown{color:#b45309;background:#fef9c3;border:1px solid #fde68a}.reg-checking{color:#9ca3af;background:#f3f4f6;border:1px solid #e5e7eb;font-style:italic;font-weight:400}.settings-row{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-bottom:8px}.settings-sub-label{display:flex;align-items:center;gap:10px;font-size:13px;color:#666;margin-top:6px}.settings-sub-label select{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;color:#111;cursor:pointer}.dark .settings-sub-label{color:#8b8ba8}.dark .settings-sub-label select{background:#1e1e3a;border-color:#3a3a5c;color:#e2e2f0}.theme-row{display:flex;align-items:center;justify-content:space-between;font-size:14px}.theme-toggle{position:relative;width:44px;height:24px;border-radius:12px;border:none;background:#d1d5db;cursor:pointer;transition:background .2s;flex-shrink:0;padding:0}.theme-toggle--on{background:#4f46e5}.theme-toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;display:block}.theme-toggle--on .theme-toggle-thumb{transform:translate(20px)}html.dark{color-scheme:dark}.dark body{background:#0d0d1a;color:#c9cfe0}.dark .app-header{background:#08080f}.dark .header-fp{color:#4b4b78}.dark .nav-tab{color:#6b7280}.dark .nav-tab:hover{background:#ffffff0f;color:#c9cfe0}.dark .nav-tab.active{background:#ffffff1a;color:#fff}.dark .key-select{background:#ffffff0f;border-color:#ffffff1f}.dark .key-select option{background:#0d0d1a}.dark .setup-card{background:#16162a;box-shadow:0 4px 24px #00000080}.dark .setup-subtitle{color:#6b7280}.dark .settings-section{background:#16162a;border-color:#272748}.dark .settings-section h3{color:#8b8ba8}.dark .settings-section--danger{border-color:#7f1d1d}.dark .settings-section--danger h3{color:#f87171}.dark .danger-item{border-color:#5c1a1a}.dark .key-row{background:#12122a;border-color:#272748}.dark .key-row-active{background:#1c1c3a;border-color:#4f46e5}.dark .key-name-input{color:#c9cfe0}.dark .key-name-input:hover{background:#ffffff0d}.dark .key-name-input:focus{background:#0d0d1a;box-shadow:0 0 0 2px #4f46e533}.dark .key-name-input::placeholder{color:#3d3d60}.dark .key-row-fp-text{color:#4b4b78}.dark .badge-active{background:#14532d;border-color:#166534;color:#4ade80}.dark .add-key-form{background:#0f0f20;border-color:#272748}.dark .tabs{border-bottom-color:#272748}.dark .tab{color:#6b7280}.dark .tab.active{color:#c9cfe0;border-bottom-color:#4f46e5}.dark .tab:hover:not(.active){color:#9ca3af}.dark input[type=text],.dark input[type=url],.dark input[type=email],.dark input[type=number],.dark input:not([type]){background:#0d0d1a;border-color:#272748;color:#c9cfe0}.dark input:focus{border-color:#4f46e5}.dark textarea{background:#0d0d1a;border-color:#272748;color:#c9cfe0}.dark textarea:focus{border-color:#4f46e5}.dark textarea[readonly]{background:#0a0a15}.dark .btn-primary{background:#4f46e5}.dark .btn-primary:hover:not(:disabled){background:#4338ca}.dark .btn-sm{background:#4f46e5}.dark .btn-sm:hover:not(:disabled){background:#4338ca}.dark .btn-ghost{color:#8b8ba8;border-color:#272748}.dark .btn-ghost:hover:not(:disabled){border-color:#4f46e5;color:#c9cfe0}.dark .btn-danger-sm{color:#f87171;border-color:#7f1d1d}.dark .btn-danger-sm:hover{background:#7f1d1d;color:#fff}.dark .mode-btn{border-color:#272748;color:#8b8ba8}.dark .mode-btn:hover{border-color:#4f46e5;color:#c9cfe0}.dark .mode-btn.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.dark .error{background:#2d0a0a;border-color:#7f1d1d;color:#fca5a5}.dark .success{background:#052e16;border-color:#14532d;color:#4ade80}.dark .hint,.dark .empty{color:#6b7280}.dark .optional{color:#4b4b78}.dark .reg-yes{background:#14532d;border-color:#166534;color:#4ade80}.dark .reg-no{background:#1a1a38;border-color:#272748;color:#6b7280}.dark .reg-unknown{background:#451a03;border-color:#78350f;color:#fbbf24}.dark .reg-checking{background:#1a1a38;border-color:#272748;color:#6b7280}.dark .recipient-info{background:#052e16;border-color:#14532d}.dark .badge-ok{color:#4ade80}.dark .fp{color:#8b8ba8}.dark .about-list dt{color:#6b7280}.dark .about-list dd{color:#c9cfe0}.dark .chat-sidebar{background:#12122a;border-color:#272748}.dark .chat-sidebar-header{border-color:#272748}.dark .chat-sidebar-title{color:#c9cfe0}.dark .chat-sidebar-hint{color:#6b7280}.dark .new-chat-form{border-color:#272748}.dark .new-chat-error{color:#f87171}.dark .chat-convo-item{border-color:#1a1a38}.dark .chat-convo-item:hover{background:#1c1c3a}.dark .chat-convo-item.active{background:#1e1e42;border-left-color:#4f46e5}.dark .chat-convo-label{color:#c9cfe0}.dark .chat-convo-preview{color:#6b7280}.dark .chat-key-section{border-color:#1a1a38}.dark .chat-key-section-header{background:#16162e;border-color:#1a1a38}.dark .chat-key-section-header:hover{background:#1c1c38}.dark .chat-key-section-name{color:#6b7280}.dark .chat-key-section-toggle{color:#3d3d60}.dark .chat-thread-via{color:#4b4b78}.dark .chat-main{background:#0a0a17}.dark .chat-empty-state{color:#6b7280}.dark .chat-thread-header{background:#12122a;border-color:#272748}.dark .chat-thread-name{color:#c9cfe0}.dark .chat-thread-fp,.dark .chat-mute-btn--muted{color:#4b4b78}.dark .chat-thread-empty{color:#6b7280}.dark .bubble--out{background:#4f46e5}.dark .bubble--in{background:#16162a;border-color:#272748;color:#c9cfe0}.dark .bubble-time{color:#4b4b78}.dark .bubble-delete{color:#3d3d60}.dark .bubble-delete:hover{color:#f87171}.dark .chat-compose{background:#12122a;border-color:#272748}.dark .chat-compose-attachment{background:#1e1e3a;color:#c9cfe0}.dark .chat-attach-size{color:#4b4b78}.dark .chat-attach-filename{color:#c9cfe0}.dark .chat-compose-input{background:#0d0d1a;border-color:#272748;color:#c9cfe0}.dark .chat-compose-input:focus{border-color:#4f46e5}.dark .chat-compose-input::placeholder{color:#3d3d60}.dark .file-bubble-size,.dark .file-bubble-unavailable{color:#4b4b78}.chat-back-btn,.app-bottom-nav{display:none}@media (max-width: 640px){input[type=text],input[type=email],input[type=number],input[type=url],input:not([type]),textarea,.chat-compose-input{font-size:16px}.app-header{padding:0 12px;padding-top:env(safe-area-inset-top,0px);height:calc(50px + env(safe-area-inset-top,0px));gap:10px}.app-title{font-size:14px}.header-fp,.app-nav{display:none}.app-main{padding:16px 12px}.setup-card{padding:24px 16px}.app--chat{height:100dvh}.app-main--chat{flex:none;height:calc(100dvh - 102px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.chat-sidebar{width:100%;border-right:none}.chat-layout--thread .chat-sidebar,.chat-layout--sidebar .chat-main{display:none}.chat-back-btn{display:inline-flex}.chat-mute-btn{display:none}.chat-header-menu{display:block}.chat-thread-header{padding:10px 12px}.chat-thread{padding:12px}.chat-compose{padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.bubble{max-width:85%}.key-row-top{flex-wrap:wrap;gap:8px 6px}.key-row-identity{flex:0 0 100%;min-width:0}.key-row-name-row{flex:1}.key-name-input{flex:1;width:auto;min-width:60px}.key-row-actions{flex-wrap:wrap;flex-shrink:1}.danger-item{flex-direction:column;align-items:flex-start;gap:10px}.input-row{flex-wrap:wrap}.settings-sub-label{flex-direction:column;align-items:flex-start}.app-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(52px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#1a1a2e;border-top:1px solid rgba(255,255,255,.1);z-index:200;align-items:stretch}}.app-bottom-nav-tab{flex:1;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#9ca3af;font-size:11px;cursor:pointer;transition:color .15s;-webkit-tap-highlight-color:transparent;padding:4px}.app-bottom-nav-tab.active{color:#fff;font-weight:600}.app-bottom-nav-tab:hover{color:#d1d5db}.dark .app-bottom-nav{background:#08080f;border-top-color:#ffffff0f}
