.onboarding-container{display:flex;justify-content:center;align-items:center;min-height:100dvh;padding:20px;background:var(--background)}.onboarding-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px;max-width:480px;width:100%;box-shadow:var(--shadow)}.onboarding-card h1{font-size:24px;margin-bottom:8px;text-align:center;color:var(--text);background:none}.onboarding-card h2{font-size:20px;margin-bottom:24px;text-align:center;color:var(--text)}.subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text);font-size:14px}.button-group{display:flex;gap:12px;margin-top:32px}.button-group button{flex:1;justify-content:center}.primary-button{background:var(--primary);color:#fff}.secondary-button{background:transparent;border:1px solid var(--border);color:var(--text)}.secondary-button:hover{background:var(--surface-raised);border-color:var(--text-secondary)}.mnemonic-box{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:20px 0}.mnemonic{background:var(--background);padding:16px;border-radius:var(--radius);font-family:Courier New,monospace;font-size:14px;line-height:1.6;margin:12px 0;word-wrap:break-word;border:1px solid var(--border);color:var(--text)}.warning{color:var(--warning);font-size:13px;margin-top:12px;background:#f59e0b1a;padding:8px 12px;border-radius:var(--radius);border:1px solid rgba(245,158,11,.2)}.error{background:#ef44441a;border:1px solid var(--error);color:var(--error);padding:12px;border-radius:var(--radius);margin:12px 0;font-size:14px}.chat-container{display:flex;flex-direction:column;height:100dvh;max-width:800px;margin:0 auto;background:var(--background);border-left:1px solid var(--border);border-right:1px solid var(--border)}.chat-header{display:flex;align-items:center;gap:16px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--surface);height:64px;z-index:10;box-shadow:none}.chat-contact-info{display:flex;align-items:center;gap:12px;flex:1}.chat-avatar{width:32px;height:32px;border-radius:50%;background:var(--surface-raised);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text);box-shadow:none}.chat-contact-name{font-weight:600;color:var(--text);font-size:14px;letter-spacing:normal;text-transform:none}.chat-contact-id{font-size:12px;color:var(--text-secondary);font-family:inherit}.messages-container{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:8px;background:var(--background)}.empty-chat{text-align:center;padding:60px 20px;color:var(--text-secondary);border:none;margin:0;background:transparent}.message{display:flex;margin-bottom:2px}.message.incoming{justify-content:flex-start}.message.outgoing{justify-content:flex-end}.message-bubble{max-width:75%;padding:8px 12px;border-radius:12px;word-wrap:break-word;position:relative;font-family:inherit;line-height:1.5;font-size:14px;box-shadow:var(--shadow-sm)}.message-bubble:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.message.incoming .message-bubble{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px}.message.outgoing .message-bubble{background:var(--primary);color:#fff;border:1px solid var(--primary);border-bottom-right-radius:4px}.message-text{margin-bottom:2px}.message-time{font-size:10px;opacity:.7;margin-top:2px;text-transform:none;letter-spacing:normal;text-align:right}.chat-input-container{display:flex;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface);position:sticky;bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}.chat-input{flex:1;background:var(--background);border:1px solid var(--border);color:var(--text);font-family:inherit;padding:10px 14px;border-radius:20px}.chat-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}.send-btn{padding:8px 20px;background:var(--primary);color:#fff;font-weight:500;border:none;border-radius:20px}.send-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow);transform:translateY(-1px)}.send-btn:disabled{background:var(--surface-raised);color:var(--text-secondary);box-shadow:none;transform:none}@media (max-width: 768px){.chat-container{border:none}.chat-header{padding:12px;gap:12px;height:auto}.back-btn{padding:8px}.messages-container{padding:16px}.message-bubble{max-width:85%;padding:10px 14px}.chat-input-container{padding:12px}}.notification-settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.notification-settings-modal{background:var(--bg-primary, #1e293b);border-radius:16px;width:90%;max-width:500px;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out;overflow:hidden}.notification-settings-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid rgba(255,255,255,.1)}.notification-settings-header h2{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #f1f5f9)}.close-btn{background:transparent;border:none;font-size:32px;color:var(--text-secondary, #94a3b8);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.close-btn:hover{background:#ffffff1a;color:var(--text-primary, #f1f5f9)}.notification-settings-content{padding:24px}.setting-item{margin-bottom:24px}.setting-info h3{margin:0 0 8px;font-size:16px;font-weight:500;color:var(--text-primary, #f1f5f9)}.status{display:inline-block;padding:8px 16px;border-radius:8px;font-weight:600;font-size:14px}.status.granted{background:#22c55e26;color:#22c55e}.status.denied{background:#ef444426;color:#ef4444}.status.default{background:#fbbf2426;color:#fbbf24}.warning-box,.info-box{padding:16px;border-radius:12px;margin:16px 0;line-height:1.5}.warning-box{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.info-box{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#93c5fd}.notification-features{margin:24px 0}.notification-features h3{font-size:16px;font-weight:500;color:var(--text-primary, #f1f5f9);margin:0 0 12px}.notification-features ul{list-style:none;padding:0;margin:0}.notification-features li{padding:10px 0;color:var(--text-secondary, #94a3b8);font-size:14px;border-bottom:1px solid rgba(255,255,255,.05)}.notification-features li:last-child{border-bottom:none}.settings-actions{margin-top:24px;display:flex;gap:12px}.enable-btn,.test-btn{flex:1;padding:14px 24px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.enable-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.enable-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f666}.test-btn{background:#ffffff1a;color:var(--text-primary, #f1f5f9);border:1px solid rgba(255,255,255,.2)}.test-btn:hover{background:#ffffff26}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.profile-container{max-width:800px;margin:0 auto;padding:20px;background:var(--background);min-height:100dvh}.profile-header{display:flex;align-items:center;gap:16px;padding:24px 0;padding-top:max(24px,env(safe-area-inset-top));border-bottom:1px solid var(--border);margin-bottom:32px}.profile-header h2{margin:0;font-size:24px;color:var(--text)}.profile-content{display:flex;flex-direction:column;gap:32px}.profile-section{background:transparent;border:none;padding:0}.profile-section h3{margin-top:0;margin-bottom:16px;color:var(--text);font-size:16px;font-weight:600}.info-item{margin-bottom:24px}.info-item label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:16px;color:var(--text)}.mesh-id-display{display:flex;gap:12px;align-items:center}.mesh-id{flex:1;background:var(--surface);padding:12px 16px;border-radius:var(--radius);font-family:inherit;font-size:14px;word-break:break-all;border:1px solid var(--border);color:var(--text-dim)}.copy-btn{padding:8px 16px;font-size:14px;background:var(--surface);color:var(--text);border:1px solid var(--border)}.copy-btn:hover{background:var(--surface-raised);border-color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stat-item{text-align:left;padding:20px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border)}.stat-value{font-size:32px;font-weight:600;color:var(--text);margin-bottom:4px;letter-spacing:-1px}.stat-label{font-size:13px;color:var(--text-secondary)}.view-map-btn{width:100%;margin-top:24px;background:var(--surface-raised);border:1px solid var(--border);color:var(--text);padding:12px;font-weight:500}.view-map-btn:hover{background:var(--surface);border-color:var(--text-secondary)}.export-btn{width:100%;background:transparent;border:1px solid var(--border);color:var(--text)}.export-btn:hover{background:var(--surface-raised)}.notification-settings-btn{width:100%;background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border:1px solid rgba(59,130,246,.3);color:var(--text);padding:14px 20px;border-radius:var(--radius);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.notification-settings-btn:hover{background:linear-gradient(135deg,#3b82f633,#2563eb33);border-color:#3b82f680;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.mnemonic-display{margin-top:24px}.warning-box{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);color:var(--warning);padding:12px 16px;border-radius:var(--radius);margin-bottom:16px;font-size:13px}.mnemonic-text{background:var(--surface);padding:20px;border-radius:var(--radius);font-family:Courier New,monospace;font-size:14px;line-height:1.6;word-wrap:break-word;border:1px solid var(--border);color:var(--text)}@media (max-width: 768px){.profile-container{padding:16px}.profile-header{padding:16px 0;margin-bottom:24px}.stats-grid{gap:12px}.stat-item{padding:16px}.stat-value{font-size:24px}.mesh-id-display{flex-direction:column;align-items:stretch}}.home-container{height:100dvh;display:flex;flex-direction:column;background:var(--background)}.header{padding:16px 24px;padding-top:max(16px,env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:20px}.logo-container{display:flex;align-items:center;gap:12px}.app-logo{width:32px;height:32px;object-fit:contain}.header-left h1{font-size:20px;font-weight:600;color:var(--text);margin:0}.mesh-signal{display:flex;flex-direction:column;gap:3px}.signal-dots{display:flex;gap:3px}.signal-dot{width:4px;height:12px;background:var(--surface-raised);border-radius:1px;transition:all .3s}.signal-dot.active{background:var(--success)}.signal-label{font-size:10px;color:var(--text-secondary);font-weight:500}.header-actions{display:flex;gap:12px}.invite-btn,.add-contact-btn{font-size:13px;padding:8px 16px;border-radius:var(--radius)}.invite-btn{background:var(--primary);color:var(--primary-foreground);border:1px solid transparent}.add-contact-btn{background:transparent;border:1px solid var(--border);color:var(--text)}.add-contact-btn:hover{background:var(--surface-raised);border-color:var(--text-secondary);transform:none}.profile-btn{background:transparent;border:none;color:var(--text-secondary);padding:8px;display:flex;align-items:center;justify-content:center}.profile-btn:hover{color:var(--primary);background:transparent}.contacts-container{flex:1;overflow-y:auto;padding:24px;max-width:800px;margin:0 auto;width:100%}.contacts-container h2{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:12px;font-weight:600;border:none;padding:0}.contacts-list{display:flex;flex-direction:column;gap:4px}.contact-item{display:flex;align-items:center;padding:12px 16px;background:transparent;border-radius:var(--radius);cursor:pointer;transition:background-color .15s ease;border:none}.contact-item:hover{background:var(--surface)}.contact-avatar{width:40px;height:40px;border-radius:50%;background:var(--surface-raised);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:var(--text);margin-right:16px;border:1px solid var(--border);box-shadow:none}.contact-info{flex:1;min-width:0}.contact-name{font-weight:500;font-size:14px;margin-bottom:2px;color:var(--text)}.contact-last-message{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:inherit}.unread-badge{background:var(--primary);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center;box-shadow:none}.empty-state{text-align:center;padding:48px 24px;color:var(--text-secondary);background:transparent;border:none}.help-text{font-size:13px;margin-top:8px;opacity:.7}.notification-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--surface);color:var(--text);padding:12px 20px;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);z-index:1000;font-size:13px;font-weight:500;letter-spacing:.01em;max-width:400px;text-align:center;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.header{flex-direction:column;align-items:stretch;padding:16px;gap:16px}.header-left{width:100%;justify-content:space-between}.header-actions{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.header-actions button{width:100%;padding:10px;font-size:14px;justify-content:center}.network-btn{margin-left:0!important}.contacts-container{padding:0}.contacts-list{gap:0}.contact-item{padding:16px;border-bottom:1px solid var(--surface);border-radius:0}}.install-prompt{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(to top,#000000f2,#000000d9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);z-index:10000;animation:slideUp .3s ease-out;padding:0 env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-prompt-content{max-width:600px;margin:0 auto;padding:24px 20px}.install-prompt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.install-prompt-header h3{color:#fff;font-size:20px;font-weight:600;margin:0}.install-prompt-close{background:#ffffff1a;border:none;color:#fff;font-size:28px;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1;padding:0}.install-prompt-close:hover{background:#fff3}.install-prompt-message{color:#ffffffb3;font-size:15px;margin:0 0 16px;line-height:1.5}.install-prompt-features{margin:16px 0;padding:16px;background:#ffffff08;border-radius:12px}.feature-item{color:#fffc;font-size:14px;padding:6px 0}.install-instructions{margin:16px 0;padding:16px;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.install-platform{font-weight:600;color:#fff;font-size:14px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.install-instructions p{color:#fffc;font-size:14px;margin:0;line-height:1.5}.install-prompt-btn{width:100%;padding:14px 24px;font-size:15px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;margin-bottom:8px;font-family:inherit}.install-prompt-btn:last-child{margin-bottom:0}.install-prompt-btn.primary{background:#fff;color:#000}.install-prompt-btn.primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.install-prompt-btn.primary:disabled{opacity:.6;cursor:not-allowed}.install-prompt-btn.secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.install-prompt-btn.secondary:hover{background:#ffffff26}.install-prompt-btn.tertiary{background:transparent;color:#fff9;border:none;font-size:14px}.install-prompt-btn.tertiary:hover{color:#fffc}@media (max-width: 480px){.install-prompt-content{padding:20px 16px}.install-prompt-header h3{font-size:18px}.install-prompt-message{font-size:14px}}@media (min-width: 768px){.install-prompt{position:fixed;top:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.install-prompt-content{background:#0f172afa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #00000080;max-width:480px;padding:32px;animation:modalSlideUp .3s ease-out}@keyframes modalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}}:root{--background: #09090b;--surface: #18181b;--surface-raised: #27272a;--border: #3f3f46;--primary: #3b82f6;--primary-hover: #2563eb;--primary-foreground: #ffffff;--text: #f4f4f5;--text-secondary: #a1a1aa;--text-dim: #71717a;--success: #10b981;--error: #ef4444;--warning: #f59e0b;--radius: 6px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--background);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}.app-container{max-width:1200px;margin:0 auto;padding:20px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-raised);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border)}button{cursor:pointer;border:1px solid transparent;background:var(--primary);color:var(--primary-foreground);padding:10px 16px;border-radius:var(--radius);font-size:14px;font-weight:500;font-family:inherit;transition:all .2s ease}button:hover{background:var(--primary-hover);transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}input,textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:var(--radius);font-size:14px;font-family:inherit;width:100%;transition:all .2s}input:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}h1,h2,h3,h4,h5,h6{color:var(--text);margin-bottom:.5rem;font-weight:600;letter-spacing:-.025em}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.back-btn{background:transparent;padding:8px 12px;border:none;color:var(--text-secondary);font-size:14px}.back-btn:hover{color:var(--text);background:var(--surface-raised);transform:none}
