@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Fira+Code:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--surface-base:#0c0c10;--surface-elevated:#141419;--surface-chat:#18181f;--surface-bubble-bot:#1e1e28;--surface-bubble-user:#d4910a;--text-primary:#f0efe8;--text-secondary:#8b8a82;--text-inverse:#0c0c10;--text-on-accent:#fefcf4;--accent:#e8a90e;--accent-glow:#e8a90e26;--accent-hover:#f0b429;--border-subtle:#ffffff0f;--border-input:#ffffff1a;--border-input-focus:#e8a90e80;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--shadow-bubble:0 2px 12px #00000040;--shadow-input:0 -1px 20px #0000004d;--shadow-header:0 1px 20px #0006;--font-body:"Plus Jakarta Sans", system-ui, sans-serif;--font-mono:"Fira Code", monospace;--ease-out:cubic-bezier(.16, 1, .3, 1)}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--surface-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;line-height:1.5}#root{background:radial-gradient(ellipse 80% 60% at 50% 0%, #e8a90e0a, transparent), radial-gradient(ellipse 60% 50% at 80% 100%, #e8a90e05, transparent), var(--surface-base);justify-content:center;align-items:center;display:flex}@media (width<=560px){html,body,#root{height:100dvh}}.chat-header{background:var(--surface-elevated);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-header);z-index:10;flex-shrink:0;align-items:center;gap:clamp(12px,3vw,14px);padding:clamp(16px,4vw,18px) clamp(18px,5vw,22px);display:flex}.chat-header__avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent), #c48a08);width:clamp(38px,10vw,44px);height:clamp(38px,10vw,44px);color:var(--text-inverse);box-shadow:0 0 16px var(--accent-glow);flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-header__avatar svg{width:clamp(18px,5vw,22px);height:clamp(18px,5vw,22px)}.chat-header__info{flex-direction:column;gap:2px;min-width:0;display:flex}.chat-header__title{letter-spacing:-.01em;color:var(--text-primary);font-size:clamp(.95rem,3.6vw,1.05rem);font-weight:700;line-height:1.2}.chat-header__status{color:#4ade80;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(.7rem,2.6vw,.75rem);font-weight:500}.md-content{word-break:break-word;font-size:clamp(.9375rem,3.6vw,.9375rem);font-weight:450;line-height:1.6}.md-content p{margin:0}.md-content p+p{margin-top:2px}.md-content .md-spacer{height:10px}.md-content .md-heading{letter-spacing:-.01em;color:var(--accent);margin:10px 0 4px;font-size:clamp(.9375rem,3.6vw,.9375rem);font-weight:700}.md-content .md-heading:first-child{margin-top:0}.md-content .md-list{flex-direction:column;gap:3px;margin:4px 0;padding:0;list-style:none;display:flex}.md-content .md-list li{padding-left:14px;position:relative}.md-content .md-list li:before{content:"";background:var(--accent);opacity:.7;border-radius:50%;width:5px;height:5px;position:absolute;top:9px;left:0}.md-content strong{color:var(--text-primary);font-weight:650}.md-content em{font-style:italic}.md-content a{color:var(--accent);border-bottom:1px solid #e8a90e4d;text-decoration:none;transition:border-color .15s}.md-content a:hover{border-bottom-color:var(--accent)}.message-item{animation:message-enter .35s var(--ease-out) both;align-items:flex-end;gap:clamp(8px,2vw,10px);display:flex}.message-item--user{max-width:82%}.message-item--bot{max-width:92%}.message-item--user{flex-direction:row-reverse;align-self:flex-end}.message-item--bot{align-self:flex-start}.message-item__avatar{border-radius:var(--radius-full);background:var(--surface-bubble-bot);border:1px solid var(--border-subtle);width:clamp(28px,7vw,32px);height:clamp(28px,7vw,32px);color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.message-item__avatar svg{width:clamp(14px,3.6vw,16px);height:clamp(14px,3.6vw,16px)}.message-item__bubble{border-radius:var(--radius-md);box-shadow:var(--shadow-bubble);padding:clamp(10px,2.8vw,12px) clamp(14px,4vw,18px);position:relative}@media (width<=560px){.message-item--user{max-width:88%}.message-item--bot{max-width:94%}}.message-item--bot .message-item__bubble{background:var(--surface-bubble-bot);border:1px solid var(--border-subtle);border-bottom-left-radius:4px}.message-item--user .message-item__bubble{background:linear-gradient(135deg, var(--accent), #c48a08);box-shadow:var(--shadow-bubble), 0 4px 20px #e8a90e26;border-bottom-right-radius:4px}.message-item__text{word-break:break-word;font-size:clamp(.9375rem,3.6vw,.9375rem);font-weight:450;line-height:1.55}.message-item--bot .message-item__text{color:var(--text-primary)}.message-item--user .message-item__text{color:var(--text-on-accent)}.message-item__time{font-size:clamp(.625rem,2.4vw,.6875rem);font-family:var(--font-mono);letter-spacing:.02em;opacity:.5;margin-top:4px;display:block}.message-item--bot .message-item__time{color:var(--text-secondary)}.message-item--user .message-item__time{color:var(--text-on-accent);text-align:right}@keyframes message-enter{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.message-list{background:var(--surface-chat);scroll-behavior:smooth;flex:1;overflow:hidden auto}.message-list__inner{flex-direction:column;justify-content:flex-end;gap:clamp(6px,1.5vw,8px);min-height:100%;padding:clamp(18px,5vw,24px) clamp(14px,4vw,20px);display:flex}.message-list::-webkit-scrollbar{width:5px}.message-list::-webkit-scrollbar-track{background:0 0}.message-list::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff14}.message-list::-webkit-scrollbar-thumb:hover{background:#ffffff24}.message-list__typing{animation:fade-in .3s var(--ease-out) both}.message-item__bubble--typing{align-items:center;gap:5px;min-height:42px;padding:14px 18px;display:flex}.typing-dot{background:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typing-bounce}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-input{background:var(--surface-elevated);border-top:1px solid var(--border-subtle);box-shadow:var(--shadow-input);flex-shrink:0;align-items:flex-end;gap:clamp(10px,2.5vw,12px);padding:clamp(12px,3.5vw,16px) clamp(14px,4vw,18px);display:flex}.chat-input__field{resize:none;border:1px solid var(--border-input);border-radius:var(--radius-md);font-family:var(--font-body);color:var(--text-primary);background:var(--surface-chat);outline:none;flex:1;min-width:0;max-height:120px;padding:clamp(12px,3vw,13px) clamp(14px,4vw,16px);font-size:clamp(.9375rem,3.8vw,.9375rem);font-weight:450;line-height:1.5;transition:border-color .2s,box-shadow .2s}@media (width<=560px){.chat-input__field{font-size:16px}}.chat-input__field::placeholder{color:var(--text-secondary);opacity:.6}.chat-input__field:focus{border-color:var(--border-input-focus);box-shadow:0 0 0 3px var(--accent-glow)}.chat-input__field:disabled{opacity:.5;cursor:not-allowed}.chat-input__send{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent), #c48a08);width:clamp(44px,11vw,46px);height:clamp(44px,11vw,46px);color:var(--text-inverse);cursor:pointer;transition:transform .15s var(--ease-out), opacity .15s ease, box-shadow .2s ease;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 12px #e8a90e33}.chat-input__send svg{width:clamp(18px,4.6vw,20px);height:clamp(18px,4.6vw,20px)}.chat-input__send:hover:not(:disabled){transform:scale(1.06);box-shadow:0 4px 20px #e8a90e59}.chat-input__send:active:not(:disabled){transform:scale(.95)}.chat-input__send:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}.start-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(8px,2vw,10px);padding:clamp(32px,8vw,48px) clamp(20px,6vw,28px);display:flex}.start-screen__icon{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent), #c48a08);width:clamp(72px,18vw,84px);height:clamp(72px,18vw,84px);color:var(--text-inverse);box-shadow:0 0 40px var(--accent-glow), 0 8px 24px #e8a90e1f;justify-content:center;align-items:center;margin-bottom:clamp(12px,3vw,16px);animation:3s ease-in-out infinite icon-pulse;display:flex}.start-screen__icon svg{width:clamp(32px,8vw,38px);height:clamp(32px,8vw,38px)}@keyframes icon-pulse{0%,to{box-shadow:0 0 40px var(--accent-glow), 0 8px 24px #e8a90e1f}50%{box-shadow:0 0 60px #e8a90e40,0 8px 32px #e8a90e33}}.start-screen__title{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:clamp(1.5rem,6vw,1.75rem);font-weight:700;line-height:1.15}.start-screen__subtitle{color:var(--text-secondary);max-width:28ch;margin:0 0 clamp(20px,5vw,24px);font-size:clamp(.9375rem,3.8vw,.9375rem)}.start-screen__button{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent), #c48a08);min-width:clamp(180px,60vw,200px);height:clamp(48px,12vw,52px);color:var(--text-inverse);font-family:var(--font-body);letter-spacing:-.01em;cursor:pointer;transition:transform .15s var(--ease-out), box-shadow .25s ease;border:none;justify-content:center;align-items:center;gap:8px;padding:0 clamp(24px,6vw,32px);font-size:clamp(.9375rem,3.8vw,1rem);font-weight:600;display:flex;box-shadow:0 4px 20px #e8a90e33}.start-screen__button:hover:not(:disabled){transform:scale(1.04);box-shadow:0 6px 28px #e8a90e59}.start-screen__button:active:not(:disabled){transform:scale(.97)}.start-screen__button:disabled{opacity:.7;cursor:not-allowed}.start-screen__spinner{border:2px solid #0c0c1033;border-top-color:var(--text-inverse);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chat-container{background:var(--surface-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);width:100%;max-width:520px;height:100%;max-height:740px;animation:container-enter .6s var(--ease-out) both;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 0 0 1px #ffffff08,0 24px 80px #00000080,0 8px 32px #0000004d}@keyframes container-enter{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=560px){.chat-container{max-width:100%;height:100dvh;max-height:100%;box-shadow:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);border:none;border-radius:0;animation:none}}
