:root{--blue:#007aff;--blue-dark:#0056cc;--green:#34c759;--gray-1:#f2f2f7;--gray-2:#e5e5ea;--gray-3:#c7c7cc;--gray-4:#8e8e93;--gray-5:#636366;--gray-6:#48484a;--bg:#fff;--bg-secondary:#f2f2f7;--text:#000;--text-secondary:#8e8e93;--bubble-sent:#007aff;--bubble-sent-text:#fff;--bubble-received:#e9e9eb;--bubble-received-text:#000;--border:#c6c6c8;--nav-height:50px;--safe-bottom:env(safe-area-inset-bottom,0px);--red:#ff3b30;--yellow:#ff9500;--accent:#007aff;--accent-2:#5856d6;--accent-gradient:linear-gradient(135deg, #007aff, #5856d6);--card-bg:#f8f8fa;--card-shadow:0 2px 16px #0000000f;--input-bg:#fff;--sidebar-bg:#fff;--header-bg:#ffffffe0}:root[data-theme=classic],:root[data-theme=classic][data-mode=light]{--blue:#007aff;--blue-dark:#0056cc;--green:#34c759;--gray-1:#f2f2f7;--gray-2:#e5e5ea;--gray-3:#c7c7cc;--gray-4:#8e8e93;--gray-5:#636366;--gray-6:#48484a;--bg:#fff;--bg-secondary:#f2f2f7;--text:#000;--text-secondary:#8e8e93;--bubble-sent:#007aff;--bubble-sent-text:#fff;--bubble-received:#e9e9eb;--bubble-received-text:#000;--border:#c6c6c8;--red:#ff3b30;--yellow:#ff9500;--accent:#007aff;--accent-2:#5856d6;--accent-gradient:linear-gradient(135deg, #007aff, #5856d6);--card-bg:#f8f8fa;--card-shadow:0 2px 16px #0000000f;--input-bg:#fff;--sidebar-bg:#fff;--header-bg:#ffffffe0}:root[data-theme=classic][data-mode=dark]{--blue:#0a84ff;--blue-dark:#409cff;--green:#30d158;--gray-1:#1c1c1e;--gray-2:#2c2c2e;--gray-3:#3a3a3c;--gray-4:#636366;--gray-5:#aeaeb2;--gray-6:#d1d1d6;--bg:#000;--bg-secondary:#1c1c1e;--text:#fff;--text-secondary:#8e8e93;--bubble-sent:#0a84ff;--bubble-sent-text:#fff;--bubble-received:#2c2c2e;--bubble-received-text:#fff;--border:#38383a;--red:#ff453a;--yellow:#ff9f0a;--accent:#0a84ff;--accent-2:#5e5ce6;--accent-gradient:linear-gradient(135deg, #0a84ff, #5e5ce6);--card-bg:#1c1c1e;--card-shadow:0 2px 16px #0000004d;--input-bg:#1c1c1e;--sidebar-bg:#000;--header-bg:#000000e0}@media (prefers-color-scheme:dark){:root[data-theme=classic]:not([data-mode=light]){--blue:#0a84ff;--blue-dark:#409cff;--green:#30d158;--gray-1:#1c1c1e;--gray-2:#2c2c2e;--gray-3:#3a3a3c;--gray-4:#636366;--gray-5:#aeaeb2;--gray-6:#d1d1d6;--bg:#000;--bg-secondary:#1c1c1e;--text:#fff;--text-secondary:#8e8e93;--bubble-sent:#0a84ff;--bubble-sent-text:#fff;--bubble-received:#2c2c2e;--bubble-received-text:#fff;--border:#38383a;--red:#ff453a;--yellow:#ff9f0a;--accent:#0a84ff;--accent-2:#5e5ce6;--accent-gradient:linear-gradient(135deg, #0a84ff, #5e5ce6);--card-bg:#1c1c1e;--card-shadow:0 2px 16px #0000004d;--input-bg:#1c1c1e;--sidebar-bg:#000;--header-bg:#000000e0}}:root[data-theme=dark],:root:not([data-theme])[data-mode=dark]{--blue:#0a84ff;--blue-dark:#409cff;--green:#30d158;--gray-1:#1c1c1e;--gray-2:#2c2c2e;--gray-3:#3a3a3c;--gray-4:#636366;--gray-5:#aeaeb2;--gray-6:#d1d1d6;--bg:#000;--bg-secondary:#1c1c1e;--text:#fff;--text-secondary:#8e8e93;--bubble-sent:#0a84ff;--bubble-sent-text:#fff;--bubble-received:#2c2c2e;--bubble-received-text:#fff;--border:#38383a;--red:#ff453a;--yellow:#ff9f0a;--accent:#0a84ff;--accent-2:#5e5ce6;--accent-gradient:linear-gradient(135deg, #0a84ff, #5e5ce6);--card-bg:#1c1c1e;--card-shadow:0 2px 16px #0000004d;--input-bg:#1c1c1e;--sidebar-bg:#000;--header-bg:#000000e0}@media (prefers-color-scheme:dark){:root:not([data-theme]):not([data-mode=light]){--blue:#0a84ff;--blue-dark:#409cff;--green:#30d158;--gray-1:#1c1c1e;--gray-2:#2c2c2e;--gray-3:#3a3a3c;--gray-4:#636366;--gray-5:#aeaeb2;--gray-6:#d1d1d6;--bg:#000;--bg-secondary:#1c1c1e;--text:#fff;--text-secondary:#8e8e93;--bubble-sent:#0a84ff;--bubble-sent-text:#fff;--bubble-received:#2c2c2e;--bubble-received-text:#fff;--border:#38383a;--red:#ff453a;--yellow:#ff9f0a;--accent:#0a84ff;--accent-2:#5e5ce6;--accent-gradient:linear-gradient(135deg, #0a84ff, #5e5ce6);--card-bg:#1c1c1e;--card-shadow:0 2px 16px #0000004d;--input-bg:#1c1c1e;--sidebar-bg:#000;--header-bg:#000000e0}}:root[data-theme=aurora],:root[data-theme=aurora][data-mode=dark]{--blue:#64b5f6;--blue-dark:#42a5f5;--green:#00e5cc;--gray-1:#0d1522;--gray-2:#162030;--gray-3:#243347;--gray-4:#4a6280;--gray-5:#7b9ab8;--gray-6:#b0c8e0;--bg:#060b14;--bg-secondary:#0d1522;--text:#e0eeff;--text-secondary:#5e80a8;--bubble-sent:#00e5cc;--bubble-sent-text:#060b14;--bubble-received:#162030;--bubble-received-text:#e0eeff;--border:#1e2f45;--red:#ff6b6b;--yellow:#ffd166;--accent:#00e5cc;--accent-2:#7c3aed;--accent-gradient:linear-gradient(135deg, #00e5cc, #7c3aed);--card-bg:#0d1522;--card-shadow:0 2px 20px #00e5cc14;--input-bg:#0d1522;--sidebar-bg:#070d18;--header-bg:#060b14eb}:root[data-theme=aurora][data-mode=light]{--blue:#0098a8;--blue-dark:#007a88;--green:#00897b;--gray-1:#eaf8fc;--gray-2:#c8eef5;--gray-3:#96d8e8;--gray-4:#4a9aae;--gray-5:#2a7088;--gray-6:#104858;--bg:#f0faff;--bg-secondary:#e0f5fb;--text:#082030;--text-secondary:#2a5870;--bubble-sent:#00a896;--bubble-sent-text:#fff;--bubble-received:#c8eef5;--bubble-received-text:#082030;--border:#96d8e8;--red:#c84040;--yellow:#d4a000;--accent:#00a896;--accent-2:#5c2ab8;--accent-gradient:linear-gradient(135deg, #00a896, #5c2ab8);--card-bg:#e8f8fe;--card-shadow:0 2px 16px #00a89614;--input-bg:#fff;--sidebar-bg:#e8f4fa;--header-bg:#f0faffeb}@media (prefers-color-scheme:light){:root[data-theme=aurora]:not([data-mode=dark]){--blue:#0098a8;--blue-dark:#007a88;--green:#00897b;--gray-1:#eaf8fc;--gray-2:#c8eef5;--gray-3:#96d8e8;--gray-4:#4a9aae;--gray-5:#2a7088;--gray-6:#104858;--bg:#f0faff;--bg-secondary:#e0f5fb;--text:#082030;--text-secondary:#2a5870;--bubble-sent:#00a896;--bubble-sent-text:#fff;--bubble-received:#c8eef5;--bubble-received-text:#082030;--border:#96d8e8;--red:#c84040;--yellow:#d4a000;--accent:#00a896;--accent-2:#5c2ab8;--accent-gradient:linear-gradient(135deg, #00a896, #5c2ab8);--card-bg:#e8f8fe;--card-shadow:0 2px 16px #00a89614;--input-bg:#fff;--sidebar-bg:#e8f4fa;--header-bg:#f0faffeb}}:root[data-theme=sunset],:root[data-theme=sunset][data-mode=light]{--blue:#e91e8c;--blue-dark:#c2185b;--green:#26a69a;--gray-1:#fff0eb;--gray-2:#ffe4dc;--gray-3:#f5c6ba;--gray-4:#c4836a;--gray-5:#8b4a5c;--gray-6:#5c2d3a;--bg:#fff8f5;--bg-secondary:#fff0eb;--text:#2d1b24;--text-secondary:#9b6b7a;--bubble-sent:#f43f73;--bubble-sent-text:#fff;--bubble-received:#ffe4dc;--bubble-received-text:#2d1b24;--border:#f5c6ba;--red:#e91e8c;--yellow:#ff8c42;--accent:#f43f73;--accent-2:#a855f7;--accent-gradient:linear-gradient(135deg, #ff6b9d, #c084fc);--card-bg:#fff4f0;--card-shadow:0 2px 16px #f43f7314;--input-bg:#fff;--sidebar-bg:#fff8f5;--header-bg:#fff8f5eb}:root[data-theme=sunset][data-mode=dark]{--blue:#ff6b9d;--blue-dark:#e04080;--green:#26a69a;--gray-1:#1e0818;--gray-2:#2a1022;--gray-3:#4a1a38;--gray-4:#883060;--gray-5:#c07090;--gray-6:#e8b0c8;--bg:#140610;--bg-secondary:#1e0818;--text:#ffe8f4;--text-secondary:#b06880;--bubble-sent:#ff6b9d;--bubble-sent-text:#fff;--bubble-received:#2a1022;--bubble-received-text:#ffe8f4;--border:#3a1030;--red:#f47;--yellow:#ffa050;--accent:#ff6b9d;--accent-2:#c084fc;--accent-gradient:linear-gradient(135deg, #ff6b9d, #c084fc);--card-bg:#1e0818;--card-shadow:0 2px 20px #ff6b9d1f;--input-bg:#1e0818;--sidebar-bg:#0e040c;--header-bg:#140610f2}@media (prefers-color-scheme:dark){:root[data-theme=sunset]:not([data-mode=light]){--blue:#ff6b9d;--blue-dark:#e04080;--green:#26a69a;--gray-1:#1e0818;--gray-2:#2a1022;--gray-3:#4a1a38;--gray-4:#883060;--gray-5:#c07090;--gray-6:#e8b0c8;--bg:#140610;--bg-secondary:#1e0818;--text:#ffe8f4;--text-secondary:#b06880;--bubble-sent:#ff6b9d;--bubble-sent-text:#fff;--bubble-received:#2a1022;--bubble-received-text:#ffe8f4;--border:#3a1030;--red:#f47;--yellow:#ffa050;--accent:#ff6b9d;--accent-2:#c084fc;--accent-gradient:linear-gradient(135deg, #ff6b9d, #c084fc);--card-bg:#1e0818;--card-shadow:0 2px 20px #ff6b9d1f;--input-bg:#1e0818;--sidebar-bg:#0e040c;--header-bg:#140610f2}}:root[data-theme=midnight],:root[data-theme=midnight][data-mode=dark]{--blue:#c9a227;--blue-dark:#b8860b;--green:#4caf82;--gray-1:#0f1328;--gray-2:#16203a;--gray-3:#243050;--gray-4:#4a5578;--gray-5:#8a90b0;--gray-6:#bfc5d8;--bg:#090c1a;--bg-secondary:#0f1328;--text:#f0e8d0;--text-secondary:#8a7fa5;--bubble-sent:#c9a227;--bubble-sent-text:#090c1a;--bubble-received:#16203a;--bubble-received-text:#f0e8d0;--border:#1e2d50;--red:#e05252;--yellow:#f5cc5c;--accent:#d4a017;--accent-2:#f5cc5c;--accent-gradient:linear-gradient(135deg, #b8860b, #f5cc5c);--card-bg:#0f1328;--card-shadow:0 2px 20px #d4a0171a;--input-bg:#0f1328;--sidebar-bg:#060912;--header-bg:#090c1af2}:root[data-theme=midnight][data-mode=light]{--blue:#b8860b;--blue-dark:#8b6508;--green:#4caf82;--gray-1:#f5edd8;--gray-2:#ede0c4;--gray-3:#d4c090;--gray-4:#9a8040;--gray-5:#5e4a10;--gray-6:#3a2800;--bg:#faf6ec;--bg-secondary:#f5edd8;--text:#2a1a00;--text-secondary:#6a5020;--bubble-sent:#b8860b;--bubble-sent-text:#fff;--bubble-received:#ede0c4;--bubble-received-text:#2a1a00;--border:#d4c090;--red:#b83030;--yellow:#c9a227;--accent:#b8860b;--accent-2:#8b6508;--accent-gradient:linear-gradient(135deg, #b8860b, #e8b840);--card-bg:#f0e8d4;--card-shadow:0 2px 16px #b8860b14;--input-bg:#fff;--sidebar-bg:#faf6ec;--header-bg:#faf6eceb}@media (prefers-color-scheme:light){:root[data-theme=midnight]:not([data-mode=dark]){--blue:#b8860b;--blue-dark:#8b6508;--green:#4caf82;--gray-1:#f5edd8;--gray-2:#ede0c4;--gray-3:#d4c090;--gray-4:#9a8040;--gray-5:#5e4a10;--gray-6:#3a2800;--bg:#faf6ec;--bg-secondary:#f5edd8;--text:#2a1a00;--text-secondary:#6a5020;--bubble-sent:#b8860b;--bubble-sent-text:#fff;--bubble-received:#ede0c4;--bubble-received-text:#2a1a00;--border:#d4c090;--red:#b83030;--yellow:#c9a227;--accent:#b8860b;--accent-2:#8b6508;--accent-gradient:linear-gradient(135deg, #b8860b, #e8b840);--card-bg:#f0e8d4;--card-shadow:0 2px 16px #b8860b14;--input-bg:#fff;--sidebar-bg:#faf6ec;--header-bg:#faf6eceb}}:root[data-theme=forest],:root[data-theme=forest][data-mode=light]{--blue:#2e7d32;--blue-dark:#1b5e20;--green:#43a047;--gray-1:#eff5eb;--gray-2:#dff0d8;--gray-3:#b5d5a8;--gray-4:#6a9b5e;--gray-5:#3d6b35;--gray-6:#2a4a24;--bg:#f8faf6;--bg-secondary:#eff5eb;--text:#1a2e1a;--text-secondary:#5c7a5c;--bubble-sent:#2e7d32;--bubble-sent-text:#fff;--bubble-received:#dff0d8;--bubble-received-text:#1a2e1a;--border:#c5dfbb;--red:#c62828;--yellow:#f9a825;--accent:#2e7d32;--accent-2:#66bb6a;--accent-gradient:linear-gradient(135deg, #1b5e20, #66bb6a);--card-bg:#f0f8ec;--card-shadow:0 2px 16px #2e7d3214;--input-bg:#fff;--sidebar-bg:#f8faf6;--header-bg:#f8faf6eb}:root[data-theme=forest][data-mode=dark]{--blue:#4caf82;--blue-dark:#2e7d5c;--green:#66bb6a;--gray-1:#0a1a10;--gray-2:#112218;--gray-3:#1a3826;--gray-4:#387050;--gray-5:#6ba880;--gray-6:#a0d0b0;--bg:#060e08;--bg-secondary:#0a1a10;--text:#c8f0d8;--text-secondary:#5a8870;--bubble-sent:#4caf82;--bubble-sent-text:#fff;--bubble-received:#112218;--bubble-received-text:#c8f0d8;--border:#1a3826;--red:#c84848;--yellow:#d4a020;--accent:#4caf82;--accent-2:#8bc34a;--accent-gradient:linear-gradient(135deg, #2e7d52, #6abf69);--card-bg:#0a1a10;--card-shadow:0 2px 20px #4caf821a;--input-bg:#0a1a10;--sidebar-bg:#040a06;--header-bg:#060e08f2}@media (prefers-color-scheme:dark){:root[data-theme=forest]:not([data-mode=light]){--blue:#4caf82;--blue-dark:#2e7d5c;--green:#66bb6a;--gray-1:#0a1a10;--gray-2:#112218;--gray-3:#1a3826;--gray-4:#387050;--gray-5:#6ba880;--gray-6:#a0d0b0;--bg:#060e08;--bg-secondary:#0a1a10;--text:#c8f0d8;--text-secondary:#5a8870;--bubble-sent:#4caf82;--bubble-sent-text:#fff;--bubble-received:#112218;--bubble-received-text:#c8f0d8;--border:#1a3826;--red:#c84848;--yellow:#d4a020;--accent:#4caf82;--accent-2:#8bc34a;--accent-gradient:linear-gradient(135deg, #2e7d52, #6abf69);--card-bg:#0a1a10;--card-shadow:0 2px 20px #4caf821a;--input-bg:#0a1a10;--sidebar-bg:#040a06;--header-bg:#060e08f2}}:root[data-theme=neon],:root[data-theme=neon][data-mode=dark]{--blue:#f09;--blue-dark:#c07;--green:#00f5ff;--gray-1:#080820;--gray-2:#0f0f2e;--gray-3:#1a1a42;--gray-4:#404070;--gray-5:#8080b0;--gray-6:#afafd0;--bg:#04040f;--bg-secondary:#080820;--text:#f0f0ff;--text-secondary:#6060a0;--bubble-sent:#f09;--bubble-sent-text:#fff;--bubble-received:#0f0f2e;--bubble-received-text:#f0f0ff;--border:#1a1a42;--red:#f44;--yellow:#ffe600;--accent:#f09;--accent-2:#00f5ff;--accent-gradient:linear-gradient(135deg, #f09, #00f5ff);--card-bg:#080820;--card-shadow:0 2px 20px #ff009926;--input-bg:#080820;--sidebar-bg:#020208;--header-bg:#04040ff2}:root[data-theme=neon][data-mode=light]{--blue:#c07;--blue-dark:#905;--green:#08a;--gray-1:#f5f0ff;--gray-2:#eae0ff;--gray-3:#c8b0f0;--gray-4:#8860c0;--gray-5:#5030a0;--gray-6:#2a1060;--bg:#fafafe;--bg-secondary:#f0ecff;--text:#080020;--text-secondary:#4a3080;--bubble-sent:#c07;--bubble-sent-text:#fff;--bubble-received:#eae0ff;--bubble-received-text:#080020;--border:#c8b0f0;--red:#c82030;--yellow:#c09000;--accent:#c07;--accent-2:#08c;--accent-gradient:linear-gradient(135deg, #c07, #08c);--card-bg:#eee8ff;--card-shadow:0 2px 16px #cc007714;--input-bg:#fff;--sidebar-bg:#f5f0ff;--header-bg:#fafafeeb}@media (prefers-color-scheme:light){:root[data-theme=neon]:not([data-mode=dark]){--blue:#c07;--blue-dark:#905;--green:#08a;--gray-1:#f5f0ff;--gray-2:#eae0ff;--gray-3:#c8b0f0;--gray-4:#8860c0;--gray-5:#5030a0;--gray-6:#2a1060;--bg:#fafafe;--bg-secondary:#f0ecff;--text:#080020;--text-secondary:#4a3080;--bubble-sent:#c07;--bubble-sent-text:#fff;--bubble-received:#eae0ff;--bubble-received-text:#080020;--border:#c8b0f0;--red:#c82030;--yellow:#c09000;--accent:#c07;--accent-2:#08c;--accent-gradient:linear-gradient(135deg, #c07, #08c);--card-bg:#eee8ff;--card-shadow:0 2px 16px #cc007714;--input-bg:#fff;--sidebar-bg:#f5f0ff;--header-bg:#fafafeeb}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif}input,textarea,button{font-family:inherit}.loading-screen{justify-content:center;align-items:center;height:100dvh;display:flex}.spinner{border:3px solid var(--gray-2);border-top-color:var(--blue);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-layout{overscroll-behavior:none;height:100dvh;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--border);background:var(--sidebar-bg);flex-direction:column;flex-shrink:0;width:340px;min-height:0;display:flex}.main-panel{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex}@media (width<=768px){.sidebar{width:100%}.sidebar.hidden,.main-panel.hidden{display:none}.main-panel{width:100%}}.sidebar-header{border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(20px);justify-content:space-between;align-items:center;min-height:60px;padding:12px 16px;display:flex}.sidebar-actions{gap:8px;display:flex}.icon-btn{cursor:pointer;width:36px;height:36px;color:var(--blue);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:background .15s;display:flex}.icon-btn:hover{background:var(--gray-1)}.icon-btn--settings{font-size:26px}.conversation-list{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.conv-item{cursor:pointer;border-bottom:.5px solid var(--border);align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex;position:relative}.conv-item:hover,.conv-item.active{background:var(--card-bg)}.conv-item.active:before{content:"";background:var(--accent-gradient);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.conv-avatar{background:var(--gray-2);width:52px;height:52px;color:var(--gray-4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;display:flex;overflow:hidden}.conv-avatar img{object-fit:cover;width:100%;height:100%}.conv-avatar.jeanie{color:#fff;background:linear-gradient(135deg,#ff6b9d,#c084fc,#7dd3fc);font-size:24px}.conv-info{flex:1;min-width:0}.conv-name{align-items:center;gap:6px;font-size:16px;font-weight:600;display:flex}.conv-preview{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:14px;overflow:hidden}.conv-meta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.conv-time{color:var(--text-secondary);font-size:12px}.unread-badge{background:var(--accent-gradient);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:600;display:flex}.jeanie-logo{color:var(--text);letter-spacing:-.02em;align-items:center;gap:8px;font-family:Roboto,system-ui,sans-serif;font-size:22px;font-weight:700;display:inline-flex}.jeanie-logo-dot{background:#007aff;border-radius:50%;flex-shrink:0;width:10px;height:10px}.jeanie-logo--centered{position:relative}.jeanie-logo--centered .jeanie-logo-dot{position:absolute;top:50%;left:-18px;transform:translateY(-50%)}.chat-header{border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(20px);align-items:center;gap:12px;min-height:60px;padding:10px 16px;display:flex}.back-btn{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:4px;font-size:24px;display:none}@media (width<=768px){.back-btn{display:block}}.chat-header-info{flex:1}.chat-header-name{font-size:16px;font-weight:600}.chat-header-status{color:var(--text-secondary);font-size:12px}.chat-header-actions{gap:8px;display:flex}.messages-area{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:2px;padding:16px;display:flex;overflow-y:auto}.message-group{flex-direction:column;gap:1px;display:flex}.message{word-wrap:break-word;border-radius:18px;max-width:75%;padding:8px 12px;font-size:16px;line-height:1.35;position:relative}.message.sent{background:var(--accent-gradient);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.message.received{background:var(--bubble-received);color:var(--bubble-received-text);border-bottom-left-radius:4px;align-self:flex-start}button.photo-picker-msg{cursor:pointer;border:2px dashed #ffffff8c;align-items:center;gap:10px;font-size:15px;font-weight:500;display:flex}button.photo-picker-msg:hover:not(:disabled){filter:brightness(.88)}button.photo-picker-msg:disabled{cursor:default;opacity:.6}.message-time{color:var(--text-secondary);text-align:center;padding:8px 0;font-size:11px}.typing-indicator{background:var(--bubble-received);border-radius:18px;align-self:flex-start;gap:4px;padding:10px 16px;display:flex}.typing-dot{background:var(--gray-4);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite typingBounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.contact-card{cursor:pointer;background:#fff;border-radius:16px;max-width:280px;transition:transform .15s;overflow:hidden;box-shadow:0 2px 12px #0000001a}.contact-card:hover{transform:scale(1.02)}.contact-card-photo{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);justify-content:center;align-items:center;width:100%;height:200px;font-size:64px;display:flex}.contact-card-photo img{object-fit:cover;width:100%;height:100%}.contact-card-body{padding:12px}.contact-card-name{font-size:18px;font-weight:700}.contact-card-location{color:var(--text-secondary);margin-top:2px;font-size:13px}.contact-card-bio{color:var(--gray-5);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:14px;display:-webkit-box;overflow:hidden}.contact-card-actions{gap:8px;padding:8px 12px 12px;display:flex}.card-btn{cursor:pointer;border:none;border-radius:10px;flex:1;padding:8px;font-size:14px;font-weight:600;transition:opacity .15s}.card-btn:hover{opacity:.85}.card-btn:disabled{opacity:.5;cursor:default}.card-btn.primary{background:var(--accent-gradient);color:#fff}.card-btn.secondary{background:var(--gray-1);color:var(--text)}.card-btn.danger{color:#fff;background:#ff3b30}.contact-card-badge{border-radius:8px;margin-top:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.contact-card-badge.accepted{color:#15803d;background:#dcfce7}.contact-card-badge.waiting{color:#92400e;background:#fef3c7}.contact-card-badge.expired,.contact-card-badge.ignored{background:var(--gray-2);color:var(--gray-5)}.contact-card-badge.blocked{color:#b91c1c;background:#fecaca}.contact-card-arrow{color:var(--gray-4);align-items:center;padding:0 12px;font-size:20px;display:flex}.conversation-starters{max-width:320px;padding:12px}.starters-label{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:500}.starters-list{flex-direction:column;gap:6px;display:flex}.starter-chip{background:var(--gray-1);border:1px solid var(--gray-2);color:var(--blue);cursor:pointer;text-align:left;border-radius:16px;padding:8px 14px;font-size:14px;line-height:1.4;transition:background .15s}.input-area{padding:8px 16px;padding-bottom:calc(8px + var(--safe-bottom));border-top:1px solid var(--border);background:var(--bg);align-items:flex-end;gap:8px;display:flex}.message-input{border:1px solid var(--gray-3);resize:none;background:var(--input-bg);max-height:120px;color:var(--text);border-radius:20px;outline:none;flex:1;padding:8px 16px;font-size:16px;line-height:1.35;transition:border-color .15s,box-shadow .15s}.message-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.send-btn{background:var(--accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:opacity .15s,transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #0003}.send-btn:not(:disabled):hover{opacity:.9;transform:scale(1.08);box-shadow:0 4px 14px #00000040}.send-btn:disabled{opacity:.4;cursor:default}.auth-page{background:var(--bg-secondary);justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%);filter:blur(60px);pointer-events:none;border-radius:50%;width:500px;height:500px;animation:7s ease-in-out infinite auth-glow-1;position:absolute;top:-120px;right:-80px}.auth-page:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent-2) 14%, transparent), transparent 70%);filter:blur(60px);pointer-events:none;border-radius:50%;width:400px;height:400px;animation:9s ease-in-out 2s infinite auth-glow-2;position:absolute;bottom:-100px;left:-60px}@keyframes auth-glow-1{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes auth-glow-2{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.9;transform:scale(1.15)}}.auth-card{background:var(--bg);text-align:center;width:100%;max-width:400px;box-shadow:var(--card-shadow), 0 0 0 1px var(--border);z-index:1;-webkit-backdrop-filter:blur(20px);border-radius:24px;padding:40px 32px;position:relative}.auth-card h1{background:linear-gradient(135deg,#ff6b9d,#c084fc,#7dd3fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700}.auth-card p{color:var(--text-secondary);margin-top:8px;font-size:15px}.auth-input{border:1px solid var(--gray-2);text-align:center;border-radius:12px;outline:none;width:100%;margin-top:24px;padding:14px 18px;font-size:16px;transition:border-color .15s}.auth-input:focus{border-color:var(--blue)}.auth-btn{background:var(--accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;margin-top:16px;padding:14px;font-size:16px;font-weight:600;transition:opacity .15s,transform .15s,box-shadow .15s;box-shadow:0 4px 14px #0000002e}.auth-btn:not(:disabled):hover{opacity:.92;transform:translateY(-1px);box-shadow:0 6px 20px #00000038}.auth-btn:disabled{opacity:.5;cursor:default}.auth-error{color:#ff3b30;margin-top:12px;font-size:14px}.code-input{letter-spacing:12px;font-size:28px;font-weight:600}@keyframes pageEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-container{flex-direction:column;width:100%;max-width:600px;height:100dvh;margin:0 auto;animation:.18s ease-out pageEnter;display:flex}.page-header{border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(20px);align-items:center;gap:12px;padding:12px 16px;display:flex}.page-header h2{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;flex:1;font-size:18px;font-weight:700}.page-body{flex:1;padding:20px 16px;overflow-y:auto}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--gray-2);background:var(--input-bg);width:100%;color:var(--text);border-radius:10px;outline:none;padding:12px;font-size:16px;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.form-group select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238E8E93' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.form-group input[type=file]{cursor:pointer;padding:0;overflow:hidden}.form-group input[type=file]::file-selector-button{background:var(--gray-1);border:none;border-right:1px solid var(--gray-2);color:var(--blue);cursor:pointer;margin-right:12px;padding:11px 16px;font-family:inherit;font-size:15px;font-weight:500;transition:background .15s}.form-group input[type=file]::file-selector-button:hover{background:var(--gray-2)}.form-group input[type=range]{accent-color:var(--accent);cursor:pointer;padding:0}.form-group textarea{resize:vertical;min-height:80px}.checkbox-group label{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:16px;display:flex}.checkbox-group input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--gray-1);color:var(--gray-5);border-radius:16px;padding:6px 12px;font-size:13px}.tag .tag-cat{color:var(--accent);margin-right:4px;font-weight:600}.tag-remove-btn{cursor:pointer;color:var(--gray-4);background:0 0;border:none;padding:0 0 0 6px;font-size:14px;line-height:1}.tag-remove-btn:hover{color:var(--red,#e53e3e)}.tag-add-btn{cursor:pointer;border:1px dashed var(--gray-3);color:var(--blue);background:0 0}.tag-add-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.tag-add-form select,.tag-add-form input[type=text]{border:1px solid var(--gray-3);background:var(--input-bg);color:var(--text);border-radius:8px;outline:none;padding:6px 10px;font-size:14px;transition:border-color .15s}.tag-add-form select:focus,.tag-add-form input[type=text]:focus{border-color:var(--blue)}.tag-add-form select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238E8E93' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:14px;padding-right:26px}.tag-add-form input[type=text]{flex:1;min-width:120px}.tag-add-form button{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .15s}.tag-add-form button[type=button]{background:var(--gray-1);color:var(--gray-5)}.tag-add-form button:disabled{opacity:.4;cursor:default}.tag-add-form button:not(:disabled):hover{opacity:.85}.empty-state{color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.empty-state-icon{opacity:.5;font-size:48px}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}}.modal-sheet{background:var(--bg);border-radius:20px;flex-direction:column;width:100%;max-width:480px;max-height:90dvh;animation:.25s ease-out slideUp;display:flex;overflow:hidden;box-shadow:0 8px 40px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}}@media (width<=767px){.modal-overlay{align-items:flex-end;padding:0}.modal-sheet{border-radius:20px 20px 0 0;max-width:100%;max-height:85dvh;animation:.25s ease-out slide-up}}.modal-card-photo{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);justify-content:center;align-items:center;width:100%;height:300px;font-size:80px;display:flex;position:relative}.modal-card-photo img{object-fit:cover;width:100%;height:100%}.modal-close{color:#fff;cursor:pointer;background:#0006;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex;position:absolute;top:12px;right:12px}.modal-body{padding:20px}.modal-body h2{font-size:24px}.modal-body .location{color:var(--text-secondary);margin-top:2px;font-size:14px}.modal-body .bio{color:var(--gray-5);margin-top:12px;line-height:1.5}.modal-body .tags{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.modal-body .ai-notes{background:var(--gray-1);color:var(--gray-5);border-radius:12px;margin-top:16px;padding:12px;font-size:14px;line-height:1.5}.modal-body .ai-notes-label{color:var(--blue);text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:600}.share-quote-btn{cursor:pointer;color:var(--blue);background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1}.compatibility-breakdown{margin-top:16px}.compatibility-breakdown-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:12px;font-weight:600}.breakdown-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.breakdown-label{color:var(--text-secondary);flex-shrink:0;width:76px;font-size:12px}.breakdown-bar-track{background:var(--gray-2);border-radius:3px;flex:1;height:6px;overflow:hidden}.breakdown-bar-fill{background:var(--blue);border-radius:3px;height:100%;transition:width .4s}.breakdown-pct{color:var(--text-secondary);text-align:right;flex-shrink:0;width:30px;font-size:11px}.modal-body .match-age{color:var(--text-secondary);font-weight:400}.modal-body .match-distance{color:var(--gray-4)}.modal-body .shared-traits{margin-top:16px}.modal-body .shared-traits-label{color:var(--green);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600}.modal-body .tag.shared{color:#15803d;background:#dcfce7}.match-status{text-align:center;border-radius:12px;margin-top:16px;padding:10px 14px;font-size:14px;font-weight:500}.match-status.waiting{color:#92400e;background:#fef3c7}.match-status.accepted{color:#15803d;background:#dcfce7}.match-status.expired,.match-status.ignored{background:var(--gray-1);color:var(--gray-5)}.match-status.blocked{color:#b91c1c;background:#fecaca}.modal-actions{gap:8px;padding:0 20px 20px;display:flex}.notification-permission-sheet{max-width:420px}.notification-permission-body{padding:24px}.notification-permission-body h3{margin:0 0 8px;font-size:22px}.notification-permission-body p{color:var(--text-secondary);margin:0;line-height:1.45}.notification-permission-fallback{color:var(--text);background:color-mix(in srgb, var(--yellow) 20%, transparent);border:1px solid color-mix(in srgb, var(--yellow) 45%, transparent);border-radius:12px;padding:10px 12px;margin-top:12px!important}.notification-permission-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.report-modal-sheet{max-width:520px}.report-modal-header{justify-content:space-between;align-items:center;padding:18px 20px 0;display:flex}.report-modal-header h2{margin:0;font-size:22px}.report-modal-close{background:var(--gray-1);width:32px;height:32px;color:var(--text);cursor:pointer;border:none;border-radius:50%}.report-modal-close:disabled{opacity:.6;cursor:default}.report-modal-body{padding:16px 20px 20px}.report-modal-helper{color:var(--text-secondary);margin:0 0 12px;font-size:14px}.report-category-group{border:1px solid var(--border);border-radius:12px;margin:0;padding:10px}.report-category-group legend{padding:0 4px;font-size:14px;font-weight:600}.report-category-option{text-transform:capitalize;align-items:center;gap:10px;padding:8px 6px;display:flex}.report-notes-label{margin-top:14px;margin-bottom:6px;font-size:14px;font-weight:600;display:block}.report-notes-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);resize:vertical;border-radius:12px;padding:10px 12px}.report-note-counter{text-align:right;color:var(--text-secondary);margin-top:6px;font-size:12px}.report-note-counter.invalid,.report-field-error{color:#dc2626}.report-field-error{margin:8px 0 0;font-size:13px}.report-modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.report-modal-actions.single{justify-content:center}.report-modal-state{text-align:center;padding:22px 20px 24px}.report-modal-state h3{margin:0 0 8px}.report-modal-state p{color:var(--text-secondary);margin:0}.report-modal-state-icon{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 10px;font-size:24px;display:flex}.report-modal-state-icon.success{color:#15803d;background:#dcfce7}.report-modal-state-icon.error{color:#b91c1c;background:#fee2e2}.call-overlay{z-index:200;color:#fff;background:linear-gradient(#1c1c1e,#2c2c2e);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.call-avatar{background:var(--gray-5);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;font-size:48px;display:flex;overflow:hidden}.call-avatar img{object-fit:cover;width:100%;height:100%}.call-name{margin-top:16px;font-size:28px;font-weight:600}.call-status{color:var(--gray-3);margin-top:4px;font-size:16px}.call-timer{font-variant-numeric:tabular-nums;margin-top:8px;font-size:20px}.call-error{text-align:center;color:#fecaca;max-width:320px;margin-top:12px;font-size:14px;line-height:1.4}.call-actions{gap:24px;margin-top:48px;display:flex}.call-btn{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:24px;transition:opacity .15s;display:flex}.call-btn:hover{opacity:.85}.call-btn.end{color:#fff;background:#ff3b30}.call-btn.accept{background:var(--green);color:#fff}.call-btn.mute{background:var(--gray-5);color:#fff}.call-btn.muted{color:var(--gray-5);background:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-3);border-radius:3px}.setting-label{font-size:16px}.toggle{background:var(--gray-2);cursor:pointer;border:none;border-radius:16px;width:51px;height:31px;transition:background .2s;position:relative}.toggle.active{background:var(--accent-gradient)}.toggle:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.toggle.active:after{transform:translate(20px)}.request-banner{background:var(--gray-1);border-top:1px solid var(--gray-2);align-items:center;gap:8px;padding:12px 16px;display:flex}.request-banner p{color:var(--gray-5);flex:1;font-size:14px}.request-banner .card-btn{flex:none;padding:6px 16px}.login-modal-content{text-align:center;padding:32px}@media (width<=767px){.login-modal-content{padding:24px 24px calc(24px + var(--safe-bottom))}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.login-modal-handle{background:var(--gray-3);border-radius:2px;width:36px;height:4px;margin:0 auto 20px;display:none}@media (width<=767px){.login-modal-handle{display:block}}.login-modal-title{color:var(--text);margin-bottom:6px;font-size:22px;font-weight:700}.login-modal-subtitle{color:var(--text-secondary);margin-bottom:4px;font-size:15px}.login-modal-hint{color:var(--text-secondary);margin-top:12px;font-size:14px}.call-message{color:var(--text-secondary);background:var(--gray-1);border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;display:flex}.profile-structured-fields{background:var(--bg-secondary,#f9f9f9);border-radius:12px;margin-bottom:20px;padding:16px}.profile-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#888);margin:0 0 12px;font-size:13px;font-weight:600}.profile-field{border-bottom:1px solid var(--border-color,#eee);justify-content:space-between;padding:6px 0;display:flex}.profile-field:last-child{border-bottom:none}.profile-field-label{color:var(--text-secondary,#888);font-size:14px}.profile-field-value{font-size:14px;font-weight:500}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.reveal.revealed{opacity:1;transform:translateY(0)}@keyframes landing-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes landing-glow-pulse{0%,to{opacity:.6}50%{opacity:1}}.landing-page{overflow-x:hidden}.landing-nav{z-index:100;-webkit-backdrop-filter:blur(20px);background:#ffffffb8;border-bottom:1px solid #0000000f;transition:background .3s,box-shadow .3s;position:fixed;top:0;left:0;right:0}.landing-nav-scrolled{background:#ffffffeb;box-shadow:0 1px 24px #0000000f}.landing-nav-inner{justify-content:space-between;align-items:center;max-width:1200px;height:64px;margin:0 auto;padding:0 40px;display:flex}@media (width<=767px){.landing-nav-inner{padding:0 20px}}.landing-logo{color:var(--text);letter-spacing:-.02em;align-items:center;gap:8px;font-size:22px;font-weight:800;display:flex}.landing-logo-dot{background:linear-gradient(135deg,#007aff,#5856d6);border-radius:50%;width:10px;height:10px}.landing-nav-btn{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:100px;padding:9px 22px;font-size:14px;font-weight:600;transition:background .2s,transform .15s,box-shadow .2s}.landing-nav-btn:hover{background:var(--blue-dark);transform:translateY(-1px);box-shadow:0 4px 12px #007aff4d}.landing-hero{align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.landing-hero-bg{z-index:0;background:radial-gradient(80% 60% at 70% 40%,#007aff14,#0000),radial-gradient(60% 50% at 20% 80%,#5856d60f,#0000),radial-gradient(40% 40% at 90% 10%,#ff2d550a,#0000);position:absolute;inset:0}.landing-hero-bg:before{content:"";filter:blur(60px);background:radial-gradient(circle,#007aff1f,#0000 70%);border-radius:50%;width:500px;height:500px;animation:6s ease-in-out infinite landing-glow-pulse;position:absolute;top:-120px;right:-80px}.landing-hero-bg:after{content:"";filter:blur(60px);background:radial-gradient(circle,#5856d61a,#0000 70%);border-radius:50%;width:400px;height:400px;animation:8s ease-in-out 2s infinite landing-glow-pulse;position:absolute;bottom:-100px;left:-60px}@keyframes jeanie-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.jeanie-searching-banner{color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.jeanie-searching-banner .pulse-dot{background:var(--accent,#007aff);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.5s ease-in-out infinite jeanie-pulse}.landing-hero-content{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:80px;width:100%;max-width:1200px;margin:0 auto;padding:100px 40px 80px;display:grid;position:relative}@media (width<=767px){.landing-hero{min-height:auto}.landing-hero-content{grid-template-columns:1fr;gap:40px;padding:100px 20px 60px}.landing-hero-image{order:-1}}.landing-hero-text{flex-direction:column;align-items:flex-start;display:flex}.landing-badge{color:var(--blue);letter-spacing:.02em;background:linear-gradient(135deg,#007aff1a,#5856d61a);border-radius:100px;align-items:center;gap:6px;margin-bottom:20px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.landing-headline{letter-spacing:-.03em;color:var(--text);margin:0 0 20px;font-size:56px;font-weight:800;line-height:1.08}.landing-headline-accent{background:linear-gradient(135deg,#007aff,#5856d6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@media (width<=767px){.landing-headline{font-size:40px}}.landing-subheadline{color:var(--text-secondary);max-width:480px;margin-bottom:36px;font-size:18px;line-height:1.65}.landing-hero-actions{flex-direction:column;align-items:flex-start;display:flex}.landing-cta-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#007aff,#5856d6);border:none;border-radius:14px;align-items:center;gap:8px;padding:16px 32px;font-size:17px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 20px #007aff40}.landing-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 32px #007aff59}.landing-cta-arrow{font-size:18px;transition:transform .2s}.landing-cta-btn:hover .landing-cta-arrow{transform:translate(3px)}.landing-cta-sub{color:var(--text-secondary);margin-top:14px;font-size:14px}.landing-hero-image img{aspect-ratio:4/5;object-fit:cover;border-radius:24px;width:100%;height:auto;animation:6s ease-in-out infinite landing-float;box-shadow:0 24px 64px #0000001f,0 8px 24px #0000000f}@media (width<=767px){.landing-hero-image img{aspect-ratio:16/10;border-radius:20px}}.landing-section-title{letter-spacing:-.02em;text-align:center;color:var(--text);margin-bottom:56px;font-size:36px;font-weight:800}.landing-how{background:var(--gray-1);padding:100px 40px}@media (width<=767px){.landing-how{padding:72px 20px}}.landing-steps{grid-template-columns:repeat(3,1fr);gap:32px;max-width:1200px;margin:0 auto;display:grid;position:relative}@media (width<=767px){.landing-steps{grid-template-columns:1fr;max-width:400px}}.landing-step{background:var(--bg);text-align:center;border-radius:20px;padding:36px 28px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;position:relative;box-shadow:0 2px 16px #0000000a}.landing-step:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000014}.landing-step-badge{color:#fff;background:linear-gradient(135deg,#007aff,#5856d6);border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 20px;font-size:22px;font-weight:800;display:inline-flex}.landing-step-title{color:var(--text);margin-bottom:8px;font-size:19px;font-weight:700}.landing-step-desc{color:var(--text-secondary);font-size:15px;line-height:1.6}@media (width>=768px){.landing-step:not(:last-child):after{content:"";background:repeating-linear-gradient(90deg, var(--gray-3) 0, var(--gray-3) 6px, transparent 6px, transparent 12px);z-index:1;width:36px;height:2px;position:absolute;top:56px;right:-18px}}.landing-how-inner{max-width:1100px;margin:0 auto}.landing-hiw-step{grid-template-columns:1fr 1fr;align-items:center;gap:72px;margin-bottom:80px;display:grid}.landing-hiw-step:last-child{margin-bottom:0}.landing-hiw-step-reverse{direction:rtl}.landing-hiw-step-reverse>*{direction:ltr}@media (width<=767px){.landing-hiw-step{direction:ltr;grid-template-columns:1fr;gap:32px}.landing-hiw-step-reverse{direction:ltr}}.hiw-step-content{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.hiw-privacy-note{color:var(--blue);background:linear-gradient(135deg,#007aff12,#5856d612);border:1px solid #007aff2e;border-radius:12px;align-items:flex-start;gap:8px;margin-top:4px;padding:10px 14px;font-size:13px;font-weight:500;line-height:1.4;display:inline-flex}.hiw-privacy-note svg{flex-shrink:0;margin-top:1px}.hiw-chat-window{background:#f2f2f7;border:1px solid #0000000d;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px #0000001a,0 4px 16px #0000000f}.hiw-chat-header{background:#fff;border-bottom:1px solid #0000000f;align-items:center;gap:10px;padding:14px 16px;display:flex}.hiw-jeanie-avatar{color:#fff;background:linear-gradient(135deg,#ff6b9d,#c084fc,#7dd3fc);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;display:flex}.hiw-peer-avatar{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:700;display:flex}.hiw-chat-name{color:var(--text);font-size:15px;font-weight:700;line-height:1.2}.hiw-chat-status{color:var(--text-secondary);font-size:12px}.hiw-messages{background:#fff;flex-direction:column;gap:8px;padding:16px;display:flex}.hiw-contact-card{cursor:default;align-self:flex-start;max-width:220px}.hiw-contact-card .contact-card-photo{height:120px}.hiw-contact-card:hover{transform:none}.hiw-starters{background:0 0;max-width:none;padding:0}.landing-contexts{background:var(--bg);padding:100px 40px}@media (width<=767px){.landing-contexts{padding:72px 20px}}.landing-section-subtitle{text-align:center;color:var(--text-secondary);max-width:560px;margin:-24px auto 48px;font-size:17px}.landing-contexts-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:960px;margin:0 auto;display:grid}@media (width<=767px){.landing-contexts-grid{grid-template-columns:1fr}}.landing-context-card{background:var(--gray-1);text-align:center;border:1px solid var(--border);border-radius:20px;padding:40px 32px;transition:transform .2s,box-shadow .2s}.landing-context-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.landing-context-icon{margin-bottom:16px;font-size:40px}.landing-context-title{color:var(--text-primary);margin:0 0 10px;font-size:20px;font-weight:700}.landing-context-desc{color:var(--text-secondary);margin:0;font-size:15px;line-height:1.6}.landing-features{background:var(--gray-1);padding:100px 40px}@media (width<=767px){.landing-features{padding:72px 20px}}.landing-features-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;display:grid}@media (width<=767px){.landing-features-grid{grid-template-columns:1fr;max-width:400px}}.landing-feature-card{background:var(--bg);border:1px solid var(--gray-2);border-radius:20px;padding:28px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s}.landing-feature-card:hover{border-color:#0000;transform:translateY(-4px);box-shadow:0 12px 40px #00000014}.landing-feature-icon{color:#007aff;background:linear-gradient(135deg,#007aff14,#5856d614);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:16px;display:flex}.landing-feature-title{color:var(--text);margin-bottom:6px;font-size:17px;font-weight:700}.landing-feature-desc{color:var(--text-secondary);font-size:14px;line-height:1.6}.landing-testimonials{background:linear-gradient(#fff9f5 0%,#fff4ec 100%);padding:100px 40px}@media (width<=767px){.landing-testimonials{padding:72px 20px}}.landing-testimonials-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;display:grid}@media (width<=767px){.landing-testimonials-grid{grid-template-columns:1fr;max-width:400px}}.landing-testimonial-card{background:#fff;border-radius:20px;flex-direction:column;padding:32px 28px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;display:flex;position:relative;box-shadow:0 2px 16px #0000000a}.landing-testimonial-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000014}.landing-testimonial-card:before{content:"“";color:#007aff14;pointer-events:none;font-family:Georgia,serif;font-size:64px;line-height:1;position:absolute;top:16px;right:24px}.landing-testimonial-stars{color:#ff9500;letter-spacing:2px;margin-bottom:16px;font-size:15px}.landing-testimonial-quote{color:var(--text);flex:1;margin-bottom:20px;font-size:15px;line-height:1.7}.landing-testimonial-author{align-items:center;gap:12px;display:flex}.landing-testimonial-avatar{object-fit:cover;border:2px solid #007aff26;border-radius:50%;width:44px;height:44px}.landing-testimonial-name{color:var(--text-secondary);font-size:14px;font-weight:600}.landing-faq{background:var(--bg);padding:100px 40px}@media (width<=767px){.landing-faq{padding:72px 20px}}.landing-faq-list{max-width:720px;margin:0 auto}.landing-faq-item{border-bottom:1px solid var(--gray-2)}.landing-faq-q{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-size:16px;font-weight:600;transition:color .2s;display:flex}.landing-faq-q:hover{color:var(--blue)}.landing-faq-chevron{background:var(--gray-1);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .3s cubic-bezier(.16,1,.3,1),background .2s;display:flex}.landing-faq-open .landing-faq-chevron{background:var(--blue);color:#fff;transform:rotate(180deg)}.landing-faq-a-wrap{opacity:0;max-height:0;transition:max-height .4s cubic-bezier(.16,1,.3,1),opacity .3s;overflow:hidden}.landing-faq-open .landing-faq-a-wrap{opacity:1;max-height:200px}.landing-faq-a{color:var(--text-secondary);padding-bottom:22px;font-size:15px;line-height:1.7}.landing-cta-banner{background:linear-gradient(135deg,#007aff 0%,#5856d6 50%,#af52de 100%);position:relative;overflow:hidden}.landing-cta-banner:before{content:"";background:#ffffff0f;border-radius:50%;width:500px;height:500px;position:absolute;top:-50%;right:-20%}.landing-cta-banner:after{content:"";background:#ffffff0a;border-radius:50%;width:400px;height:400px;position:absolute;bottom:-40%;left:-10%}.landing-cta-banner-inner{z-index:1;text-align:center;max-width:700px;margin:0 auto;padding:100px 40px;position:relative}@media (width<=767px){.landing-cta-banner-inner{padding:72px 20px}}.landing-cta-banner-title{color:#fff;letter-spacing:-.02em;margin-bottom:16px;font-size:40px;font-weight:800;line-height:1.15}@media (width<=767px){.landing-cta-banner-title{font-size:28px}}.landing-cta-banner-sub{color:#fffc;margin-bottom:32px;font-size:17px;line-height:1.6}.landing-cta-banner-btn{color:#007aff;cursor:pointer;background:#fff;border:none;border-radius:14px;padding:16px 36px;font-size:17px;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 20px #00000026}.landing-cta-banner-btn:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0003}.landing-footer{color:#fff;background:#1c1c1e;padding:48px 40px 32px}@media (width<=767px){.landing-footer{padding:40px 20px 28px}}.landing-footer-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto 24px;display:flex}@media (width<=767px){.landing-footer-inner{text-align:center;flex-direction:column;gap:20px}}.landing-footer-brand{align-items:center;gap:10px;font-size:16px;display:flex}.landing-footer-tagline{color:#ffffff73}.landing-footer-links{gap:28px;display:flex}.landing-footer-links a{color:#ffffff8c;font-size:14px;text-decoration:none;transition:color .2s}.landing-footer-links a:hover{color:#fff}.landing-footer-copy{color:#ffffff4d;border-top:1px solid #ffffff14;max-width:1200px;margin:0 auto;padding-top:24px;font-size:13px}@media (width<=767px){.landing-footer-copy{text-align:center}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .landing-nav{background:#000000b8;border-bottom-color:#ffffff0f}:root:not([data-theme=light]) .landing-nav-scrolled{background:#000000e0;box-shadow:0 1px 24px #0003}:root:not([data-theme=light]) .landing-hero-bg{background:radial-gradient(80% 60% at 70% 40%,#0a84ff1a,#0000),radial-gradient(60% 50% at 20% 80%,#5856d614,#0000)}:root:not([data-theme=light]) .landing-step{background:var(--gray-1)}:root:not([data-theme=light]) .landing-feature-card{border-color:var(--gray-3)}:root:not([data-theme=light]) .landing-testimonials{background:linear-gradient(#1c1c1e 0%,#2c2c2e 100%)}:root:not([data-theme=light]) .landing-testimonial-card{background:#2c2c2e}:root:not([data-theme=light]) .landing-testimonial-card:before{color:#0a84ff1f}:root:not([data-theme=light]) .landing-faq-chevron{background:var(--gray-2)}}:root[data-theme=dark] .landing-nav{background:#000000b8;border-bottom-color:#ffffff0f}:root[data-theme=dark] .landing-nav-scrolled{background:#000000e0;box-shadow:0 1px 24px #0003}:root[data-theme=dark] .landing-hero-bg{background:radial-gradient(80% 60% at 70% 40%,#0a84ff1a,#0000),radial-gradient(60% 50% at 20% 80%,#5856d614,#0000)}:root[data-theme=dark] .landing-step{background:var(--gray-1)}:root[data-theme=dark] .landing-feature-card{border-color:var(--gray-3)}:root[data-theme=dark] .landing-testimonials{background:linear-gradient(#1c1c1e 0%,#2c2c2e 100%)}:root[data-theme=dark] .landing-testimonial-card{background:#2c2c2e}:root[data-theme=dark] .landing-testimonial-card:before{color:#0a84ff1f}:root[data-theme=dark] .landing-faq-chevron{background:var(--gray-2)}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}@media (width<=767px){.toast-container{top:auto;bottom:calc(16px + var(--safe-bottom));left:16px;right:16px}}.toast{pointer-events:auto;color:#fff;cursor:pointer;border-radius:12px;align-items:center;gap:10px;min-width:240px;max-width:380px;padding:12px 16px;font-size:14px;font-weight:500;animation:.3s ease-out toastIn;display:flex;box-shadow:0 4px 16px #0003}.toast--exit{animation:.3s ease-in forwards toastOut}.toast--info{background:var(--blue)}.toast--success{background:var(--green)}.toast--error{background:var(--red,#ff3b30)}.toast--warning{background:var(--yellow,#ff9500);color:#000}.toast-icon{flex-shrink:0;font-size:16px}.toast-message{flex:1;line-height:1.4}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}}@keyframes toastOut{to{opacity:0;transform:translateY(-12px)}}.skeleton{background:linear-gradient(90deg, var(--gray-1) 25%, var(--gray-2) 50%, var(--gray-1) 75%);background-size:200% 100%;border-radius:8px;animation:1.5s infinite shimmer}.skeleton-circle{border-radius:50%}.skeleton-conv-item{align-items:center;gap:12px;padding:12px 16px;display:flex}.skeleton-conv-avatar{border-radius:50%;width:52px;height:52px}.skeleton-conv-lines{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-conv-line{border-radius:7px;height:14px}.skeleton-conv-line:first-child{width:60%}.skeleton-conv-line:last-child{width:85%}.skeleton-message{border-radius:18px;height:36px;margin-bottom:4px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.empty-state-jeanie{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px 24px;display:flex}.empty-state-jeanie .jeanie-avatar{color:#fff;background:linear-gradient(135deg,#ff6b9d,#c084fc,#7dd3fc);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:36px;display:flex}.empty-state-jeanie h3{color:var(--text);font-size:20px;font-weight:700}.empty-state-jeanie p{color:var(--text-secondary);max-width:300px;font-size:15px;line-height:1.5}.message-wrapper{flex-direction:column;display:flex;position:relative}.message-wrapper.sent{align-items:flex-end}.message-wrapper.received{align-items:flex-start}.message-reactions{z-index:1;gap:2px;margin-top:-6px;margin-bottom:2px;display:flex}.message-wrapper.sent .message-reactions{justify-content:flex-end;margin-right:8px}.message-wrapper.received .message-reactions{margin-left:8px}.reaction-badge{background:var(--bg);border:1px solid var(--gray-2);border-radius:12px;padding:1px 6px;font-size:14px;line-height:1.4;box-shadow:0 1px 3px #0000001a}.reaction-picker{background:var(--bg);border:1px solid var(--gray-2);z-index:10;border-radius:24px;gap:4px;padding:4px 8px;animation:.15s fadeIn;display:flex;position:absolute;top:-44px;box-shadow:0 4px 16px #00000026}.message-wrapper.sent .reaction-picker{right:0}.message-wrapper.received .reaction-picker{left:0}.reaction-picker button{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:4px;font-size:24px;line-height:1;transition:transform .1s,background .1s}.reaction-picker button:hover{background:var(--gray-1);transform:scale(1.2)}.online-dot{background:var(--green);border:2px solid var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;bottom:2px;right:2px}.conv-avatar-wrap{flex-shrink:0;position:relative}.last-seen{color:var(--text-secondary);font-size:11px}.completeness-meter{background:var(--gray-1);border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:16px;display:flex}.completeness-ring{flex-shrink:0;width:56px;height:56px;position:relative}.completeness-ring svg{width:56px;height:56px;transform:rotate(-90deg)}.completeness-ring .ring-bg{fill:none;stroke:var(--gray-2);stroke-width:5px}.completeness-ring .ring-fill{fill:none;stroke:var(--green);stroke-width:5px;stroke-linecap:round;transition:stroke-dashoffset .5s}.completeness-pct{color:var(--text);justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:absolute;inset:0}.completeness-info{flex:1}.completeness-info h4{margin-bottom:2px;font-size:15px;font-weight:600}.completeness-info p{color:var(--text-secondary);font-size:13px;line-height:1.4}.onboarding-overlay{z-index:2000;-webkit-backdrop-filter:blur(8px);background:#00000080;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.onboarding-card{background:var(--bg);text-align:center;border-radius:24px;width:90%;max-width:420px;padding:40px 32px;animation:.3s ease-out slideUp;box-shadow:0 8px 40px #0003}.onboarding-card .step-indicator{justify-content:center;gap:8px;margin-bottom:24px;display:flex}.onboarding-card .step-dot{background:var(--gray-3);border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.onboarding-card .step-dot.active{background:var(--blue);transform:scale(1.3)}.onboarding-card .step-dot.completed{background:var(--green)}.onboarding-icon{margin-bottom:16px;font-size:56px}.onboarding-card h2{margin-bottom:8px;font-size:24px;font-weight:700}.onboarding-card p{color:var(--text-secondary);margin-bottom:24px;font-size:15px;line-height:1.5}.onboarding-actions{flex-direction:column;gap:10px;display:flex}.onboarding-btn{cursor:pointer;border:none;border-radius:12px;padding:14px;font-size:16px;font-weight:600;transition:background .15s}.onboarding-btn.primary{background:var(--blue);color:#fff}.onboarding-btn.primary:hover{background:var(--blue-dark)}.onboarding-btn.secondary{background:var(--gray-1);color:var(--text)}.onboarding-btn.secondary:hover{background:var(--gray-2)}.error-boundary{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100dvh;padding:24px;display:flex}.error-boundary h2{font-size:22px;font-weight:700}.error-boundary p{color:var(--text-secondary);max-width:400px;font-size:15px}.blocked-user-row{border-bottom:.5px solid var(--gray-2);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.blocked-user-info{align-items:center;gap:12px;display:flex}.blocked-user-avatar{background:var(--gray-2);width:40px;height:40px;color:var(--gray-4);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.unblock-btn{background:var(--gray-1);color:var(--red,#ff3b30);cursor:pointer;border:none;border-radius:8px;padding:6px 16px;font-size:13px;font-weight:600;transition:background .15s}.unblock-btn:hover{background:var(--gray-2)}.photo-gallery{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;gap:8px;padding:4px 0;display:flex;overflow-x:auto}.photo-gallery-item{scroll-snap-align:start;border-radius:12px;flex-shrink:0;width:100px;height:100px;position:relative;overflow:hidden}.photo-gallery-item img{object-fit:cover;width:100%;height:100%}.photo-gallery-item .photo-remove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex;position:absolute;top:4px;right:4px}.photo-gallery-add{border:2px dashed var(--gray-3);cursor:pointer;width:100px;height:100px;color:var(--blue);background:0 0;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.photo-gallery-add:hover{background:var(--gray-1)}.photo-primary-badge{background:var(--blue);color:#fff;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;bottom:4px;left:4px}.photo-guidance{color:var(--text-secondary);margin:0 0 8px;font-size:13px;line-height:1.4}.photo-controls{gap:4px;display:flex;position:absolute;bottom:4px;right:4px}.photo-control-btn{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:6px;padding:3px 6px;font-size:11px}.photo-control-btn:disabled{opacity:.35;cursor:default}.photo-primary-btn{font-size:10px;font-weight:600}:root[data-theme=dark] .chat-header{background:#000000eb}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-mode=light]) .chat-header{background:#000000eb}}:root[data-theme=dark] .contact-card,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .landing-testimonial-card,:root[data-theme=dark] .landing-feature-card{background:var(--gray-1)}:root[data-theme=dark] .form-group input,:root[data-theme=dark] .form-group textarea,:root[data-theme=dark] .form-group select{background:var(--gray-1);color:var(--text)}:root[data-theme=dark] .landing-nav,:root[data-theme=dark] .landing-features,:root[data-theme=dark] .landing-faq{background:var(--bg)}:root[data-theme=dark] .landing-how,:root[data-theme=dark] .landing-testimonials{background:var(--gray-1)}:root[data-theme=dark] .landing-nav-btn:hover{background:var(--gray-2)}.waitlist-page{background:var(--bg-secondary);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.waitlist-card{background:var(--bg);text-align:center;border-radius:16px;width:100%;max-width:460px;padding:40px 32px;box-shadow:0 2px 12px #00000014}.waitlist-title{color:var(--text);margin-bottom:8px;font-size:26px;font-weight:700}.waitlist-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:15px;line-height:1.5}.waitlist-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;text-align:left;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.waitlist-input{border:1px solid var(--gray-2);background:var(--input-bg);width:100%;color:var(--text);border-radius:10px;outline:none;margin-bottom:12px;padding:12px;font-size:16px;transition:border-color .15s,box-shadow .15s}.waitlist-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.waitlist-country-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238E8E93' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.waitlist-btn{background:var(--accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;margin-top:4px;padding:14px;font-size:16px;font-weight:600;transition:opacity .15s,transform .15s,box-shadow .15s;box-shadow:0 4px 14px #0000002e}.waitlist-btn:not(:disabled):hover{opacity:.92;transform:translateY(-1px);box-shadow:0 6px 20px #00000038}.waitlist-btn:disabled{opacity:.5;cursor:default}.waitlist-btn-secondary{width:100%;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:12px;margin-top:4px;padding:12px;font-size:15px}.waitlist-error{color:var(--red);margin-top:12px;font-size:14px}.waitlist-footer-text{color:var(--text-secondary);margin-top:20px;font-size:13px}.waitlist-footer-text a{color:var(--accent);text-decoration:none}.waitlist-location-search{margin-bottom:12px;position:relative}.waitlist-location-loading{color:var(--text-secondary);padding:4px 0;font-size:13px}.waitlist-location-results{background:var(--input-bg);border:1px solid var(--gray-2);z-index:10;border-radius:12px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001f}.waitlist-location-item{cursor:pointer;border-bottom:1px solid var(--gray-1);color:var(--text);text-align:left;padding:12px 16px;font-size:14px}.waitlist-location-item:last-child{border-bottom:none}.waitlist-location-item:hover{background:var(--gray-1)}.waitlist-selected-location{color:var(--accent);text-align:left;padding:8px 0;font-size:14px}.waitlist-position-badge{color:var(--accent);margin-bottom:8px;font-size:48px;font-weight:800;display:inline-block}.waitlist-unlocked-badge{background:var(--green);color:#fff;border-radius:20px;margin-bottom:16px;padding:8px 24px;font-size:18px;font-weight:700;display:inline-block}.waitlist-priority-badge{background:var(--yellow);color:#fff;border-radius:12px;margin-top:16px;padding:6px 16px;font-size:13px;font-weight:600;display:inline-block}.waitlist-progress-wrapper{text-align:left;margin:24px 0}.waitlist-progress-label{color:var(--text-secondary);margin-bottom:8px;font-size:14px}.waitlist-progress-bar{background:var(--gray-2);border-radius:6px;height:12px;overflow:hidden}.waitlist-progress-fill{background:var(--accent-gradient);border-radius:6px;min-width:2%;height:100%;transition:width .5s}.waitlist-progress-pct{color:var(--text-secondary);text-align:right;margin-top:4px;font-size:13px}.waitlist-referral-card{background:var(--gray-1);text-align:left;border-radius:12px;margin-top:24px;padding:20px}.waitlist-referral-card h3{color:var(--text);margin-bottom:4px;font-size:16px;font-weight:600}.waitlist-referral-card p{color:var(--text-secondary);margin-bottom:12px;font-size:14px}.waitlist-referral-link-row{gap:8px;margin-bottom:12px;display:flex}.waitlist-referral-link-input{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;flex:1;min-width:0;padding:10px 12px;font-size:13px}.waitlist-copy-btn{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600}.waitlist-copy-btn:hover{filter:brightness(.85)}.waitlist-share-btns{gap:8px;display:flex}.waitlist-share-btn{background:var(--gray-2);color:var(--text);text-align:center;cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s}.waitlist-share-btn:hover{background:var(--gray-3)}.waitlist-referral-count{color:var(--accent);margin-top:12px;font-size:14px;font-weight:600}.waitlist-profile-cta{background:var(--gray-1);border:1px solid var(--gray-2);border-radius:12px;margin-top:20px;padding:20px}.waitlist-profile-cta-title{color:var(--text-primary);margin:0 0 6px;font-size:16px;font-weight:700}.waitlist-profile-cta-body{color:var(--text-secondary);margin:0 0 16px;font-size:14px;line-height:1.5}.waitlist-profile-cta-actions{flex-wrap:wrap;gap:10px;display:flex}.waitlist-profile-cta-actions .waitlist-btn{flex:1;min-width:140px}.waitlist-status-banner{background:color-mix(in srgb, var(--accent) 8%, var(--bg));border:none;border-bottom:2px solid color-mix(in srgb, var(--accent) 30%, transparent);cursor:pointer;width:100%;color:var(--text);text-align:left;flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.waitlist-status-banner:hover{background:color-mix(in srgb, var(--accent) 14%, var(--bg))}.waitlist-status-banner-label{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.waitlist-status-banner-progress{color:var(--accent);white-space:nowrap;font-weight:600}.waitlist-status-banner-arrow{color:var(--text-tertiary)}.waitlist-status-banner--unlocked{background:color-mix(in srgb, var(--green) 12%, var(--bg));border-bottom-color:var(--green);color:color-mix(in srgb, var(--green) 70%, var(--text))}.waitlist-status-banner--unlocked:hover{background:color-mix(in srgb, var(--green) 18%, var(--bg))}.waitlist-onboard-page{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.waitlist-onboard-page>:last-child{flex:1;min-height:0}.waitlist-app-wrapper{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.waitlist-app-wrapper>:last-child{flex:1;min-height:0}.waitlist-app-wrapper .app-layout{height:100%}.admin-stats-row{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.admin-btn{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600}.admin-btn:hover{background:var(--blue-dark)}.admin-btn:disabled{opacity:.5;cursor:default}.admin-btn-sm{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:500}.admin-btn-sm:disabled{opacity:.5;cursor:default}.admin-badge{border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.admin-badge-waiting{background:var(--yellow);color:#fff}.admin-badge-invited{background:var(--blue);color:#fff}.admin-badge-converted{background:var(--green);color:#fff}.admin-badge-removed{background:var(--gray-4);color:#fff}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg);border-radius:16px;width:90%;max-width:400px;padding:28px;box-shadow:0 8px 32px #0003}.modal-content h3{color:var(--text);margin-bottom:8px;font-size:18px;font-weight:700}@media (width<=767px){.waitlist-card{padding:32px 20px}.admin-stats-row,.waitlist-share-btns{flex-direction:column}}.section-card{background:var(--card-bg);box-shadow:var(--card-shadow);border:1px solid var(--border);border-radius:16px;margin-bottom:20px;padding:20px}.section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-size:11px;font-weight:700}.settings-group{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:16px;margin-bottom:24px;overflow:hidden}.settings-group-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:0;padding:14px 16px 0;font-size:11px;font-weight:700}.setting-row{border-bottom:.5px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.setting-row:last-child{border-bottom:none}.theme-picker-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:4px 0;display:grid}@media (width<=480px){.theme-picker-grid{grid-template-columns:repeat(2,1fr)}}.theme-picker-item{cursor:pointer;border:2px solid var(--border);background:var(--bg-secondary);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:12px 10px 10px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative}.theme-picker-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.theme-picker-item.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 4px 16px #0000001f}.theme-picker-swatches{justify-content:center;gap:4px;display:flex}.theme-swatch{border:1.5px solid #ffffff4d;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 3px #0003}.theme-picker-name{color:var(--text);font-size:12px;font-weight:600;line-height:1}.theme-picker-check{background:var(--accent-gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex;position:absolute;top:6px;right:6px}.back-btn{color:var(--accent)}.completeness-ring-fill{stroke:url(#ring-gradient)}.starter-chip{color:var(--accent);border-color:var(--border);background:var(--card-bg)}.starter-chip:hover{background:var(--gray-2)}.empty-state-icon{background:var(--accent-gradient);-webkit-text-fill-color:transparent;opacity:1;-webkit-background-clip:text;background-clip:text}.modal-body .ai-notes-label{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.request-banner{background:var(--card-bg);border-top:1px solid var(--border)}.profile-structured-fields{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--card-shadow)}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.checkbox-group input[type=checkbox]{accent-color:var(--accent)}.tag-add-form button[type=submit]{background:var(--accent-gradient);color:#fff}.tag-add-btn{color:var(--accent);border-color:var(--accent);background:0 0;border-style:dashed}.icon-btn{color:var(--accent)}.waitlist-progress-fill,.waitlist-copy-btn{background:var(--accent-gradient)}.waitlist-copy-btn:hover{opacity:.9}.admin-badge-invited{background:var(--accent-gradient)}::-webkit-scrollbar-thumb{background:var(--gray-3)}:root[data-theme=neon] .conv-item.active:before{box-shadow:0 0 8px var(--accent)}:root[data-theme=neon] .message-input:focus{box-shadow:0 0 0 2px var(--accent), 0 0 12px color-mix(in srgb, var(--accent) 30%, transparent)}:root[data-theme=neon] .send-btn:not(:disabled):hover{box-shadow:0 0 16px color-mix(in srgb, var(--accent) 60%, transparent)}:root[data-theme=neon] .auth-btn:not(:disabled):hover{box-shadow:0 0 24px color-mix(in srgb, var(--accent) 40%, transparent)}:root[data-theme=aurora] .message.sent{box-shadow:0 2px 12px color-mix(in srgb, var(--accent) 40%, transparent)}:root[data-theme=aurora] .sidebar-header h1{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 30%, transparent))}:root[data-theme=midnight] .sidebar-header h1{text-shadow:0 1px 8px #d4a01766}.messages-area{background:var(--bg)}.location-search{margin-bottom:12px;position:relative}.location-search-loading{color:var(--text-secondary);padding:4px 0;font-size:13px}.location-search-results{background:var(--bg);border:1px solid var(--gray-2);z-index:50;border-radius:12px;max-height:220px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.location-search-item{cursor:pointer;border-bottom:1px solid var(--gray-1);color:var(--text);text-align:left;padding:12px 16px;font-size:14px}.location-search-item:last-child{border-bottom:none}.location-search-item:hover{background:var(--gray-1)}.setup-page{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.setup-card{text-align:center;width:100%;max-width:440px}.setup-card h1{color:var(--text);margin-bottom:8px;font-size:24px}.setup-card p{color:var(--text-secondary);margin-bottom:24px;font-size:15px}.setup-card .location-search input{box-sizing:border-box;width:100%}.setup-card .form-group{text-align:left;margin-bottom:16px}.setup-card .form-group label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.setup-selected-location{color:var(--blue);text-align:left;padding:8px 0;font-size:14px}.setup-card button{width:100%;margin-top:16px}.offline-banner{z-index:10000;color:#fff;pointer-events:none;white-space:nowrap;border-radius:0 0 14px 14px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;animation:.3s cubic-bezier(.34,1.2,.64,1) both offlineBannerIn;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000040}.offline-banner--offline{background:#ff3b30}.offline-banner--restored{background:var(--green,#34c759);animation:.25s cubic-bezier(.34,1.2,.64,1) both offlineBannerIn,.3s ease-in 2.2s both offlineBannerOut}.offline-banner-icon{flex-shrink:0;display:block}@keyframes offlineBannerIn{0%{opacity:0;transform:translate(-50%)translateY(-110%)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes offlineBannerOut{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-110%)}}
