/* AI Mode styles, part 3 of 6 (loaded in order). */
    
    .mm-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin:4px 0 8px; }
    .mm-grid.single { grid-template-columns:1fr; }

    .mm-image-card { border-radius:12px; overflow:hidden; border:1px solid rgba(0,61,76,.1); }
    .mm-image-inner { background:var(--tl-deep-ocean, #003D4C); }
    .mm-image-inner svg { display:block; width:100%; height:auto; }
    .mm-image-caption {
      padding:12px 16px; font-size:12px; color:var(--tl-text-muted, #7C7C7C); font-weight:500;
      background:var(--tl-white, #FFFFFF); border-top:1px solid rgba(0,61,76,.07);
    }

    
    .mm-link-card {
      display:flex; align-items:flex-start; gap:14px; padding:16px 18px;
      border:1.5px solid rgba(0,61,76,.1); border-radius:12px; background:var(--tl-white, #FFFFFF);
      text-decoration:none; color:inherit; transition:all .2s; cursor:pointer;
    }
    .mm-link-card:hover { border-color:var(--tl-evergreen, #006341); box-shadow:0 4px 18px rgba(0,61,76,.08); }
    .mm-link-icon {
      width:36px; height:36px; border-radius:8px; background:rgba(0,61,76,.06);
      display:flex; align-items:center; justify-content:center;
      flex-shrink:0; color:var(--tl-deep-ocean, #003D4C);
    }
    .mm-link-title { font-size:13px; font-weight:600; color:var(--tl-deep-ocean, #003D4C); margin-bottom:4px; }
    .mm-link-desc { font-size:12px; color:var(--tl-gray-50, #929292); line-height:1.4; }
    .mm-link-tag {
      font-size:10.5px; color:var(--tl-emerald, #008755); font-weight:700;
      letter-spacing:.5px; text-transform:uppercase; margin-top:6px;
    }

    
    .mm-video-card {
      border-radius:12px; overflow:hidden; border:1.5px solid rgba(0,61,76,.1);
      background:var(--tl-white, #FFFFFF); cursor:pointer; text-decoration:none; color:inherit;
      display:block; transition:all .22s;
    }
    .mm-video-card:hover { box-shadow:0 8px 28px rgba(0,61,76,.1); transform:translateY(-2px); }
    .mm-video-thumb {
      background:var(--tl-deep-ocean, #003D4C); height:136px;
      display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
    }
    .mm-video-thumb-bg { position:absolute; inset:0; width:100%; height:100%; opacity:.4; }
    .mm-video-play {
      width:52px; height:52px; background:var(--tl-citron, #ECE81A); border-radius:50%;
      display:flex; align-items:center; justify-content:center; z-index:1; color:var(--tl-deep-ocean, #003D4C);
      box-shadow:0 4px 20px rgba(0,0,0,.3);
    }
    .mm-video-info { padding:14px 16px; }
    .mm-video-title { font-size:13px; font-weight:600; color:var(--tl-text-primary, #323F4B); margin-bottom:5px; line-height:1.4; }
    .mm-video-meta { font-size:11px; color:var(--tl-gray-50, #929292); display:flex; align-items:center; gap:8px; }
    .mm-video-duration { background:var(--tl-slate-10, #F0F1F1); padding:2px 8px; border-radius:4px; font-weight:600; color:var(--tl-text-secondary, #5B6770); }

    
    .followup-chips { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:10px; }
    .followup-chip {
      display:inline-block; padding:10px 20px; border:1.5px solid rgba(0,61,76,.15); border-radius:360px;
      font-size:13px; font-weight:500; cursor:pointer; color:var(--tl-deep-ocean, #003D4C);
      background:rgba(0,61,76,.03); transition:all .2s; text-align:left;
      white-space:nowrap; line-height:1.3;
    }
    .followup-chip:hover { background:var(--tl-deep-ocean, #003D4C); color:var(--tl-white, #FFFFFF); border-color:var(--tl-deep-ocean, #003D4C); }

    
    .typing-row { display:flex; gap:14px; align-items:flex-start; width:100%; max-width:820px; }
    .typing-bubble {
      background:var(--tl-white, #FFFFFF); padding:20px 24px; border-radius:4px 20px 20px 20px;
      box-shadow:0 2px 18px rgba(0,61,76,.07);
    }
    .typing-dots { display:flex; gap:5px; align-items:center; }
    .typing-dots span { width:7px; height:7px; background:var(--tl-gray-30, #BDBDBD); border-radius:50%; animation:tl-typing-fade .9s var(--tl-ease-emphasized) infinite; }
    .typing-dots span:nth-child(2){ animation-delay:.2s; }
    .typing-dots span:nth-child(3){ animation-delay:.4s; }
    @keyframes tl-typing-fade { 0%,100%{opacity:.35} 50%{opacity:1} }

    
    .chat-suggestion-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; max-width:660px; }
    .chat-chip {
      background:var(--tl-white, #FFFFFF); border:1.5px solid rgba(0,61,76,.15); border-radius:20px;
      padding:7px 15px; font-size:13px; color:var(--tl-deep-ocean, #003D4C); cursor:pointer;
      font-family:var(--tl-font-sans); text-align:left; line-height:1.4;
      transition:all .18s; display:inline-block; width:auto;
    }
    .chat-chip:hover { border-color:var(--tl-evergreen, #006341); background:rgba(0,99,65,.05); }
    .chat-chip.used { opacity:.4; pointer-events:none; }

    
    .input-bar { padding:18px 40px 10px; background:var(--tl-surface-subtle, #F4F4F4); border-top:1px solid rgba(0,61,76,.07); }
    .ai-disclaimer { text-align:center; font-size:11px; color:rgba(0,61,76,.45); padding:4px 16px 8px; background:var(--tl-surface-subtle, #F4F4F4); line-height:1.4; flex-shrink:0; }
    .ai-disclaimer a { color:rgba(0,61,76,.55); text-decoration:underline; }
    .input-inner {
      max-width:860px; margin:0 auto; display:flex; gap:10px; align-items:center;
      background:var(--tl-white, #FFFFFF); border:1.5px solid rgba(0,61,76,.14); border-radius:16px;
      padding:10px 14px 10px 18px; box-shadow:0 2px 20px rgba(0,61,76,.06); transition:border-color .2s, box-shadow .2s;
    }
    .input-inner:focus-within { border-color:var(--tl-evergreen, #006341); box-shadow:0 4px 28px rgba(0,99,65,.1); }
    .input-textarea {
      flex:1; border:none; outline:none; font-size:16px; font-family:var(--tl-font-sans);
      resize:none; background:transparent; color:var(--tl-text-primary, #323F4B); max-height:120px; line-height:1.5;
    }
    
    .input-textarea::placeholder { color:var(--tl-gray-30, #BDBDBD); }
    .send-btn {
      background:var(--tl-deep-ocean, #003D4C); color:var(--tl-citron, #ECE81A); border:none;
      width:40px; height:40px; border-radius:12px; cursor:pointer;
      display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .2s;
    }
    .send-btn:hover { background:var(--tl-evergreen, #006341); }

    
    .attach-btn {
      background:none; border:none; cursor:pointer; padding:6px; color:rgba(0,61,76,.4);
      border-radius:8px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
      transition:color .2s, background .2s;
    }
    .attach-btn:hover { color:var(--tl-deep-ocean, #003D4C); background:rgba(0,61,76,.06); }

    
    .attachment-strip {
      max-width:860px; margin:0 auto 8px; display:flex; flex-wrap:wrap; gap:6px;
    }
    .attachment-chip {
      display:inline-flex; align-items:center; gap:5px; background:var(--tl-white, #FFFFFF);
      border:1.5px solid rgba(0,99,65,.3); border-radius:20px;
      padding:4px 8px 4px 10px; font-size:12px; color:var(--tl-deep-ocean, #003D4C);
    }
    .attachment-chip button {
      background:none; border:none; cursor:pointer; color:var(--tl-gray-30, #BDBDBD); font-size:15px;
      line-height:1; padding:0 1px; transition:color .15s;
    }
    .attachment-chip button:hover { color:var(--tl-danger, #BE0000); }

    
    .drop-overlay {
      display:none; position:fixed; top:0; left:0; right:0; bottom:0;
      background:rgba(0,99,65,.15); z-index:9999;
      justify-content:center; align-items:center;
      pointer-events:none;
    }
    .drop-overlay.active { display:flex; }
    .drop-overlay-box {
      background:var(--tl-white, #FFFFFF); border:3px dashed var(--tl-evergreen, #006341); border-radius:16px;
      padding:40px 60px; text-align:center; box-shadow:0 8px 32px rgba(0,0,0,.15);
    }
    .drop-overlay-box svg { margin-bottom:12px; }
    .drop-overlay-box h3 { margin:0 0 6px; color:var(--tl-deep-ocean, #003D4C); font-size:18px; }
    .drop-overlay-box p { margin:0; color:var(--tl-text-muted, #7C7C7C); font-size:13px; }
    .input-footer { text-align:center; font-size:11px; color:var(--tl-gray-30, #BDBDBD); margin-top:10px; letter-spacing:.2px; }

    
    .right-panel {
      width:300px; min-width:300px; background:var(--tl-evergreen, #006341);
      border-left:none;
      display:flex; flex-direction:column; overflow:hidden;
      transition:width .28s var(--tl-ease-emphasized), min-width .28s var(--tl-ease-emphasized), border-color .28s var(--tl-ease-emphasized);
    }
    .right-panel.collapsed { width:0; min-width:0; border-color:transparent; }
    .rp-drag-handle { display:none; }
    .right-panel-header {
      display:flex; align-items:center; gap:10px;
      padding:14px 24px 12px; min-width:300px; flex-shrink:0;
      border-bottom:1px solid rgba(255,255,255,.2);
    }
    .right-panel-label {
      font-size:10.5px; letter-spacing:1.8px; text-transform:uppercase;
      color:var(--tl-white, #FFFFFF); font-weight:700; flex:1;
    }
    .right-panel-toggle {
      display:flex; align-items:center; justify-content:center;
      width:30px; height:30px; border-radius:8px; border:none;
      background:transparent; cursor:pointer; color:var(--tl-white, #FFFFFF);
      padding:0; flex-shrink:0; transition:background .18s, color .18s;
    }
    .right-panel-toggle:hover { background:rgba(255,255,255,.15); color:var(--tl-white, #FFFFFF); }
    .right-panel-reopen {
      display:none; align-items:center; justify-content:center;
      position:absolute; top:14px; right:16px; z-index:10;
      width:32px; height:32px; border-radius:8px; border:1px solid rgba(0,61,76,.1);
      background:var(--tl-white, #FFFFFF); cursor:pointer; color:rgba(0,61,76,.5);
      padding:0; box-shadow:0 1px 6px rgba(0,61,76,.08);
      transition:background .18s, color .18s;
    }
    .right-panel-reopen:hover { background:rgba(0,61,76,.04); color:var(--tl-deep-ocean, #003D4C); }
    
    @keyframes rp-pulse-attention {
      0%   { box-shadow:0 2px 6px rgba(0,0,0,.12), 0 0 0 0 rgba(0,135,85,.9);   transform:scale(1);    background:var(--tl-white, #FFFFFF); }
      15%  { box-shadow:0 2px 6px rgba(0,0,0,.12), 0 0 0 5px rgba(0,135,85,.7); transform:scale(1.06); background:var(--tl-emerald-pastel, #E5F3ED); }
      40%  { box-shadow:0 2px 6px rgba(0,0,0,.12), 0 0 0 16px rgba(0,135,85,0); transform:scale(1.11); background:var(--tl-white, #FFFFFF);    }
      70%  { box-shadow:0 2px 6px rgba(0,0,0,.12), 0 0 0 0 rgba(0,135,85,0);    transform:scale(1);    background:var(--tl-white, #FFFFFF); }
      100% { box-shadow:0 2px 6px rgba(0,0,0,.12), 0 0 0 0 rgba(0,135,85,0);    transform:scale(1);    background:var(--tl-white, #FFFFFF); }
    }
    .right-panel-reopen.pulse-attention,
    .sidebar-reopen.pulse-attention {
      animation: rp-pulse-attention 1.2s var(--tl-ease-emphasized) 3 both;
      background:var(--tl-white, #FFFFFF) !important;
      border:2px solid var(--tl-emerald, #008755) !important;
      color:var(--tl-emerald, #008755) !important;
    }
    
    .chat-area:has(.right-panel-reopen.pulse-attention) { overflow:visible; }
    .chat-area:has(.sidebar-reopen.pulse-attention)     { overflow:visible; }
    .right-panel-inner {
      flex:1; overflow-y:auto; min-width:300px; padding:0 20px 24px;
    }
    .right-panel-inner::-webkit-scrollbar { width:3px; }
    .right-panel-inner::-webkit-scrollbar-thumb { background:var(--tl-card-border, #E7E9E9); border-radius:4px; }
    .right-panel-empty {
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      padding:40px 12px; text-align:center; gap:14px; margin-top:16px;
    }
    .right-panel-empty-icon { color:rgba(255,255,255,.4); }
    .right-panel-empty p { font-size:12px; line-height:1.6; color:rgba(255,255,255,.7); }
    .rp-section {
      font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase;
      color:var(--tl-white, #FFFFFF); font-weight:700; margin:8px 0 8px;
      padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.2);
    }
    
    .rp-image-card { border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.2); margin-bottom:4px; }
    .rp-image-inner { background:var(--tl-deep-ocean, #003D4C); }
    .rp-image-inner svg { display:block; width:100%; height:auto; }
    .rp-image-caption { padding:10px 14px; font-size:11.5px; color:var(--tl-text-muted, #7C7C7C); font-weight:500; background:var(--tl-white, #FFFFFF); border-top:1px solid rgba(0,61,76,.07); }
    .rp-link-card {
      display:flex; align-items:flex-start; gap:12px; padding:13px 14px;
      border:1.5px solid rgba(255,255,255,.2); border-radius:12px; background:var(--tl-white, #FFFFFF);
      text-decoration:none; color:inherit; transition:all .2s; cursor:pointer; margin-bottom:8px;
    }
    .rp-link-card:hover { border-color:rgba(0,99,65,.3); background:var(--tl-white, #FFFFFF); box-shadow:0 3px 12px rgba(0,0,0,.1); }
    .rp-link-icon {
      width:32px; height:32px; border-radius:8px; background:rgba(0,61,76,.06);
      display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--tl-deep-ocean, #003D4C);
    }
    .rp-link-title { font-size:12px; font-weight:600; color:var(--tl-deep-ocean, #003D4C); margin-bottom:3px; }
    .rp-link-desc { font-size:11px; color:var(--tl-gray-50, #929292); line-height:1.4; }
    .rp-link-tag { font-size:10px; color:var(--tl-emerald, #008755); font-weight:700; letter-spacing:.5px; text-transform:uppercase; margin-top:5px; }
    .rp-video-card {
      border-radius:12px; overflow:hidden; border:1.5px solid rgba(255,255,255,.2);
      background:var(--tl-white, #FFFFFF); cursor:pointer; text-decoration:none; color:inherit;
      display:block; transition:all .22s;
    }
    .rp-video-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.15); transform:translateY(-1px); border-color:rgba(255,255,255,.5); }
    .rp-video-thumb {
      background:var(--tl-deep-ocean, #003D4C); height:130px;
      display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
    }
    .rp-video-play {
      width:40px; height:40px; background:var(--tl-citron, #ECE81A); border-radius:50%;
      display:flex; align-items:center; justify-content:center; z-index:1; color:var(--tl-deep-ocean, #003D4C);
      box-shadow:0 4px 16px rgba(0,0,0,.3);
    }
    .rp-video-info { padding:10px 12px; }
    .rp-video-title { font-size:13px; font-weight:600; color:var(--tl-text-primary, #323F4B); margin-bottom:3px; line-height:1.35; }
    .rp-video-meta { font-size:11px; color:var(--tl-text-muted, #7C7C7C); display:flex; align-items:center; gap:7px; }
    .rp-video-duration { background:var(--tl-slate-10, #F0F1F1); padding:2px 8px; border-radius:4px; font-weight:600; color:var(--tl-text-secondary, #5B6770); font-size:11px; }

    
    .visual-lightbox-overlay {
      position:fixed; inset:0; z-index:2000;
      background:rgba(0,0,0,.72); display:flex; align-items:center; justify-content:center;
      padding:32px; cursor:pointer;
    }
    .visual-lightbox-box {
      background:var(--tl-white, #FFFFFF); border-radius:16px; max-width:900px; width:100%;
      padding:28px 28px 22px; cursor:default; position:relative;
      box-shadow:0 24px 80px rgba(0,0,0,.35);
    }
    .visual-lightbox-close {
      position:absolute; top:14px; right:14px; width:32px; height:32px; z-index:10;
      border:none; background:rgba(255,255,255,.92); border-radius:8px; cursor:pointer;
      display:flex; align-items:center; justify-content:center; color:var(--tl-deep-ocean, #003D4C);
      font-size:18px; line-height:1; transition:background .15s;
      box-shadow:0 1px 6px rgba(0,0,0,.15);
    }
    .visual-lightbox-close:hover { background:rgba(0,61,76,.15); }
    .visual-lightbox-inner { width:100%; display:flex; justify-content:center; }
    .visual-lightbox-inner svg { width:100%; height:auto; max-height:480px; }
    .visual-lightbox-inner img { max-width:100%; height:auto; max-height:80vh; object-fit:contain; border-radius:8px; }
    .visual-lightbox-caption {
      margin-top:14px; font-size:13px; color:var(--tl-gray-70, #666666); text-align:center; line-height:1.5;
    }

    
    .rp-image-card { cursor:pointer; transition:box-shadow .18s; }
    .rp-image-card:hover { box-shadow:0 4px 18px rgba(0,61,76,.14); }
    .rp-image-expand-hint {
      font-size:11px; color:rgba(255,255,255,.7); text-align:center;
      padding:6px 0 4px; display:flex; align-items:center; justify-content:center; gap:4px;
    }

    
    .video-lightbox-overlay {
      position:fixed; inset:0; z-index:2000;
      background:rgba(255,255,255,.55); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
      display:flex; align-items:center; justify-content:center;
      padding:40px; cursor:pointer;
    }
    .video-lightbox-box {
      background:var(--tl-white, #FFFFFF); border-radius:16px; max-width:800px; width:100%;
      cursor:default; position:relative; overflow:hidden;
      box-shadow:0 20px 60px rgba(0,61,76,.2), 0 0 0 1px rgba(0,61,76,.08);
    }
    .video-lightbox-close {
      position:absolute; top:10px; right:10px; width:36px; height:36px; z-index:10;
      border:none; background:rgba(0,0,0,.6); border-radius:50%; cursor:pointer;
      display:flex; align-items:center; justify-content:center; color:var(--tl-white, #FFFFFF);
      font-size:18px; line-height:1; transition:all .15s;
      box-shadow:0 2px 10px rgba(0,0,0,.3);
    }
    .video-lightbox-close:hover { background:rgba(0,0,0,.85); }
    .video-lightbox-iframe { width:100%; aspect-ratio:16/9; border:none; display:block; }
    .video-lightbox-footer {
      background:var(--tl-surface-subtle, #F4F4F4); padding:12px 16px; display:flex; align-items:center; justify-content:space-between;
      border-top:1px solid rgba(0,61,76,.08);
    }
    .video-lightbox-title { color:var(--tl-deep-ocean, #003D4C); font-size:14px; font-weight:600; line-height:1.3; }
    .video-lightbox-meta { color:var(--tl-text-muted, #7C7C7C); font-size:12px; display:flex; align-items:center; gap:8px; }
    .video-lightbox-duration { background:rgba(0,61,76,.08); color:var(--tl-deep-ocean, #003D4C); padding:2px 8px; border-radius:4px; font-weight:600; font-size:11px; }

    
    .source-ref {
      display:inline-flex; align-items:center; justify-content:center;
      background:rgba(0,61,76,.08); color:var(--tl-deep-ocean, #003D4C); font-size:10.5px; font-weight:700;
      min-width:18px; height:18px; border-radius:50%; cursor:pointer;
      vertical-align:middle; margin:0 2px; transition:all .15s;
      text-decoration:none; line-height:1; position:relative; top:-0.4em;
      padding:0 1px;
    }
    .source-ref:hover { background:var(--tl-deep-ocean, #003D4C); color:var(--tl-white, #FFFFFF); }

    
    .source-preview-float {
      position:fixed; z-index:9999; background:var(--tl-white, #FFFFFF); border-radius:12px;
      box-shadow:0 8px 30px rgba(0,61,76,.18), 0 0 0 1px rgba(0,61,76,.06);
      min-width:200px; max-width:260px; overflow:hidden;
      pointer-events:none; opacity:0; transition:opacity .15s;
    }
    .source-preview-float.visible { opacity:1; pointer-events:auto; }
    .source-preview-float .sp-thumb {
      width:100%; height:100px; background:var(--tl-deep-ocean, #003D4C); position:relative; overflow:hidden;
    }
    .source-preview-float .sp-thumb img { width:100%; height:100%; object-fit:cover; }
    .source-preview-float .sp-play {
      position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    }
    .source-preview-float .sp-play svg { color:var(--tl-citron, #ECE81A); filter:drop-shadow(0 2px 4px rgba(0,0,0,.3)); }
    .source-preview-float .sp-info { padding:8px 10px; }
    .source-preview-float .sp-title {
      font-size:12px; font-weight:700; color:var(--tl-deep-ocean, #003D4C); margin-bottom:3px;
      line-height:1.3; max-height:2.6em; overflow:hidden;
      display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
    }
    .source-preview-float .sp-type {
      font-size:9.5px; text-transform:uppercase; letter-spacing:1px; font-weight:700;
      color:var(--tl-deep-ocean, #003D4C); margin-bottom:2px;
    }
    .source-preview-float .sp-url {
      font-size:10.5px; color:var(--tl-gray-50, #929292); word-break:break-all; line-height:1.3;
      max-height:28px; overflow:hidden;
    }

    
    .inline-video-card {
      display:inline-flex; align-items:center; gap:10px; cursor:pointer;
      background:var(--tl-white, #FFFFFF); border:1.5px solid rgba(0,61,76,.12); border-radius:12px;
      padding:6px 14px 6px 6px; margin:6px 0; transition:all .2s;
      max-width:320px;
    }
    .inline-video-card:hover { border-color:rgba(0,61,76,.3); box-shadow:0 4px 14px rgba(0,61,76,.1); }
    .inline-video-thumb {
      width:80px; height:50px; border-radius:8px; overflow:hidden;
      position:relative; flex-shrink:0; background:var(--tl-deep-ocean, #003D4C);
    }
    .inline-video-thumb img { width:100%; height:100%; object-fit:cover; }
    .inline-video-play {
      position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
      background:rgba(0,0,0,.25);
    }
    .inline-video-play svg { color:var(--tl-citron, #ECE81A); }
    .inline-video-card:hover .inline-video-play { background:rgba(0,0,0,.4); }
    .inline-video-label {
      font-size:12px; font-weight:600; color:var(--tl-deep-ocean, #003D4C); white-space:nowrap;
    }

    
    .btn-new-chat-guest {
      width:100%; padding:10px; border:1.5px solid rgba(255,255,255,.25);
      border-radius:8px; background:var(--tl-white, #FFFFFF); cursor:pointer;
      font-size:13px; font-weight:600; color:var(--tl-deep-ocean, #003D4C); font-family:inherit;
      transition:all .2s; margin:10px 0 0;
      display:flex; align-items:center; justify-content:center; gap:7px;
    }
    .btn-new-chat-guest:hover { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.8); box-shadow:0 2px 8px rgba(0,0,0,.08); }

    
    .save-prompt-box {
      background:var(--tl-white, #FFFFFF); border-radius:16px; width:420px; max-width:100%;
      padding:32px 36px; box-shadow:0 24px 64px rgba(0,0,0,.22); position:relative; text-align:center;
    }
    .save-prompt-icon {
      width:52px; height:52px; border-radius:50%; background:rgba(0,61,76,.07);
      display:flex; align-items:center; justify-content:center; margin:0 auto 18px;
      color:var(--tl-deep-ocean, #003D4C);
    }
    .save-prompt-title { font-size:18px; font-weight:700; color:var(--tl-deep-ocean, #003D4C); margin-bottom:8px; }
    .save-prompt-sub { font-size:13.5px; color:var(--tl-text-muted, #7C7C7C); line-height:1.55; margin-bottom:24px; }
    .save-prompt-btns { display:flex; flex-direction:column; gap:10px; }
    .btn-save-login {
      width:100%; padding:13px; background:var(--tl-deep-ocean, #003D4C); color:var(--tl-white, #FFFFFF);
      border:none; border-radius:12px; font-size:14px; font-weight:600;
      cursor:pointer; transition:background .2s; font-family:inherit;
    }
    .btn-save-login:hover { background:rgb(0,80,100); }
    .btn-continue-nosave {
      width:100%; padding:11px; background:transparent; color:var(--tl-gray-50, #929292);
      border:1.5px solid var(--tl-card-border, #E7E9E9); border-radius:12px; font-size:13px; font-weight:500;
      cursor:pointer; transition:all .2s; font-family:inherit;
    }
    .btn-continue-nosave:hover { border-color:var(--tl-gray-30, #BDBDBD); color:var(--tl-gray-70, #666666); }

    
    .user-bubble-attachments {
      display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; padding-top:8px;
      border-top:1px solid rgba(255,255,255,.18);
    }
    .user-attach-tag {
      display:inline-flex; align-items:center; gap:4px;
      background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25);
      border-radius:20px; padding:3px 9px; font-size:11px; color:rgba(255,255,255,.9);
    }

    .log-entry {
      margin:4px 0; padding:6px 8px; border-left:3px solid #4ec9b0;
      background:rgba(78,201,176,.08); border-radius:2px;
    }
    .log-entry.request { border-left-color:#569cd6; background:rgba(86,156,214,.08); }
    .log-entry.response { border-left-color:#ce9178; background:rgba(206,145,120,.08); }
    .log-entry.chunk { border-left-color:#b5cea8; background:rgba(181,206,168,.06); font-size:11px; }
    .log-entry.error { border-left-color:#f48771; background:rgba(244,135,113,.08); }
    .log-entry.warning { border-left-color:#dcdcaa; background:rgba(220,220,170,.08); }
    .log-time { color:#858585; font-size:10.5px; }
    .log-label { color:#4ec9b0; font-weight:600; }
    .log-data { color:#ce9178; word-break:break-all; margin-top:2px; font-size:11px; }
    .log-clear-btn {
      background:#006948; color:#fff; border:none; padding:4px 10px;
      border-radius:3px; cursor:pointer; font-size:11px; font-family:inherit;
    }
    .log-clear-btn:hover { background:#008755; }

    
    .log-settings-btn {
      background:#444; color:#d4d4d4; border:none;
      padding:4px 7px; border-radius:3px; cursor:pointer; font-size:15px;
      line-height:1; transition:all .2s;
    }
    .log-settings-btn:hover { background:#555; transform:scale(1.1); }
    .log-settings-panel {
      background:#252525; border:1px solid #444; border-radius:6px;
      padding:12px; margin-bottom:10px;
    }
