*{box-sizing:border-box;margin:0;padding:0}body{background:#ece5dd;justify-content:center;align-items:center;height:100vh;font-family:Segoe UI,Hiragino Sans,Noto Sans JP,system-ui,sans-serif;display:flex}#root{background:#fff;border-radius:24px;flex-direction:column;width:100%;max-width:480px;height:100vh;max-height:800px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 30px #00000026}@media (width<=520px){#root{border-radius:0;max-width:100%;max-height:100vh}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#aaa}.api-screen{text-align:center;background:linear-gradient(145deg,#f8f5f0 0%,#ece5dd 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 28px;display:flex}.api-screen .avatar-big{color:#fff;background:#25d366;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin-bottom:18px;font-size:44px;font-weight:600;display:flex;box-shadow:0 8px 24px #25d3664d}.api-screen h1{color:#1a1a1a;margin-bottom:4px;font-size:26px;font-weight:700}.api-screen .sub{color:#666;margin-bottom:28px;font-size:15px;line-height:1.5}.api-screen .sub span{color:#fff;background:#25d366;border-radius:12px;padding:0 8px;font-size:13px;font-weight:600}.api-screen .input-group{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.api-screen .input-group label{color:#333;text-align:left;font-size:13px;font-weight:600}.api-screen .input-group input{background:#fff;border:2px solid #ddd;border-radius:14px;outline:none;padding:14px 18px;font-family:inherit;font-size:15px;transition:border-color .25s,box-shadow .25s}.api-screen .input-group input:focus{border-color:#25d366;box-shadow:0 0 0 4px #25d36626}.api-screen .input-group .hint{color:#999;text-align:left;margin-top:-6px;font-size:12px}.api-screen .btn-connect{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:14px;width:100%;max-width:360px;margin-top:8px;padding:16px;font-family:inherit;font-size:17px;font-weight:700;transition:background .2s,transform .1s}.api-screen .btn-connect:hover{background:#1ebe5a}.api-screen .btn-connect:active{transform:scale(.97)}.api-screen .btn-connect:disabled{opacity:.6;cursor:not-allowed;transform:none}.api-screen .error{color:#e74c3c;background:#fde8e8;border-radius:10px;margin-top:12px;padding:8px 16px;font-size:14px;display:none}.api-screen .error.show{display:block}.api-screen .footer-note{color:#aaa;margin-top:24px;font-size:12px}.contact-screen{background:#f8f9fa;flex-direction:column;flex:1;height:100%;display:flex}.contact-header{background:#075e54;flex-shrink:0;padding:18px 16px 12px}.contact-header-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.contact-header-title h1{color:#fff;font-size:22px;font-weight:600}.logout-btn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:8px;padding:6px 12px;font-size:20px;transition:background .2s}.logout-btn:hover{background:#ffffff40}.search-bar{position:relative}.search-bar input{color:#fff;background:#ffffff26;border:none;border-radius:20px;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:background .2s}.search-bar input::placeholder{color:#ffffffb3}.search-bar input:focus{background:#ffffff40}.contact-list{background:#fff;flex:1;padding:0;overflow-y:auto}.contact-item{cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:center;padding:14px 18px;transition:background .15s;display:flex}.contact-item:hover{background:#f0f7ff}.contact-item:active{background:#e0e7ef}.contact-avatar-wrapper{flex-shrink:0;width:50px;height:50px;margin-right:14px;position:relative}.contact-avatar{object-fit:cover;border-radius:50%;width:100%;height:100%}.contact-avatar-fallback{color:#fff;background:#25d366;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:20px;font-weight:600;display:flex}.contact-status{border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;bottom:0;right:0}.contact-status.online{background:#25d366}.contact-status.away{background:#ffc107}.contact-status.offline{background:#9e9e9e}.unread-badge{color:#fff;text-align:center;background:#25d366;border-radius:12px;min-width:20px;padding:2px 6px;font-size:11px;font-weight:600;position:absolute;top:-4px;right:-4px}.contact-info{flex:1;min-width:0}.contact-name-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.contact-name{color:#1a1a1a;font-size:16px;font-weight:600}.contact-time{color:#999;font-size:12px}.contact-message-row{justify-content:space-between;align-items:center;display:flex}.contact-last-message{color:#666;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.favorite-star{color:#ffc107;margin-left:4px;font-size:14px}.empty-contacts{color:#999;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.empty-icon{opacity:.5;margin-bottom:12px;font-size:48px}.chat-screen{background:#e5ddd5;flex-direction:column;flex:1;height:100%;display:flex;position:relative}.chat-header{z-index:2;background:#075e54;flex-shrink:0;align-items:center;gap:14px;padding:14px 16px;display:flex;box-shadow:0 2px 8px #0000001f}.back-btn{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;padding:0 4px;font-size:28px;transition:opacity .2s}.back-btn:hover{opacity:1}.avatar-wrapper{border-radius:50%;flex-shrink:0;width:42px;height:42px;position:relative;overflow:hidden}.avatar-image{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-fallback{color:#fff;background:#25d366;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;font-weight:700;display:flex}.info{flex:1;min-width:0}.info .name{color:#fff;font-size:17px;font-weight:600;line-height:1.2}.info .status{color:#ffffffb3;font-size:13px}.actions button{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px 6px;font-size:20px;transition:opacity .2s}.actions button:hover{opacity:1}.messages-container{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Crect width='100' height='100' fill='%23e5ddd5'/%3E%3C/svg%3E");background-size:60px 60px;flex-direction:column;flex:1;gap:4px;padding:18px 16px 12px;display:flex;overflow-y:auto}.messages-container .empty-state{color:#888;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.messages-container .empty-state .icon{opacity:.5;margin-bottom:12px;font-size:48px}.messages-container .empty-state p{max-width:260px;font-size:15px;line-height:1.6}.messages-container .empty-state .sub{color:#aaa;margin-top:4px;font-size:13px}.message-wrapper{flex-direction:column;max-width:82%;animation:.25s ease-out fadeUp;display:flex}.message-wrapper.self{align-self:flex-end;align-items:flex-end}.message-wrapper.other{align-self:flex-start;align-items:flex-start}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.bubble{word-break:break-word;border-radius:14px;padding:10px 14px;font-size:15px;line-height:1.6;position:relative;box-shadow:0 1px 2px #0000000f;padding-right:55px!important}.message-wrapper.self .bubble{color:#1a1a1a;background:#dcf8c6;border-bottom-right-radius:4px}.message-wrapper.other .bubble{color:#1a1a1a;background:#fff;border-bottom-left-radius:4px}.bubble .time{color:#999;text-align:right;letter-spacing:.2px;margin-top:4px;font-size:10px;display:block}.message-wrapper.self .bubble .time{color:#777}.speak-wrapper{opacity:0;align-items:center;gap:3px;transition:opacity .3s;display:inline-flex;position:absolute;bottom:4px;right:4px}.bubble:hover .speak-wrapper{opacity:1}@media (width<=768px){.speak-wrapper{opacity:.8}}.speak-btn{cursor:pointer;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:4px;font-size:14px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000001a}.speak-btn:hover:not(:disabled){background:#fff;transform:scale(1.1);box-shadow:0 2px 6px #00000026}.speak-btn:active:not(:disabled){transform:scale(.9)}.speak-btn:disabled{cursor:not-allowed;opacity:.5}.voice-selector-btn{cursor:pointer;background:#c8c8c8cc;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:22px;min-height:22px;padding:2px;font-size:11px;transition:all .2s;display:flex}.voice-selector-btn:hover{background:#c8c8c8;transform:scale(1.1)}.voice-selector-dropdown{z-index:1000;background:#fff;border-radius:12px;flex-direction:column;min-width:300px;max-width:380px;max-height:450px;animation:.3s ease-out slideUp;display:flex;position:fixed;bottom:80px;right:20px;overflow:hidden;box-shadow:0 4px 20px #00000040}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.voice-selector-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;font-weight:600;display:flex}.voice-selector-header button{cursor:pointer;color:#666;background:0 0;border:none;padding:0 4px;font-size:20px}.voice-selector-header button:hover{color:#333}.voice-list{max-height:320px;padding:8px 0;overflow-y:auto}.voice-item{cursor:pointer;border-bottom:1px solid #f5f5f5;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;transition:background .2s;display:flex}.voice-item:hover{background:#f0f7ff}.voice-item.active{background:#e3f2fd}.voice-item.active:after{content:"✓";color:#25d366;margin-left:4px;font-size:16px;font-weight:700}.voice-item .voice-lang{color:#999;white-space:nowrap;background:#f0f0f0;border-radius:12px;padding:2px 10px;font-size:11px}.typing-indicator{background:#fff;border-radius:14px 14px 14px 4px;align-self:flex-start;align-items:center;gap:4px;min-width:52px;margin-top:2px;padding:10px 16px;display:flex;box-shadow:0 1px 2px #0000000f}.typing-indicator .dot{background:#999;border-radius:50%;width:8px;height:8px;animation:1.4s infinite typingBounce}.typing-indicator .dot:nth-child(2){animation-delay:.2s}.typing-indicator .dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.chat-input-area{background:#f0eee9;border-top:1px solid #ddd;flex-shrink:0;align-items:flex-end;gap:10px;padding:10px 14px 14px;display:flex}.chat-input-area textarea{resize:none;background:#fff;border:none;border-radius:20px;outline:none;flex:1;min-height:44px;max-height:120px;padding:10px 14px;font-family:inherit;font-size:15px;line-height:1.5;box-shadow:0 1px 4px #0000000a}.chat-input-area textarea:focus{box-shadow:0 0 0 3px #25d36633}.chat-input-area textarea::placeholder{color:#aaa}.chat-input-area .send-btn{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;transition:background .2s,transform .1s;display:flex}.chat-input-area .send-btn:hover{background:#1ebe5a}.chat-input-area .send-btn:active{transform:scale(.92)}.chat-input-area .send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.chat-input-area .send-btn svg{fill:currentColor;width:22px;height:22px}.loading{color:#666;flex:1;justify-content:center;align-items:center;font-size:16px;display:flex}.language-screen{background:#f8f9fa;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:20px;display:flex;overflow-y:auto}.language-screen h1{color:#1a1a1a;margin-bottom:4px;font-size:28px;font-weight:700}.language-screen .sub{color:#666;margin-bottom:28px;font-size:15px}.language-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;width:100%;max-width:480px;display:grid}.language-card{text-align:center;cursor:pointer;background:#fff;border-radius:16px;padding:20px 12px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #00000014}.language-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px #0000001f}.lang-flag{font-size:40px;line-height:1.2}.lang-name{color:#1a1a1a;margin-top:8px;font-size:18px;font-weight:700}.lang-desc{color:#888;margin-top:2px;font-size:13px}.header-actions{align-items:center;gap:6px;display:flex}.lang-switch-btn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:8px;padding:6px 10px;font-size:20px;transition:background .2s}.lang-switch-btn:hover{background:#ffffff40}.loading-screen,.error-screen{color:#555;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.error-screen button{color:#fff;cursor:pointer;background:#075e54;border:none;border-radius:8px;margin-top:16px;padding:10px 24px;font-size:16px}.error-screen button:hover{background:#054a41}@media (width<=480px){.language-grid{grid-template-columns:repeat(2,1fr);gap:12px}.language-card{padding:16px 10px}.lang-flag{font-size:32px}.lang-name{font-size:16px}}.chat-screen{--lx-canvas:#f6f3fd;--lx-surface:#fff;--lx-surface-2:#fbf9ff;--lx-border:#eae4f8;--lx-ink:#2e2a40;--lx-ink-soft:#6e6885;--lx-ink-faint:#a8a2be;--lx-iris:#7c6bf0;--lx-iris-deep:#5b4bd6;--lx-iris-soft:#ede9ff;--lx-peach:#ff9e7d;--lx-peach-soft:#ffede5;--lx-mint:#5fcfb4;--lx-mint-soft:#e1f8f1;--lx-shadow-sm:0 1px 2px #4c3c960d, 0 4px 12px #4c3c960f;--lx-shadow-md:0 8px 28px #4c3c961f;--lx-glow:0 6px 20px #7c6bf052;color:var(--lx-ink);background:radial-gradient(900px 420px at 8% -12%, #efe9ff 0%, #efe9ff00 60%), radial-gradient(720px 380px at 108% 4%, #ffefe7 0%, #ffefe700 62%), radial-gradient(760px 700px at 50% 118%, #e2f8f1 0%, #e2f8f100 62%), var(--lx-canvas);position:relative;overflow:hidden}.chat-screen .chat-header{-webkit-backdrop-filter:saturate(180%)blur(18px);backdrop-filter:saturate(180%)blur(18px);border-bottom:1px solid var(--lx-border);background:#ffffffb8;gap:12px;padding:12px 16px;box-shadow:inset 0 1px #ffffffb3,0 4px 18px #4c3c960d}.chat-screen .back-btn{color:var(--lx-ink);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:26px;line-height:1;transition:background .2s,transform .15s;display:flex}.chat-screen .back-btn:hover{background:var(--lx-iris-soft)}.chat-screen .back-btn:active{transform:scale(.92)}.chat-screen .avatar-wrapper{background:linear-gradient(140deg, var(--lx-iris) 0%, var(--lx-peach) 100%);border-radius:50%;width:42px;height:42px;padding:2px;overflow:visible;box-shadow:0 3px 10px #7c6bf038}.chat-screen .avatar-image,.chat-screen .avatar-fallback{border:2px solid #fff;border-radius:50%;width:100%;height:100%}.chat-screen .avatar-fallback{background:var(--lx-iris-soft);color:var(--lx-iris-deep);font-weight:700}.chat-screen .info .name{color:var(--lx-ink);letter-spacing:-.01em;font-size:16.5px;font-weight:650}.chat-screen .info .status{color:var(--lx-ink-soft);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.chat-screen .info .status:before{content:"";background:var(--lx-mint);border-radius:50%;width:7px;height:7px;animation:2.2s ease-out infinite lxPulse;box-shadow:0 0 #5fcfb48c}@keyframes lxPulse{0%{box-shadow:0 0 #5fcfb480}70%{box-shadow:0 0 0 7px #5fcfb400}to{box-shadow:0 0 #5fcfb400}}.chat-screen .actions button{color:var(--lx-ink-soft);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:background .2s;display:inline-flex}.chat-screen .actions button:hover{background:var(--lx-iris-soft);color:var(--lx-iris-deep)}.chat-screen .messages-container{scrollbar-width:thin;scrollbar-color:#7c6bf047 transparent;background:0 0;gap:10px;padding:20px 18px 8px}.chat-screen .messages-container::-webkit-scrollbar{width:6px}.chat-screen .messages-container::-webkit-scrollbar-thumb{background:#7c6bf038;border-radius:99px}.chat-screen .messages-container::-webkit-scrollbar-thumb:hover{background:#7c6bf061}.chat-screen .message-wrapper{max-width:78%}.chat-screen .bubble{border:none;padding:11px 16px;font-size:15px;line-height:1.55;transition:transform .18s,box-shadow .18s}.chat-screen .message-wrapper.other .bubble{background:var(--lx-surface);color:var(--lx-ink);border:1px solid var(--lx-border);box-shadow:var(--lx-shadow-sm);border-radius:20px 20px 20px 6px}.chat-screen .message-wrapper.other .bubble:after{content:"";background:linear-gradient(180deg, var(--lx-iris) 0%, var(--lx-peach) 100%);opacity:.55;border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;top:10px;left:0}.chat-screen .message-wrapper.self .bubble{color:#fff;background:linear-gradient(135deg,#8b7cf7 0%,#a98bfa 55%,#c39bf7 100%);border-radius:20px 20px 6px;box-shadow:0 6px 18px #7c6bf047}.chat-screen .bubble .time{letter-spacing:.02em;color:var(--lx-ink-faint);font-size:10.5px}.chat-screen .message-wrapper.self .bubble .time{color:#ffffffc7}.chat-screen .message-link{color:var(--lx-iris-deep);text-underline-offset:2px;-webkit-text-decoration:underline #7c6bf059;text-decoration:underline #7c6bf059}.chat-screen .message-wrapper.self .message-link{color:#fff;text-decoration-color:#ffffff80}.chat-screen .message-wrapper{animation:.32s cubic-bezier(.22,1,.36,1) lxAuroraIn}@keyframes lxAuroraIn{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.chat-screen .speak-btn{background:var(--lx-iris-soft);color:var(--lx-iris-deep);width:28px;height:28px;box-shadow:none;border:none;border-radius:50%;font-size:13px;transition:transform .18s,background .18s}.chat-screen .speak-btn:hover:not(:disabled){background:var(--lx-iris);color:#fff;transform:scale(1.08)}.chat-screen .voice-selector-btn{color:var(--lx-iris-deep);background:#7c6bf01f;border-radius:50%}.chat-screen .voice-selector-dropdown{background:var(--lx-surface);border:1px solid var(--lx-border);box-shadow:var(--lx-shadow-md);border-radius:16px}.chat-screen .voice-selector-header{background:var(--lx-surface-2);border-bottom:1px solid var(--lx-border);color:var(--lx-ink)}.chat-screen .voice-item:hover{background:var(--lx-iris-soft)}.chat-screen .voice-item.active{background:var(--lx-iris-soft);color:var(--lx-iris-deep)}.chat-screen .voice-item.active:after{color:var(--lx-iris)}.chat-screen .typing-indicator{background:var(--lx-surface);border:1px solid var(--lx-border);box-shadow:var(--lx-shadow-sm);border-radius:20px 20px 20px 6px;padding:12px 16px}.chat-screen .typing-indicator .dot{background:var(--lx-iris);opacity:.45}.chat-screen .empty-state{color:var(--lx-ink-soft)}.chat-screen .empty-state .icon{filter:drop-shadow(0 10px 22px #7c6bf047);font-size:56px}.chat-screen .empty-state p{color:var(--lx-ink);background:linear-gradient(100deg, var(--lx-iris-deep), var(--lx-peach));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:600}.chat-screen .empty-state .sub{color:var(--lx-ink-faint)}.chat-screen .chat-input-area{padding:10px 16px calc(16px + env(safe-area-inset-bottom,0px));background:0 0;border-top:none;gap:10px}.chat-screen .chat-input-area textarea{border:1.5px solid var(--lx-border);color:var(--lx-ink);box-shadow:var(--lx-shadow-sm);background:#ffffffeb;border-radius:22px;padding:12px 18px;font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s}.chat-screen .chat-input-area textarea::placeholder{color:var(--lx-ink-faint)}.chat-screen .chat-input-area textarea:focus{box-shadow:0 0 0 4px #7c6bf024, var(--lx-shadow-sm);background:#fff;border-color:#7c6bf08c}.chat-screen .chat-input-area .send-btn{width:46px;height:46px;box-shadow:var(--lx-glow);background:linear-gradient(140deg,#8b7cf7 0%,#a98bfa 60%,#ff9e7d 160%);transition:transform .15s,box-shadow .2s,filter .2s}.chat-screen .chat-input-area .send-btn:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 8px 26px #7c6bf06b}.chat-screen .chat-input-area .send-btn:active:not(:disabled){transform:scale(.92)}.chat-screen .chat-input-area .send-btn:disabled{box-shadow:none;opacity:.7;background:#d9d3ee}@media (prefers-reduced-motion:reduce){.chat-screen .message-wrapper,.chat-screen .info .status:before,.chat-screen .typing-indicator .dot{animation:none!important}}@media (width<=480px){.chat-screen .message-wrapper{max-width:86%}.chat-screen .chat-input-area{padding:8px 12px calc(12px + env(safe-area-inset-bottom,0px))}.chat-screen .messages-container{padding:16px 12px 6px}}.contact-screen,.language-screen,.loading-screen,.error-screen,.api-screen{--lx-canvas:#f6f3fd;--lx-surface:#fff;--lx-surface-2:#fbf9ff;--lx-border:#eae4f8;--lx-ink:#2e2a40;--lx-ink-soft:#6e6885;--lx-ink-faint:#a8a2be;--lx-iris:#7c6bf0;--lx-iris-deep:#5b4bd6;--lx-iris-soft:#ede9ff;--lx-peach:#ff9e7d;--lx-peach-soft:#ffede5;--lx-mint:#5fcfb4;--lx-mint-soft:#e1f8f1;--lx-shadow-sm:0 1px 2px #4c3c960d, 0 4px 12px #4c3c960f;--lx-shadow-md:0 8px 28px #4c3c961f;--lx-glow:0 6px 20px #7c6bf052}body{background:#f6f3fd}.contact-screen{background:radial-gradient(900px 420px at 8% -12%, #efe9ff 0%, #efe9ff00 60%), radial-gradient(720px 380px at 108% 4%, #ffefe7 0%, #ffefe700 62%), radial-gradient(760px 700px at 50% 118%, #e2f8f1 0%, #e2f8f100 62%), var(--lx-canvas);color:var(--lx-ink)}.contact-screen .contact-header{-webkit-backdrop-filter:saturate(180%)blur(18px);backdrop-filter:saturate(180%)blur(18px);border-bottom:1px solid var(--lx-border);background:#ffffffb8;padding:18px 20px 14px;box-shadow:inset 0 1px #ffffffb3,0 4px 18px #4c3c960d}.contact-screen .contact-header-title h1{letter-spacing:-.02em;background:linear-gradient(100deg, var(--lx-iris-deep) 0%, var(--lx-peach) 130%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:700}.contact-screen .header-actions{gap:8px}.contact-screen .lang-switch-btn,.contact-screen .logout-btn{background:var(--lx-iris-soft);color:var(--lx-iris-deep);border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:18px;transition:background .2s,color .2s,transform .15s;display:inline-flex}.contact-screen .lang-switch-btn:hover,.contact-screen .logout-btn:hover{background:var(--lx-iris);color:#fff;transform:translateY(-1px)}.contact-screen .search-bar input{border:1.5px solid var(--lx-border);width:100%;color:var(--lx-ink);box-shadow:var(--lx-shadow-sm);background:#ffffffeb;border-radius:22px;padding:12px 18px;font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s}.contact-screen .search-bar input::placeholder{color:var(--lx-ink-faint)}.contact-screen .search-bar input:focus{box-shadow:0 0 0 4px #7c6bf024, var(--lx-shadow-sm);background:#fff;border-color:#7c6bf08c;outline:none}.contact-screen .contact-list{background:0 0;padding:8px 10px 24px}.contact-screen .contact-item{background:var(--lx-surface);border:1px solid var(--lx-border);border-bottom:1px solid var(--lx-border);box-shadow:var(--lx-shadow-sm);border-radius:18px;margin:0 0 8px;padding:14px 16px;transition:transform .18s,box-shadow .22s,border-color .2s,background .2s}.contact-screen .contact-item:hover{background:var(--lx-surface);border-color:#7c6bf059;transform:translateY(-2px);box-shadow:0 10px 26px #7c6bf029}.contact-screen .contact-item:active{transform:translateY(0)scale(.995)}.contact-screen .contact-avatar-wrapper{background:linear-gradient(140deg, var(--lx-iris) 0%, var(--lx-peach) 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;margin-right:14px;padding:2px;display:flex;box-shadow:0 3px 10px #7c6bf038}.contact-screen .contact-avatar,.contact-screen .contact-avatar-fallback{object-fit:cover;border:2px solid #fff;border-radius:50%;width:100%;height:100%}.contact-screen .contact-avatar-fallback{background:var(--lx-iris-soft);color:var(--lx-iris-deep);justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.contact-screen .contact-status{border:2.5px solid #fff;width:14px;height:14px;bottom:0;right:0;box-shadow:0 0 0 1px #4c3c960f}.contact-screen .contact-status.online{background:var(--lx-mint)}.contact-screen .contact-status.away{background:var(--lx-peach)}.contact-screen .contact-status.offline{background:#c9c3dd}.contact-screen .unread-badge{color:#fff;background:linear-gradient(140deg,#8b7cf7 0%,#ff9e7d 160%);border:1.5px solid #fff;font-weight:700;box-shadow:0 2px 8px #7c6bf066}.contact-screen .contact-name{color:var(--lx-ink);letter-spacing:-.01em;font-weight:650}.contact-screen .contact-time{color:var(--lx-ink-faint);font-size:12px}.contact-screen .contact-last-message{color:var(--lx-ink-soft)}.contact-screen .favorite-star{color:var(--lx-peach);filter:drop-shadow(0 1px 2px #ff9e7d73)}.contact-screen .empty-contacts{color:var(--lx-ink-soft)}.contact-screen .empty-icon{opacity:1;filter:drop-shadow(0 10px 22px #7c6bf038);font-size:56px}.language-screen{background:radial-gradient(900px 420px at 8% -12%, #efe9ff 0%, #efe9ff00 60%), radial-gradient(720px 380px at 108% 4%, #ffefe7 0%, #ffefe700 62%), radial-gradient(760px 700px at 50% 118%, #e2f8f1 0%, #e2f8f100 62%), var(--lx-canvas);color:var(--lx-ink)}.language-screen h1{letter-spacing:-.02em;background:linear-gradient(100deg, var(--lx-iris-deep) 0%, var(--lx-peach) 130%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:700}.language-screen .sub{color:var(--lx-ink-soft)}.language-screen .language-card{background:var(--lx-surface);border:1px solid var(--lx-border);box-shadow:var(--lx-shadow-sm);border-radius:20px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden}.language-screen .language-card:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(140deg,#7c6bf01a,#ff9e7d1a);transition:opacity .25s;position:absolute;inset:0}.language-screen .language-card:hover{border-color:#7c6bf059;transform:translateY(-4px);box-shadow:0 14px 30px #7c6bf02e}.language-screen .language-card:hover:before{opacity:1}.language-screen .lang-flag{filter:drop-shadow(0 6px 14px #7c6bf02e)}.language-screen .lang-name{color:var(--lx-ink)}.language-screen .lang-desc{color:var(--lx-ink-soft)}.loading-screen,.error-screen{background:radial-gradient(700px 400px at 50% -10%, #efe9ff 0%, #efe9ff00 60%), radial-gradient(700px 500px at 50% 115%, #e2f8f1 0%, #e2f8f100 62%), var(--lx-canvas);color:var(--lx-ink-soft)}.error-screen button{color:#fff;box-shadow:var(--lx-glow);background:linear-gradient(140deg,#8b7cf7 0%,#a98bfa 100%);border:none;border-radius:12px;transition:transform .15s,filter .2s}.error-screen button:hover{filter:brightness(1.05);transform:translateY(-1px)}.api-screen{background:radial-gradient(900px 420px at 8% -12%, #efe9ff 0%, #efe9ff00 60%), radial-gradient(720px 380px at 108% 4%, #ffefe7 0%, #ffefe700 62%), radial-gradient(760px 700px at 50% 118%, #e2f8f1 0%, #e2f8f100 62%), var(--lx-canvas);color:var(--lx-ink)}.api-screen .avatar-big{color:#fff;box-shadow:var(--lx-glow);background:linear-gradient(140deg,#8b7cf7 0%,#a98bfa 55%,#ff9e7d 160%)}.api-screen h1{color:var(--lx-ink)}.api-screen .sub{color:var(--lx-ink-soft)}.api-screen .input-group label{color:var(--lx-ink)}.api-screen .input-group input{border:1.5px solid var(--lx-border);color:var(--lx-ink);box-shadow:var(--lx-shadow-sm);background:#ffffffeb;border-radius:14px;transition:border-color .2s,box-shadow .2s,background .2s}.api-screen .input-group input::placeholder{color:var(--lx-ink-faint)}.api-screen .input-group input:focus{box-shadow:0 0 0 4px #7c6bf024, var(--lx-shadow-sm);background:#fff;border-color:#7c6bf08c;outline:none}.api-screen .input-group .hint{color:var(--lx-ink-faint)}.api-screen .btn-connect{color:#fff;box-shadow:var(--lx-glow);background:linear-gradient(140deg,#8b7cf7 0%,#a98bfa 60%,#ff9e7d 160%);transition:transform .15s,filter .2s,box-shadow .2s}.api-screen .btn-connect:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 8px 26px #7c6bf06b}.api-screen .btn-connect:active:not(:disabled){transform:scale(.98)}.api-screen .btn-connect:disabled{box-shadow:none;opacity:.75;background:#d9d3ee}.api-screen .footer-note{color:var(--lx-ink-faint)}@media (prefers-reduced-motion:reduce){.contact-screen .contact-item,.language-screen .language-card,.api-screen .btn-connect,.error-screen button{transition:none!important}}@media (width<=480px){.contact-screen .contact-item{border-radius:16px;padding:12px 14px}.contact-screen .contact-avatar-wrapper{width:48px;height:48px}.contact-screen .contact-header{padding:16px 14px 12px}.contact-screen .contact-header-title h1{font-size:22px}.language-screen h1{font-size:26px}}
