:root{--bg-color: #ffffff;--text-color: #111111;--header-bg: #f5f5f5;--panel-bg: #fafafa;--border-color: #dddddd}[data-theme=dark]{--bg-color: #090909;--text-color: #f5f5f5;--header-bg: #111111;--panel-bg: #181818;--border-color: #333333}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease;height:100%;overflow:hidden}#root{height:100%;overflow:hidden}header{background-color:var(--header-bg);border-bottom:1px solid var(--border-color);padding:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}header h1{margin:0;font-size:1.4rem}header p{margin:0;opacity:.7;font-size:.9rem}header.collapsed{padding:.5rem 1.25rem}header.collapsed h1{font-size:1.2rem}.header-collapse-btn{background-color:transparent;color:var(--text-color);border:none;padding:.15rem .25rem;border-radius:2px;cursor:pointer;font-size:.75rem;font-weight:400;transition:all .2s ease;line-height:1;opacity:.6;margin-right:.5rem}.header-collapse-btn:hover{opacity:1;background-color:#8080801a}.app-root{display:flex;flex-direction:column;height:100%;overflow:hidden}.app-body{display:flex;flex:1;overflow:hidden}.app-main{flex:1;padding:0;overflow:hidden;display:flex;flex-direction:column}.sidebar{background-color:var(--panel-bg);border-right:1px solid var(--border-color);padding:2.5rem .5rem .5rem;overflow:hidden;min-width:64px;flex:0 0 auto;position:relative}.panel-collapse-btn{position:absolute;top:.35rem;background-color:transparent;color:var(--text-color);border:none;padding:.15rem .25rem;border-radius:2px;cursor:pointer;font-size:.75rem;font-weight:400;transition:all .2s ease;z-index:10;line-height:1;opacity:.6}.panel-collapse-btn:hover{opacity:1;background-color:#8080801a}.panel-collapse-left{left:.5rem}.panel-collapse-right{right:.5rem}.sidebar-resizer{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize}.sidebar-resizer:after{content:"";display:block;width:2px;height:100%;margin:0 auto;background-color:var(--border-color);opacity:0;transition:opacity .2s ease}.sidebar-resizer:hover:after,.sidebar.is-resizing .sidebar-resizer:after{opacity:1}.instructions-panel{background-color:var(--panel-bg);border-left:1px solid var(--border-color);padding:3rem .5rem .5rem;overflow:hidden;min-width:58px;flex:0 0 auto;position:relative}.panel-resizer-left{position:absolute;top:0;left:-4px;width:8px;height:100%;cursor:col-resize}.panel-resizer-left:after{content:"";display:block;width:2px;height:100%;margin:0 auto;background-color:var(--border-color);opacity:0;transition:opacity .2s ease}.panel-resizer-left:hover:after,.instructions-panel.is-resizing .panel-resizer-left:after{opacity:1}.instructions-content{padding-right:.5rem}.instructions-content h3,.instructions-content h4{color:var(--text-color)}.instructions-content section{border-bottom:1px solid var(--border-color);padding-bottom:1rem}.instructions-content section:last-child{border-bottom:none;padding-bottom:0}.chat-panel{background-color:var(--panel-bg);border:none;border-radius:0;padding:1rem;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;height:100%}.messages-container{background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:8px}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:var(--panel-bg)}.messages-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.messages-container::-webkit-scrollbar-thumb:hover{background:#999}.message{animation:fadeInUp .25s ease-out}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin:1rem 0 .5rem;font-weight:600;line-height:1.3;color:var(--text-color)}.markdown-content h1{font-size:1.5rem}.markdown-content h2{font-size:1.3rem}.markdown-content h3{font-size:1.1rem}.markdown-content p{margin:.5rem 0}.markdown-content ul,.markdown-content ol{margin:.5rem 0;padding-left:1.5rem}.markdown-content li{margin:.25rem 0}.markdown-content strong{font-weight:600;color:var(--text-color)}.markdown-content em{font-style:italic}.markdown-content code{background-color:var(--panel-bg);padding:.15rem .4rem;border-radius:3px;font-family:Courier New,Courier,monospace;font-size:.9em;border:1px solid var(--border-color)}.markdown-content pre{background-color:var(--panel-bg);padding:.75rem;border-radius:4px;overflow-x:auto;border:1px solid var(--border-color);margin:.75rem 0}.markdown-content pre code{background-color:transparent;padding:0;border:none}.markdown-content blockquote{border-left:3px solid var(--border-color);padding-left:1rem;margin:.75rem 0;opacity:.8}.markdown-content a{color:#2196f3;text-decoration:underline}.markdown-content a:hover{opacity:.8}.markdown-content hr{border:none;border-top:1px solid var(--border-color);margin:1rem 0}.markdown-content table{border-collapse:collapse;width:100%;margin:.75rem 0}.markdown-content th,.markdown-content td{border:1px solid var(--border-color);padding:.5rem;text-align:left}.markdown-content th{background-color:var(--panel-bg);font-weight:600}@keyframes fadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.typing-indicator{font-style:italic;opacity:.7;animation:fadeInUp .25s ease-out}.theme-toggle-btn{padding:.5rem 1rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--panel-bg);color:var(--text-color);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease;line-height:1}.theme-toggle-btn:hover{background-color:var(--hover-bg)}.persona-selector{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.persona-selector select{padding:.5rem .75rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);font-size:.9rem;cursor:pointer}.persona-selector select:focus{outline:none;border-color:#2196f3}button{transition:all .2s ease}button:focus{outline:2px solid #2196f3;outline-offset:2px}textarea{font-family:inherit;background-color:var(--bg-color);color:var(--text-color)}textarea::placeholder{opacity:.6}@media(max-width:768px){header{padding:1rem;flex-direction:column;align-items:flex-start}.app-main{padding:1rem;order:1}.sidebar{width:100%!important;border-right:none;border-top:1px solid var(--border-color);order:2}.sidebar-resizer{display:none}.app-body{flex-direction:column}}@media print{.app-main>*{break-inside:avoid}}
