:root{--primary-bg: #f4f7f9;--secondary-bg: #ffffff;--tertiary-bg: #e9edf0;--primary-text: #333333;--secondary-text: #555555;--accent-color: #007bff;--accent-hover-color: #0056b3;--border-color: #d1d9e0;--shadow-color: rgba(0, 0, 0, .1);--error-color: #dc3545;--font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--header-height: 50px;--timeline-height: 25px;--panel-padding: 15px;--border-radius: 8px;--code-bg: #f0f0f0;--code-text: #c7254e;--pre-bg: #f8f9fa;--system-note-bg: #e0e0e0;--system-note-border: #c9c5c0;--system-note-title-text: #404040;--system-note-body-text: var(--primary-text);--note-item-unread-bg: #fffbe6;--note-item-unread-border: #ffeeba;--note-item-read-bg: #f0fff0;--note-item-title-text: #664d03;--note-item-body-text: var(--primary-text);--note-item-unack-border: var(--error-color)}.dark-theme{--primary-bg: #1e1e1e;--secondary-bg: #2a2a2a;--tertiary-bg: #363636;--primary-text: #e0e0e0;--secondary-text: #a0a0a0;--accent-color: #0095ff;--accent-hover-color: #007acc;--border-color: #4a4a4a;--shadow-color: rgba(0, 0, 0, .3);--error-color: #ff4d4d;--code-bg: #272822;--code-text: #f8f8f2;--pre-bg: #272822;--system-note-bg: #3a3a3e;--system-note-border: #5c5c61;--system-note-title-text: #c0c0c0;--system-note-body-text: var(--primary-text);--chat-message-user-bg: var(--accent-color);--chat-message-user-text: #ffffff;--chat-message-assistant-bg: var(--tertiary-bg);--chat-message-assistant-text: var(--primary-text);--chat-message-system-bg: #2d3748;--chat-message-system-text: #e2e8f0;--chat-message-system-border: #4a5568;--chat-message-user-timestamp: rgba(255, 255, 255, .7);--chat-message-assistant-timestamp: var(--secondary-text);--chat-message-system-timestamp: var(--secondary-text);--note-item-unread-bg: #38344c;--note-item-unread-border: #504c66;--note-item-read-bg: #2a3a3a;--note-item-title-text: #d8c8ff;--note-item-body-text: var(--primary-text);--note-item-unack-border: var(--error-color)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);background-color:var(--primary-bg);color:var(--primary-text);line-height:1.6;overflow:hidden;transition:background-color .3s ease,color .3s ease}#app-container{display:grid;grid-template-columns:1fr 1.5fr 1fr;grid-template-rows:calc(100vh - var(--timeline-height));gap:10px;height:calc(100vh - var(--timeline-height));padding:10px 10px 0}.panel{background-color:var(--secondary-bg);border-radius:var(--border-radius);box-shadow:0 2px 5px var(--shadow-color);display:flex;flex-direction:column;overflow:hidden;transition:background-color .3s ease,box-shadow .3s ease}.panel header{background-color:var(--tertiary-bg);padding:10px var(--panel-padding);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;transition:background-color .3s ease,border-color .3s ease}.panel header h2{font-size:1.2em;color:var(--primary-text);margin-right:10px;transition:color .3s ease;flex-shrink:0}.panel header .header-buttons{display:flex;gap:8px;align-items:center}.panel header button{padding:5px 10px;font-size:.9em}#theme-toggle-btn,#advanced-settings-toggle-btn{display:flex;align-items:center;gap:5px}#theme-toggle-btn .theme-icon,#advanced-settings-toggle-btn .settings-icon{font-size:1.1em}.scrollable-content{flex-grow:1;overflow-y:auto;padding:var(--panel-padding)}.scrollable-content-x{overflow-x:auto;white-space:nowrap;padding:5px var(--panel-padding)}#chat-panel #chat-history{display:flex;flex-direction:column;gap:10px}.chat-message{padding:8px 12px;border-radius:var(--border-radius);max-width:85%;word-wrap:break-word;overflow-wrap:break-word;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.chat-message.user{background-color:var(--chat-message-user-bg, var(--accent-color));color:var(--chat-message-user-text, white);align-self:flex-end;margin-left:15%}.chat-message.assistant{background-color:var(--chat-message-assistant-bg, var(--tertiary-bg));color:var(--chat-message-assistant-text, var(--primary-text));align-self:flex-start;margin-right:15%}.chat-message.system{background-color:var(--chat-message-system-bg, #fffbe6);color:var(--chat-message-system-text, #856404);border:1px solid var(--chat-message-system-border, #ffeeba);font-style:italic;font-size:.9em;text-align:center;align-self:stretch;max-width:100%}.message-content-wrapper{display:flex;flex-direction:column}.message-text-content{word-wrap:break-word;overflow-wrap:break-word}.message-text-content p{margin-bottom:.5em}.message-text-content p:last-child{margin-bottom:0}.message-text-content h1,.message-text-content h2,.message-text-content h3,.message-text-content h4,.message-text-content h5,.message-text-content h6{margin-top:.8em;margin-bottom:.4em;line-height:1.3;color:var(--primary-text)}.message-text-content h1{font-size:1.6em}.message-text-content h2{font-size:1.4em}.message-text-content h3{font-size:1.2em}.message-text-content ul,.message-text-content ol{margin-left:20px;margin-bottom:.5em}.message-text-content li{margin-bottom:.2em}.message-text-content pre{background-color:var(--pre-bg);border:1px solid var(--border-color);border-radius:calc(var(--border-radius) / 2);padding:10px;overflow-x:auto;font-family:Courier New,Courier,monospace;font-size:.9em;margin:.5em 0;white-space:pre-wrap;word-wrap:break-word;transition:background-color .3s ease,border-color .3s ease}.message-text-content code{background-color:var(--code-bg);color:var(--code-text);padding:.1em .3em;border-radius:3px;font-family:Courier New,Courier,monospace;font-size:.9em;transition:background-color .3s ease,color .3s ease}.message-text-content pre code{background-color:transparent;color:inherit;padding:0;border-radius:0;font-size:inherit}.message-text-content a{color:var(--accent-color);text-decoration:underline;transition:color .3s ease}.message-text-content a:hover{color:var(--accent-hover-color)}.message-text-content strong{font-weight:700}.message-text-content em{font-style:italic}.message-text-content del{text-decoration:line-through}.streaming-cursor{display:inline-block;animation:blink 1s step-end infinite;font-weight:700;color:var(--primary-text)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.chat-message .timestamp{font-size:.75em;display:block;margin-top:4px;text-align:right;transition:color .3s ease}.chat-message.user .timestamp{color:var(--chat-message-user-timestamp, rgba(255, 255, 255, .7))}.chat-message.assistant .timestamp,.chat-message.system .timestamp{color:var(--chat-message-assistant-timestamp, var(--secondary-text))}.chat-hint{padding:8px var(--panel-padding);font-size:.85em;color:var(--secondary-text);background-color:var(--tertiary-bg);border-top:1px solid var(--border-color);text-align:center;transition:background-color .3s ease,color .3s ease,border-color .3s ease}#chat-input-area{padding:var(--panel-padding);border-top:1px solid var(--border-color);background-color:var(--tertiary-bg);transition:background-color .3s ease,border-color .3s ease}#chat-input{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:var(--border-radius);resize:vertical;min-height:60px;margin-bottom:10px;font-family:var(--font-family);background-color:var(--secondary-bg);color:var(--primary-text);transition:background-color .3s ease,color .3s ease,border-color .3s ease}#chat-input::placeholder{color:var(--secondary-text);transition:color .3s ease}#chat-buttons{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}#chat-buttons button{flex-grow:1;min-width:100px}#summary-outline-list ul{list-style-type:none;padding-left:20px}#summary-outline-list>ul{padding-left:0}.summary-item{padding:8px;margin-bottom:5px;background-color:var(--secondary-bg);border-left:3px solid var(--accent-color);border-radius:0 var(--border-radius) var(--border-radius) 0;transition:background-color .3s ease,border-left-color .3s ease}.summary-item.level-0{margin-left:0;border-left-color:var(--accent-color)}.summary-item.level-1{border-left-color:#28a745}.summary-item.level-2{border-left-color:#ffc107}.summary-item.level-3{border-left-color:#dc3545}.summary-item-content{display:flex;justify-content:space-between;align-items:center}.summary-item-text{flex-grow:1;cursor:pointer;color:var(--primary-text);transition:color .3s ease}.summary-item-text strong{font-weight:700;color:var(--accent-color)}.summary-item-actions button{margin-left:5px;padding:3px 6px;font-size:.8em}.summary-item-children{margin-top:5px;border-left:1px dashed var(--border-color);transition:border-left-color .3s ease}.summary-item-children.collapsed{display:none}.note-item{padding:10px;border-radius:var(--border-radius);margin-bottom:10px;box-shadow:0 1px 3px var(--shadow-color);transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease;background-color:var(--note-item-unread-bg);border:1px solid var(--note-item-unread-border);color:var(--note-item-body-text)}.note-item.note-item-read{background-color:var(--note-item-read-bg);border-color:darken(var(--note-item-read-bg),10%)}.dark-theme .note-item.note-item-read{border-color:lighten(var(--note-item-read-bg),10%)}.note-item.note-item-system{background-color:var(--system-note-bg)!important;border:1px solid var(--system-note-border)!important;border-left:3px solid var(--system-note-border)!important}.note-item.note-item-system .note-type{color:var(--system-note-title-text)!important}.note-item.note-item-system .note-item-text-body{color:var(--system-note-body-text)!important}.note-item.note-item-system.unacknowledged{border-left:3px solid var(--system-note-border)!important}.note-item.unacknowledged{border-left:3px solid var(--note-item-unack-border)}.note-item .note-type{font-size:.9em;font-weight:700;color:var(--note-item-title-text);margin-bottom:5px;transition:color .3s ease}.note-item.note-item-read .note-type{color:green}.dark-theme .note-item.note-item-read .note-type{color:#90ee90}.note-text-container{margin:0 0 8px}.note-item .note-item-text-body{white-space:pre-wrap;word-wrap:break-word;font-size:.95em;color:var(--note-item-body-text);transition:color .3s ease;margin:0}.note-edit-textarea{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:calc(var(--border-radius) - 2px);font-family:var(--font-family);font-size:.95em;margin-bottom:8px;resize:vertical;background-color:var(--secondary-bg);color:var(--primary-text);transition:background-color .3s ease,color .3s ease,border-color .3s ease;min-height:80px}.note-edit-textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #007bff40}.note-item-actions{margin-top:8px;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.note-item-actions button{padding:4px 8px;font-size:.85em}#notes-actions{padding:var(--panel-padding);border-top:1px solid var(--border-color);background-color:var(--tertiary-bg);display:flex;flex-direction:column;gap:10px;transition:background-color .3s ease,border-color .3s ease}#manual-note-input{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:var(--border-radius);resize:vertical;min-height:60px;font-family:var(--font-family);background-color:var(--secondary-bg);color:var(--primary-text);transition:background-color .3s ease,color .3s ease,border-color .3s ease}#manual-note-input::placeholder{color:var(--secondary-text);transition:color .3s ease}#manual-note-buttons{display:flex;justify-content:flex-end;gap:10px}#add-manual-note-btn,#load-note-btn{padding:8px 15px}#timeline-dock{grid-column:1 / -1;height:var(--timeline-height);background-color:var(--tertiary-bg);border-top:1px solid var(--border-color);display:flex;align-items:center;box-shadow:0 -1px 3px var(--shadow-color);position:fixed;bottom:0;left:0;right:0;z-index:1000;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;overflow:hidden}#timeline-events{display:flex;align-items:center;gap:3px;height:100%;padding:0 5px}.timeline-event-node{background-color:var(--accent-color);width:10px;height:10px;border-radius:2px;flex-shrink:0;transition:background-color .2s ease;opacity:.7}.timeline-event-node:hover{opacity:1}button{padding:8px 15px;border:none;border-radius:var(--border-radius);background-color:var(--tertiary-bg);color:var(--primary-text);cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease,color .2s ease;font-family:var(--font-family);font-weight:500}button:hover{background-color:var(--border-color);box-shadow:0 1px 3px var(--shadow-color)}.dark-theme button:hover{background-color:#4f4f4f}button.primary-btn{background-color:var(--accent-color);color:#fff}button.primary-btn:hover{background-color:var(--accent-hover-color)}button:disabled{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.7}.dark-theme button:disabled{background-color:#555;color:#888;opacity:.7}.placeholder-text{color:var(--secondary-text);font-style:italic;padding:20px;text-align:center;transition:color .3s ease}@media (max-width: 1200px){#app-container{grid-template-columns:1fr 1.5fr .8fr}}@media (max-width: 992px){#app-container{grid-template-columns:1fr 1fr;grid-template-rows:calc(100vh - var(--timeline-height) - 200px) 200px}#notes-panel{grid-column:1 / -1;max-height:200px}#chat-buttons button{font-size:.9em;padding:6px 10px}.panel header h2{font-size:1.1em}.panel header button,.panel header .header-buttons button{font-size:.85em;padding:4px 8px}}@media (max-width: 768px){#app-container{grid-template-columns:1fr;grid-template-rows:auto auto auto;height:auto;overflow-y:auto;padding-bottom:var(--timeline-height)}.panel{min-height:200px;max-height:45vh}#chat-panel,#summary-panel,#notes-panel{grid-column:1 / -1}#timeline-dock{height:var(--timeline-height)}#timeline-events{flex-wrap:nowrap;overflow-x:hidden}body{overflow:hidden}#chat-buttons{flex-direction:column}#chat-buttons button{width:100%}#notes-actions,#manual-note-buttons{flex-direction:column}#add-manual-note-btn,#load-note-btn{align-self:stretch;width:100%}.note-item-actions button{min-width:80px}.panel header{flex-wrap:wrap}.panel header h2{margin-bottom:5px;width:100%}.panel header .header-buttons{justify-content:flex-start;width:100%}}
