:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-surface: #0f3460;--accent: #00ff88;--accent-dim: #00cc6a;--text-primary: #e0e0e0;--text-secondary: #8a8a9a;--text-muted: #555566;--agent-bg: #1e2a3a;--human-bg: #0f3460;--border: #2a2a3e;--input-height: 56px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}#app{display:flex;flex-direction:column;height:100%;max-width:800px;margin:0 auto}.app-header{flex-shrink:0;padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.app-header h1{font-size:14px;font-weight:600;color:var(--accent);letter-spacing:.05em;text-transform:uppercase}.app-header .status{font-size:11px;color:var(--text-muted)}.content-area{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.message-list{height:100%;overflow-y:auto;padding:16px;padding-bottom:calc(var(--input-height) + var(--safe-bottom) + 8px);display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.message-list::-webkit-scrollbar{width:4px}.message-list::-webkit-scrollbar-track{background:transparent}.message-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.message{display:flex;flex-direction:column;max-width:85%;animation:messageIn .2s ease-out}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.agent{align-self:flex-start}.message.human{align-self:flex-end}.message .sender-label{font-size:10px;font-weight:600;letter-spacing:.1em;margin-bottom:4px;padding:0 8px}.message.agent .sender-label{color:var(--accent)}.message.human .sender-label{color:#6af}.message .bubble{padding:10px 14px;border-radius:8px;font-size:13px;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.message.agent .bubble{background:var(--agent-bg);border:1px solid var(--border);border-bottom-left-radius:2px}.message.human .bubble{background:var(--human-bg);border:1px solid var(--border);border-bottom-right-radius:2px}.message .timestamp{font-size:10px;color:var(--text-muted);margin-top:4px;padding:0 8px;cursor:pointer;-webkit-user-select:none;user-select:none}.message.human .timestamp{text-align:right}.message .timestamp:hover{color:var(--text-secondary)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:8px;padding:32px;text-align:center}.empty-state .empty-icon{font-size:32px;opacity:.3;margin-bottom:8px}.empty-state .empty-text{font-size:13px;color:var(--text-muted)}.empty-state .empty-hint{font-size:11px;color:var(--text-muted);opacity:.6;margin-top:4px}.loading-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12px}.loading-state .dot-pulse{display:inline-flex;gap:4px;margin-left:4px}.loading-state .dot-pulse span{width:4px;height:4px;background:var(--accent);border-radius:50%;animation:dotPulse 1.2s infinite ease-in-out}.loading-state .dot-pulse span:nth-child(2){animation-delay:.2s}.loading-state .dot-pulse span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}#input-area{position:fixed;bottom:0;left:0;right:0;max-width:800px;margin:0 auto;display:flex;align-items:center;gap:8px;padding:8px 12px;padding-bottom:calc(8px + var(--safe-bottom));background:var(--bg-secondary);border-top:1px solid var(--border);min-height:var(--input-height);z-index:100}#message-input{flex:1;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:16px;font-family:inherit;color:var(--text-primary);outline:none;transition:border-color .15s}#message-input::placeholder{color:var(--text-muted)}#message-input:focus{border-color:var(--accent)}#message-input:disabled{opacity:.5}#send-btn{flex-shrink:0;background:var(--accent);color:var(--bg-primary);border:none;border-radius:6px;padding:8px 16px;font-size:12px;font-family:inherit;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;transition:background-color .15s,opacity .15s;animation:fadeIn .15s ease-out}#send-btn:hover{background:var(--accent-dim)}#send-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.lightbox-overlay.svelte-93g9q7{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:1000;display:flex;align-items:center;justify-content:center;animation:svelte-93g9q7-lightboxIn .2s ease-out;-webkit-tap-highlight-color:transparent}@keyframes svelte-93g9q7-lightboxIn{0%{opacity:0}to{opacity:1}}.lightbox-container.svelte-93g9q7{display:flex;flex-direction:column;align-items:center;max-width:95vw;max-height:95vh;padding:16px}.lightbox-image.svelte-93g9q7{max-width:100%;max-height:85vh;object-fit:contain;border-radius:4px;user-select:none;-webkit-user-select:none;pointer-events:none}.lightbox-caption.svelte-93g9q7{margin-top:12px;font-size:12px;color:var(--text-secondary);text-align:center;max-width:100%}.lightbox-close.svelte-93g9q7{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:var(--text-primary);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s}.lightbox-close.svelte-93g9q7:hover{background:#ffffff2e}.lightbox-close.svelte-93g9q7:active{background:#ffffff47}.thumbnail.svelte-17i0sz8{width:240px;height:240px;object-fit:contain;border-radius:4px;display:block;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.thumbnail.svelte-17i0sz8:hover{transform:scale(1.02)}.thumbnail.svelte-17i0sz8:active{opacity:.85;transform:scale(.98)}.caption.svelte-17i0sz8{margin-top:6px;font-size:12px;color:var(--text-secondary)}
