.app{width:100%;max-width:800px;margin:0 auto;height:100vh;display:flex;flex-direction:column;border-radius:0;border:none;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.app-header{background:linear-gradient(90deg,#667eea,#764ba2);padding:1.5rem;text-align:center;color:#fff}.app-header h1{font-size:2rem;margin-bottom:.5rem;font-weight:700}.app-header p{opacity:.9;font-size:1.1rem}.header-controls{margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.ai-status{margin-top:0}.ai-status-indicator{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ai-status-indicator.available{background:#22c55e33;border:1px solid rgba(34,197,94,.3);color:#22c55e}.ai-status-indicator.unavailable{background:#f59e0b33;border:1px solid rgba(245,158,11,.3);color:#f59e0b}.reset-button{padding:.5rem 1rem;border:none;border-radius:20px;background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.reset-button:hover{background:#ef44444d;transform:translateY(-2px)}.voice-toggle{padding:.5rem 1rem;border:none;border-radius:20px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);color:#3b82f6;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.voice-toggle:hover:not(:disabled){background:#3b82f640;transform:translateY(-1px)}.voice-toggle.active{background:#10b98133;border-color:#10b98159;color:#10b981}.voice-toggle:disabled{opacity:.6;cursor:not-allowed}.mic-indicator{width:8px;height:8px;border-radius:50%;background:#a1a1aa;display:inline-block}.mic-indicator.listening{background:#10b981;box-shadow:0 0 #10b981b3;animation:mic-pulse 1.5s infinite}@keyframes mic-pulse{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}.chat-container{flex:1;display:flex;flex-direction:column;min-height:0}.messages{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;min-height:0}.welcome-message{text-align:center;padding:2rem;color:#ffffffb3}.welcome-message p{font-size:1.2rem;background:linear-gradient(45deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-note{font-size:.9rem!important;margin-top:1rem;opacity:.8;background:linear-gradient(45deg,#f59e0b,#f97316)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.suggested-topics{margin-top:1.5rem}.topics-label{font-size:.9rem!important;margin-bottom:.8rem;opacity:.9;background:linear-gradient(45deg,#667eea,#764ba2)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.topic-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.topic-tag{display:inline-block;padding:.4rem .8rem;background:#667eea33;border:1px solid rgba(102,126,234,.3);border-radius:15px;font-size:.8rem;color:#667eea;cursor:pointer;transition:all .3s ease}.topic-tag:hover{background:#667eea4d;transform:translateY(-2px)}.message{display:flex}.message.user{justify-content:flex-end}.message.ai{justify-content:flex-start}.message.system{justify-content:center}.message-content{max-width:70%;padding:1rem 1.5rem;border-radius:18px;position:relative;display:flex;flex-direction:column;gap:.5rem}.message.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.message.ai .message-content{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffe6}.message.ai .message-content.ephemeral{background:#ffffff0f;border:1px dashed rgba(255,255,255,.25);color:#fffc;font-size:.95rem;opacity:.9}.status-bubble{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-radius:14px;background:#ffffff14;border:1px dashed rgba(255,255,255,.35);color:#fff;box-shadow:0 2px 8px #00000014}.status-steps{display:flex;align-items:center;gap:.75rem}.status-steps .step{display:inline-flex;align-items:center;gap:.35rem;opacity:.45;transition:opacity .2s ease}.status-steps .step .icon{font-size:1rem}.status-steps .step .label{font-size:.85rem;font-weight:600}.status-steps .step.active{opacity:1}.status-bubble .label,.status-bubble .icon{color:#fff!important}.typing{display:inline-flex;gap:.25rem;margin-left:.25rem}.typing i{width:6px;height:6px;background:currentColor;opacity:.6;display:inline-block;border-radius:50%;animation:typing 1.2s infinite ease-in-out}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,80%,to{transform:translateY(0);opacity:.6}40%{transform:translateY(-3px);opacity:1}}.message.system .message-content{background:#3b82f633;border:1px solid rgba(59,130,246,.3);color:#3b82f6;max-width:90%;font-family:monospace;font-size:.9rem;white-space:pre-wrap}.message-text{font-size:1rem;line-height:1.5}.message-text.draft{opacity:.7;font-style:italic}.message-text pre{background:#0003;padding:.5rem;border-radius:8px;margin:.5rem 0;font-family:Courier New,monospace;font-size:.9rem;overflow-x:auto;white-space:pre-wrap}.message-footer{display:flex;justify-content:space-between;align-items:flex-start;margin-top:.5rem}.message-footer-left{display:flex;align-items:center;gap:.75rem;flex:1}.message-time{font-size:.75rem;opacity:.7;white-space:nowrap}.detail-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#787878cc;padding:.25rem .5rem;border-radius:12px;font-size:.7rem;cursor:pointer;transition:all .2s ease}.detail-button:hover{background:#fff3;border-color:#ffffff80;color:#fff}.topic-tags{display:flex;flex-wrap:wrap;gap:.25rem}.topic-tag{background:#667eea33;border:1px solid rgba(102,126,234,.4);color:#667eea;padding:.125rem .375rem;border-radius:8px;font-size:.65rem;font-weight:500;white-space:nowrap}.input-form{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:1rem}.model-status{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#ffffff0d;border-top:1px solid rgba(255,255,255,.1);font-size:.875rem}.model-status-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.model-status-indicator.checking{background:#fbbf24;animation:pulse 2s infinite}.model-status-indicator.ready{background:#10b981}.model-status-indicator.downloading{background:#3b82f6;animation:pulse 2s infinite}.model-status-indicator.error{background:#ef4444}.model-status-indicator.not-available{background:#6b7280}.model-status-indicator.downloadable{background:#8b5cf6;animation:pulse 2s infinite}.status-text{color:#3c3c3ccc}.download-button{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-left:auto}.download-button:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.message-input{flex:1;padding:1rem;border:1px solid rgba(255,255,255,.2);border-radius:25px;background:#ffffff1a;color:#fff;font-size:1rem;outline:none;transition:all .3s ease}.message-input:focus{border-color:#667eea;background:#ffffff26}.message-input:disabled{opacity:.6;cursor:not-allowed}.message-input::placeholder{color:#ffffff80}.send-button{padding:1rem 2rem;border:none;border-radius:25px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.send-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.send-button:disabled:hover{box-shadow:none}.system-message{padding:1rem 1.5rem;background:#f59e0b1a;border-top:1px solid rgba(245,158,11,.2);color:#f59e0b;text-align:center;font-size:.9rem}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}.app{border:1px solid rgba(0,0,0,.1);background:linear-gradient(135deg,#ffffffe6,#f0f0f0e6)}.welcome-message{color:#000000b3}.message.ai .message-content{background:#0000000d;border:1px solid rgba(0,0,0,.1);color:#000c}.status-bubble{background:#0000000f;border-color:#0003;color:#1f2937}.status-bubble .label,.status-bubble .icon{color:#111827!important}.message-input{border:1px solid rgba(0,0,0,.2);background:#fffc;color:#000}.message-input::placeholder{color:#00000080}.input-form{border-top:1px solid rgba(0,0,0,.1)}.system-message{background:#f59e0b1a;border-top:1px solid rgba(245,158,11,.2)}}@media (max-width: 768px){.app{height:100vh;border-radius:0;border:none}.app-header{padding:1rem}.app-header h1{font-size:1.5rem}.status-indicator{font-size:.8rem;padding:.4rem .8rem}.messages{padding:1rem}.message-content{max-width:85%}.input-form{padding:1rem}.send-button{padding:1rem 1.5rem}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{max-width:1280px;margin:0 auto;padding:0;width:100%}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}}
