:root{--background-color: #1a1a1a;--surface-color: #2a2a2a;--primary-color: #3a86ff;--text-color: #e0e0e0;--text-muted-color: #888;--border-color: #333;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden;background-color:var(--background-color);color:var(--text-color);font-family:var(--font-family)}#root{display:flex;flex-direction:column}.app-container{display:flex;flex-direction:column;height:100%;width:100%}header{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);flex-shrink:0}.nav-bar{display:flex;justify-content:space-around;padding:8px 0}.nav-button{background:none;border:none;color:var(--text-muted-color);cursor:pointer;padding:8px 12px;border-radius:6px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.75rem;transition:color .2s ease,background-color .2s ease}.nav-button.active{color:var(--primary-color)}.nav-button:hover{background-color:#ffffff0d}.nav-button svg{width:24px;height:24px;fill:currentColor}.content-area{flex-grow:1;overflow-y:auto;position:relative}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:20px;text-align:center}.welcome-screen h1{font-size:1.5rem;margin-bottom:1rem}.welcome-screen p{color:var(--text-muted-color);margin-bottom:2rem;max-width:400px}.cta-button{background-color:var(--primary-color);color:#fff;border:none;padding:12px 24px;font-size:1rem;font-weight:500;border-radius:8px;cursor:pointer;transition:background-color .2s ease}.cta-button:hover{filter:brightness(1.1)}.file-tree-view,.editor-view,.chat-view,.preview-view{height:100%;width:100%;display:flex;flex-direction:column}.file-tree{padding:1rem;list-style:none}.file-tree-item{padding:.5rem;cursor:pointer;border-radius:4px;display:flex;align-items:center;gap:8px}.file-tree-item:hover{background-color:var(--surface-color)}.file-tree-item svg{width:18px;height:18px;flex-shrink:0;fill:var(--text-muted-color)}.file-tree-item.directory svg{fill:var(--primary-color)}.file-tree details>summary{list-style:none}.file-tree details>summary::-webkit-details-marker{display:none}.file-tree details[open]>summary .directory-arrow{transform:rotate(90deg)}.directory-arrow{transition:transform .2s ease}.file-tree ul{list-style:none;padding-left:20px;border-left:1px solid var(--border-color);margin-left:9px}.editor-view{position:relative}.editor-textarea{flex-grow:1;background-color:var(--background-color);color:var(--text-color);border:none;padding:1rem;font-family:Courier New,Courier,monospace;font-size:1rem;line-height:1.5;resize:none}.editor-textarea:focus{outline:none}.save-button{position:absolute;bottom:20px;right:20px;z-index:10}.chat-view{justify-content:flex-end}.message-list{flex-grow:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.message{padding:.75rem 1rem;border-radius:12px;max-width:80%;line-height:1.5;white-space:pre-wrap}.message.user{background-color:var(--primary-color);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.message.ai{background-color:var(--surface-color);align-self:flex-start;border-bottom-left-radius:4px}.message.system{background-color:transparent;color:var(--text-muted-color);font-style:italic;align-self:center;text-align:center;font-size:.8rem;padding:.25rem}.chat-input-form{display:flex;padding:1rem;border-top:1px solid var(--border-color);background-color:var(--surface-color)}.chat-input{flex-grow:1;background-color:var(--background-color);border:1px solid var(--border-color);color:var(--text-color);padding:.75rem;border-radius:8px;margin-right:.5rem;resize:none}.chat-input:focus{outline:none;border-color:var(--primary-color)}.send-button{background-color:var(--primary-color);border:none;color:#fff;padding:.75rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.send-button:disabled{background-color:var(--text-muted-color);cursor:not-allowed}.send-button svg{width:20px;height:20px}.preview-view iframe{flex-grow:1;border:none;background-color:#fff}.thinking-indicator{display:flex;align-items:center;gap:5px;padding:.75rem 1rem;align-self:flex-start}.thinking-indicator span{display:block;width:8px;height:8px;background-color:var(--text-muted-color);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.thinking-indicator span:nth-of-type(1){animation-delay:-.32s}.thinking-indicator span:nth-of-type(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}
