.main-menu{min-height:100vh;height:100vh;background:#fafafa;overflow-y:auto;overflow-x:hidden}.main-menu::-webkit-scrollbar{width:6px}.main-menu::-webkit-scrollbar-track{background:transparent}.main-menu::-webkit-scrollbar-thumb{background:#dbdbdb;border-radius:3px}.main-menu::-webkit-scrollbar-thumb:hover{background:#c7c7c7}.menu-header{text-align:center;background:linear-gradient(135deg,#2545e8,#4d6ff7,#6b55b5);color:#fff;padding:48px 20px 40px;position:relative;display:flex;flex-direction:column;align-items:center;gap:16px}.menu-logo{width:100%;max-width:400px;height:auto;object-fit:contain;margin-bottom:8px;border-radius:16px}.menu-subtitle{font-size:15px;opacity:.95;max-width:280px;margin:0 auto;line-height:1.4}.menu-cards{display:flex;flex-direction:column;gap:16px;padding:20px 16px}.menu-card{background:#fff;border-radius:16px;padding:24px 20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 2px 8px #00000014;border:1px solid #efefef;overflow:hidden}.menu-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;transition:all .3s}.menu-card.primary:before{background:linear-gradient(180deg,#2e52f7,#6b55b5)}.menu-card.secondary:before{background:linear-gradient(180deg,#4d6ff7,#8b70d5)}.menu-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #2e52f726;border-color:#dbdbdb}.menu-card:active{transform:translateY(-2px);box-shadow:0 4px 12px #2e52f71a}.card-icon{font-size:48px;margin-bottom:16px;display:inline-block;transition:transform .3s}.menu-card:hover .card-icon{transform:scale(1.1)}.menu-card h2{font-size:20px;font-weight:600;color:#262626;margin-bottom:10px}.menu-card p{font-size:14px;color:#8e8e8e;line-height:1.5;margin-bottom:16px}.card-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .3s}.menu-card.primary .card-badge{background:linear-gradient(135deg,#2545e8,#6b55b5);color:#fff}.menu-card.secondary .card-badge{background:linear-gradient(155deg,#2545e8,#6b55b5);color:#fff}.menu-card:hover .card-badge{transform:scale(1.05);box-shadow:0 4px 12px #2e52f740}.menu-footer{display:flex;flex-direction:column;gap:16px;padding:0 16px 32px}.info-card{background:#fffbf2;border:1px solid #ffe4b5;border-radius:16px;padding:16px;display:flex;gap:12px;box-shadow:0 2px 6px #0000000a}.info-icon{font-size:20px;flex-shrink:0}.info-card p{font-size:13px;line-height:1.5;color:#8e8e8e}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feature{background:#fff;border:1px solid #efefef;border-radius:12px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transition:all .3s;box-shadow:0 2px 6px #0000000a}.feature:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2e52f71a;border-color:#dbdbdb}.feature span:first-child{font-size:24px;font-weight:700;background:linear-gradient(135deg,#2545e8,#6b55b5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.feature span:last-child{font-size:12px;line-height:1.3;color:#8e8e8e}@media(max-width:480px){.menu-header{padding:40px 20px 32px}.menu-logo{max-width:300px}.features{grid-template-columns:1fr}.menu-cards{padding:16px 12px;gap:12px}.menu-card{padding:20px 16px}}.chat-container{display:flex;flex-direction:column;height:100vh;background:#fafafa;overflow:hidden}.chat-header{display:flex;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #efefef;flex-shrink:0;gap:12px;box-shadow:0 2px 8px #0000000f;position:relative;z-index:10}.header-back-btn{width:40px;height:40px;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;color:#262626;flex-shrink:0;padding:0;border-radius:50%;background:#fafafa;transition:all .3s cubic-bezier(.4,0,.2,1)}.header-back-btn svg{width:24px;height:24px;transition:transform .3s}.header-back-btn:hover{background:#f0f0f0;transform:translate(-2px)}.header-back-btn:active{transform:translate(-2px) scale(.95)}.header-content{display:flex;align-items:center;gap:12px;flex:1}.header-icon{font-size:28px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2545e8,#4d6ff7,#5b7bff,#6b55b5,#5b4da8);border-radius:50%;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #4d6ff740;animation:pulse-icon 3s ease-in-out infinite}@keyframes pulse-icon{0%,to{transform:scale(1);box-shadow:0 4px 12px #4d6ff740}50%{transform:scale(1.05);box-shadow:0 6px 16px #4d6ff759}}.header-info h1{font-size:17px;font-weight:600;margin:0;color:#262626}.header-status{font-size:12px;color:#8e8e8e;margin:2px 0 0;font-weight:400}.ivan-button{width:40px;height:40px;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;color:#262626;font-size:22px;flex-shrink:0;border-radius:50%;background:#fafafa;transition:all .3s cubic-bezier(.4,0,.2,1)}.ivan-button:hover{background:linear-gradient(135deg,#2545e8,#5b4da8);color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #4d6ff74d}.ivan-button:active{transform:scale(1.05)}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,#5b7bff,#4d6ff7);color:#fff;font-size:14px;flex-shrink:0;box-shadow:0 4px 12px #ed49564d;animation:slideDown .3s ease-out}.error-banner button{padding:8px 16px;background:#fff;color:#5b7bff;border-radius:20px;font-size:13px;font-weight:600;transition:all .3s;box-shadow:0 2px 6px #00000026}.error-banner button:hover{transform:scale(1.05);box-shadow:0 4px 10px #0003}.error-banner button:active{transform:scale(.98)}.message-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 16px;display:flex;flex-direction:column;gap:12px;background:#fafafa;-webkit-overflow-scrolling:touch}.message-list::-webkit-scrollbar{width:6px}.message-list::-webkit-scrollbar-track{background:transparent}.message-list::-webkit-scrollbar-thumb{background:#dbdbdb;border-radius:3px}.message-list::-webkit-scrollbar-thumb:hover{background:#c7c7c7}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:32px;color:#8e8e8e;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-state-icon{font-size:72px;margin-bottom:20px;opacity:.7;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state h3{font-size:20px;font-weight:600;margin-bottom:10px;color:#262626}.empty-state p{font-size:15px;color:#8e8e8e;line-height:1.5}.message{display:flex;animation:messageSlideIn .4s cubic-bezier(.4,0,.2,1);margin-bottom:4px}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.message.user{justify-content:flex-end}.message.bot{justify-content:flex-start}.message-content{max-width:75%;transition:transform .3s}.message:hover .message-content{transform:scale(1.02)}.message-text{padding:14px 18px;border-radius:20px;font-size:15px;line-height:1.5;word-wrap:break-word;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.message.user .message-text{background:linear-gradient(135deg,#2545e8,#4d6ff7,#5b7bff,#6b55b5,#5b4da8);color:#fff;border-bottom-right-radius:6px;box-shadow:0 4px 12px #4d6ff74d}.message.user:hover .message-text{box-shadow:0 6px 20px #4d6ff766}.message.bot .message-text{background:#fff;color:#262626;border:1px solid #efefef;border-bottom-left-radius:6px;box-shadow:0 2px 8px #00000014}.message.bot:hover .message-text{box-shadow:0 4px 16px #0000001f;border-color:#e0e0e0}.message-footer{display:flex;align-items:center;gap:8px;padding:4px 10px 0;font-size:11px}.message.user .message-footer{justify-content:flex-end;color:#8e8e8e}.message.bot .message-footer{color:#8e8e8e}.retry-button{padding:4px 10px;background:linear-gradient(135deg,#5b7bff,#4d6ff7);color:#fff;border-radius:12px;font-size:11px;font-weight:600;transition:all .3s;box-shadow:0 2px 6px #ed49564d}.retry-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ed495666}.retry-button:active{transform:translateY(0)}.typing-indicator{display:flex;gap:6px;padding:16px 20px;background:#fff;border:1px solid #efefef;border-radius:20px 20px 20px 6px;width:fit-content;box-shadow:0 2px 8px #00000014;animation:messageSlideIn .4s cubic-bezier(.4,0,.2,1)}.typing-indicator span{width:9px;height:9px;background:linear-gradient(135deg,#2545e8,#5b4da8);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1.3)}}.message-input-container{padding:16px;background:#fff;border-top:1px solid #efefef;flex-shrink:0;box-shadow:0 -2px 12px #0000000f;position:relative;z-index:10}.text-input-form{display:flex;align-items:center;gap:8px;background:#fafafa;border:2px solid #efefef;border-radius:28px;padding:4px;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:52px;box-shadow:0 2px 8px #0000000a}.text-input-form:focus-within{border-color:#c7c7c7;background:#fff;box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.text-input-form textarea{flex:1;padding:10px 12px;background:transparent;border:none;font-size:15px;resize:none;max-height:100px;min-height:24px;color:#262626;line-height:1.5}.text-input-form textarea::placeholder{color:#8e8e8e}.voice-toggle-button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:50%!important;padding:0!important;margin:0!important;background:linear-gradient(135deg,#fafafa,#f0f0f0)!important;color:#262626!important;font-size:22px;box-shadow:0 2px 8px #0000000f!important;border:none!important;outline:none!important}.voice-toggle-button:hover{background:linear-gradient(135deg,#2545e8,#5b4da8)!important;color:#fff!important;transform:scale(1.1);box-shadow:0 4px 16px #4d6ff759!important}.voice-toggle-button:active{transform:scale(1.05)}.send-button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:50%!important;padding:0!important;margin:0!important;background:linear-gradient(135deg,#2545e8,#4d6ff7,#5b7bff,#6b55b5,#5b4da8)!important;color:#fff!important;box-shadow:0 4px 16px #4d6ff759!important;border:none!important;outline:none!important;position:relative;overflow:hidden}.send-button svg{width:20px!important;height:20px!important;flex-shrink:0;display:block!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;padding:0!important}.send-button:hover:not(:disabled){transform:scale(1.1);box-shadow:0 6px 24px #4d6ff780!important}.send-button:hover:not(:disabled) svg{transform:translate(-50%,-50%) rotate(15deg)!important}.send-button:active:not(:disabled){transform:scale(1.05);box-shadow:0 4px 16px #4d6ff766!important}.send-button:active:not(:disabled) svg{transform:translate(-50%,-50%) rotate(15deg)!important}.send-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:0 2px 8px #0000001a!important;transform:none;background:#dbdbdb!important}.voice-input-wrapper{display:flex;align-items:center;justify-content:center;gap:16px;background:#fafafa;border:2px solid #efefef;border-radius:28px;padding:8px 16px;box-shadow:0 2px 8px #0000000a;transition:all .3s;min-height:72px;position:relative}.back-button{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;max-width:36px!important;max-height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#262626!important;flex-shrink:0;padding:0!important;margin:0!important;border-radius:50%!important;background:#fff!important;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000000f!important;position:absolute!important;left:12px!important;border:none!important;outline:none!important;z-index:2}.back-button svg{width:20px!important;height:20px!important}.back-button:hover{background:#f0f0f0!important;transform:translate(-2px) scale(1.05);box-shadow:0 4px 12px #0000001a!important}.back-button:active{transform:translate(-2px) scale(.98)}.voice-button{width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;max-width:64px!important;max-height:64px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,#2545e8,#4d6ff7,#5b7bff,#6b55b5,#5b4da8)!important;color:#fff!important;font-size:30px;box-shadow:0 6px 20px #4d6ff766!important;flex-shrink:0;padding:0!important;margin:0!important;border:none!important;outline:none!important;transition:all .3s cubic-bezier(.4,0,.2,1);animation:pulse 2s ease-in-out infinite;cursor:pointer}@keyframes pulse{0%,to{box-shadow:0 6px 20px #4d6ff766}50%{box-shadow:0 8px 28px #4d6ff799}}.voice-button:hover{transform:scale(1.1);box-shadow:0 8px 28px #4d6ff78c!important}.voice-button:active{transform:scale(1.05);box-shadow:0 6px 20px #4d6ff773!important}.voice-button:disabled{opacity:.5;cursor:not-allowed;animation:none}.recording-controls{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex-shrink:1;min-width:0;max-width:100%}.recording-info{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 20px;background:linear-gradient(135deg,#fff5f5,#ffe5e5);border:2px solid #ffc0c0;border-radius:20px;box-shadow:0 2px 8px #ed495626;white-space:nowrap}.recording-indicator{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#5b7bff,#4d6ff7);animation:recordPulse 1.5s infinite;box-shadow:0 0 10px #ed495680;flex-shrink:0}@keyframes recordPulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 10px #ed495680}50%{opacity:.7;transform:scale(1.3);box-shadow:0 0 20px #ed4956cc}}.recording-indicator.paused{background:#8e8e8e;animation:none;box-shadow:none}.recording-time{font-size:15px;font-weight:700;color:#5b7bff;font-variant-numeric:tabular-nums;letter-spacing:.5px}.recording-buttons{display:flex;gap:10px;justify-content:center;align-items:center}.control-button{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;max-height:48px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:20px;font-weight:600;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000026!important;border:none!important;outline:none!important;padding:0!important;margin:0!important;cursor:pointer}.control-button:hover{transform:translateY(-3px) scale(1.1);box-shadow:0 6px 20px #00000040!important}.control-button:active{transform:translateY(-1px) scale(1.05);box-shadow:0 4px 12px #0003!important}.control-button.cancel{background:linear-gradient(135deg,#5b7bff,#4d6ff7)!important;color:#fff!important}.control-button.pause{background:linear-gradient(135deg,#ffd600,#ffb300)!important;color:#262626!important}.control-button.send{background:linear-gradient(135deg,#5cb85c,#4caf50)!important;color:#fff!important}.chat-footer{padding:10px 16px;background:#fff;text-align:center;flex-shrink:0;border-top:1px solid #efefef;box-shadow:0 -2px 8px #0000000a}.disclaimer{font-size:11px;color:#8e8e8e;margin:0;line-height:1.4}.chat-loading,.chat-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:40px;text-align:center;background:#fafafa;gap:20px;animation:fadeIn .5s ease-out}.chat-error h2{font-size:22px;font-weight:600;margin-bottom:14px;color:#262626}.chat-error p{font-size:15px;color:#8e8e8e;margin-bottom:10px;line-height:1.5}.error-hint{font-size:13px!important;margin-top:10px!important;color:#c7c7c7!important}@media(max-width:480px){.message-content{max-width:85%}.text-input-form{border-radius:24px;min-height:48px}.voice-button{width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;font-size:26px}.back-button{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}.control-button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:18px}.recording-info{padding:8px 16px}.recording-time{font-size:14px}}.ivan-page{min-height:100vh;height:100vh;background:linear-gradient(180deg,#fafafa,#f5f5f5);display:flex;flex-direction:column;overflow:hidden;animation:pageAppear .5s ease-out}@keyframes pageAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ivan-page.loading{justify-content:center;align-items:center;gap:20px}.loading-spinner{width:48px;height:48px;border:4px solid #efefef;border-top:4px solid;border-image:linear-gradient(135deg,#2545e8,#5b4da8) 1;border-radius:50%;animation:spin 1s linear infinite}.ivan-page.loading p{font-size:15px;color:#8e8e8e;font-weight:500;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.ivan-header{display:flex;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #efefef;gap:12px;flex-shrink:0;box-shadow:0 2px 12px #0000000f;position:relative;z-index:10;animation:slideDown .4s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.back-btn{width:40px;height:40px;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;color:#262626;flex-shrink:0;padding:0;border-radius:50%;background:#fafafa;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000000a}.back-btn svg{width:24px;height:24px;transition:transform .3s}.back-btn:hover{background:#f0f0f0;transform:translate(-3px) scale(1.05);box-shadow:0 4px 12px #0000001a}.back-btn:hover svg{transform:translate(-2px)}.back-btn:active{transform:translate(-3px) scale(.98)}.ivan-header h1{font-size:17px;font-weight:600;margin:0;color:#262626;flex:1;background:linear-gradient(135deg,#262626,#555);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dev-badge{padding:6px 12px;background:linear-gradient(135deg,#5b7bff,#4d6ff7);color:#fff;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;flex-shrink:0;box-shadow:0 2px 8px #5b7bff4d;animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{box-shadow:0 2px 8px #5b7bff4d}50%{box-shadow:0 4px 16px #5b7bff80}}.ivan-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px 16px;-webkit-overflow-scrolling:touch;animation:fadeIn .6s ease-out .2s both}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.ivan-content::-webkit-scrollbar{width:6px}.ivan-content::-webkit-scrollbar-track{background:transparent}.ivan-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#dbdbdb,#c7c7c7);border-radius:3px;transition:background .3s}.ivan-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#c7c7c7,#b0b0b0)}.ivan-info{background:#fff;border:1px solid #efefef;border-radius:20px;padding:40px 28px;text-align:center;margin-bottom:24px;box-shadow:0 4px 16px #0000000f;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:cardSlideIn .6s ease-out}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ivan-info:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#2545e8,#4d6ff7,#5b7bff,#6b55b5,#5b4da8);opacity:0;transition:opacity .3s}.ivan-info:hover{transform:translateY(-4px);box-shadow:0 8px 28px #0000001f;border-color:#e0e0e0}.ivan-info:hover:before{opacity:1}.ivan-avatar{font-size:88px;margin-bottom:20px;display:inline-block;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(0,0,0,.1));transition:transform .3s}.ivan-info:hover .ivan-avatar{transform:scale(1.1)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.ivan-info h2{font-size:24px;font-weight:700;color:#262626;margin-bottom:8px;letter-spacing:-.5px;animation:textAppear .6s ease-out .2s both}@keyframes textAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ivan-credentials{font-size:14px;color:#8e8e8e;font-weight:500;margin-bottom:20px;line-height:1.6;animation:textAppear .6s ease-out .3s both}.ivan-description{font-size:15px;color:#555;line-height:1.7;max-width:450px;margin:0 auto;animation:textAppear .6s ease-out .4s both}.dev-notice{margin-top:24px;padding:16px 20px;background:linear-gradient(135deg,#fffbf2,#fff7e6);border:1px solid #ffe4b5;border-radius:16px;color:#8e8e8e;font-size:13px;font-weight:500;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #ffc1071a;animation:slideIn .5s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.error-message{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border:1px solid #ffc0c0;color:#5b7bff;padding:16px 20px;border-radius:16px;margin-bottom:24px;font-size:14px;font-weight:500;box-shadow:0 4px 12px #5b7bff26;animation:shake .5s ease-out,fadeIn .5s ease-out;display:flex;align-items:center;gap:10px}.error-message:before{content:"⚠️";font-size:18px;flex-shrink:0}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.message-form{background:#fff;border:1px solid #efefef;border-radius:20px;padding:28px 24px;box-shadow:0 4px 16px #0000000f;transition:all .4s cubic-bezier(.4,0,.2,1);animation:cardSlideIn .6s ease-out .1s both;position:relative;overflow:hidden}.message-form:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2545e8,#5b4da8);transform:scaleX(0);transform-origin:left;transition:transform .5s ease-out}.message-form:hover{box-shadow:0 8px 28px #0000001f;transform:translateY(-2px);border-color:#e0e0e0}.message-form:focus-within:before{transform:scaleX(1)}.message-form label{display:block;font-size:16px;font-weight:600;color:#262626;margin-bottom:12px;animation:textAppear .5s ease-out}.message-input-wrapper{display:flex;align-items:flex-end;gap:8px;background:#fafafa;border:2px solid #efefef;border-radius:20px;padding:8px;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:240px;box-shadow:inset 0 2px 4px #00000005}.message-input-wrapper:hover{border-color:#dbdbdb}.message-input-wrapper:focus-within{border-color:#a8a8a8;background:#fff;box-shadow:0 0 0 4px #a8a8a814,inset 0 2px 4px #00000005;transform:translateY(-2px)}.message-form textarea{flex:1;padding:12px 14px;background:transparent;border:none;font-size:15px;color:#262626;resize:none;min-height:220px;max-height:400px;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:inherit;line-height:1.6;outline:none}.message-form textarea::placeholder{color:#c7c7c7;transition:color .2s}.message-form textarea:focus::placeholder{color:#dbdbdb}.ivan-send-button{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;max-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:50%!important;padding:0!important;margin:0 0 2px!important;background:linear-gradient(135deg,#2545e8,#4d6ff7,#5b7bff,#6b55b5,#5b4da8)!important;color:#fff!important;box-shadow:0 4px 16px #4d6ff759!important;border:none!important;outline:none!important;position:relative;overflow:hidden;cursor:pointer}.ivan-send-button svg{width:22px!important;height:22px!important;flex-shrink:0;display:block!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;padding:0!important}.ivan-send-button:hover:not(:disabled){transform:scale(1.15);box-shadow:0 6px 24px #4d6ff78c!important}.ivan-send-button:hover:not(:disabled) svg{transform:translate(-50%,-50%) rotate(15deg)!important}.ivan-send-button:active:not(:disabled){transform:scale(1.08);box-shadow:0 4px 16px #4d6ff773!important}.ivan-send-button:active:not(:disabled) svg{transform:translate(-50%,-50%) rotate(15deg)!important}.ivan-send-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:0 2px 8px #0000001a!important;transform:none;background:#dbdbdb!important}.char-counter{text-align:right;font-size:12px;color:#8e8e8e;margin-top:10px;font-weight:500;transition:color .2s;font-variant-numeric:tabular-nums}.message-input-wrapper:focus-within~.char-counter{color:#555}.limit-info{background:#fff;border:1px solid #efefef;border-radius:20px;padding:56px 32px;text-align:center;box-shadow:0 4px 16px #0000000f;animation:cardSlideIn .6s ease-out;position:relative;overflow:hidden}.limit-info:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ffd600,#ffb300)}.limit-icon{font-size:88px;margin-bottom:28px;opacity:.85;display:inline-block;animation:swing 3s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(0,0,0,.1))}@keyframes swing{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}.limit-info h2{font-size:26px;font-weight:700;color:#262626;margin-bottom:14px;letter-spacing:-.5px;animation:textAppear .6s ease-out .2s both}.limit-info>p{font-size:15px;color:#555;margin-bottom:32px;line-height:1.7;max-width:380px;margin-left:auto;margin-right:auto;animation:textAppear .6s ease-out .3s both}.days-counter{background:linear-gradient(135deg,#fff5f5,#ffe8e8);border:2px solid #ffc0c0;border-radius:20px;padding:32px 24px;margin-bottom:32px;box-shadow:0 4px 16px #5b7bff1f;animation:scaleIn .6s ease-out .4s both;transition:all .3s;position:relative;overflow:hidden}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.days-counter:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(45deg);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.days-counter:hover{transform:scale(1.03);box-shadow:0 6px 24px #5b7bff2e}.days-number{display:block;font-size:64px;font-weight:800;background:linear-gradient(135deg,#2545e8,#4d6ff7,#5b7bff,#6b55b5,#5b4da8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;line-height:1;animation:numberPulse 2s ease-in-out infinite;position:relative;z-index:1}@keyframes numberPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.days-label{font-size:16px;color:#555;font-weight:600;position:relative;z-index:1}.last-sent-info{font-size:13px;color:#8e8e8e;margin-bottom:28px;padding-top:24px;border-top:1px solid #efefef;animation:textAppear .6s ease-out .5s both}.back-button{width:100%;padding:16px 24px;background:#fff;color:#262626;border:2px solid #efefef;border-radius:14px;font-size:16px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a;animation:buttonAppear .6s ease-out .6s both;position:relative;overflow:hidden}@keyframes buttonAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.back-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:linear-gradient(135deg,#2545e8,#5b4da8);opacity:.1;transform:translate(-50%,-50%);transition:width .6s,height .6s}.back-button:hover:before{width:300px;height:300px}.back-button:hover{background:#fafafa;border-color:#dbdbdb;transform:translateY(-3px);box-shadow:0 6px 20px #0000001a}.back-button:active{transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}@media(max-width:480px){.ivan-content{padding:20px 12px}.ivan-info{padding:32px 20px;border-radius:16px}.ivan-avatar{font-size:72px}.ivan-info h2{font-size:20px}.message-form{padding:24px 18px;border-radius:16px}.message-form textarea{min-height:140px;padding:14px 16px}.limit-info{padding:44px 20px;border-radius:16px}.limit-icon{font-size:72px}.limit-info h2{font-size:22px}.days-number{font-size:56px}.days-counter{padding:28px 20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.message-form textarea{align-self:stretch;height:100%;vertical-align:top;overflow:auto}.ivan-send-button{align-self:flex-end}@media(max-width:480px){.message-form{padding:20px 16px}.message-input-wrapper{min-height:38vh}.message-form textarea{min-height:34vh;max-height:none;padding:14px 16px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#fafafa;color:#262626;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100vh;overflow:hidden;background:#fafafa}button{border:none;background:none;cursor:pointer;font-family:inherit;outline:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button:active{transform:scale(.98)}input,textarea{font-family:inherit;outline:none}textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea,.message-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.loading-spinner{display:inline-block;width:40px;height:40px;border:3px solid #dbdbdb;border-top:3px solid #2E52F7;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.psycholog-gradient{background:linear-gradient(135deg,#2545e8,#4d6ff7,#6b55b5)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#fafafa}::-webkit-scrollbar-thumb{background:#dbdbdb;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#c7c7c7}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#fafafa;gap:16px}
