.terminal-scanlines:after{content:"";position:fixed;inset:0;background:repeating-linear-gradient(transparent,transparent 2px,rgba(0,0,0,.08) 0,rgba(0,0,0,.08) 4px);pointer-events:none;z-index:9999}.terminal-grid{background-color:#050505;background-image:linear-gradient(rgba(0,255,245,.03) 1px,transparent 0),linear-gradient(90deg,rgba(0,255,245,.03) 1px,transparent 0);background-size:40px 40px}.neon-cyan{color:#00fff5;text-shadow:0 0 7px rgba(0,255,245,.7),0 0 20px rgba(0,255,245,.4)}.neon-green{color:#39ff14;text-shadow:0 0 7px rgba(57,255,20,.7),0 0 20px rgba(57,255,20,.4)}.glitch-text{position:relative;display:inline-block}.glitch-text:after,.glitch-text:before{content:attr(data-text);position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden}.glitch-text:before{color:#00fff5;animation:glitch-1 4s linear infinite;clip-path:inset(0 0 80% 0)}.glitch-text:after{color:#00fff5;animation:glitch-2 4s linear infinite;clip-path:inset(80% 0 0 0)}@keyframes glitch-1{0%,to{transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px,2px)}80%{transform:translate(1px,-2px)}}@keyframes glitch-2{0%,to{transform:translate(0)}20%{transform:translate(2px,-1px)}40%{transform:translate(-2px,1px)}60%{transform:translate(1px,-2px)}80%{transform:translate(-1px,2px)}}.holographic{position:relative;overflow:hidden}.holographic:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(0,255,245,.06) 45%,rgba(0,255,245,.03) 50%,transparent 55%);background-size:200% 100%;animation:shimmer 3s ease-in-out infinite;pointer-events:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.terminal-boot{position:fixed;inset:0;background:#050505;display:flex;align-items:center;justify-content:center;z-index:10000;cursor:pointer;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace}.boot-container{text-align:center}.boot-logo{font-size:.5rem;line-height:1.1;margin-bottom:2rem;letter-spacing:-.5px}@media (min-width:640px){.boot-logo{font-size:.75rem}}.boot-lines{text-align:left;max-width:500px;margin:0 auto}.boot-text{font-size:.8rem;margin-bottom:.3rem;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace}.boot-line-enter{animation:boot-fade-in .3s ease-out}@keyframes boot-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.boot-skip{margin-top:3rem;font-size:.65rem;color:#52525b;letter-spacing:.1em}.terminal-shell{min-height:100vh;display:flex;flex-direction:column;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;color:#a1a1aa;font-size:.85rem}.terminal-main{flex:1;display:flex;flex-direction:column;padding-top:3rem}@media (min-width:768px){.terminal-main{flex-direction:row}}.terminal-sidebar{width:100%;border-bottom:1px solid #1e1e22;padding:1rem;overflow-y:auto;max-height:50vh}@media (min-width:768px){.terminal-sidebar{width:380px;max-height:none;height:calc(100vh - 3rem);border-bottom:none;border-right:1px solid #1e1e22}.terminal-sidebar-hidden{display:block}}@media (max-width:767px){.terminal-sidebar-hidden{display:none}}.sidebar-divider{border-top:1px solid #1e1e22;margin:.75rem 0}.terminal-content{flex:1;display:flex;flex-direction:column;min-height:50vh;position:relative}@media (min-width:768px){.terminal-content{min-height:auto;height:calc(100vh - 3rem)}}.terminal-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.empty-icon{font-size:3rem;opacity:.3}.empty-title{font-size:1.2rem;letter-spacing:.15em}.empty-subtitle{max-width:360px;color:#71717a;line-height:1.6}.status-hud{position:fixed;top:0;left:0;right:0;height:3rem;gap:1.5rem;padding:0 1rem;background:rgba(5,5,5,.9);border-bottom:1px solid #1e1e22;z-index:100;backdrop-filter:blur(8px);font-size:.75rem}.hud-item,.status-hud{display:flex;align-items:center}.hud-item{gap:.4rem}.hud-dot{width:6px;height:6px;border-radius:50%}.hud-dot-online{background:#39ff14;box-shadow:0 0 6px #39ff14}.hud-dot-offline{background:#ff3131;box-shadow:0 0 6px #ff3131}.hud-dot-checking{background:#00fff5;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.hud-dot-incoming{background:#00fff5;box-shadow:0 0 6px #00fff5;animation:pulse 1s infinite}.hud-label{color:#52525b;letter-spacing:.1em;text-transform:uppercase}.hud-value{color:#a1a1aa}.identity-forge{display:flex;flex-direction:column;gap:.3rem}.identity-callsign-row{display:flex;align-items:center;gap:.5rem}.identity-callsign{font-size:1.1rem;color:#00fff5;letter-spacing:.05em}.identity-regen-inline{padding:.1rem .35rem;font-size:.55rem;font-family:inherit;background:transparent;border:1px solid #27272a;color:#52525b;cursor:pointer;transition:all .15s;letter-spacing:.05em}.identity-regen-inline:hover{border-color:#00fff5;color:#00fff5}.identity-cancel-inline{padding:.1rem .3rem;font-size:.55rem;font-family:inherit;background:transparent;border:1px solid #27272a;color:#52525b;cursor:pointer;transition:all .15s}.identity-cancel-inline:hover{border-color:#ff3131;color:#ff3131}.identity-address{display:flex;align-items:flex-start;gap:.4rem}.identity-key{font-size:.7rem;color:#52525b;word-break:break-all;cursor:pointer;transition:color .15s}.identity-key:hover{color:#71717a}.identity-key-full{color:#a1a1aa;font-size:.75rem}.identity-copy-btn{padding:.15rem .4rem;font-size:.6rem;font-family:inherit;background:transparent;border:1px solid rgba(0,255,245,.25);color:#00fff5;cursor:pointer;transition:all .15s;letter-spacing:.05em;white-space:nowrap;flex-shrink:0}.identity-copy-btn:hover{background:rgba(0,255,245,.1);border-color:#00fff5}.identity-copy-btn-copied{border-color:#39ff14;color:#39ff14;background:rgba(57,255,20,.1)}.identity-status{font-size:.7rem}.identity-cancel,.identity-regen{margin-top:.3rem;padding:.25rem .5rem;font-size:.7rem;font-family:inherit;background:transparent;border:1px solid #1e1e22;color:#71717a;cursor:pointer;transition:all .15s;letter-spacing:.05em}.identity-regen:hover{border-color:#00fff5;color:#00fff5}.identity-cancel{margin-left:.3rem}.identity-cancel:hover{border-color:#ff3131;color:#ff3131}.connect-panel{display:flex;flex-direction:column;gap:.5rem}.connect-title{font-size:.8rem;letter-spacing:.15em;margin:0}.connect-input-row{display:flex;gap:.5rem}.connect-btn{padding:.4rem .8rem;font-size:.75rem;font-family:inherit;background:rgba(0,255,245,.1);border:1px solid rgba(0,255,245,.3);color:#00fff5;cursor:pointer;white-space:nowrap;transition:all .15s;letter-spacing:.05em}.connect-btn:hover:not(:disabled){background:rgba(0,255,245,.2);border-color:#00fff5}.connect-btn:disabled{opacity:.4;cursor:not-allowed}.connect-status{font-size:.75rem}.terminal-input{flex:1;padding:.4rem .6rem;font-size:.8rem;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;background:rgba(0,0,0,.4);border:1px solid #1e1e22;color:#fafafa;outline:none;transition:border-color .15s}.terminal-input:focus{border-color:#00fff5;box-shadow:0 0 8px rgba(0,255,245,.15)}.terminal-input::-moz-placeholder{color:#3f3f46;letter-spacing:.05em}.terminal-input::placeholder{color:#3f3f46;letter-spacing:.05em}.comm-channel{flex:1;display:flex;flex-direction:column;height:100%}.comm-header{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;border-bottom:1px solid #1e1e22;background:rgba(5,5,5,.6)}.comm-back{padding:.25rem .5rem;font-size:.75rem;font-family:inherit;background:transparent;border:1px solid #1e1e22;color:#71717a;cursor:pointer;transition:all .15s}.comm-back:hover{border-color:#00fff5;color:#00fff5}.comm-peer{display:flex;flex-direction:column;flex:1;min-width:0}.comm-peer-key,.comm-thread-id{font-size:.65rem;color:#3f3f46}.comm-messages{flex:1;overflow-y:auto;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.15rem}.comm-system-msg{text-align:center;color:#3f3f46;font-size:.7rem;padding:.25rem 0;letter-spacing:.1em}.comm-msg{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:.8rem;line-height:1.5}.comm-msg-system{color:#ff3131}.comm-msg-time{color:#3f3f46;font-size:.7rem;flex-shrink:0}.comm-msg-sender{font-weight:600;flex-shrink:0}.comm-msg-lock{font-size:.7rem;flex-shrink:0}.comm-msg-body{word-break:break-word}.msg-status{font-size:.6rem;letter-spacing:.1em;flex-shrink:0}.comm-input-area{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-top:1px solid #1e1e22;background:rgba(5,5,5,.6)}.comm-encrypt-toggle{display:flex;align-items:center;gap:.3rem;font-size:.7rem;cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.comm-encrypt-toggle input{display:none}.comm-input{flex:1}.comm-send-btn{padding:.4rem .8rem;font-size:.75rem;font-family:inherit;background:rgba(0,255,245,.1);border:1px solid rgba(0,255,245,.3);color:#00fff5;cursor:pointer;white-space:nowrap;transition:all .15s;letter-spacing:.05em}.comm-send-btn:hover:not(:disabled){background:rgba(0,255,245,.2);border-color:#00fff5}.comm-send-btn:disabled{opacity:.4;cursor:not-allowed}.comm-attach-btn{padding:.4rem .6rem;font-size:.85rem;font-family:inherit;background:rgba(0,255,245,.08);border:1px solid rgba(0,255,245,.25);color:#00fff5;cursor:pointer;transition:all .15s;line-height:1}.comm-attach-btn:hover:not(:disabled){background:rgba(0,255,245,.15);border-color:#00fff5}.comm-attach-btn:disabled{opacity:.4;cursor:not-allowed}.comm-file-input{display:none}.comm-pending-file{display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;background:rgba(0,255,245,.06);border:1px solid rgba(0,255,245,.2);border-bottom:none;font-size:.75rem}.comm-pending-file-icon{font-size:.8rem}.comm-pending-file-name{color:#00fff5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.comm-pending-file-size{color:#52525b}.comm-pending-file-remove{margin-left:auto;background:none;border:1px solid rgba(255,80,80,.3);color:#ff5050;cursor:pointer;font-size:.65rem;padding:.1rem .35rem;line-height:1;transition:all .15s}.comm-pending-file-remove:hover{background:rgba(255,80,80,.15);border-color:#ff5050}.comm-attachment{display:inline-flex;align-items:center;gap:.35rem}.comm-attachment-icon{font-size:.85rem}.comm-attachment-name{color:#00fff5}.comm-attachment-size{color:#52525b;font-size:.7rem}.comm-download-btn{padding:.1rem .4rem;font-size:.6rem;font-family:inherit;background:rgba(0,255,245,.08);border:1px solid rgba(0,255,245,.25);color:#00fff5;cursor:pointer;transition:all .15s;letter-spacing:.05em;margin-left:.3rem}.comm-download-btn:hover{background:rgba(0,255,245,.15);border-color:#00fff5}.notifications-container{position:absolute;top:.5rem;right:.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:200;max-width:320px;max-height:calc(100% - 1rem);overflow-y:auto;pointer-events:none}.notification{background:rgba(10,10,10,.95);border:1px solid #1e1e22;border-left:3px solid #00fff5;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.3rem;backdrop-filter:blur(8px);pointer-events:auto;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.8rem;box-shadow:0 0 15px rgba(0,255,245,.08)}.notification-enter{animation:notification-slide-in .3s ease-out}@keyframes notification-slide-in{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.notification-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.notification-tag{font-size:.6rem;color:#00fff5;letter-spacing:.1em}.notification-time{font-size:.65rem;color:#3f3f46}.notification-sender{font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:.3rem}.notification-lock{font-size:.7rem}.notification-body{color:#71717a;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-actions{display:flex;gap:.4rem;margin-top:.2rem}.notification-reply-btn{padding:.2rem .5rem;font-size:.65rem;font-family:inherit;background:rgba(0,255,245,.1);border:1px solid rgba(0,255,245,.3);color:#00fff5;cursor:pointer;transition:all .15s;letter-spacing:.05em}.notification-reply-btn:hover{background:rgba(0,255,245,.2);border-color:#00fff5}.notification-dismiss-btn{padding:.2rem .5rem;font-size:.65rem;font-family:inherit;background:transparent;border:1px solid #1e1e22;color:#52525b;cursor:pointer;transition:all .15s}.notification-dismiss-btn:hover{border-color:#52525b;color:#71717a}.contacts-panel{display:flex;flex-direction:column;gap:.5rem}.contacts-title{font-size:.8rem;letter-spacing:.15em;margin:0}.contacts-count{color:#52525b;font-size:.7rem}.contacts-list{display:flex;flex-direction:column;gap:.35rem}.contacts-empty{color:#3f3f46;font-size:.75rem;text-align:center;padding:.5rem 0;letter-spacing:.1em}.contact-item{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid #1e1e22;padding:.4rem 0}.contact-info{flex:1;min-width:0}.contact-name{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-key{font-size:.65rem;color:#3f3f46}.contact-actions{display:flex;gap:.3rem;flex-shrink:0}.contact-chat-btn{padding:.2rem .5rem;font-size:.65rem;font-family:inherit;background:rgba(0,255,245,.1);border:1px solid rgba(0,255,245,.3);color:#00fff5;cursor:pointer;transition:all .15s;letter-spacing:.05em}.contact-chat-btn:hover{background:rgba(0,255,245,.2);border-color:#00fff5}.contact-remove-btn{padding:.2rem .4rem;font-size:.65rem;font-family:inherit;background:transparent;border:1px solid #1e1e22;color:#52525b;cursor:pointer;transition:all .15s}.contact-remove-btn:hover{border-color:#ff3131;color:#ff3131}.contact-remove-confirm{color:#ff3131;border-color:rgba(255,49,49,.4);background:rgba(255,49,49,.08);letter-spacing:.05em}.save-contact-row{display:flex;gap:.3rem;align-items:center}.save-contact-input{width:100px;padding:.2rem .4rem;font-size:.7rem}.save-contact-confirm{padding:.2rem .5rem;font-size:.65rem;font-family:inherit;background:rgba(0,255,245,.1);border:1px solid rgba(0,255,245,.3);color:#00fff5;cursor:pointer;transition:all .15s;letter-spacing:.05em;white-space:nowrap}.save-contact-confirm:hover:not(:disabled){background:rgba(0,255,245,.2);border-color:#00fff5}.save-contact-confirm:disabled{opacity:.4;cursor:not-allowed}.save-contact-cancel{padding:.2rem .5rem;font-size:.65rem;font-family:inherit;background:transparent;border:1px solid #1e1e22;color:#52525b;cursor:pointer;transition:all .15s;white-space:nowrap}.save-contact-cancel:hover{border-color:#52525b;color:#71717a}.comm-save-btn{padding:.25rem .5rem;font-size:.7rem;font-family:inherit;background:rgba(0,255,245,.1);border:1px solid rgba(0,255,245,.3);color:#00fff5;cursor:pointer;transition:all .15s;letter-spacing:.05em;white-space:nowrap}.comm-save-btn:hover{background:rgba(0,255,245,.2);border-color:#00fff5}.thread-list{display:flex;flex-direction:column;gap:.5rem}.thread-list-title{font-size:.8rem;letter-spacing:.15em;margin:0}.thread-list-count{font-size:.7rem;color:#52525b}.thread-list-items{gap:.35rem;max-height:200px;overflow-y:auto}.thread-item,.thread-list-items{display:flex;flex-direction:column}.thread-item{padding:.5rem .6rem;background:rgba(17,17,19,.6);border:1px solid #1e1e22;cursor:pointer;transition:all .15s;gap:.2rem}.thread-item:hover{border-color:#00fff5;box-shadow:0 0 8px rgba(0,255,245,.06)}.thread-item-active{border-color:rgba(0,255,245,.4);background:rgba(0,255,245,.04)}.thread-item-header{display:flex;justify-content:space-between;align-items:center}.thread-item-peer{font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-item-time{font-size:.6rem;color:#52525b;white-space:nowrap}.thread-item-preview{font-size:.7rem;color:#71717a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-item-meta{font-size:.6rem;color:#3f3f46;letter-spacing:.05em}