.chat-container{display:flex;flex-direction:column;position:relative}.chat-header{background:var(--glass-bg-dark);backdrop-filter:var(--backdrop-blur-md);border-bottom:1px solid var(--glass-border);padding:var(--spacing-lg);text-align:center;position:relative;z-index:10;flex-shrink:0}.chat-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--primary-cyan);margin-bottom:var(--spacing-xs)}.messages-container{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.message{max-width:80%;padding:16px var(--spacing-lg);border-radius:var(--radius-xxl);position:relative;opacity:0;animation:fadeIn .4s ease forwards}.message.user{background:var(--bubble-user-bg);color:var(--text-on-accent);align-self:flex-end;border-bottom-right-radius:var(--radius-sm);text-shadow:0 1px 2px rgba(0,0,0,.3);border:1px solid var(--glass-border)}.message.assistant{background:var(--glass-bg-light);backdrop-filter:var(--backdrop-blur-sm);border:1px solid var(--glass-border-light);color:var(--text-primary);align-self:flex-start;border-bottom-left-radius:var(--radius-sm)}.message.assistant.message-proactive{border-left:3px solid var(--primary-cyan)}.message-content{line-height:1.5;font-size:var(--font-size-base);min-width:0;overflow-wrap:anywhere}.message-time{font-size:var(--font-size-xs);opacity:.6;margin-top:var(--spacing-md)}.input-area{display:flex;align-items:flex-end;gap:var(--spacing-xs);margin:var(--spacing-sm) var(--spacing-md);margin-bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom));padding:var(--spacing-xs);padding-left:var(--spacing-md);background:var(--glass-bg-light);border:1px solid var(--glass-border-light);border-radius:var(--radius-xl);position:relative;flex-shrink:0;transition:var(--transition-normal)}.input-area:focus-within{border-color:var(--primary-cyan);box-shadow:0 0 0 3px var(--cyan-alpha-light)}.chat-disclaimer{margin:0;padding:3px var(--spacing-lg) calc(3px + env(safe-area-inset-bottom));background:var(--glass-bg-dark);color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.3;text-align:center;flex-shrink:0}.chat-disclaimer a{color:var(--text-secondary);text-decoration:underline}.message-input{flex:1;min-width:0;background:transparent;border:none;border-radius:0;padding:0;padding-block:7px;color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;outline:none;resize:none;min-height:20px;max-height:120px;overflow-y:hidden;line-height:1.4}.message-input::placeholder{color:#ffffff80}.voice-button{width:34px;height:34px;border-radius:var(--radius-round);background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-size-lg);cursor:pointer;transition:var(--transition-normal);display:flex;align-items:center;justify-content:center;flex-shrink:0}.voice-button:hover{background:var(--glass-bg-light);color:var(--text-primary)}.voice-button:active{transform:scale(.92)}.voice-button.recording{background:linear-gradient(135deg,var(--accent-red) 0%,#ff6b6b 100%);animation:recordingPulse 1s infinite}.send-button{width:36px;height:36px;border-radius:var(--radius-round);background:var(--primary-cyan);border:none;color:#000;font-size:var(--font-size-base);cursor:pointer;transition:var(--transition-normal);display:flex;align-items:center;justify-content:center;opacity:.4;pointer-events:none;flex-shrink:0}.send-button.active{opacity:1;pointer-events:auto}.send-button:hover{transform:scale(1.1);box-shadow:0 4px 15px var(--cyan-alpha-strong)}.send-button.stop-mode{background:var(--error-red);color:#fff}.send-button.stop-mode:hover{box-shadow:0 4px 15px color-mix(in srgb,var(--error-red) 45%,transparent)}.send-button.stop-mode.stop-confirm{animation:stopConfirmPulse 1s infinite}@keyframes stopConfirmPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--error-red) 45%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--error-red) 0%,transparent)}}.stop-confirm-note{margin:0 12px 6px;padding:6px 10px;font-size:.75rem;color:var(--text-secondary);background:color-mix(in srgb,var(--error-red) 12%,transparent);border:1px solid color-mix(in srgb,var(--error-red) 35%,transparent);border-radius:8px}.attach-button{width:34px;height:34px;border-radius:var(--radius-round);background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-size-lg);cursor:pointer;transition:var(--transition-normal);display:flex;align-items:center;justify-content:center;flex-shrink:0}.attach-button:hover{background:var(--glass-bg-light);color:var(--text-primary)}.attach-button:active{transform:scale(.95)}.coach-attach-preview{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg) 0;flex-shrink:0;max-height:168px;overflow-y:auto}.coach-attach-item{position:relative;display:inline-flex;flex-shrink:0}.coach-attach-thumb{height:64px;width:64px;border-radius:var(--radius-md);border:1px solid var(--glass-border-light);object-fit:cover}.coach-attach-remove{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:var(--radius-round);background:var(--glass-bg-dark);border:1px solid var(--glass-border);color:var(--text-secondary);font-size:var(--font-size-base);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.coach-attach-count{margin-left:auto;color:var(--text-muted);font-size:var(--font-size-sm);flex-shrink:0}.coach-attach-remove:hover{color:var(--text-primary);border-color:var(--primary-cyan)}.coach-attach-loading{color:var(--text-muted);font-size:var(--font-size-sm)}.message-images{margin-bottom:var(--spacing-sm)}.message-image{display:block;max-width:100%;max-height:320px;border-radius:var(--radius-md);border:1px solid var(--glass-border-light)}.message-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--spacing-sm)}.message-images-grid .message-image{width:100%;aspect-ratio:1;max-height:none;object-fit:cover}.voice-visualization{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;border-radius:var(--radius-round);background:radial-gradient(circle,var(--cyan-alpha-medium) 0%,transparent 70%);opacity:0;pointer-events:none;transition:var(--transition-normal)}.voice-visualization.active{opacity:1;animation:voiceWave 2s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.tool-activity-indicator{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-sm);background:var(--cyan-alpha-light);border:1px solid var(--cyan-alpha-medium);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--primary-cyan)}.tool-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--cyan-alpha-medium);border-top-color:var(--primary-cyan);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.typing-indicator{display:flex;align-items:center;gap:var(--spacing-sm);padding:16px var(--spacing-lg);background:var(--glass-bg-light);backdrop-filter:var(--backdrop-blur-sm);border:1px solid var(--glass-border-light);border-radius:var(--radius-xxl);border-bottom-left-radius:var(--radius-sm);max-width:80%;align-self:flex-start;opacity:0;animation:fadeIn .4s ease forwards}.typing-dots{display:flex;gap:var(--spacing-2xs)}.typing-dot{width:8px;height:8px;border-radius:var(--radius-round);background:var(--primary-cyan);animation:typingAnimation 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.error-message{background:#f443;border:1px solid rgba(255,68,68,.3);border-radius:var(--radius-lg);padding:var(--spacing-lg) 16px;margin:var(--spacing-sm) 0;color:#ff6b6b;font-size:var(--font-size-sm);text-align:center;animation:fadeIn .4s ease forwards}.chat-bottom-host{display:contents}.chat-sheet{position:fixed;bottom:0;left:0;right:0;margin:0;padding:0;border:0;max-width:none;max-height:none;z-index:1000;background:var(--sheet-bg);backdrop-filter:var(--backdrop-blur-md);color:var(--text-primary);border-top:1px solid var(--glass-border);box-sizing:border-box;box-shadow:0 -10px 30px #0000004d;width:100vw;height:100vh;height:100dvh;transform:translateY(100%);transition:transform .32s cubic-bezier(.32,.72,0,1),overlay .32s allow-discrete,display .32s allow-discrete;will-change:transform}.chat-sheet:popover-open{display:flex;flex-direction:column;transform:translateY(0)}@starting-style{.chat-sheet:popover-open{transform:translateY(100%)}}body:has(.chat-sheet:popover-open) .chat-trigger-bar{visibility:hidden}body.chat-sheet-locked{position:fixed;left:0;right:0;width:100%;overflow:hidden;box-sizing:border-box}.chat-sheet.is-dragging{transition:none}.chat-sheet::backdrop{background:transparent}.chat-sheet .chat-main{height:100%}.chat-drag-handle{position:relative;flex-shrink:0;height:28px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;user-select:none}.chat-drag-handle:before{content:"";width:44px;height:5px;border-radius:3px;background:var(--text-muted);transition:background .15s ease,transform .15s ease}.chat-drag-handle:hover:before{background:var(--text-secondary);transform:scaleX(1.05)}.chat-sheet.is-dragging .chat-drag-handle:before{background:var(--primary-cyan);transform:scaleX(1.1)}.chat-sheet.is-dragging .chat-drag-handle{cursor:grabbing}.chat-trigger-bar{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:999;height:68px;margin:0;border:0;border-top:1px solid var(--primary-cyan);display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-md);cursor:pointer;padding:14px var(--spacing-lg) 0;font:inherit;color:inherit;text-align:left;background:linear-gradient(180deg,var(--cyan-alpha-medium) 0%,var(--cyan-alpha-light) 30%,transparent 70%),var(--sheet-bg);box-shadow:0 -10px 30px #0006,0 -2px 16px var(--cyan-alpha-medium);transition:var(--transition-normal);padding-bottom:env(safe-area-inset-bottom);animation:coach-trigger-enter .5s cubic-bezier(.32,.72,0,1) .3s both}body.chat-dock-clearance{padding-bottom:calc(84px + env(safe-area-inset-bottom))}@keyframes coach-trigger-enter{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.chat-trigger-bar:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:44px;height:5px;border-radius:3px;background:var(--text-muted);transition:background .15s ease,transform .15s ease}.chat-trigger-avatar{position:relative;width:44px;height:44px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cyan-alpha-strong) 0%,var(--cyan-alpha-medium) 100%);border:1px solid var(--primary-cyan);box-shadow:inset 0 1px 1px var(--cyan-alpha-light),0 0 0 3px var(--cyan-alpha-light)}.chat-trigger-avatar .chat-trigger-icon{font-size:22px;line-height:1;animation:none}.chat-trigger-status-dot{position:absolute;bottom:1px;right:1px;width:11px;height:11px;border-radius:50%;background:#2ecc71;border:2px solid var(--sheet-bg);box-shadow:0 0 6px #2ecc7199}.chat-trigger-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.chat-trigger-header{display:flex;align-items:baseline;gap:4px;font-size:11px;line-height:1.2;color:var(--text-muted);text-transform:none;letter-spacing:.01em;overflow:hidden;white-space:nowrap}.chat-trigger-coach-name{font-weight:600;color:var(--primary-cyan)}.chat-trigger-thread-label,.chat-trigger-time{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;min-width:0}.chat-trigger-text{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;text-overflow:ellipsis;transition:opacity .35s ease}.chat-trigger-text.is-fading{opacity:0}.chat-trigger-unread-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--primary-cyan);color:var(--text-on-accent);font-size:10px;font-weight:700;line-height:18px;text-align:center;border:2px solid var(--sheet-bg);box-shadow:0 0 8px var(--cyan-alpha-strong);box-sizing:border-box}.chat-trigger-chevron{flex-shrink:0;font-size:28px;line-height:1;color:var(--text-muted);font-weight:300;margin-left:var(--spacing-sm);transition:transform .2s ease,color .2s ease}.chat-trigger-bar:hover .chat-trigger-chevron,.chat-trigger-bar:focus-visible .chat-trigger-chevron{color:var(--primary-cyan);transform:translate(4px)}.chat-trigger-bar:hover,.chat-trigger-bar:focus-visible{box-shadow:0 -12px 36px #00000073,0 -2px 24px var(--cyan-alpha-strong)}.chat-trigger-bar:hover:before,.chat-trigger-bar:focus-visible:before{background:var(--primary-cyan);transform:translate(-50%) scaleX(1.15)}@media(prefers-reduced-motion:reduce){.chat-trigger-bar,.chat-trigger-bar[data-fresh=true]{animation:none}}.chat-trigger-bar[data-priority=high]{box-shadow:0 -12px 36px #00000073,0 -2px 24px var(--cyan-alpha-strong)}.chat-trigger-bar[data-fresh=true] .chat-trigger-status-dot{background:var(--primary-cyan);box-shadow:0 0 10px var(--primary-cyan);width:13px;height:13px;bottom:-1px;right:-1px}@keyframes coach-trigger-fresh-pulse{0%,to{box-shadow:0 -10px 30px #0006,0 -2px 16px var(--cyan-alpha-medium)}50%{box-shadow:0 -14px 40px #00000080,0 -2px 32px var(--cyan-alpha-strong)}}.chat-trigger-bar[data-fresh=true]{animation:coach-trigger-fresh-pulse .7s ease-in-out 2}.message-quick-replies{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.message-quick-reply{display:inline-flex;align-items:center;padding:6px 12px;background:var(--cyan-alpha-light);border:1px solid var(--primary-cyan);border-radius:var(--radius-pill);color:var(--primary-cyan);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:inherit;cursor:pointer;transition:var(--transition-normal);white-space:nowrap;line-height:1.2;min-height:32px}.message-quick-reply:hover,.message-quick-reply:focus-visible{background:var(--cyan-alpha-medium);transform:translateY(-1px);box-shadow:0 2px 8px var(--cyan-alpha-medium);outline:none}.message-quick-reply:active{transform:translateY(0)}.message-quick-reply.multi-select[aria-pressed=true]{background:var(--primary-cyan);color:var(--background-dark, #0a0a0a);box-shadow:0 0 0 2px var(--cyan-alpha-medium)}.message-quick-reply-done{display:inline-flex;align-items:center;padding:6px 16px;margin-left:var(--spacing-xs);background:var(--primary-cyan);border:1px solid var(--primary-cyan);border-radius:var(--radius-pill);color:var(--background-dark, #0a0a0a);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:inherit;cursor:pointer;transition:var(--transition-normal);white-space:nowrap;line-height:1.2;min-height:32px}.message-quick-reply-done:hover:not(:disabled),.message-quick-reply-done:focus-visible:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px var(--cyan-alpha-medium);outline:none}.message-quick-reply-done:disabled{opacity:.4;cursor:not-allowed}.message-reactions{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.message-copy{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);cursor:pointer;font-size:15px;line-height:1;color:var(--text-secondary);opacity:.9;transition:var(--transition-normal)}.message-copy:hover,.message-copy:focus-visible{opacity:1;border-color:var(--primary-cyan);color:var(--primary-cyan);outline:none}.message-copy:active{transform:scale(.92)}.message-copy.is-copied{opacity:1;background:var(--cyan-alpha-medium);border-color:var(--primary-cyan)}.chat-trigger-bar.has-minimized-session{background:linear-gradient(180deg,var(--cyan-alpha-strong) 0%,var(--cyan-alpha-medium) 50%,var(--cyan-alpha-light) 100%),var(--sheet-bg)}.chat-panel-content{flex:1 1 auto;display:flex;flex-direction:row;min-height:0;overflow:hidden}.chat-sidebar{width:200px;min-width:200px;background:var(--glass-bg-dark);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;padding:var(--spacing-lg);flex-shrink:0;overflow-y:auto}.sidebar-section{margin-bottom:var(--spacing-lg)}.sidebar-heading{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-semibold)}.sidebar-action-btn{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-md);background:var(--glass-bg-light);border:1px solid var(--glass-border-light);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;margin-bottom:var(--spacing-sm);transition:var(--transition-normal);text-align:left}.sidebar-action-btn:hover{background:var(--primary-cyan);border-color:var(--primary-cyan);transform:translate(4px);box-shadow:0 4px 12px var(--cyan-alpha-medium)}.sidebar-action-btn:last-child{margin-bottom:0}.sidebar-action-icon{font-size:var(--font-size-lg);flex-shrink:0}.sidebar-action-text{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.sidebar-action-link{text-decoration:none}.sidebar-session-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.session-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-sm);background:var(--glass-bg-light);border:1px solid var(--glass-border-light);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;text-align:left;width:100%;transition:var(--transition-normal);min-height:44px}.session-row:hover{background:var(--cyan-alpha-light);border-color:var(--primary-cyan)}.session-row-active{background:var(--cyan-alpha-medium);border-color:var(--primary-cyan)}.session-row-plan{border-color:var(--cyan-alpha-medium)}.session-row-plan-chip{display:inline-flex;align-items:center;font-size:11px;margin-right:4px}.session-row-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.session-row-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-row-subtitle{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-pin-btn{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;user-select:none;opacity:.4;transition:var(--transition-normal)}.session-row:hover .session-pin-btn,.session-pin-btn[data-pinned=true]{opacity:1}.session-pin-btn:hover{background:var(--glass-bg-light)}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}body[data-auto-open-coach=true] .chat-sidebar,body[data-auto-open-coach=true] .chat-panel-controls,body[data-auto-open-coach=true] .attach-button,body[data-auto-open-coach=true] .voice-button,body[data-auto-open-coach=true] .chat-drag-handle{display:none}.chat-main .chat-container,.chat-panel-content .chat-container{flex:1;display:flex;flex-direction:column;min-height:0;height:100%}.chat-panel-content .messages-container{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.chat-panel-header{background:var(--glass-bg-dark);backdrop-filter:var(--backdrop-blur-md);border-bottom:1px solid var(--glass-border);padding:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.chat-panel-header-left{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.chat-panel-header-right{display:flex;align-items:center;gap:var(--spacing-md)}.coach-avatar{font-size:var(--font-size-xl);line-height:1;flex-shrink:0}.coach-avatar--initial{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);letter-spacing:0;text-transform:uppercase;user-select:none;box-shadow:inset 0 1px 1px #ffffff2e,0 0 0 1px #00000026}.chat-trigger-avatar .chat-trigger-icon.coach-avatar--initial{width:100%;height:100%;font-size:var(--font-size-lg);box-shadow:inset 0 1px 1px #ffffff2e}.chat-panel-title{color:var(--primary-cyan);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.chat-panel-all-link{color:var(--text-muted);font-size:var(--font-size-sm);text-decoration:none;transition:color .2s ease}.chat-panel-all-link:hover{color:var(--primary-cyan)}.coach-chat--docked{display:flex;flex-direction:column;min-height:0;width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}.coach-chat--docked *{box-sizing:border-box}.coach-chat--docked .chat-panel-header{background:var(--cyan-alpha-light);backdrop-filter:none;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--primary-cyan)}.coach-chat--docked .chat-panel-title{font-size:var(--font-size-base)}.coach-chat--docked .coach-avatar{font-size:var(--font-size-lg)}.coach-chat--docked .chat-container{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.coach-chat--docked .messages-container{flex:1 1 auto;overflow-y:auto;padding:var(--spacing-md)}.coach-chat--docked .input-area{min-width:0;margin:var(--spacing-xs) var(--spacing-sm)}.coach-chat--docked .input-area .message-input{flex:1 1 auto;min-width:0;width:100%}.coach-chat--docked .messages-container{min-width:0;max-width:100%;overflow-x:hidden}.coach-chat--docked .voice-button,.coach-chat--docked .voice-visualization{display:none}.chat-panel-controls{display:flex;align-items:center;gap:var(--spacing-md)}.chat-panel-end{background:#f4433633;border:1px solid rgba(244,67,54,.4);border-radius:var(--radius-round);width:32px;height:32px;color:#f44336;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);transition:var(--transition-normal);line-height:1}.chat-panel-end:hover{background:#f443364d;border-color:#f44336;color:var(--text-primary);transform:scale(1.05)}.chat-panel-minimize{background:var(--cyan-alpha-medium);border:1px solid var(--cyan-alpha-strong);border-radius:var(--radius-round);width:32px;height:32px;color:var(--primary-cyan);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);transition:var(--transition-normal);line-height:1}.chat-panel-minimize:hover{background:var(--cyan-alpha-strong);border-color:var(--primary-cyan);color:var(--text-primary);transform:scale(1.05)}.message.assistant .message-content h3,.message.assistant .message-content h4,.message.assistant .message-content h5,.message.assistant .message-content h6{color:var(--primary-cyan);margin:var(--spacing-md) 0 4px 0;font-weight:var(--font-weight-semibold);line-height:1.3}.message.assistant .message-content h3{font-size:var(--font-size-lg)}.message.assistant .message-content h4,.message.assistant .message-content h5{font-size:var(--font-size-base)}.message.assistant .message-content h6{font-size:var(--font-size-sm)}.message.assistant .message-content code.inline-code{background:var(--cyan-alpha-medium);color:var(--primary-cyan);padding:1px 3px;border-radius:var(--radius-2xs);font-family:Monaco,Consolas,monospace;font-size:var(--font-size-sm);overflow-wrap:anywhere;word-break:break-word}.message.assistant .message-content table{display:block;max-width:100%;overflow-x:auto}.message.assistant .message-content pre{background:var(--glass-bg-dark);border:1px solid var(--cyan-alpha-medium);border-radius:var(--radius-sm);padding:var(--spacing-md);margin:var(--spacing-md) 0;overflow-x:auto}.message.assistant .message-content pre code{color:#e0e0e0;font-family:Monaco,Consolas,monospace;font-size:var(--font-size-xs);background:none;padding:0}.message.assistant .message-content blockquote{border-left:3px solid var(--primary-cyan);margin:var(--spacing-sm) 0;padding:var(--spacing-sm) var(--spacing-lg);background:var(--cyan-alpha-light);font-style:italic;color:#ccc}.message.assistant .message-content hr.message-divider{border:none;border-top:1px solid var(--cyan-alpha-medium);margin:var(--spacing-sm) 0}.message.assistant .message-content .message-list{margin:var(--spacing-sm) 0;padding-left:18px}.message.assistant .message-content .message-list li{margin:2px 0;color:#e0e0e0;line-height:1.4}.message.assistant .message-content .bullet-list{list-style-type:disc}.message.assistant .message-content .numbered-list{list-style-type:decimal}.message.assistant .message-content .todo-list{list-style:none;padding-left:0}.message.assistant .message-content .todo-item{display:flex;align-items:center;gap:var(--spacing-sm)}.message.assistant .message-content .todo-item input{margin:0}.message.assistant .message-content .todo-item.checked{color:var(--text-muted);text-decoration:line-through}.message.assistant .message-content .message-table{border-collapse:collapse;margin:var(--spacing-md) 0;width:max-content;max-width:100%;background:var(--glass-bg-dark)}.message.assistant .message-content .message-table th,.message.assistant .message-content .message-table td{border:1px solid var(--cyan-alpha-medium);padding:var(--spacing-sm) var(--spacing-sm);text-align:left;overflow-wrap:normal;word-break:normal}.message.assistant .message-content .message-table th *,.message.assistant .message-content .message-table td *{overflow-wrap:normal;word-break:normal}.message.assistant .message-content .message-table th{background:var(--cyan-alpha-light);color:var(--primary-cyan);font-weight:var(--font-weight-semibold)}.message.assistant .message-content a{color:var(--primary-cyan);text-decoration:underline}.message.assistant .message-content a:hover{color:var(--text-primary)}.message.assistant .message-content del{color:var(--text-muted);text-decoration:line-through}.message.assistant .message-content strong{color:var(--primary-cyan);font-weight:var(--font-weight-semibold)}.message.assistant .message-content em{color:var(--accent-yellow);font-style:italic}.message.assistant .message-content p{margin:0 0 var(--spacing-md) 0;line-height:1.5}.message.assistant .message-content p:last-child{margin-bottom:0}.message.assistant .message-content h3+p,.message.assistant .message-content h4+p,.message.assistant .message-content h5+p,.message.assistant .message-content h6+p{margin-top:0}.message.assistant .message-content .message-list+p{margin-top:var(--spacing-2xs)}.message.assistant .message-content p+.message-list{margin-top:var(--spacing-2xs)}@media(max-width:768px){.chat-trigger-bar{height:60px;padding:10px var(--spacing-md) env(safe-area-inset-bottom);gap:var(--spacing-sm)}.chat-trigger-avatar{width:38px;height:38px}.chat-trigger-avatar .chat-trigger-icon{font-size:19px}.chat-trigger-text{font-size:var(--font-size-sm)}.chat-trigger-chevron{font-size:24px}.chat-panel-content .chat-container{height:100%}.chat-panel-content .messages-container{padding:var(--spacing-md)}.chat-panel-header{padding:var(--spacing-md);min-height:50px}.chat-panel-title{font-size:var(--font-size-lg)}.chat-panel-end{width:28px;height:28px;font-size:var(--font-size-base)}.chat-panel-minimize{width:28px;height:28px;font-size:var(--font-size-sm)}.chat-sidebar{width:160px;min-width:160px;padding:var(--spacing-md)}.sidebar-heading{font-size:10px;margin-bottom:var(--spacing-sm)}.sidebar-action-btn{padding:var(--spacing-sm) var(--spacing-sm);gap:var(--spacing-sm)}.sidebar-action-icon{font-size:var(--font-size-base)}.sidebar-action-text{font-size:var(--font-size-xs)}.messages-container{padding:var(--spacing-md)}.message{max-width:85%;padding:14px 18px}.input-area{margin:var(--spacing-xs) var(--spacing-sm);margin-bottom:calc(var(--spacing-sm) + env(safe-area-inset-bottom))}}@media(max-width:480px){.chat-sidebar{width:50px;min-width:50px;padding:var(--spacing-sm);align-items:center}.sidebar-heading{display:none}.sidebar-action-btn{width:40px;height:40px;padding:0;justify-content:center;border-radius:var(--radius-md)}.sidebar-action-text,.sidebar-section-pinned,.sidebar-section-recent{display:none}.messages-container{padding:var(--spacing-sm)}.message{max-width:90%;padding:var(--spacing-lg) 16px}.chat-header{padding:var(--spacing-md)}.chat-header h1{font-size:var(--font-size-xl)}}.chat-trigger-bar.chat-trigger-flash{background:color-mix(in srgb,var(--success-green) 18%,transparent);border-color:color-mix(in srgb,var(--success-green) 50%,transparent);animation:chatTriggerPulse 1.5s ease-in-out 2}@keyframes chatTriggerPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--success-green) 30%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--success-green) 0%,transparent)}}.message.assistant.message-stopped .message-content{opacity:.7;font-style:italic}.message.assistant.message-stopped:after{content:"stopped";display:inline-block;margin-left:8px;padding:2px 8px;font-size:.7rem;font-style:normal;text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb,var(--text-muted) 80%,transparent);background:color-mix(in srgb,var(--text-muted) 12%,transparent);border-radius:10px}.message.user.message-held{opacity:.65}.message-held-note{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.message-held-cancel{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:var(--radius-round);background:color-mix(in srgb,var(--text-muted) 15%,transparent);color:var(--text-secondary);cursor:pointer}.message-held-cancel:hover{background:color-mix(in srgb,var(--text-muted) 30%,transparent)}.coach-attach-route-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--glass-border-light);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);max-width:220px}.coach-attach-route-chip .coach-attach-route-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-routes{margin-bottom:var(--spacing-sm);display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.message-route-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--glass-border-light);border-radius:var(--radius-md);color:var(--primary-cyan);font-size:var(--font-size-sm);text-decoration:none;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-route-chip:hover{border-color:var(--primary-cyan)}
