:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#111827;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;background:#fff}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.app-container{max-width:800px;width:100%;margin:0 auto;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex;flex-direction:column;min-height:100vh;align-items:center;justify-content:flex-start}.app-header{width:100%;padding:1.5rem 2rem;border:none;border-bottom:1px solid #e5e5e5;margin-bottom:0;display:flex;flex-direction:column;align-items:center;gap:1rem;background:#fff;text-align:center;box-sizing:border-box;position:fixed;top:0;left:0;right:0;z-index:100}.header-left{display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,2.5vw,1.5rem);width:100%}.header-logo{width:clamp(50px,10vw,80px);height:clamp(50px,10vw,80px);flex-shrink:0}.header-title{margin:0;font-size:1.5rem;font-weight:600;color:#202124;line-height:1.3}.header-subtitle{font-size:clamp(.875rem,2.5vw,1.125rem);margin-top:clamp(.25rem,1vw,.5rem);color:#555;line-height:1.5}.header-link{color:#9b51e0;text-decoration:none;transition:color .2s;font-weight:500}.header-link:hover{color:#7d3cb8;text-decoration:underline}.pass-logo{height:60px;position:fixed;top:1rem;right:1rem;z-index:1000;flex-shrink:0}.contact-button{position:fixed;top:5rem;right:1rem;z-index:1000;padding:.5rem 1rem;background:#9b51e0;color:#fff;text-decoration:none;border-radius:8px;font-size:.875rem;font-weight:600;transition:background-color .2s;white-space:nowrap}.contact-button:hover{background:#8642cc}.contact-button:active{background:#7333b8}.chat-wrapper{flex:1;display:flex;flex-direction:column;max-width:768px;margin:0 auto;width:100%;position:relative;padding:1rem 2rem 2rem;box-sizing:border-box;padding-top:240px}.clear-button{display:block;padding:0;border-radius:10px;border:1px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s;width:100%;flex:1}.clear-button:hover{background:#f9fafb;border-color:#9ca3af}.clear-button:active{background:#f3f4f6}.chat-main{flex:1;padding:.25rem 0;overflow-y:auto;background:transparent;box-sizing:border-box;margin-bottom:.5rem}.message{margin:.15rem 0;white-space:pre-wrap;padding:.4rem .6rem;border-radius:0;font-size:.95rem;line-height:1.4;color:#374151;text-align:left}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.05rem}.message strong{font-size:.825rem;font-weight:600;color:#6b7280}.copy-button{padding:.25rem .5rem;font-size:.75rem;border:1px solid #d1d5db;background:#fff;color:#6b7280;border-radius:4px;cursor:pointer;transition:all .2s;font-weight:500}.copy-button:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.copy-button:active{background:#f3f4f6}.message-assistant{background:#f9fafb;border:none;margin-right:auto;margin-left:0;max-width:100%;text-align:left}.message-assistant strong{text-align:left}.message-user{background:transparent;border:none;padding:.3rem .6rem;margin-left:auto;margin-right:0;max-width:80%;text-align:right}.message-user strong{text-align:right}.message-user .message-header{justify-content:flex-end}.message p:first-of-type,.message div:first-of-type{margin-top:0!important}.message p:last-of-type,.message div:last-of-type{margin-bottom:0!important}.message h1:first-child,.message h2:first-child,.message h3:first-child,.message h4:first-child,.message ul:first-child,.message ol:first-child{margin-top:0!important}.message ul:last-child,.message ol:last-child{margin-bottom:0!important}.message li>p,.message li>div{margin:0!important;display:inline}.message pre code{background:none;padding:0;color:inherit}.message *{margin-block-start:0;margin-block-end:0}.loading-message{display:flex;align-items:center;gap:.5rem}.loading-dots{display:flex;gap:.3rem;align-items:center}.loading-dot{width:8px;height:8px;border-radius:50%;background:#9b51e0;animation:pulse 1.4s ease-in-out infinite}.loading-dot:nth-child(1){animation-delay:0s}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1.1)}}.chat-input-container{position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e5e5;padding:.75rem 1rem 1rem}.chat-form{display:flex;align-items:stretch;gap:.75rem;padding:0;border:none;background:transparent}.button-group{display:flex;flex-direction:column;gap:.5rem;min-width:100px}.chat-textarea{flex:1;min-width:200px;padding:.875rem 1rem;border-radius:12px;border:1px solid #d1d5db;font-size:.95rem;font-family:inherit;resize:none;transition:border-color .2s,box-shadow .2s;color:#111827;background:#fff;box-shadow:0 1px 2px #0000000d;height:80px}.chat-textarea::placeholder{color:#9ca3af;opacity:1}.chat-textarea:focus{outline:none;border-color:#9b51e0;box-shadow:0 0 0 3px #9b51e01a}.chat-button{padding:0;border-radius:10px;border:none;background:#9b51e0;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;transition:background-color .2s;white-space:nowrap;width:100%;flex:1}.chat-button:hover:not(:disabled){background:#8642cc}.chat-button:active:not(:disabled){background:#7333b8}.chat-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.chat-form{flex-direction:column;align-items:stretch}.button-group{flex-direction:row;width:100%}.chat-button{height:50px}.chat-textarea{border-radius:12px;height:80px}.clear-button{height:50px}.pass-logo{height:40px;top:.75rem;right:.75rem}.contact-button{top:3.5rem;right:.75rem;font-size:.75rem;padding:.4rem .75rem}.app-header{padding:1rem 1.5rem}.chat-wrapper{padding-top:260px;padding-left:1rem;padding-right:1rem}.chat-input-container{padding:.75rem .75rem 1rem}}
