.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;background:linear-gradient(135deg,#0f0c29f2,#302b63f2,#24243ef2),url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y="1em" font-size="100" opacity="0.03">⚔️</text></svg>');background-size:cover,200px;overflow:hidden;position:relative}.app{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.header{flex-shrink:0;background:linear-gradient(135deg,#1e143ce6,#3c2850e6);border-bottom:2px solid rgba(139,92,246,.3);padding:1.5rem 2rem;box-shadow:0 4px 20px #00000080}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:1.5rem}.header-logo{flex-shrink:0}.header-text{flex:1;text-align:left}.library-image{max-width:120px;height:auto;border-radius:12px;box-shadow:0 4px 20px #0009,0 0 40px #8b5cf64d;border:2px solid rgba(139,92,246,.4);transition:all .3s ease}.library-image:hover{transform:scale(1.05);box-shadow:0 6px 30px #000c,0 0 60px #8b5cf680}.header h1{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#fbbf24,#f59e0b,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;text-shadow:0 0 30px rgba(251,191,36,.3);font-family:Georgia,Times New Roman,serif;letter-spacing:.05em}.subtitle{color:#e5e7ebcc;font-size:.95rem;font-style:italic;letter-spacing:.05em}.mode-selector{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.mode-selector button{background:#4b55634d;border:1px solid rgba(139,92,246,.3);color:#e5e7ebcc;padding:.5rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease;font-weight:500}.mode-selector button:hover{background:#8b5cf633;border-color:#8b5cf680;transform:translateY(-2px)}.mode-selector button.active{background:linear-gradient(135deg,#8b5cf666,#7c3aed66);border-color:#8b5cf699;color:#fff;box-shadow:0 0 20px #8b5cf666}.chat-container{flex:1;min-height:0;display:flex;flex-direction:column;max-width:1200px;width:100%;margin:0 auto;overflow:hidden}.messages{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.messages::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-track{background:#1f29374d;border-radius:4px}.messages::-webkit-scrollbar-thumb{background:#8b5cf666;border-radius:4px}.messages::-webkit-scrollbar-thumb:hover{background:#8b5cf699}.welcome{text-align:center;padding:3rem 2rem;color:#e5e7ebe6;max-width:600px;margin:auto}.welcome-icon{font-size:4rem;margin-bottom:1rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome h2{font-size:2rem;margin-bottom:1rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:Georgia,serif}.welcome-desc{font-size:1.1rem;margin-bottom:2rem;line-height:1.6;color:#e5e7ebb3}.examples{background:#1f293766;border:1px solid rgba(139,92,246,.2);border-radius:12px;padding:1.5rem;text-align:left}.examples-title{color:#8b5cf6e6;font-weight:600;margin-bottom:.75rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.examples ul{list-style:none;padding:0}.examples li{padding:.5rem 0;color:#e5e7ebb3;border-bottom:1px solid rgba(75,85,99,.2);cursor:pointer;transition:all .2s ease;font-style:italic}.examples li:last-child{border-bottom:none}.examples li:hover{color:#fbbf24e6;padding-left:.5rem}.examples li:before{content:"⚡ ";opacity:.6}.message{display:flex;gap:1rem;animation:messageSlide .3s ease-out}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;background:#1f293799;border:2px solid rgba(139,92,246,.3)}.message.user .message-avatar{border-color:#fbbf2480}.message-bubble{max-width:70%;padding:1rem 1.25rem;border-radius:16px;position:relative}.message.user .message-bubble{background:linear-gradient(135deg,#fbbf2426,#f59e0b26);border:1px solid rgba(251,191,36,.3);border-radius:16px 16px 4px}.message.assistant .message-bubble{background:linear-gradient(135deg,#8b5cf626,#7c3aed26);border:1px solid rgba(139,92,246,.3);border-radius:16px 16px 16px 4px}.message.error .message-bubble{background:linear-gradient(135deg,#ef444426,#dc262626);border:1px solid rgba(239,68,68,.3)}.message-content{color:#e5e7ebf2;line-height:1.6;font-size:.95rem}.message-content h1,.message-content h2,.message-content h3{color:#fbbf24e6;margin:1rem 0 .5rem;font-family:Georgia,serif}.message-content h1{font-size:1.5rem}.message-content h2{font-size:1.3rem}.message-content h3{font-size:1.1rem}.message-content p{margin:.5rem 0}.message-content code{background:#1f293780;padding:.2rem .4rem;border-radius:4px;font-size:.9em;color:#fbbf24e6}.message-content pre{background:#1f293780;padding:1rem;border-radius:8px;overflow-x:auto;margin:.5rem 0}.message-content pre code{background:none;padding:0}.message-content em{color:#9ca3afe6;font-style:italic}.message-content strong{color:#fbbf24e6;font-weight:600}.message-content hr{border:none;border-top:1px solid rgba(75,85,99,.3);margin:1rem 0}.message-content ul,.message-content ol{padding-left:1.5rem;margin:.5rem 0}.message-content li{margin:.25rem 0}.message-content a{color:#8b5cf6e6;text-decoration:none;border-bottom:1px solid rgba(139,92,246,.4);transition:all .2s ease}.message-content a:hover{color:#a78bfa;border-bottom-color:#a78bfa99}.typing-indicator{display:flex;gap:.4rem;padding:.5rem 0}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#8b5cf699;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.6}30%{transform:translateY(-10px);opacity:1}}.input-form{flex-shrink:0;padding:1.5rem 2rem;background:linear-gradient(135deg,#1e143ce6,#3c2850e6);border-top:2px solid rgba(139,92,246,.3);display:flex;gap:1rem;box-shadow:0 -4px 20px #0000004d}.input-form input{flex:1;background:#1f293799;border:1px solid rgba(139,92,246,.3);color:#e5e7ebf2;padding:.875rem 1.25rem;border-radius:12px;font-size:1rem;outline:none;transition:all .3s ease}.input-form input::placeholder{color:#9ca3af99;font-style:italic}.input-form input:focus{border-color:#8b5cf699;background:#1f2937cc;box-shadow:0 0 20px #8b5cf633}.input-form input:disabled{opacity:.5;cursor:not-allowed}.input-form button{background:linear-gradient(135deg,#8b5cf6cc,#7c3aedcc);border:none;color:#fff;padding:.875rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #8b5cf64d}.input-form button:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6,#7c3aed);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.input-form button:active:not(:disabled){transform:translateY(0)}.input-form button:disabled{opacity:.5;cursor:not-allowed;transform:none}.clear-container{padding:.75rem 1.5rem;display:flex;justify-content:center;background:#0f0c2980;border-top:1px solid rgba(139,92,246,.2)}.clear-container .clear-button{background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#fca5a5e6;padding:.5rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease;font-weight:500}.clear-container .clear-button:hover{background:#ef44444d;border-color:#ef444480;box-shadow:0 0 15px #ef44444d;transform:translateY(-2px)}@media (max-width: 768px){.app{min-height:-webkit-fill-available}.header{padding:1rem;position:sticky;top:0;z-index:10}.header-content{gap:1rem}.library-image{max-width:60px}.header h1{font-size:1.3rem;margin-bottom:.25rem}.subtitle{font-size:.75rem}.mode-selector{margin-top:.5rem;gap:.25rem;flex-wrap:wrap}.mode-selector button{padding:.4rem .8rem;font-size:.8rem}.message-bubble{max-width:90%;font-size:.95rem}.messages{padding:.75rem;padding-bottom:calc(5rem + env(safe-area-inset-bottom));gap:.75rem}.input-form{padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom));gap:.5rem;position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#1e143cfa,#3c2850fa);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5}.input-form input{font-size:1rem;padding:.75rem 1rem}.input-form button{padding:.75rem 1rem;font-size:.9rem}}@media (max-width: 480px){.header{padding:.75rem}.header-content{gap:.75rem}.library-image{max-width:50px}.header h1{font-size:1.1rem}.subtitle{font-size:.7rem}.mode-selector button{padding:.35rem .7rem;font-size:.75rem}}.tool-calls-container{margin-top:.75rem}.tool-calls-badge{padding:.4rem .75rem;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:6px;font-size:.8rem;color:#c4b5fde6;display:inline-block;font-style:italic;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.tool-calls-badge:hover{background:#8b5cf640;border-color:#8b5cf680;transform:translateY(-1px)}.expand-arrow{font-size:.7rem;margin-left:.25rem;opacity:.7}.tool-calls-details{margin-top:.5rem;padding:.75rem;background:#1e143c66;border:1px solid rgba(139,92,246,.2);border-radius:6px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.details-header{font-size:.75rem;color:#c4b5fdb3;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.tool-call-item{display:flex;gap:.5rem;padding:.5rem;margin-bottom:.25rem;background:#0003;border-radius:4px;align-items:flex-start}.tool-call-item:last-child{margin-bottom:0}.tool-call-number{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background:#8b5cf64d;border-radius:50%;font-size:.7rem;font-weight:600;color:#c4b5fde6}.tool-call-query{flex:1;font-size:.85rem;color:#e2e8f0e6;line-height:1.5;word-break:break-word}.tool-call-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:.5rem}.tool-call-type{font-size:.75rem;color:#c4b5fdb3;background:#8b5cf633;padding:.25rem .5rem;border-radius:4px;font-weight:500}.tool-call-item{flex-direction:column;gap:.5rem}.tool-call-params{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:#cbd5e1cc}.tool-call-params .param{background:#3b82f626;border:1px solid rgba(59,130,246,.3);padding:.2rem .5rem;border-radius:3px;white-space:nowrap}.usage-info{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(139,92,246,.2)}.usage-stats{display:flex;gap:1rem;font-size:.8rem;color:#cbd5e1e6;flex-wrap:wrap}.usage-stats span{background:#1e3a8a4d;padding:.3rem .6rem;border-radius:4px;border:1px solid rgba(59,130,246,.3)}.debug-details{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(139,92,246,.2)}.debug-summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.8rem;color:#fb923ce6;font-weight:600;padding:.5rem;background:#ea580c1a;border-radius:4px;border:1px solid rgba(251,146,60,.3);transition:all .2s ease;list-style:none}.debug-summary::-webkit-details-marker{display:none}.debug-summary:hover{background:#ea580c33;border-color:#fb923c80}.debug-summary:before{content:"▶ ";display:inline-block;transition:transform .2s ease}.debug-details[open] .debug-summary:before{transform:rotate(90deg)}.debug-section{margin-top:.75rem}.debug-label{font-size:.75rem;color:#fb923ccc;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.debug-json{background:#0006;border:1px solid rgba(251,146,60,.2);border-radius:4px;padding:.75rem;font-size:.75rem;color:#fed7aae6;overflow-x:auto;max-height:400px;overflow-y:auto;font-family:Courier New,monospace;line-height:1.4}.debug-json::-webkit-scrollbar{width:8px;height:8px}.debug-json::-webkit-scrollbar-track{background:#0003;border-radius:4px}.debug-json::-webkit-scrollbar-thumb{background:#fb923c4d;border-radius:4px}.debug-json::-webkit-scrollbar-thumb:hover{background:#fb923c80}:root{--bg-primary: #0f0c29;--bg-secondary: #1e143c;--bg-tertiary: #2d1f4f;--text-primary: #e5e7eb;--text-secondary: #9ca3af;--accent-gold: #fbbf24;--accent-purple: #8b5cf6}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);overflow:hidden}#root{width:100%;height:100vh;overflow:hidden}code{font-family:Courier New,Consolas,Monaco,monospace}
