:root{--bg-base:#f6f6f6;--bg-chat:#fff;--panel-border:#e5e7eb;--text-primary:#111827;--text-secondary:#6b7280;--accent-brand:#e63a41;--accent-brand-hover:#d03037;--accent-glow:#e63a411a;--bubble-user:#f3f3f3;--bubble-ai:transparent}*{box-sizing:border-box;margin:0;padding:0}html{height:100dvh}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-text-size-adjust:100%;height:100dvh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;display:flex;overflow:hidden}#root{width:100vw;height:100dvh;display:flex}.app-container{width:100%;height:100%;display:flex;position:relative}.sidebar{border-right:1px solid var(--panel-border);background:var(--bg-base);z-index:100;flex-direction:column;width:260px;padding:1.5rem 1rem;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.8rem;padding-left:.5rem;font-size:.75rem;font-weight:600}.history-list{flex-direction:column;flex:1;gap:.25rem;display:flex;overflow-y:auto}.history-item{color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:.6rem .8rem;font-size:.85rem;transition:all .2s;overflow:hidden}.history-item:hover{color:var(--text-primary);background:#f3f4f6}.history-item.active{color:#b91c1c;background:#fee2e2;font-weight:500}.btn-new-chat{color:var(--text-primary);cursor:pointer;background:#fff;border:1px dashed #d1d5db;border-radius:4px;justify-content:center;align-items:center;gap:.4rem;margin-bottom:1.5rem;padding:.6rem;font-size:.85rem;transition:all .2s;display:flex;box-shadow:0 1px 2px #00000005}.btn-new-chat:hover{background:#f3f4f6;border-color:#9ca3af}.main-chat{background:var(--bg-chat);flex-direction:column;flex:1;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.chat-header{flex-shrink:0;justify-content:space-between;align-items:center;width:100%;padding:1rem 1.5rem;display:flex}.brand-logo{color:var(--text-primary);font-size:1rem;font-weight:600}.brand-dot{color:var(--accent-brand)}.mobile-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:1.4rem;transition:color .2s;display:none}.mobile-toggle:hover{color:var(--text-primary)}.messages-container{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:2rem;width:100%;max-width:800px;min-height:0;padding:2rem 1.5rem;display:flex;overflow-y:auto}@media (width<=768px){.messages-container{gap:1.5rem;padding:1rem 1rem 1.5rem}}.message{gap:1rem;width:100%;animation:.4s forwards slideUp;display:flex}.message.user{flex-direction:row-reverse}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:.2rem;font-size:.85rem;font-weight:600;display:flex}.avatar-user{color:#4b5563;background:#e5e7eb}.avatar-ai{background-color:var(--accent-brand);background-image:radial-gradient(circle,#fff 45%,#0000 55%),radial-gradient(circle,#fff 45%,#0000 55%),linear-gradient(#111827,#111827);background-position:8px 4px,20px 4px,50% 12px;background-repeat:no-repeat;background-size:6px 6px,6px 6px,22px 10px;border-radius:4px;margin-top:.2rem;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 12px #e63a414d;width:34px!important;height:24px!important}.avatar-ai:before,.avatar-ai:after{content:"";box-sizing:border-box;border:1.5px dashed #fffc;border-radius:50%;width:7px;height:7px;position:absolute;top:13.5px}.avatar-ai:before{left:9px}.avatar-ai:after{right:9px}.avatar-ai.is-thinking{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#111827,#111827);background-position:7px 6px,19px 6px,50% 12px;background-size:8px 2px,8px 2px,22px 10px;animation:.4s ease-in-out infinite alternate boombox-shake}.avatar-ai.is-thinking:before,.avatar-ai.is-thinking:after{border-color:#ffde59;animation:.2s linear infinite reel-spin-fast}@keyframes reel-spin-fast{to{transform:rotate(360deg)}}@keyframes boombox-shake{0%{transform:translateY(0);box-shadow:0 4px 12px #e63a414d}to{transform:translateY(-2px);box-shadow:0 8px 16px #e63a4180}}.message-content{max-width:85%;color:var(--text-primary);flex:1;font-size:.95rem;line-height:1.6}.message.user .message-content{background:var(--bubble-user);border-radius:4px;padding:.8rem 1.2rem}.message.ai .message-content{padding:.2rem 0}.podcast-card{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:4px;align-items:flex-start;gap:1rem;max-width:650px;margin-top:1rem;padding:1rem;transition:all .2s;display:flex}.podcast-card:hover{border-color:#e63a41;transform:translateY(-2px);box-shadow:0 8px 24px #e63a4140}.podcast-cover{color:#9ca3af;background:#f3f4f6;border:1px solid #f0f0f0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;font-size:2rem;display:flex;overflow:hidden}.podcast-info{flex-direction:column;flex:1;min-width:0;display:flex}.podcast-info h4{color:#111827;white-space:nowrap;text-overflow:ellipsis;margin-bottom:.2rem;font-size:1.05rem;font-weight:800;line-height:1.4;overflow:hidden}.podcast-info p.podcast-meta{color:#6b7280;margin-bottom:8px;font-size:.8rem;font-weight:600;line-height:1.2}.podcast-info p.podcast-summary{color:#4b5563;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.6;display:-webkit-box;overflow:hidden}.input-area{background:linear-gradient(#fff0,#fff 40%);justify-content:center;width:100%;padding:1rem 1.5rem 2.5rem;display:flex}.input-wrapper{background:#fff;border:1px solid #e0e0e0;border-radius:4px;align-items:flex-end;width:100%;max-width:800px;padding:.375rem;transition:border-color .3s;display:flex}.input-wrapper:focus-within{border-color:#222}.chat-input{color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:42px;max-height:200px;padding:.5rem 1rem;font-family:inherit;font-size:16px}.chat-input::placeholder{color:#9ca3af}.controls-group{align-items:center;gap:10px;padding:0 8px 8px 0;display:flex}.token-ring-wrapper{cursor:pointer;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:relative}.token-ring-wrapper:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:200;background:#374151;border-radius:6px;padding:6px 10px;font-size:.75rem;transition:opacity .2s,transform .2s;position:absolute;bottom:34px;right:-10px;transform:translateY(4px);box-shadow:0 4px 12px #0000001a}.token-ring-wrapper:hover:after{opacity:1;transform:translateY(0)}.token-ring{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:#e5e7eb;stroke-width:3px}.ring-progress{fill:none;stroke:#34c759;stroke-width:3px;stroke-linecap:round;stroke-dasharray:62.83;transition:stroke-dashoffset .3s}.btn-send{color:#fff;cursor:pointer;background:#e5e7eb;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:background .2s;display:flex}.input-wrapper:focus-within .btn-send{background:var(--accent-brand)}.btn-send:hover{background:var(--accent-brand-hover)!important}.btn-send:disabled{cursor:not-allowed;background:#e5e7eb!important}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mobile-overlay{z-index:90;opacity:0;background:#0000004d;transition:opacity .3s;display:none;position:fixed;inset:0}.DialogOverlay{z-index:90;background-color:#0000004d;animation:.15s cubic-bezier(.16,1,.3,1) overlayShow;position:fixed;inset:0}.DialogContent{background-color:var(--bg-base);z-index:100;width:260px;animation:.3s cubic-bezier(.16,1,.3,1) contentShow;position:fixed;top:0;bottom:0;left:0;box-shadow:4px 0 24px #0000001a}@keyframes overlayShow{0%{opacity:0}to{opacity:1}}@keyframes contentShow{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@media (width<=768px){.mobile-toggle{display:block}.chat-header{justify-content:flex-start;gap:1rem}.sidebar{display:none}.messages-container,.input-wrapper{max-width:100%}.messages-container{padding:1.5rem 1rem}.input-area{padding:1rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:#fff}}.site-footer{text-align:center;color:#9ca3af;background:var(--bg-chat);flex-shrink:0;width:100%;padding:6px 1.5rem 10px;font-size:12px;line-height:1.4}.site-footer a{color:inherit;text-decoration:none;transition:color .2s}.site-footer a:hover{color:var(--text-secondary)}@media (width<=768px){.site-footer{padding:2px 1rem 4px;font-size:10px;line-height:1.3}}@keyframes loading-glow{0%{opacity:.4}50%{opacity:.8}to{opacity:.4}}.loading-text-glow{animation:2s ease-in-out infinite loading-glow}.loading-indicator{flex-direction:column;align-items:flex-start;gap:12px;padding:8px 0;display:flex}.audio-wave-animation{align-items:center;gap:4px;height:24px;display:flex}.wave-bar{transform-origin:bottom;background-color:#111827;border-radius:2px;width:4px;animation:.8s ease-in-out infinite alternate audio-wave}.wave-bar:nth-child(2n){background-color:#e63a41}.wave-bar:first-child{height:8px;animation-delay:0s}.wave-bar:nth-child(2){height:16px;animation-delay:.2s}.wave-bar:nth-child(3){height:24px;animation-delay:.4s}.wave-bar:nth-child(4){height:12px;animation-delay:.6s}.wave-bar:nth-child(5){height:20px;animation-delay:.8s}@keyframes audio-wave{0%{transform:scaleY(.4)}to{transform:scaleY(1.1)}}.loading-text{color:#111827;min-height:1.4em;font-size:.95rem;font-weight:800;transition:opacity .3s}.loading-text.in{opacity:1}.loading-text.out{opacity:.3}
