:root{--bg: #0f1115;--panel: #171a21;--panel-2: #1e222b;--border: #2a2f3a;--text: #e6e8ee;--muted: #8a92a6;--accent: #e2231a;--accent-hover: #ff3b32;--code-bg: #0b0d12}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app{max-width:900px;margin:0 auto;padding:40px 24px 80px}.hero h1{font-size:36px;margin:0 0 8px;letter-spacing:-.5px}.hero h1 .accent{color:var(--accent)}.hero p{color:var(--muted);margin:0 0 28px;font-size:16px}.form{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.form textarea{width:100%;min-height:110px;resize:vertical;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:15px;font-family:inherit;outline:none}.form textarea:focus{border-color:var(--accent)}.form .actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:12px}button.primary{background:var(--accent);color:#fff;border:none;padding:10px 20px;font-size:15px;font-weight:600;border-radius:8px;cursor:pointer;transition:background .15s}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.primary:disabled{opacity:.5;cursor:not-allowed}.examples{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.examples button{background:var(--panel-2);color:var(--muted);border:1px solid var(--border);padding:6px 12px;font-size:13px;border-radius:999px;cursor:pointer}.examples button:hover{color:var(--text);border-color:var(--accent)}.output{margin-top:28px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px 24px}.output .placeholder{color:var(--muted);margin:0}.output h2{font-size:20px;margin:20px 0 8px;border-bottom:1px solid var(--border);padding-bottom:6px}.output h2:first-child{margin-top:0}.output h3{font-size:15px;margin:16px 0 6px;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.output p,.output li{line-height:1.55;font-size:15px}.output ol,.output ul{padding-left:22px}.code-block{position:relative;background:var(--code-bg);border:1px solid var(--border);border-radius:8px;margin:8px 0 16px}.code-block pre{margin:0;padding:14px 16px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;color:#d4d7e0}.copy-btn{position:absolute;top:8px;right:8px;background:var(--panel-2);color:var(--muted);border:1px solid var(--border);padding:4px 10px;font-size:12px;border-radius:6px;cursor:pointer}.copy-btn:hover{color:var(--text)}.copy-btn.copied{color:#5bd37a;border-color:#5bd37a}.error{background:#3a1414;border:1px solid #a02020;color:#ffb0b0;padding:12px 16px;border-radius:8px;margin-top:16px}.mode-switch{display:flex;gap:10px;margin-bottom:16px}.mode-switch button{flex:1;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:12px 16px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:4px;transition:border-color .15s,background .15s}.mode-switch button:hover:not(:disabled){border-color:var(--accent)}.mode-switch button.active{border-color:var(--accent);background:var(--panel-2)}.mode-switch button strong{font-size:15px}.mode-switch button span{color:var(--muted);font-size:12px}.mode-switch button code{background:var(--panel-2);padding:1px 5px;border-radius:3px;font-size:11px}.project-view{animation:fadein .3s}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.project-header h2{border-bottom:none!important;padding-bottom:0!important}.destination-pill{display:inline-block;background:var(--panel-2);color:var(--muted);border:1px solid var(--border);padding:4px 10px;border-radius:999px;font-size:13px;margin-top:6px}.destination-pill code{color:var(--accent);font-family:ui-monospace,Menlo,monospace}.download-btn{white-space:nowrap;flex-shrink:0}.tree{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:8px 0;font-family:ui-monospace,Menlo,monospace;font-size:13px}.tree-row{display:flex;align-items:center;gap:6px;padding:3px 8px;cursor:pointer;-webkit-user-select:none;user-select:none}.tree-row:hover{background:#ffffff08}.tree-caret{width:12px;color:var(--muted);display:inline-block}.tree-icon{font-size:14px}.tree-name{color:var(--text)}.tree-class{color:var(--muted);font-size:11px;margin-left:auto}.project-card-inline{background:linear-gradient(145deg,#1e222b,#1a1d25);border:1px solid var(--accent);border-radius:10px;padding:16px;margin:12px 0}.project-card-inline.generating{border-color:var(--border);text-align:center;padding:20px}.project-card-inline.error-card{border-color:#a02020}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.project-card-info{flex:1;min-width:0}.project-card-name{font-size:16px;display:block;margin-bottom:4px}.project-card-desc{color:var(--muted);font-size:13px;margin-bottom:8px}.project-card-meta{display:flex;gap:6px;flex-wrap:wrap}.project-card-setup{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.project-card-setup summary{cursor:pointer;color:var(--muted);font-size:13px;-webkit-user-select:none;user-select:none}.project-card-setup summary:hover{color:var(--text)}.project-card-setup ol{margin-top:10px;font-size:13px;color:var(--muted)}.project-card-inline .muted{color:var(--muted);font-size:13px}.chat-view{display:flex;flex-direction:column;gap:12px}.chat-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.reset-btn{background:var(--panel-2);color:var(--muted);border:1px solid var(--border);padding:5px 12px;font-size:12px;border-radius:6px;cursor:pointer}.reset-btn:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.reset-btn:disabled{opacity:.4;cursor:not-allowed}.chat-messages{background:var(--panel);border:1px solid var(--border);border-radius:12px;min-height:400px;max-height:65vh;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:18px}.chat-empty{text-align:center;color:var(--muted);margin:auto 0;padding:20px}.chat-empty p{margin-bottom:18px}.message{display:flex;flex-direction:column;gap:4px}.message-role{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.message-user .message-role{color:var(--accent)}.message-assistant .message-role{color:var(--muted)}.message-content{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px 16px;line-height:1.55;font-size:15px}.message-content h2{font-size:17px;margin:12px 0 6px;border-bottom:1px solid var(--border);padding-bottom:4px}.message-content h2:first-child{margin-top:0}.message-content h3{font-size:14px;margin:10px 0 4px;color:var(--accent);font-family:ui-monospace,Menlo,monospace}.message-content p{margin:6px 0}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.streaming-text{margin:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.55;color:var(--text)}.format-toggle{background:var(--panel-2);color:var(--accent);border:1px solid var(--border);padding:2px 8px;font-size:10px;border-radius:4px;cursor:pointer;margin-left:8px;vertical-align:middle}.format-toggle:hover{border-color:var(--accent)}.message-user .message-content{background:#e2231a14;border-color:#e2231a4d}.chat-input-form{display:flex;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px;align-items:flex-end}.chat-input-form textarea{flex:1;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical;min-height:60px;outline:none}.chat-input-form textarea:focus{border-color:var(--accent)}.chat-input-form button{flex-shrink:0;align-self:stretch}.mode-switch button:nth-child(n){flex:1}.chat-history{margin-top:20px;text-align:left;width:100%}.chat-history-title{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;text-align:center}.chat-history-item{display:flex;align-items:center;gap:6px;margin-bottom:4px}.chat-history-item.active .chat-history-load{border-color:var(--accent)}.chat-history-load{flex:1;display:flex;flex-direction:column;gap:2px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer;text-align:left;color:var(--text)}.chat-history-load:hover{border-color:var(--accent)}.chat-history-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-history-meta{font-size:11px;color:var(--muted)}.chat-history-delete{background:none;border:1px solid transparent;color:var(--muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1}.chat-history-delete:hover{color:#f55;border-color:#f55}.downloads-panel{margin-top:16px;background:var(--panel);border:1px solid var(--accent);border-radius:12px;padding:16px}.downloads-title{margin:0 0 12px;font-size:15px;color:var(--accent)}.download-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;margin-bottom:8px}.download-item:last-child{margin-bottom:0}.download-info{display:flex;flex-direction:column;gap:3px;min-width:0}.download-info strong{font-size:14px}.download-desc{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.download-btn-sm{flex-shrink:0;padding:6px 14px!important;font-size:13px!important}.footer{text-align:center;color:var(--muted);margin-top:40px;font-size:13px}
