@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary:#050510;--bg-secondary:#0a0a1f;--bg-card:#ffffff0a;--bg-card-hover:#ffffff12;--bg-input:#ffffff0f;--border:#ffffff1a;--border-focus:#6366f199;--text-primary:#f0f0ff;--text-secondary:#99c;--text-muted:#555580;--accent:#6366f1;--accent-bright:#818cf8;--accent-glow:#6366f14d;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--gradient-1:linear-gradient(135deg, #6366f1 0%, #a855f7 50%, #ec4899 100%);--gradient-2:linear-gradient(135deg, #0ea5e9 0%, #6366f1 100%);--radius:12px;--radius-lg:16px;--radius-xl:24px;--shadow:0 4px 24px #0006;--shadow-lg:0 8px 48px #0009;--shadow-glow:0 0 40px #6366f133}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 20% -20%,#6366f126 0%,#0000 60%),radial-gradient(60% 40% at 80% 110%,#a855f71a 0%,#0000 60%),radial-gradient(40% 30%,#0ea5e90d 0%,#0000 60%);position:fixed;inset:0}#root{z-index:1;position:relative}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#6366f166;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6366f1b3}.glass{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg)}.glass-dark{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--radius-lg);background:#050510cc}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:9px 18px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--gradient-1);color:#fff;box-shadow:0 4px 20px #6366f166}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 28px #6366f199}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:#6366f166}.btn-ghost{color:var(--text-secondary);background:0 0;padding:6px 12px}.btn-ghost:hover:not(:disabled){background:var(--bg-card);color:var(--text-primary)}.btn-danger{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.btn-danger:hover:not(:disabled){background:#ef444440}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:12px 24px;font-size:15px}.btn-icon{border-radius:8px;padding:8px}.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f126}.input::placeholder{color:var(--text-muted)}textarea.input{resize:none;line-height:1.5}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{width:100%;max-width:420px;padding:40px;animation:.5s fadeInUp}.auth-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:32px;display:flex}.auth-logo-icon{background:var(--gradient-1);width:44px;height:44px;box-shadow:var(--shadow-glow);border-radius:12px;justify-content:center;align-items:center;font-size:22px;display:flex}.auth-logo-text{background:var(--gradient-1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:22px;font-weight:800}.auth-tabs{border-radius:var(--radius);background:#ffffff0a;gap:4px;margin-bottom:28px;padding:4px;display:flex}.auth-tab{text-align:center;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:9px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:all .2s}.auth-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 12px #6366f166}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.form-error{color:var(--danger);margin-top:4px;font-size:12px}.app-layout{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:#050510e6;flex-shrink:0;align-items:center;gap:16px;height:56px;padding:0 20px;display:flex}.header-logo{align-items:center;gap:8px;text-decoration:none;display:flex}.header-logo-icon{background:var(--gradient-1);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.header-logo-text{background:var(--gradient-1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:16px;font-weight:700}.header-sep{flex:1}.header-project-name{color:var(--text-secondary);align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.header-actions{align-items:center;gap:8px;display:flex}.requests-badge{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;display:flex}.requests-badge .count{color:var(--accent-bright);font-weight:700}.requests-badge.low .count{color:var(--danger)}.main-area{flex:1;display:flex;overflow:hidden}.chat-panel{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#05051099;flex-direction:column;width:380px;min-width:320px;max-width:480px;display:flex}.chat-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:14px 16px;display:flex}.chat-header-title{color:var(--text-primary);font-size:13px;font-weight:600}.chat-header-badge{color:var(--accent-bright);background:#6366f133;border:1px solid #6366f14d;border-radius:20px;padding:2px 8px;font-size:11px}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-message{gap:10px;animation:.3s fadeInUp;display:flex}.chat-message.user{flex-direction:row-reverse}.chat-avatar{background:var(--bg-card);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.chat-message.user .chat-avatar{background:var(--gradient-1);border:none}.chat-message.assistant .chat-avatar{background:linear-gradient(135deg,#0ea5e9,#6366f1)}.chat-bubble{border-radius:14px;max-width:78%;padding:10px 14px;font-size:13.5px;line-height:1.55}.chat-message.user .chat-bubble{background:var(--gradient-1);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .chat-bubble{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:4px}.chat-bubble pre{background:#0000004d;border-radius:8px;margin-top:8px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:12px;overflow-x:auto}.chat-input-area{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;padding:12px 14px;display:flex}.chat-input-row{align-items:flex-end;gap:8px;display:flex}.chat-textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);min-height:40px;max-height:120px;color:var(--text-primary);resize:none;outline:none;flex:1;padding:10px 12px;font-family:Inter,sans-serif;font-size:13.5px;line-height:1.4;transition:border-color .2s}.chat-textarea:focus{border-color:var(--border-focus)}.chat-textarea::placeholder{color:var(--text-muted)}.send-btn{background:var(--gradient-1);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex;box-shadow:0 2px 12px #6366f166}.send-btn:hover:not(:disabled){transform:scale(1.05)}.send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.typing-dots{align-items:center;gap:4px;padding:2px 0;display:flex}.typing-dots span{background:var(--accent-bright);border-radius:50%;width:6px;height:6px;animation:1.2s infinite typingBounce}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.preview-panel{background:var(--bg-secondary);flex-direction:column;flex:1;display:flex;overflow:hidden}.preview-tabs{border-bottom:1px solid var(--border);background:#050510b3;flex-shrink:0;align-items:center;gap:4px;padding:8px 16px;display:flex;overflow-x:auto}.preview-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:500;transition:all .2s}.preview-tab:hover{color:var(--text-secondary);background:var(--bg-card)}.preview-tab.active{color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border)}.preview-toolbar{border-bottom:1px solid var(--border);background:#05051080;flex-shrink:0;align-items:center;gap:8px;padding:6px 16px;display:flex}.url-bar{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);border-radius:20px;flex:1;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:12px}.preview-content{flex:1;position:relative;overflow:hidden}.preview-iframe{background:#fff;border:none;width:100%;height:100%}.preview-empty{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.preview-empty-icon{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;font-size:36px;display:flex}.preview-empty-title{color:var(--text-secondary);font-size:18px;font-weight:600}.preview-empty-sub{text-align:center;max-width:280px;font-size:13px;line-height:1.5}.page-navigator{flex-shrink:0;align-items:center;gap:4px;padding:0 8px;display:flex;overflow-x:auto}.page-nav-item{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:11.5px;font-weight:500;transition:all .2s}.page-nav-item:hover{color:var(--accent-bright);background:#6366f11a;border-color:#6366f133}.page-nav-item.active{color:var(--accent-bright);background:#6366f126;border-color:#6366f14d}.code-viewer{height:100%;display:flex;overflow:hidden}.file-tree{border-right:1px solid var(--border);flex-shrink:0;width:220px;padding:8px;overflow-y:auto}.file-tree-header{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:4px;padding:6px 8px;font-size:10px;font-weight:600}.file-item{cursor:pointer;color:var(--text-secondary);border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-family:JetBrains Mono,monospace;font-size:12px;transition:all .15s;display:flex}.file-item:hover{background:var(--bg-card);color:var(--text-primary)}.file-item.active{color:var(--accent-bright);background:#6366f126}.code-content{flex:1;position:relative;overflow:auto}.code-content pre{color:#e2e8f0;background:0 0;min-height:100%;margin:0;padding:16px;font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.6}.dashboard-page{flex:1;padding:32px;overflow-y:auto}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.dashboard-title{font-size:24px;font-weight:700}.dashboard-subtitle{color:var(--text-muted);margin-top:4px;font-size:14px}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.project-card{cursor:pointer;padding:20px;transition:all .2s;position:relative;overflow:hidden}.project-card:before{content:"";background:var(--gradient-1);opacity:0;border-radius:inherit;transition:opacity .2s;position:absolute;inset:0}.project-card:hover{border-color:#6366f166;transform:translateY(-2px)}.project-card:hover:before{opacity:.04}.project-card-icon{background:var(--gradient-1);border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:14px;font-size:20px;display:flex}.project-card-name{margin-bottom:4px;font-size:15px;font-weight:600}.project-card-desc{color:var(--text-muted);margin-bottom:14px;font-size:12px;line-height:1.4}.project-card-meta{color:var(--text-muted);align-items:center;gap:8px;font-size:11px;display:flex}.project-card-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.badge-static{color:#38bdf8;background:#0ea5e926}.badge-react{color:var(--accent-bright);background:#6366f126}.badge-published{color:#4ade80;background:#22c55e26}.new-project-card{border:2px dashed var(--border);cursor:pointer;min-height:160px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;transition:all .2s;display:flex}.new-project-card:hover{color:var(--accent-bright);background:#6366f10d;border-color:#6366f180}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:500px;padding:28px;animation:.3s fadeInUp}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-title{font-size:18px;font-weight:700}.modal-body{flex-direction:column;gap:16px;display:flex}.modal-footer{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.publish-url{border-radius:var(--radius);color:var(--accent-bright);word-break:break-all;background:#6366f11a;border:1px solid #6366f14d;padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:13px}.option-cards{gap:12px;display:flex}.option-card{border-radius:var(--radius);border:2px solid var(--border);cursor:pointer;text-align:center;background:var(--bg-card);flex:1;padding:16px;transition:all .2s}.option-card:hover{border-color:#6366f180}.option-card.selected{border-color:var(--accent);background:#6366f11a}.option-card-icon{margin-bottom:8px;font-size:28px}.option-card-title{margin-bottom:4px;font-size:14px;font-weight:600}.option-card-desc{color:var(--text-muted);font-size:12px;line-height:1.4}.server-steps{flex-direction:column;gap:8px;display:flex}.server-step{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:12px;padding:12px;display:flex}.server-step-num{background:var(--gradient-1);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:flex}.server-step-text{color:var(--text-secondary);font-size:13px;line-height:1.4}.toast-container{z-index:2000;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--radius);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);align-items:center;gap:8px;max-width:320px;padding:12px 16px;font-size:13px;animation:.3s slideInRight;display:flex}.toast-success{color:#4ade80;background:#22c55e26;border:1px solid #22c55e4d}.toast-error{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.toast-info{color:var(--accent-bright);background:#6366f126;border:1px solid #6366f14d}.spinner{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}.spinner-lg{border-width:3px;width:40px;height:40px}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100vh;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.text-gradient{background:var(--gradient-1);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.divider{background:var(--border);height:1px;margin:16px 0}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.mt-2{margin-top:8px}.w-full{width:100%}.text-sm{font-size:13px}.text-xs{font-size:11px}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.font-mono{font-family:JetBrains Mono,monospace}.think-block{background:#0003;border:1px solid #ffffff0d;border-radius:8px;margin:10px 0;padding:8px 12px}.think-block summary{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:13px}.think-content{color:#94a3b8;margin-top:8px;font-size:12px;font-style:italic}
