*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:#0b1020;color:#e8ecf7}.app{display:flex;height:100vh;background:#0b1020}button,textarea,input{font:inherit}button{cursor:pointer}button:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}aside{width:252px;background:#12172a;color:#fff;padding:20px 16px;display:flex;flex-direction:column;border-right:1px solid #242c44}.brand{display:flex;align-items:center;gap:9px;font-size:21px;margin:5px 5px 24px}.new{display:flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff;border:0;border-radius:10px;padding:11px 12px;font-weight:800;box-shadow:0 8px 24px #7c3aed25}nav{margin-top:20px;display:grid;gap:6px}nav button{display:flex;gap:10px;align-items:center;padding:10px;color:#aab3ca;background:transparent;border:0;border-radius:8px;text-align:left}.navActive{background:#1d2540!important;color:#fff!important}.sideList{margin-top:10px;display:grid;gap:6px;overflow:auto}.sideList>button{border:0;background:transparent;color:#aeb7cf;text-align:left;border-radius:8px;padding:9px 10px;display:grid;gap:3px}.sideList>button:hover{background:#1c2340;color:#fff}.sideList small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#7f8aa8}.sideList p{font-size:12px;color:#74809c;padding:0 10px}.projectRow{display:flex;align-items:center;border-radius:9px;border:1px solid transparent}.projectRow:hover,.projectRow.itemActive{background:#1c2340;border-color:#2b3655}.projectPick{min-width:0;flex:1;border:0;background:transparent;color:#aeb7cf;text-align:left;padding:9px 8px;display:grid;gap:3px}.projectPick span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projectRow.itemActive .projectPick{color:#fff}.projectActions{display:flex;gap:2px;padding-right:5px;opacity:.45}.projectRow:hover .projectActions,.projectRow.itemActive .projectActions{opacity:1}.projectActions button{border:0;background:transparent;color:#8f9ab5;border-radius:6px;width:27px;height:27px;display:grid;place-items:center}.projectActions button:hover{background:#2a3451;color:#fff}.usage{margin-top:auto;background:#1a2239;padding:13px;border:1px solid #2a3553;border-radius:10px;display:grid;gap:7px}.usage small{color:#9ca6bf}.usage div{height:5px;background:#303a57;border-radius:9px}.usage i{display:block;height:100%;background:#8b5cf6;border-radius:9px}main{flex:1;min-width:0;display:flex;flex-direction:column;background:#0f1525}header{height:64px;background:#101626;border-bottom:1px solid #242c44;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.projectMeta{display:flex;align-items:center;gap:10px}.projectMeta b{color:#f4f6fb}.projectMeta small{color:#7f8ba7;margin-left:7px}.menuBtn{display:none;background:transparent;border:0;color:#c6cde0}.headerActions{display:flex;align-items:center;gap:8px}.status{font-size:12px;color:#b8c1d6;background:#1b2338;border:1px solid #2c3754;padding:6px 9px;border-radius:999px}.accountBtn{max-width:220px;display:flex;align-items:center;gap:6px;background:#171f34;color:#c9d2e8;border:1px solid #2c3754;border-radius:9px;padding:8px 10px}.accountBtn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.publish{display:flex;align-items:center;gap:7px;background:#7c3aed;color:#fff;border:0;border-radius:9px;padding:9px 14px;font-weight:700}.publishBar{background:#17213a;border-bottom:1px solid #2d3c60;color:#cbd5e1;padding:9px 16px;display:flex;align-items:center;gap:10px;font-size:13px}.publishBar a{color:#c4b5fd;font-weight:700}.publishBar button{border:1px solid #374563;background:#111827;color:#dbe3f5;border-radius:7px;padding:5px 8px}.workspace{display:grid;grid-template-columns:390px 1fr;min-height:0;flex:1}.chat{background:#111827;border-right:1px solid #242c44;display:flex;flex-direction:column;min-height:0}.chatTitle{padding:16px;border-bottom:1px solid #242c44;display:grid;gap:4px}.chatTitle>div{display:flex;align-items:center;gap:7px}.chatTitle small{color:#7f8ba7;font-size:12px}.messages{padding:16px;overflow:auto;flex:1}.msg{padding:11px 13px;border-radius:12px;margin-bottom:11px;line-height:1.45;font-size:14px}.msg.assistant{background:#1a2238;color:#dfe5f5;border:1px solid #29344f}.msg.user{background:linear-gradient(135deg,#3b2568,#4b2b7b);color:#fff;margin-left:35px}.suggestions{padding:0 12px 6px;display:flex;gap:7px;flex-wrap:wrap}.suggestions button{border:1px solid #303a58;background:#141b2d;color:#aeb8d0;border-radius:999px;padding:7px 10px;font-size:12px}.composer{margin:12px;border:1px solid #303a58;border-radius:12px;padding:8px;display:flex;align-items:flex-end;background:#141b2d}.composer textarea{border:0;outline:0;resize:none;flex:1;min-height:62px;padding:5px;background:transparent;color:#eef2ff}.composer textarea::placeholder{color:#69758f}.composer button{border:0;background:#7c3aed;color:#fff;width:38px;height:38px;border-radius:8px;display:grid;place-items:center}.stage{min-width:0;display:flex;flex-direction:column;background:#0d1321}.tabs{height:52px;background:#101626;border-bottom:1px solid #242c44;padding:7px 15px;display:flex;gap:4px;align-items:center}.tabs button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#9aa5bd;padding:7px 12px;border-radius:7px}.tabs .active{background:#1d2940;color:#fff}.stageLabel{margin-left:auto;color:#6f7b95;font-size:12px}.preview{padding:22px;flex:1;min-height:0}.browser{height:100%;min-height:450px;background:#fff;border:1px solid #2a344e;border-radius:14px;box-shadow:0 12px 34px #0003;overflow:hidden}.browserBar{height:42px;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:90px 1fr;align-items:center;padding:0 12px;background:#f8fafc}.dots{color:#b4bac5;letter-spacing:3px}.address{justify-self:center;background:#eef1f5;border-radius:7px;padding:6px 12px;font-size:12px;color:#7d8799;min-width:220px;text-align:center}.browser iframe{display:block;width:100%;height:calc(100% - 42px);min-height:408px;border:0;background:#fff}.code{margin:22px;background:#060a12;color:#cbd5e1;border:1px solid #222c42;border-radius:12px;padding:22px;flex:1;overflow:auto;white-space:pre-wrap}.filesWorkspace{display:grid;grid-template-columns:230px 1fr;flex:1;min-height:0}.fileTree{border-right:1px solid #242c44;background:#0f1627;padding:12px;overflow:auto}.fileTreeHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#dfe5f5;font-size:13px}.fileTreeHead button{display:grid;place-items:center;width:28px;height:28px;border:1px solid #2f3a58;background:#161f33;color:#cbd5e1;border-radius:7px}.fileTree>button{width:100%;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#9da8bf;padding:9px 10px;border-radius:7px;text-align:left}.fileTree>button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fileTree>button:hover,.fileTree>button.fileActive{background:#1b2540;color:#fff}.fileEditor{display:flex;flex-direction:column;min-width:0}.fileEditorHead{height:46px;border-bottom:1px solid #242c44;display:flex;align-items:center;justify-content:space-between;padding:0 12px;color:#b8c2d8;font-size:13px}.fileEditorHead button{display:flex;align-items:center;gap:6px;border:1px solid #374563;background:#17213a;color:#e4e9f4;border-radius:7px;padding:7px 10px}.fileEditor textarea{flex:1;min-height:0;width:100%;resize:none;border:0;outline:0;padding:18px;background:#070b13;color:#d9e2f1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.55;tab-size:2}.dataPanel{flex:1;min-height:0;padding:18px;overflow:auto}.dataToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dataToolbar>div{display:grid;gap:3px}.dataToolbar strong{font-size:16px}.dataToolbar small{color:#8390aa}.dataToolbar button{display:flex;align-items:center;gap:7px;border:1px solid #34415f;background:#17213a;color:#e7ebf5;border-radius:8px;padding:8px 11px}.dataNotice{border:1px solid #6f3030;background:#30191d;color:#fecaca;border-radius:10px;padding:11px 13px;margin-bottom:12px}.dataEmpty{min-height:260px;border:1px dashed #303a58;border-radius:14px;display:grid;place-items:center;align-content:center;gap:9px;color:#8f9ab5;text-align:center;padding:30px}.dataEmpty strong{color:#e6eaf3}.dataTableWrap{width:100%;max-width:100%;border:1px solid #27324c;border-radius:12px;overflow-x:auto;overflow-y:auto;background:#0a0f1b;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.dataTable{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.dataTable th{position:sticky;top:0;background:#131b2e;color:#9eabc3;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:11px 12px;border-bottom:1px solid #2a3550;z-index:2}.dataTable td{max-width:260px;padding:12px;border-bottom:1px solid #20293e;color:#dce3f1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dataTable th:first-child,.dataTable td:first-child{position:sticky;left:0;min-width:130px;z-index:3;background:#0f1728;box-shadow:1px 0 #27324c}.dataTable th:first-child{background:#131b2e;z-index:4}.dataTable tr:hover td{background:#111827}.dataTable tr:hover td:first-child{background:#141d30}.dataType{display:inline-flex;max-width:118px;padding:4px 8px;border-radius:999px;background:#251b43;color:#c4b5fd;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dataDelete{display:grid;place-items:center;width:30px;height:30px;border:1px solid #4a2d36;background:#25171c;color:#fca5a5;border-radius:7px}.dataDelete:hover{background:#3a1d25}.modalBackdrop,.mobileDrawerBackdrop{position:fixed;inset:0;background:#050816cc;z-index:100}.modalBackdrop{display:grid;place-items:center;padding:20px}.authModal{width:min(430px,100%);background:#111827;border:1px solid #303a58;border-radius:18px;padding:24px;box-shadow:0 30px 80px #0009}.authLogo{display:flex;align-items:center;gap:8px;color:#ddd6fe}.authModal h2{margin:18px 0 7px}.authModal>p{color:#94a3b8;margin:0 0 20px}.authModal label{display:grid;gap:7px;margin:12px 0;color:#cbd5e1;font-size:13px}.authModal input{width:100%;border:1px solid #34415f;border-radius:10px;background:#0d1321;color:#fff;padding:12px;outline:none}.authModal input:focus{border-color:#8b5cf6}.authMessage{background:#1b2440;border:1px solid #34415f;color:#dbe4f7;border-radius:9px;padding:10px;margin:12px 0;font-size:13px}.authPrimary{width:100%;border:0;background:#7c3aed;color:#fff;border-radius:10px;padding:12px;font-weight:800;margin-top:8px}.authSwitch{width:100%;border:0;background:transparent;color:#c4b5fd;padding:12px}.mobileDrawerBackdrop{display:none}.mobileDrawer{height:100%;width:min(86vw,360px);background:#111827;border-right:1px solid #2b3655;padding:16px;display:flex;flex-direction:column;box-shadow:20px 0 50px #0008}.drawerHead{display:flex;align-items:center;justify-content:space-between}.drawerHead .brand{margin:0}.drawerHead button{background:transparent;border:0;color:#dce3f4}.drawerNew{margin-top:18px}.drawerTabs{display:flex;gap:8px;margin:16px 0 10px}.drawerTabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border:0;border-radius:8px;background:#161e31;color:#aeb7cf}.drawerList{display:grid;gap:6px;overflow:auto;min-height:0}.drawerList>button{border:0;background:transparent;color:#aeb7cf;text-align:left;border-radius:8px;padding:9px 10px;display:grid;gap:3px}.drawerList small{color:#7f8aa8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawerList p{color:#7f8aa8;font-size:13px}.drawerStatus{margin-top:auto;padding:12px 4px 0;color:#8f9ab5;font-size:12px;border-top:1px solid #26304a}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){body{overflow:auto}.app{height:auto;min-height:100vh;display:block}aside{width:100%;height:58px;padding:8px 12px;display:flex;flex-direction:row;align-items:center;gap:10px;position:sticky;top:0;z-index:20}.brand{margin:0 auto 0 0;font-size:18px}.new{width:auto;padding:9px 12px}.new span{display:inline}nav,.sideList,.usage{display:none}main{display:block}header{height:58px;padding:0 10px;position:sticky;top:58px;z-index:19}.menuBtn{display:grid;place-items:center;width:34px;height:34px;border:1px solid #2d3856;border-radius:8px}.projectMeta small,.status,.accountBtn span,.accountBtn svg:last-child{display:none}.accountBtn{padding:8px}.publish{padding:8px 10px}.publishBar{flex-wrap:wrap}.workspace{display:flex;flex-direction:column}.chat{display:flex;border-right:0;border-bottom:1px solid #242c44;min-height:410px;max-height:none}.chatTitle{padding:12px 14px}.messages{min-height:150px;padding:12px;max-height:260px}.suggestions{padding:0 10px 5px}.composer{margin:10px;position:sticky;bottom:0}.composer textarea{min-height:58px;font-size:16px}.stage{min-height:560px}.tabs{position:sticky;top:116px;z-index:10;overflow-x:auto;scrollbar-width:thin}.tabs button{flex:0 0 auto}.preview{padding:10px}.browser{min-height:500px}.browser iframe{min-height:458px}.address{min-width:120px}.code{margin:10px;min-height:500px}.msg.user{margin-left:20px}.stageLabel{display:none}.mobileDrawerBackdrop{display:block}.filesWorkspace{grid-template-columns:1fr;min-height:520px}.fileTree{border-right:0;border-bottom:1px solid #242c44;max-height:170px}.fileEditor{min-height:350px}.fileEditor textarea{min-height:310px}.dataPanel{padding:10px;overflow:visible}.dataToolbar{align-items:flex-start;flex-wrap:wrap}.dataToolbar>div:first-child{min-width:0;flex:1 1 180px}.dataToolbar>div:last-child{width:100%;justify-content:flex-start!important}.dataTableWrap{border-radius:9px;max-width:calc(100vw - 20px)}.dataTable th,.dataTable td{padding:10px}.dataTable th:first-child,.dataTable td:first-child{min-width:112px}.dataType{max-width:100px}}@media(max-width:480px){.brand b{font-size:16px}.new{padding:8px 10px}.new span,.publish{font-size:13px}.preview{padding:8px}.browserBar{grid-template-columns:55px 1fr;padding:0 8px}.dots{font-size:10px}.address{min-width:100px;padding:5px 7px}.composer textarea{min-height:64px}.suggestions{overflow-x:auto;flex-wrap:nowrap}.suggestions button{white-space:nowrap}.projectMeta b{font-size:14px;max-width:115px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.headerActions{gap:5px}.tabs button{white-space:nowrap}.dataToolbar button{padding:7px 9px}.dataTableWrap{max-width:calc(100vw - 20px)}.dataTable th:first-child,.dataTable td:first-child{min-width:104px}.dataType{max-width:92px}}
