:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#202a2f;background:radial-gradient(circle at 16% 0,#62849424,#0000 30%),radial-gradient(circle at 86% 12%,#a489601f,#0000 32%),linear-gradient(#f4f3ef 0%,#fbfaf7 56%,#f0f4f4 100%);font-family:Geist Sans,SF Pro Display,Segoe UI,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body{scroll-behavior:smooth;min-height:100%;margin:0}body{font-variant-numeric:tabular-nums;background:radial-gradient(circle at 16% 0,#62849424,#0000 30%),radial-gradient(circle at 86% 12%,#a489601f,#0000 32%),linear-gradient(#f4f3ef 0%,#fbfaf7 56%,#f0f4f4 100%);min-height:100vh}body:before{content:"";z-index:-1;pointer-events:none;opacity:.42;background-image:linear-gradient(#202a2f09 1px,#0000 1px),linear-gradient(90deg,#202a2f06 1px,#0000 1px);background-size:36px 36px;position:fixed;inset:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}
.skip-link{z-index:60;color:#fff;background:#202a2f;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:700;transition:transform .18s;position:fixed;top:10px;left:10px;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.workbench-shell{min-height:100dvh;padding:14px;display:flex}.pane{min-width:0;min-height:0}.shell-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fcfbf7e0;border:1px solid #4d585924;border-radius:12px;box-shadow:inset 0 1px #ffffffb8,0 18px 44px #313d3f14}.pane,.inner-pane{overflow:hidden}#left-pane,#center-pane,#right-pane{height:calc(100vh - 32px)}#left-pane,#right-pane{grid-template-rows:auto 1fr;padding:18px;display:grid}#right-pane{grid-template-rows:minmax(0,1fr)}#center-pane{grid-template-rows:auto minmax(0,1fr);gap:18px;padding:18px;display:grid}.pane-head h1,.pane-head h2,.pane-head h3,.pane-head h4,.asset-card-head h4{margin:0}.pane-head p,.asset-card-head p,.subcopy{color:#5c778a;margin:8px 0 0}.pane-head-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workspace-head-title{flex:1;min-width:0}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:#6b746e;margin:0 0 8px;font-size:12px;font-weight:700}.pane-head h1,.pane-head h2,.pane-head h3{letter-spacing:-.02em;text-wrap:balance;color:#202a2f}.status-pill,.chip{border-radius:999px;align-items:center;min-height:32px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.status-pill{color:#fff;background:#202a2f;border-radius:8px;box-shadow:inset 0 1px #ffffff1a}.status-detail{color:#85583e;text-overflow:ellipsis;white-space:nowrap;max-width:min(720px,100%);margin:4px 0 0;font-size:12px;line-height:1.5;overflow:hidden}.chip{color:#75571d;background:#f7efd6}.primary-btn,.ghost-btn,.list-item,.project-delete-btn{font:inherit}.workspace-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.editor-shell{grid-template-columns:260px minmax(0,1fr);gap:14px;height:100%;min-height:0;display:grid}.file-pane,.editor-pane,.asset-pane{height:100%;min-height:0;padding:16px}.file-pane,.editor-pane{grid-template-rows:auto minmax(0,1fr);display:grid}.file-tree{color:#202a2f;min-height:0;padding:4px;overflow:auto}.file-tree-dir{display:grid}.file-tree-dir[open]>.file-tree-folder .file-tree-icon{transform:rotate(0)}.file-tree-dir:not([open])>.file-tree-folder .file-tree-icon{transform:rotate(-90deg)}.file-tree-row{width:100%;min-height:30px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:6px;padding:0 8px;display:grid}.file-tree-row:hover{background:#4b5d6214}.file-tree-file.active{color:#203f3a;background:#e9efed;font-weight:700}.file-tree-folder{cursor:pointer;color:#496779;font-weight:700;list-style:none}.file-tree-folder::-webkit-details-marker{display:none}.file-tree-icon{color:#6a8396;justify-content:center;font-size:12px;line-height:1;transition:transform .12s;display:inline-flex}.file-tree-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.file-tree-children{border-left:1px solid #4d585929;margin-left:12px;padding-left:8px;display:grid}.list-wrap,.asset-grid{gap:10px;padding-right:4px;display:grid;overflow:auto}.list-wrap{align-content:start}.list-item{text-align:left;background:#ffffffb3;border:1px solid #4d585921;border-radius:10px;gap:4px;width:100%;padding:14px 16px;transition:background .18s,border-color .18s,transform .18s;display:grid}.list-item:hover{background:#ffffffeb;border-color:#4d585947;transform:translateY(-1px)}.list-item:active{transform:translateY(0)scale(.99)}.project-list-row{display:grid;position:relative}.project-select-btn{padding-right:72px}.list-item.active,.project-list-row.active .list-item{background:#eef3ef;border-color:#2a5c5261;box-shadow:inset 3px 0 #2a5c52}.project-delete-btn{color:#a83d2d;opacity:0;pointer-events:none;background:#fff5f2f5;border:1px solid #ca544447;border-radius:7px;min-height:30px;padding:0 10px;font-size:12px;font-weight:700;transition:opacity .14s,transform .14s,border-color .14s;position:absolute;top:50%;right:10px;transform:translateY(-50%)translate(4px)}.project-list-row:hover .project-delete-btn,.project-list-row:focus-within .project-delete-btn{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.project-delete-btn:hover{background:#fff0ec;border-color:#ca544494}.item-title{font-weight:700}.item-meta{color:#6a8396;font-size:12px;line-height:1.4}.editor-textarea{resize:none;color:#173346;background:#ffffffe6;border:1px solid #4d585929;border-radius:10px;width:100%;height:100%;min-height:0;padding:14px;font-family:Consolas,SFMono-Regular,monospace;font-size:13px;line-height:1.6}.editor-host{background:#ffffffeb;border:1px solid #4d585929;border-radius:10px;height:100%;min-height:0;position:relative;overflow:hidden}.editor-host:before{content:"只读模式";z-index:2;color:#59615d;pointer-events:none;background:#e8f2f8f0;border-radius:7px;align-items:center;min-height:24px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:10px;right:10px}.actions{align-items:center;gap:10px;display:inline-flex}.primary-btn,.ghost-btn{border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:700;transition:background .18s,border-color .18s,color .18s,transform .16s,box-shadow .18s;display:inline-flex}.primary-btn:disabled,.ghost-btn:disabled{cursor:not-allowed;opacity:.58}.primary-btn{color:#fff;background:#202a2f;border:0}.primary-btn:hover:not(:disabled){background:#354044;box-shadow:0 8px 18px #202a2f24}.primary-btn:active:not(:disabled),.ghost-btn:active:not(:disabled){transform:scale(.98)}.ghost-btn{color:#202a2f;background:#ffffffa8;border:1px solid #4d585929}.ghost-btn:hover:not(:disabled){background:#fffffff2;border-color:#4d585957}.primary-btn:focus-visible,.ghost-btn:focus-visible,.list-item:focus-visible,.project-delete-btn:focus-visible,.chat-history-item:focus-visible,.file-tree-row:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #2a5c52}.ghost-btn-small{min-height:36px;padding:0 12px;font-size:12px}.sidebar-head-actions{align-items:center;gap:10px;display:inline-flex}.asset-pane{grid-template-rows:auto minmax(0,1fr);display:grid}.chat-pane{grid-template-rows:auto minmax(0,1fr) 156px;gap:12px;height:100%;min-height:0;padding:16px;display:grid;overflow:hidden}.chat-shell{grid-template-columns:260px minmax(0,1fr);gap:12px;min-height:0;display:grid}.chat-history,.chat-thread{background:#ffffff80;border:1px solid #4d585924;border-radius:10px;min-height:0;overflow:hidden}.chat-history{padding:12px}.chat-history-list{gap:10px;min-height:0;max-height:100%;padding-right:4px;display:grid;overflow:auto}.chat-history-item{text-align:left;background:#ffffffe0;border:1px solid #4d585924;border-radius:9px;gap:4px;width:100%;padding:12px;transition:background .18s,border-color .18s,transform .18s;display:grid}.chat-history-item:hover{border-color:#4d585947;transform:translateY(-1px)}.chat-history-item.active{background:#eef3ef;border-color:#2a5c5261;box-shadow:inset 3px 0 #2a5c52}.chat-history-title{color:#202a2f;font-weight:700}.chat-history-meta,.chat-history-preview{color:#6a8396;font-size:12px;line-height:1.5}.chat-thread{min-height:0;padding:12px;overflow:hidden}.chat-message-list{gap:10px;height:100%;min-height:0;padding-right:4px;display:grid;overflow:auto}.chat-message{background:#ffffffc7;border:1px solid #4d585924;border-radius:10px;gap:8px;padding:14px 16px;display:grid}.chat-message.user{background:#eef3ef}.chat-message.assistant{background:#fffdf7}.chat-message-head{color:#6a8396;justify-content:space-between;gap:12px;font-size:12px;display:flex}.chat-message-content{white-space:pre-wrap;word-break:break-word;color:#202a2f;line-height:1.7}.chat-message-files{color:#4d7a92;gap:6px;font-size:12px;display:grid}.chat-command-log{background:#f6fbffb8;border:1px solid #7ea2b733;border-radius:8px;gap:8px;padding:9px 10px;display:grid}.chat-command-log-list{gap:5px;margin:0;padding:0;list-style:none;display:grid}.command-log-item{color:#496779;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;min-height:26px;font-size:12px;display:grid}.command-log-item span{color:#41647a;background:#e8f2f8;border-radius:7px;justify-content:center;padding:2px 6px;font-weight:700;display:inline-flex}.command-log-item.error span{color:#a33d33;background:#ffe4e0}.command-log-item code{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;overflow:hidden}.chat-message-file-changes{background:#f9f8f4c7;border:1px solid #4d585926;border-radius:10px;gap:8px;padding:10px;display:grid;box-shadow:inset 0 1px #ffffffbf}.chat-message-files-title{color:#35556a;font-weight:700}.chat-message-files-list{margin:0;padding-left:18px}.chat-message-files-item{line-height:1.5}.chat-message-change-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.chat-message-change-item{color:#1e4156;background:#ffffffd1;border:1px solid #7ea2b738;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:30px;padding:6px 8px;display:grid}.change-path{text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;overflow:hidden}.change-badge{color:#41647a;white-space:nowrap;background:#eef6fb;border-radius:7px;justify-content:center;align-items:center;min-width:72px;padding:3px 7px;font-size:11px;font-weight:700;display:inline-flex}.change-started .change-badge{color:#8a6312;background:#fff6d8}.change-completed .change-badge{color:#1f7650;background:#ddf8ec}.change-failed .change-badge{color:#a33d33;background:#ffe4e0}.empty-panel{color:#5c665f;background:linear-gradient(135deg,#ffffffad,#f6f4eebd),repeating-linear-gradient(135deg,#202a2f08 0 1px,#0000 1px 10px);border:1px dashed #4d585938;border-radius:10px;place-items:center start;gap:10px;min-height:140px;padding:18px;display:grid}.empty-panel strong{color:#202a2f}.empty-panel span{max-width:42ch;line-height:1.55}.chat-empty{text-align:center;place-items:center}.compact-empty{align-content:center;min-height:180px}.config-empty{text-align:center;place-content:center;height:100%;min-height:320px}.creation-progress{background:linear-gradient(135deg,#eef3eff5,#fffdf7f0);border:1px solid #4d585929;border-radius:10px;gap:12px;margin-bottom:14px;padding:14px;display:grid;box-shadow:inset 0 1px #ffffffb8}.creation-completed{background:#eefbf4;border-color:#51b280c2}.creation-failed{background:#fff1ef;border-color:#ee6f60d1}.creation-progress-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.creation-progress-head strong,.creation-progress-head span{display:block}.creation-progress-head strong{color:#202a2f}.creation-progress-head span{color:#5c778a;margin-top:4px;font-size:13px;line-height:1.5}.creation-progress-meta{flex:none;align-items:center;gap:8px;display:inline-flex}.creation-progress-counter,.creation-progress-timer{text-align:center;background:#202a2f;border-radius:7px;flex:none;min-width:48px;padding:5px 9px;font-size:12px;font-weight:800;color:#fff!important}.creation-progress-timer{font-variant-numeric:tabular-nums;background:#202a2f14;min-width:72px;color:#202a2f!important}.creation-step-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.creation-step{color:#6d8797;text-align:left;background:#ffffffbd;border-radius:7px;justify-content:flex-start;align-items:center;gap:7px;min-height:42px;padding:7px 8px;font-size:12px;font-weight:800;display:inline-flex;overflow:hidden}.creation-step.done{color:#24584f;background:#e1eee8}.creation-step.active{color:#fff;background:#202a2f}.creation-step.failed{color:#fff;background:#8c2f24}.creation-step-code{min-width:24px;height:22px;color:inherit;font-variant-numeric:tabular-nums;background:#202a2f14;border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.creation-step.active .creation-step-code,.creation-step.failed .creation-step-code{background:#ffffff2e}.creation-step-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.creation-step-spinner{border:2px solid #ffffff57;border-top-color:#fff;border-radius:999px;flex:none;width:13px;height:13px;animation:.8s linear infinite creation-spinner}@keyframes creation-spinner{to{transform:rotate(360deg)}}.chat-composer{z-index:2;background:#fcfbf7eb;border-top:1px solid #4d585924;grid-template-rows:minmax(0,1fr) auto;gap:10px;height:156px;min-height:156px;max-height:156px;padding-top:8px;display:grid;overflow:hidden}.chat-composer textarea{color:#202a2f;resize:vertical;background:#ffffffeb;border:1px solid #4d585929;border-radius:10px;width:100%;height:100%;min-height:0;max-height:none;padding:12px 14px}.chat-composer-actions{justify-content:flex-end;display:flex}@media (max-width:900px){.creation-step-list{grid-template-columns:repeat(2,minmax(0,1fr))}.creation-step{justify-content:flex-start}}.provider-pane{height:100%;min-height:0;padding:16px;overflow:hidden}.provider-shell{grid-template-columns:280px minmax(0,1fr);gap:14px;height:100%;min-height:0;display:grid}.provider-list,.provider-form-wrap{background:#ffffffa3;border:1px solid #b5cddbb3;border-radius:20px;height:100%;min-height:0;padding:16px}.provider-list{grid-template-rows:auto minmax(0,1fr);display:grid}.provider-form-wrap{grid-template-rows:auto auto auto minmax(120px,1fr);gap:14px;display:grid;overflow:auto}.provider-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field,.toggle-field{gap:8px;display:grid}.field span,.toggle-field span{color:#4d7a92;font-size:13px;font-weight:700}.field input,.field textarea,.field select{color:#202a2f;background:#ffffffeb;border:1px solid #4d585929;border-radius:9px;width:100%;padding:12px 14px}.field textarea{resize:vertical;min-height:120px}.field-full{grid-column:1/-1}.toggle-field{grid-auto-flow:column;justify-content:start;align-items:center}.provider-test-bar{flex-wrap:wrap;gap:10px;display:flex}.provider-test-output{white-space:pre-wrap;word-break:break-word;color:#35566d;background:#fffc;border:1px dashed #8fafc4e6;border-radius:16px;min-height:120px;padding:14px;overflow:auto}.error-banner{color:#9f1239;background:#fff1f2;border:1px solid #fda4af;border-radius:12px;margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.5}.modal-backdrop{z-index:40;background:#0c1f2f6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-panel{gap:18px;width:min(1320px,100%);max-height:calc(100vh - 48px);padding:22px;display:grid;overflow:auto}.workspace-modal-panel{width:min(1440px,100%)}.project-create-modal{width:min(920px,100%)}.project-creator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workspace-modal-body{height:min(78vh,920px);min-height:0}.model-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.model-setting-card{background:#ffffffad;border:1px solid #4d585924;border-radius:10px;gap:12px;padding:16px;display:grid}.model-setting-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.model-setting-card-head h3{margin:0}.provider-modal-shell{grid-template-columns:300px minmax(0,1fr);gap:14px;min-height:0;display:grid}.asset-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.asset-card{background:#ffffffad;border:1px solid #4d585924;border-radius:10px;align-content:start;gap:14px;padding:16px;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid}.asset-card:hover{border-color:#4d585947;transform:translateY(-1px);box-shadow:0 8px 18px #313d3f0f}.chip-ready{color:#1f6b36;background:#dff6e1}.chip-placeholder{color:#8a6112;background:#fff0cd}.chip-missing{color:#8b2c26;background:#ffe1df}.asset-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.asset-preview-shell{background:#fffc;border:1px dashed #4d585938;border-radius:9px;place-items:center;min-height:200px;padding:12px;display:grid}.asset-preview{object-fit:contain;border-radius:8px;max-width:100%;max-height:220px}.asset-audio{width:100%}.asset-empty{color:#8c4d48;text-align:center;font-size:14px}.asset-meta-grid{color:#4c6679;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-size:13px;display:grid}.asset-meta-grid span{gap:4px;display:grid}.asset-meta-grid strong{letter-spacing:.04em;text-transform:uppercase;color:#6d8698;font-size:11px}.asset-copy,.asset-prompt{color:#536d80;word-break:break-word;font-size:13px;line-height:1.5}.asset-actions{flex-wrap:wrap;gap:10px;display:flex}.upload-btn{color:#fff;background:#202a2f;border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.upload-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.preview-wrap{background:#ffffffc7;border:1px solid #b6cddcd9;border-radius:18px;flex:1;min-height:0;overflow:hidden}.preview-frame{background:#f5fbff;border:0;width:100%;height:100%}.webcontainer-preview{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.webcontainer-preview-head{align-items:center;gap:12px;min-width:0;display:flex}.webcontainer-preview-title{flex:none}.webcontainer-preview-title .eyebrow{margin:0}.webcontainer-status{background:#ffffffd1;border:1px solid #b6cddcd9;border-radius:8px;flex:auto;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;padding:8px 10px;display:flex}.webcontainer-status-main{align-items:flex-start;gap:8px;min-width:0;display:inline-flex}.webcontainer-status-actions{flex:none;align-items:center;gap:8px;display:inline-flex}.webcontainer-status strong{white-space:nowrap;color:#173346;align-items:center;font-size:13px;display:inline-flex}.webcontainer-status-detail{color:#5d7280;overflow-wrap:anywhere;white-space:normal;min-width:0;font-size:12px;line-height:1.45}.webcontainer-dot{background:#9fb0bc;border-radius:999px;flex:none;width:9px;height:9px;margin-top:4px;display:inline-block}.webcontainer-dot-running{background:#2f9f6b}.webcontainer-dot-installing,.webcontainer-dot-booting{background:#d89b2d}.webcontainer-dot-error{background:#d9534f}.preview-empty{color:#627988;text-align:center;place-items:center;height:100%;min-height:260px;padding:24px;display:grid}.preview-progress{text-align:left}.preview-progress-panel{gap:14px;width:min(720px,100%);display:grid}.preview-progress-title{color:#173346;text-align:center;margin:0;font-size:15px;font-weight:700}.preview-progress-meta{gap:8px;margin:0;display:grid}.preview-progress-meta div{background:#ffffffb8;border:1px solid #b6cddcd9;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.preview-progress-meta dt{color:#5d7280;font-size:12px;font-weight:700}.preview-progress-meta dd{color:#173346;overflow-wrap:anywhere;margin:0;font-family:Consolas,SFMono-Regular,monospace;font-size:12px}.preview-progress-log{color:#d7eef5;white-space:pre-wrap;background:#0f1d26;border-radius:8px;min-height:80px;max-height:180px;margin:0;padding:12px;font-family:Consolas,SFMono-Regular,monospace;font-size:12px;line-height:1.45;overflow:auto}.standalone-preview-page{background:#eef5f7;min-height:100vh;padding:16px}.standalone-preview-shell{min-height:calc(100vh - 32px);display:flex}.gutter{background:0 0;margin:0 6px;position:relative}.gutter:before{content:"";background:#8ab0c873;border-radius:999px;position:absolute;inset:10px 2px}.gutter.gutter-horizontal{cursor:col-resize}.cm-editor{height:100%;font-family:Consolas,SFMono-Regular,monospace}.cm-scroller{overflow:auto}@media (max-width:960px){.workbench-shell{grid-template-columns:1fr;gap:16px;min-height:auto;display:grid}#left-pane,#center-pane,#right-pane{height:auto}.editor-shell,.chat-shell,.model-settings-grid,.provider-modal-shell{grid-template-columns:1fr}.workspace-head-actions{justify-content:flex-start;width:100%}.pane-head-row{flex-direction:column;align-items:flex-start}.sidebar-head-actions{justify-content:flex-start;width:100%}}
