:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#eef2ef;color:#17211d;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:320px;min-height:100%;overflow:hidden;background:#eef2ef}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{display:grid;grid-template-columns:clamp(340px,24.6vw,420px) minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden;background:#eef2ef}.auth-shell{display:grid;min-height:100dvh;place-items:center;padding:28px;background:linear-gradient(#eef2efe6,#eef2efe6),#eef2ef}.auth-panel{display:grid;gap:28px;width:min(560px,100%);border:1px solid #d6dfda;background:#f8faf8;padding:32px;box-shadow:0 24px 70px #1019151f}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{font-size:22px}.auth-brand span{margin-top:2px;color:#65746e;font-size:13px}.auth-copy h1{margin:0;font-size:34px;line-height:1.05}.auth-copy p:last-child{margin:12px 0 0;color:#586760;line-height:1.5}.auth-actions{display:grid;gap:14px}.primary-auth-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:0;background:#1f8a70;color:#fff;padding:0 18px;font-weight:900}.wallet-picker{display:grid;gap:12px}.wallet-picker label,.claim-input{display:grid;gap:7px;color:#52625b;font-size:13px;font-weight:800}.wallet-picker select,.claim-input div{min-height:44px;border:1px solid #cbd5cf;background:#fff}.wallet-picker select{width:100%;color:#17211d;padding:0 12px}.claim-input div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 12px}.claim-input input{min-width:0;border:0;outline:0}.claim-hint{color:#718079;font-size:12px}.claim-hint.warning{color:#8a2f22}.wallet-summary{display:flex;align-items:center;gap:9px;min-height:44px;border:1px solid #d7dfdb;background:#fff;color:#203029;padding:0 12px}.wallet-summary span{min-width:0;flex:1}.wallet-summary b{display:block;color:#617168;font-size:12px}.wallet-summary button,.profile-signout{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d7dfdb;background:#fff;color:#51615a}.auth-error{margin:0}.sidebar{display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto auto auto;gap:18px;min-height:0;padding:24px;overflow:hidden;background:#101915;color:#f4f7f3}.sidebar-self-card,.sidebar-settings-panel,.sidebar-bottom-dock{display:none}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);background:#1f8a70}.brand strong,.brand span{display:block}.brand strong{font-size:22px;letter-spacing:0}.brand span{margin-top:2px;color:#aebbb4;font-size:13px}.search-box{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:42px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#aebbb4;padding:0 12px}.search-box input{width:100%;border:0;outline:0;background:transparent;color:#f4f7f3}.search-box input::placeholder{color:#91a19a}.contact-tabs{display:none}.contact-tabs button{min-width:0;min-height:34px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#d6e0db;padding:0 12px;font-size:13px;font-weight:800}.contact-tabs b{display:inline-grid;place-items:center;min-width:22px;min-height:20px;margin-left:6px;background:#ffffff24;color:inherit;font-size:11px}.contact-tabs .active{border-color:#8fcdbd6b;background:#1f8a7038;color:#bff4e5}.conversation-list{min-height:0;overflow-y:auto}.section-label{margin:0 0 10px;color:#81938b;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.conversation{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:74px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#fff;padding:12px;text-align:left}.conversation.active{border-color:#8fcdbda3;background:#ffffff1f}.conversation.incoming{border-color:#8fcdbddb;background:#1f8a7029}.conversation.incoming:before{content:"";position:absolute;inset:10px auto 10px 0;width:3px;background:#43c09b}.conversation.incoming .avatar{border-color:#8fcdbd94;background:#1f8a70;color:#f4fffb!important}.conversation.incoming time{align-self:center;min-height:24px;padding:5px 8px;background:#43c09b29;color:#bdeede;font-size:11px;font-weight:900;text-transform:uppercase}.conversation span,.conversation strong,.conversation small{display:block;min-width:0}.conversation strong{font-size:15px}.conversation small{margin-top:4px;overflow:hidden;color:#aebbb4;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.conversation time{align-self:start;color:#8fa29a;font-size:12px}.conversation-empty{display:grid;min-height:62px;place-items:center;border:1px solid rgba(255,255,255,.12);color:#91a19a;font-size:13px;font-weight:800}.avatar{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;background:#dce7df;color:#163129;font-size:13px;font-weight:800;overflow:hidden}.avatar.self{background:#1f8a70;color:#f4fffb}.avatar.large{width:52px;height:52px}.avatar img{width:100%;height:100%;object-fit:cover}.connection-card,.profile-card{border-top:1px solid rgba(255,255,255,.12);padding-top:16px}.sidebar-section-title{margin:0 0 12px;color:#81938b;font-size:12px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.connection-row{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:#dbe4df}.connection-row b{margin-left:auto;padding:3px 8px;background:#ffffff1f;color:#dfe8e3;font-size:12px;text-transform:uppercase}.connection-row b.ok,.connection-row b.synced{background:#1f8a704d;color:#bff4e5}.connection-row b.syncing,.connection-row b.checking{background:#dba43e42;color:#ffe2a5}.connection-row b.down{background:#bd4a3b4d;color:#ffd6d0}.cloud-row{margin-top:14px}.connection-card input{width:100%;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#f4f7f3;padding:10px 11px;outline:none}.cloud-sync-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#dfe8e3;font-size:13px;font-weight:800}.cloud-sync-button:hover:not(:disabled){border-color:#bff4e573;background:#1f8a702e;color:#f4fffb}.profile-heading{display:flex;align-items:center;gap:12px}.profile-heading span{min-width:0;flex:1}.profile-heading span,.profile-heading small,.profile-heading strong{display:block}.profile-heading small{color:#8fa29a;font-size:12px}.profile-heading strong{margin-top:2px;color:#fff}.profile-note{margin:12px 0 0;color:#9cafaa;font-size:13px;line-height:1.45}.profile-editor{display:grid;gap:10px;margin-top:14px}.profile-editor label{display:grid;gap:6px;color:#8fa29a;font-size:12px;font-weight:800}.profile-editor input,.profile-editor textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#f4f7f3;padding:9px 10px;outline:none}.profile-editor textarea{height:64px;min-height:64px}.profile-image-picker{display:inline-flex!important;align-items:center;justify-content:center;gap:8px!important;min-height:36px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#dfe8e3!important}.profile-image-picker input{display:none}.theme-dock-heading{display:flex;align-items:center;gap:7px;margin-bottom:10px;color:#aebbb4;font-size:12px;font-weight:900;text-transform:uppercase}.settings-theme-picker{display:grid;gap:10px;padding-top:4px}.theme-buttons{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.theme-button{display:grid;place-items:center;min-width:0;height:30px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#cbd8d1;font-size:10px;font-weight:900}.theme-button.active{border-color:#8fcdbdc7;background:#1f8a70;color:#fff}.theme-button:hover{border-color:#8fcdbd94}.chat-panel{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;min-width:0;min-height:0;height:100%;overflow:hidden}.chat-header{grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 36px 18px;border-bottom:1px solid #d9e0dc;background:#f7f8f4f0}.chat-title{display:flex;align-items:center;gap:14px;min-width:0}.eyebrow{margin:0 0 5px;color:#65746e;font-size:12px;font-weight:800;text-transform:uppercase}h1{margin:0;color:#16211d;font-size:30px;line-height:1.05;letter-spacing:0}.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.mobile-secure-actions{display:none}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #cbd5cf;background:#fff;color:#23312b}.icon-button.danger{color:#8a2f22}.icon-button.danger:hover{border-color:#e3b2a8;background:#fff4f1}.icon-button.call,.icon-button.accept{color:#1f8a70}.icon-button.call:hover,.icon-button.accept:hover{border-color:#8fcdbd;background:#edf8f4}.sync-state{display:flex;align-items:center;gap:7px;color:#53625c;font-size:14px}.trust-bar{grid-row:2;display:flex;align-items:center;gap:8px;min-height:42px;padding:0 36px;border-bottom:1px solid #d9e0dc;background:#edf4ef;color:#4d6259;font-size:14px}.trust-bar span{min-width:0}.call-banner{grid-row:3;display:flex;align-items:center;gap:8px;min-height:42px;padding:0 36px;border-bottom:1px solid #d9e0dc;background:#f1f8f5;color:#2f6f58;font-size:14px;font-weight:700}.call-banner.warning{background:#fff4f1;color:#8a2f22}.call-banner.incoming{background:#eef8ff;color:#245b7a}.error-banner{grid-row:4;display:flex;align-items:center;gap:10px;margin:14px 36px 0;padding:12px 14px;background:#fff4f1;border:1px solid #f0c4bb;color:#8a2f22}.remote-video-wrap,.local-video-wrap{position:relative;min-width:0;min-height:0;overflow:hidden;background:#0d1512}.remote-video,.local-video{display:block;width:100%;height:100%;object-fit:cover;background:#0d1512}.video-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:12px;color:#e8f0ec;text-align:center}.video-placeholder strong{font-size:14px;font-weight:800}.local-video-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#102019;color:#cfe6de;font-weight:900}.message-history{grid-row:5;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:28px 36px}.message-history.friend-flow{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.message-history.friend-flow .empty-state{min-height:0}.empty-state{display:grid;place-items:center;align-content:center;min-height:100%;color:#5f6d67;text-align:center}.empty-state h2{margin:18px 0 8px;color:#1f2a25;font-size:24px}.empty-state p{max-width:440px;margin:0;line-height:1.5}.pending-request-preview{display:grid;gap:26px;padding:10px 0}.day-divider{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;color:#74817b;font-size:13px}.day-divider:before,.day-divider:after{content:"";height:1px;background:#dde5e1}.request-message-preview{display:flex;align-items:center;gap:12px}.request-message-preview .avatar{width:46px;height:46px;border-radius:999px;background:#35a872;color:#fff!important}.request-bubble{display:flex;align-items:center;gap:22px;max-width:min(520px,72%);border:1px solid #dce5e1;border-radius:12px;background:#fff;padding:15px 18px}.request-bubble p{margin:0;color:#17211d;font-size:16px}.request-bubble time{color:#7b8983;font-size:12px;white-space:nowrap}.friend-gate{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;justify-content:space-between;gap:22px;margin:0 0 18px;border:1px solid #d1ddd7;background:#f8faf8;padding:26px 30px}.friend-avatar{width:74px;height:74px;background:#1f8a70;color:#fff!important;font-size:22px}.friend-request-copy{min-width:0}.friend-gate h2{margin:0;color:#17211d;font-size:22px}.friend-request-copy p{margin:6px 0 0;color:#617168}.friend-gate small{display:block;margin-top:12px;color:#6c7a74;font-size:13px}.friend-request-form{display:flex;align-items:center;gap:10px}.friend-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.friend-request-form input{width:170px;height:42px;border:1px solid #cbd5cf;background:#fff;color:#17211d;padding:0 11px;outline:none}.friend-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;background:#1f8a70;color:#fff;padding:0 15px;font-weight:900}.friend-action.secondary{border:1px solid #cbd5cf;background:#fff;color:#5f6d67}.friend-action.secondary:hover{border-color:#d7b4aa;background:#fff4f1;color:#8a2f22}.message{width:min(620px,86%);margin:0 0 14px;padding:15px 17px 12px;background:#fff;border:1px solid #d8e0dc}.message.mine{margin-left:auto;background:#163129;border-color:#163129;color:#f5faf7}.message-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;color:#6b7a73;font-size:12px;font-weight:800;text-transform:uppercase}.message.mine .message-meta{color:#9ac8ba}.message p{margin:0;white-space:pre-wrap;line-height:1.48;overflow-wrap:anywhere}.receipt{display:flex;align-items:center;gap:5px;margin-top:10px;color:#718079;font-size:12px}.message.mine .receipt{color:#9ac8ba}.attachment{display:flex;align-items:center;gap:8px;max-width:100%;margin-top:12px;border:1px solid #cfd8d3;background:#f8faf8;color:#18231f;padding:9px 10px}.attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment small{margin-left:auto;color:#708078}.composer{grid-row:6;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:end;padding:18px 36px 26px;border-top:1px solid #d9e0dc;background:#f7f8f4f5}.file-picker{display:grid;place-items:center;width:46px;height:46px;border:1px solid #cbd5cf;background:#fff;color:#22312b}.file-picker.attached{color:#fff;background:#2f6f9f;border-color:#2f6f9f}.file-picker input{display:none}textarea{width:100%;height:46px;min-height:46px;resize:none;border:1px solid #cbd5cf;background:#fff;color:#16211d;padding:12px 13px;outline:none}textarea:focus,.connection-card input:focus,.search-box:focus-within{border-color:#1f8a70}.send-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:104px;height:46px;border:0;background:#1f8a70;color:#fff;padding:0 18px;font-weight:800}.send-button:disabled{cursor:not-allowed;background:#aebbb4}.spin{animation:spin .8s linear infinite}.call-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:28px;background:#0a110eb8}.call-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(980px,100%);max-height:calc(100dvh - 56px);overflow:hidden;background:#111b17;color:#eef7f3;box-shadow:0 24px 80px #0000005c}.call-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.12)}.call-dialog-header h2{margin:0;font-size:24px;line-height:1.1}.call-status{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;background:#ffffff14;color:#cfe2da;font-size:13px;font-weight:800}.call-status.connected{background:#1f8a7042;color:#bff4e5}.call-dialog-body{position:relative;display:grid;min-height:0;padding:18px;background:#0b120f}.call-dialog-body .remote-video-wrap{min-height:min(56vw,520px);aspect-ratio:16 / 9}.call-dialog-body .local-video-wrap{position:absolute;right:34px;bottom:34px;width:min(210px,24vw);aspect-ratio:16 / 10;border:1px solid rgba(255,255,255,.22);box-shadow:0 16px 40px #00000059}.call-dialog-actions{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px 20px;border-top:1px solid rgba(255,255,255,.12)}.call-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:48px;height:44px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#f4faf7;padding:0 16px;font-weight:800}.call-action.accept{border-color:#1f8a70;background:#1f8a70}.call-action.danger{border-color:#b84c3d;background:#8a2f22}.app-shell[data-theme=mobile]{grid-template-columns:clamp(390px,25.4vw,428px) minmax(0,1fr);background:#f7f9f8}.app-shell[data-theme=mobile] .sidebar{grid-template-areas:"brand" "self" "settings" "search" "tabs" "list" "dock";grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto;gap:14px;padding:26px 18px;background:linear-gradient(180deg,#19202bfa,#0c141cfc),#111820;color:#f5faf8}.app-shell[data-theme=mobile] .brand{grid-area:brand;gap:14px}.app-shell[data-theme=mobile] .brand-mark{width:54px;height:54px;border-color:#1f8a70b8;background:#1f8a7029;color:#22b98e}.app-shell[data-theme=mobile] .brand strong{font-size:27px;line-height:1}.app-shell[data-theme=mobile] .brand span{color:#c6d1d3;font-size:16px}.app-shell[data-theme=mobile] .sidebar-self-card{grid-area:self;display:flex;align-items:center;gap:12px;min-height:70px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0b;padding:12px}.app-shell[data-theme=mobile] .sidebar-self-card span{min-width:0;flex:1}.app-shell[data-theme=mobile] .sidebar-self-card strong,.app-shell[data-theme=mobile] .sidebar-self-card small{display:block}.app-shell[data-theme=mobile] .sidebar-self-card strong{font-size:16px}.app-shell[data-theme=mobile] .sidebar-self-card small{margin-top:3px;color:#20c990;font-size:14px}.app-shell[data-theme=mobile] .sidebar-settings-panel{grid-area:settings;display:grid;max-height:284px;min-height:0;overflow-y:auto;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0e;padding:12px}.app-shell[data-theme=mobile] .sidebar-settings-panel .profile-editor{margin:0}.app-shell[data-theme=mobile] .sidebar-settings-panel .profile-editor textarea{height:54px;min-height:54px}.app-shell[data-theme=mobile] .sidebar-settings-panel .theme-buttons{grid-template-columns:repeat(7,minmax(28px,1fr))}.app-shell[data-theme=mobile] .search-box{grid-area:search;min-height:50px;border-radius:12px;background:#ffffff0d}.app-shell[data-theme=mobile] .contact-tabs{grid-area:tabs;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.app-shell[data-theme=mobile] .conversation-list{grid-area:list}.app-shell[data-theme=mobile] .contact-tabs button{min-height:38px;border-radius:999px}.app-shell[data-theme=mobile] .contact-tabs .active{background:#15996f;color:#fff}.app-shell[data-theme=mobile] .conversation{min-height:66px;grid-template-columns:46px minmax(0,1fr) auto;border-color:transparent;border-radius:14px;background:transparent}.app-shell[data-theme=mobile] .conversation.active,.app-shell[data-theme=mobile] .conversation.incoming{border-color:#1fb98b6b;background:#ffffff12}.app-shell[data-theme=mobile] .conversation.incoming:before{inset:10px auto 10px 0;width:4px;border-radius:999px;background:#18b985}.app-shell[data-theme=mobile] .conversation .avatar{width:46px;height:46px;border-radius:999px}.app-shell[data-theme=mobile] .connection-card,.app-shell[data-theme=mobile] .profile-card{display:none}.app-shell[data-theme=mobile] .sidebar-bottom-dock{grid-area:dock;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}.app-shell[data-theme=mobile] .dock-button{display:grid;place-items:center;min-width:0;height:44px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0e;color:#cbd8d1}.app-shell[data-theme=mobile] .dock-button:hover:not(:disabled),.app-shell[data-theme=mobile] .dock-button.active{border-color:#57d2a98c;background:#1f8a7038;color:#f4fffb}.app-shell[data-theme=mobile] .dock-button.ok,.app-shell[data-theme=mobile] .dock-button.synced{color:#55d9ad}.app-shell[data-theme=mobile] .dock-button.down{color:#ffb0a5}.app-shell[data-theme=mobile] .dock-button.checking,.app-shell[data-theme=mobile] .dock-button.syncing{color:#ffe2a5}.app-shell[data-theme=mobile] .chat-header,.app-shell[data-theme=mobile] .composer{background:#fbfcfb}.app-shell[data-theme=mobile] .chat-header{min-height:102px;padding:24px 34px}.app-shell[data-theme=mobile] .chat-title{gap:14px}.app-shell[data-theme=mobile] .chat-title .avatar.large{width:64px;height:64px;border-radius:999px;background:#35a872;color:#fff!important;font-size:18px}.app-shell[data-theme=mobile] .chat-title h1{font-size:24px;line-height:1.05}.app-shell[data-theme=mobile] .chat-title .eyebrow{margin:6px 0 0;color:#5f6d67;font-size:15px;font-weight:500;text-transform:none}.app-shell[data-theme=mobile] .header-actions{display:none}.app-shell[data-theme=mobile] .mobile-secure-actions{display:flex;align-items:center;gap:20px}.app-shell[data-theme=mobile] .mobile-secure-actions .icon-button{width:56px;height:56px;border-color:#dfe5e2;border-radius:12px;background:#fff;color:#111b17}.app-shell[data-theme=mobile] .trust-bar{display:none}.app-shell[data-theme=mobile] .conversation,.app-shell[data-theme=mobile] .friend-gate,.app-shell[data-theme=mobile] .message,.app-shell[data-theme=mobile] textarea,.app-shell[data-theme=mobile] .file-picker,.app-shell[data-theme=mobile] .icon-button{border-radius:8px}.app-shell[data-theme=mobile] .friend-gate{grid-template-columns:88px minmax(0,1fr) auto;margin:40px 34px 18px;border-color:#cde2da;border-radius:14px;background:#ffffffeb;padding:34px}.app-shell[data-theme=mobile] .friend-avatar{width:88px;height:88px;border-radius:999px;background:#e8f2ee;color:#111b17!important}.app-shell[data-theme=mobile] .friend-gate h2{font-size:25px}.app-shell[data-theme=mobile] .friend-action{min-width:132px;min-height:54px;border-radius:9px;font-size:17px}.app-shell[data-theme=mobile] .friend-action svg{display:none}.app-shell[data-theme=mobile] .friend-action.secondary{background:#fff}.app-shell[data-theme=mobile] .message-history{background:#fbfcfb;padding:0}.app-shell[data-theme=mobile] .empty-state{padding-top:36px}.app-shell[data-theme=mobile] .pending-request-preview{padding:28px 34px 0}.app-shell[data-theme=mobile] .day-divider{margin:0 0 10px}.app-shell[data-theme=mobile] .request-bubble{min-height:58px;border-radius:12px;box-shadow:0 8px 24px #161f1c0a}.app-shell[data-theme=mobile] .message.mine{background:#176d5a;border-color:#176d5a}.app-shell[data-theme=mobile] .composer{grid-template-columns:62px minmax(0,1fr) 70px;gap:14px;padding:28px 34px 42px}.app-shell[data-theme=mobile] .file-picker{width:62px;height:62px;border-radius:14px}.app-shell[data-theme=mobile] textarea{height:62px;min-height:62px;border-radius:999px;padding:18px 24px;font-size:17px}.app-shell[data-theme=mobile] .send-button{width:62px;min-width:62px;height:62px;border-radius:999px;background:#139a70;padding:0;font-size:0}.app-shell[data-theme=mobile] .send-button svg{width:25px;height:25px}.app-shell[data-theme=glass]{background:#07110f}.app-shell[data-theme=glass] .sidebar{background:linear-gradient(#0d1f1cdb,#07110ff0)}.app-shell[data-theme=glass] .chat-panel{background:#0c1715}.app-shell[data-theme=glass] .chat-header,.app-shell[data-theme=glass] .composer,.app-shell[data-theme=glass] .message,.app-shell[data-theme=glass] .friend-gate{background:#f6faf8eb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-shell[data-theme=glass] .trust-bar{background:#1c4b439e;color:#d3eee6}.app-shell[data-theme=glass] .message-history{background:#0c1715}.app-shell[data-theme=glass] .empty-state h2{color:#e9f4f0}.app-shell[data-theme=glass] .empty-state,.app-shell[data-theme=glass] .empty-state p{color:#a8bcb4}.app-shell[data-theme=power]{grid-template-columns:clamp(340px,22.4vw,390px) minmax(0,1fr);background:#e8edf2}.app-shell[data-theme=power] .sidebar{gap:14px;padding:16px;background:linear-gradient(180deg,#172333,#122030)}.app-shell[data-theme=power] .contact-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.app-shell[data-theme=power] .conversation{min-height:58px;border-radius:7px}.app-shell[data-theme=power] .chat-header{padding:18px 28px}.app-shell[data-theme=power] .message-history{padding-block:20px}.app-shell[data-theme=power] .friend-gate{margin:12px 0 18px;border-color:#dbe4ee;border-radius:8px;background:#fff;padding:26px;box-shadow:0 18px 70px #2c415a12}.app-shell[data-theme=power] .friend-avatar{border-radius:999px;background:#5f66ee}.app-shell[data-theme=power] .brand-mark,.app-shell[data-theme=power] .theme-button.active,.app-shell[data-theme=power] .friend-action,.app-shell[data-theme=power] .send-button{background:#4b64d8}.app-shell[data-theme=enterprise]{background:#f5f6f3}.app-shell[data-theme=enterprise] .sidebar{background:#f7f8f5;color:#17211d;border-right:1px solid #d9e0dc}.app-shell[data-theme=enterprise] .brand span,.app-shell[data-theme=enterprise] .section-label,.app-shell[data-theme=enterprise] .theme-dock-heading,.app-shell[data-theme=enterprise] .conversation time{color:#617168}.app-shell[data-theme=enterprise] .conversation,.app-shell[data-theme=enterprise] .search-box,.app-shell[data-theme=enterprise] .connection-card input,.app-shell[data-theme=enterprise] .cloud-sync-button,.app-shell[data-theme=enterprise] .theme-button{border-color:#d8e0dc;background:#fff;color:#17211d}.app-shell[data-theme=enterprise] .theme-button.active{background:#1f8a70;color:#fff}.app-shell[data-theme=enterprise] .conversation small{color:#617168}.app-shell[data-theme=enterprise] .connection-card,.app-shell[data-theme=enterprise] .profile-card,.app-shell[data-theme=enterprise] .theme-dock{border-color:#d8e0dc}.app-shell[data-theme=subnet]{background:#091323}.app-shell[data-theme=subnet] .sidebar{background:#0b1424}.app-shell[data-theme=subnet] .chat-panel{background:#0e1928}.app-shell[data-theme=subnet] .chat-header,.app-shell[data-theme=subnet] .composer{background:#101d2e}.app-shell[data-theme=subnet] .friend-gate{border-color:#1d3a4c;background:#f6fbff}.app-shell[data-theme=subnet] h1,.app-shell[data-theme=subnet] .empty-state h2{color:#edf7ff}.app-shell[data-theme=subnet] .eyebrow,.app-shell[data-theme=subnet] .sync-state,.app-shell[data-theme=subnet] .empty-state,.app-shell[data-theme=subnet] .empty-state p{color:#a7bbc9}.app-shell[data-theme=subnet] .trust-bar,.app-shell[data-theme=subnet] .call-banner{background:#10263a;color:#c4eff1}.app-shell[data-theme=subnet] .message-history{background:#0e1928}.app-shell[data-theme=subnet] .message{background:#f7fbff}.app-shell[data-theme=subnet] .message.mine,.app-shell[data-theme=subnet] .brand-mark,.app-shell[data-theme=subnet] .theme-button.active,.app-shell[data-theme=subnet] .friend-action,.app-shell[data-theme=subnet] .send-button{background:#0e9aae;border-color:#0e9aae}.app-shell[data-theme=macos]{grid-template-columns:330px minmax(0,1fr);padding:12px;background:linear-gradient(135deg,#eef2f6,#dfe7ee 48%,#f8f8f5)}.app-shell[data-theme=macos] .sidebar,.app-shell[data-theme=macos] .chat-panel{overflow:hidden;border:1px solid rgba(112,125,136,.22)}.app-shell[data-theme=macos] .sidebar{border-right:0;border-radius:16px 0 0 16px;background:#f6f8fab8;color:#1f2931;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.app-shell[data-theme=macos] .chat-panel{border-radius:0 16px 16px 0;background:#ffffffdb}.app-shell[data-theme=macos] .brand-mark,.app-shell[data-theme=macos] .theme-button.active,.app-shell[data-theme=macos] .friend-action,.app-shell[data-theme=macos] .send-button{background:#0a84ff}.app-shell[data-theme=macos] .brand span,.app-shell[data-theme=macos] .section-label,.app-shell[data-theme=macos] .theme-dock-heading,.app-shell[data-theme=macos] .conversation small,.app-shell[data-theme=macos] .conversation time{color:#5d6872}.app-shell[data-theme=macos] .conversation,.app-shell[data-theme=macos] .search-box,.app-shell[data-theme=macos] .connection-card input,.app-shell[data-theme=macos] .cloud-sync-button,.app-shell[data-theme=macos] .theme-button{border-color:#707d8838;background:#ffffff9e;color:#1f2931;border-radius:10px}.app-shell[data-theme=macos] .chat-header,.app-shell[data-theme=macos] .composer{background:#ffffffb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-shell[data-theme=macos] .connection-row,.app-shell[data-theme=macos] .profile-note,.app-shell[data-theme=macos] .profile-heading small{color:#5d6872}.app-shell[data-theme=macos] .connection-row b.ok,.app-shell[data-theme=macos] .connection-row b.synced{background:#0a84ff1f;color:#0a84ff}.app-shell[data-theme=macos] .friend-gate{border-color:#707d8838;border-radius:10px;background:#ffffffbd}.app-shell[data-theme=macos] .friend-avatar{border-radius:14px;background:#0a84ff}.app-shell[data-theme=macos] .friend-action.secondary{color:#42505a}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:860px){body{overflow:hidden}.app-shell{--mobile-sidebar-height: 202px;grid-template-columns:1fr;grid-template-rows:var(--mobile-sidebar-height) minmax(0,1fr);height:100dvh}.sidebar{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);align-items:center;gap:10px 12px;min-height:0;padding:12px 14px;overflow:hidden}.brand-mark{width:38px;height:38px}.brand strong{font-size:20px}.brand span{font-size:12px}.search-box{grid-column:1;grid-row:2;width:100%;min-height:38px;padding:0 12px}.search-box input{position:static;width:100%;height:auto;opacity:1}.conversation-list{grid-column:1;grid-row:3;min-height:0;overflow:hidden}.section-label{display:none}.conversation{min-height:66px;padding:10px;grid-template-columns:40px minmax(0,1fr) auto}.conversation time{font-size:11px}.conversation-empty{min-height:66px}.connection-card,.profile-card,.theme-dock{display:none}.chat-panel{grid-template-rows:auto auto auto auto minmax(0,1fr) auto;min-height:0;height:100%}.chat-header{align-items:center;gap:10px;padding:12px 14px}.header-actions{justify-content:flex-end;gap:7px;min-width:0}.avatar.large{width:40px;height:40px}.chat-title{gap:10px}.eyebrow{font-size:10px}h1{font-size:22px}.icon-button{width:38px;height:38px}.sync-state{display:none}.trust-bar{min-height:38px;padding:8px 14px;font-size:12px;line-height:1.35}.call-banner{min-height:38px;padding:8px 14px;font-size:13px}.error-banner{margin:10px 14px 0;padding:10px 12px;font-size:13px}.call-dialog-backdrop{padding:0}.call-dialog{width:100%;height:100dvh;max-height:none}.call-dialog-header{align-items:center;flex-direction:row;gap:12px;padding:16px}.call-dialog-header h2{font-size:21px}.call-dialog-body{padding:12px}.call-dialog-body .remote-video-wrap{min-height:0;height:100%;aspect-ratio:auto}.call-dialog-body .local-video-wrap{right:20px;bottom:20px;width:min(132px,36vw)}.call-dialog-actions{padding:12px 16px 16px}.call-action{height:42px;padding:0 13px}.message-history{min-height:0;padding:16px 14px 18px}.friend-gate{align-items:flex-start;gap:12px;padding:14px}.friend-actions{gap:8px}.message{width:min(92%,520px);padding:13px 14px 11px}.composer{grid-template-columns:42px minmax(0,1fr) 46px;gap:8px;align-items:end;padding:10px 14px max(12px,env(safe-area-inset-bottom))}.file-picker{width:42px;height:42px}textarea{height:42px;min-height:42px;padding:10px 11px}.send-button{width:46px;min-width:46px;height:42px;padding:0;font-size:0}.send-button svg{width:19px;height:19px}}@media(max-width:520px){.app-shell{--mobile-sidebar-height: 186px}.sidebar{padding:10px 12px}.brand-mark{width:34px;height:34px}.brand{gap:9px}.brand strong{font-size:18px}.brand span{margin-top:0}.conversation{min-height:58px;grid-template-columns:36px minmax(0,1fr)}.conversation .avatar{width:36px;height:36px}.conversation time{display:none}.chat-header{padding:10px 12px}.chat-title .avatar.large{display:none}.eyebrow{margin-bottom:3px}h1{font-size:20px}.header-actions{gap:6px}.icon-button{width:36px;height:36px}.header-actions .icon-button.danger[title="Clear local history"]{display:none}.trust-bar{padding:7px 12px}.message-history{padding:14px 12px 16px}.friend-gate{display:grid}.friend-actions{width:100%}.friend-action{flex:1}.message{width:96%}.message-meta{font-size:11px}.composer{padding-inline:12px}}
