588a529875
移除 AI 游戏创作壳专属 .env 读取,改为默认配置模板与 Tauri 运行时配置。 新增主窗口配置面板,读写 LLM 与画板 API 配置。 更新 CLI smoke、门禁、测试和项目文档。
533 lines
7.8 KiB
CSS
533 lines
7.8 KiB
CSS
:root {
|
|
color: #18202f;
|
|
background: #f5f7fb;
|
|
font-family: Inter, 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
}
|
|
|
|
button,
|
|
input,
|
|
select,
|
|
textarea {
|
|
font: inherit;
|
|
}
|
|
|
|
.app-shell {
|
|
min-height: 100vh;
|
|
background: #f5f7fb;
|
|
}
|
|
|
|
.app-shell--user {
|
|
display: flex;
|
|
justify-content: center;
|
|
padding: 24px;
|
|
}
|
|
|
|
.app-shell--dev {
|
|
display: grid;
|
|
grid-template-columns: minmax(360px, 0.85fr) minmax(520px, 1.15fr);
|
|
gap: 1px;
|
|
background: #d9dee8;
|
|
}
|
|
|
|
.chat-pane {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 16px;
|
|
min-width: 0;
|
|
padding: 18px;
|
|
background: #fff;
|
|
}
|
|
|
|
.app-shell--user .chat-pane {
|
|
width: min(900px, 100%);
|
|
min-height: calc(100vh - 48px);
|
|
border: 1px solid #d9dee8;
|
|
}
|
|
|
|
.app-shell--dev .chat-pane {
|
|
min-height: 100vh;
|
|
}
|
|
|
|
.chat-header,
|
|
.panel-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
}
|
|
|
|
.chat-header div {
|
|
display: grid;
|
|
gap: 4px;
|
|
}
|
|
|
|
.panel-header {
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.panel-actions {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
}
|
|
|
|
.panel-header button,
|
|
.chat-header button,
|
|
.local-project-form button,
|
|
.panel-actions select {
|
|
height: 32px;
|
|
padding: 0 12px;
|
|
border: 1px solid #cfd7e6;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.panel-header button,
|
|
.chat-header button,
|
|
.local-project-form button {
|
|
color: #fff;
|
|
background: #1f6feb;
|
|
}
|
|
|
|
.panel-actions select {
|
|
background: #fff;
|
|
}
|
|
|
|
h1,
|
|
h2,
|
|
p {
|
|
margin: 0;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 24px;
|
|
}
|
|
|
|
h2 {
|
|
margin-bottom: 14px;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.chat-header span,
|
|
.task-pane span,
|
|
.log-pane p {
|
|
color: #647084;
|
|
}
|
|
|
|
.settings-overlay {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 10;
|
|
display: grid;
|
|
place-items: center;
|
|
padding: 18px;
|
|
background: rgb(24 32 47 / 36%);
|
|
}
|
|
|
|
.settings-panel {
|
|
display: grid;
|
|
gap: 10px;
|
|
width: min(760px, 100%);
|
|
max-height: calc(100vh - 36px);
|
|
padding: 18px;
|
|
overflow: auto;
|
|
border: 1px solid #cfd7e6;
|
|
background: #fff;
|
|
}
|
|
|
|
.settings-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 10px;
|
|
}
|
|
|
|
.settings-grid label {
|
|
display: grid;
|
|
gap: 6px;
|
|
min-width: 0;
|
|
color: #647084;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.settings-grid input,
|
|
.settings-grid select {
|
|
min-width: 0;
|
|
height: 36px;
|
|
padding: 0 10px;
|
|
border: 1px solid #cfd7e6;
|
|
border-radius: 6px;
|
|
color: #18202f;
|
|
background: #fff;
|
|
}
|
|
|
|
.settings-checkbox {
|
|
grid-template-columns: auto 1fr;
|
|
align-items: center;
|
|
align-self: end;
|
|
}
|
|
|
|
.settings-checkbox input {
|
|
width: 18px;
|
|
height: 18px;
|
|
padding: 0;
|
|
}
|
|
|
|
.message-list {
|
|
flex: 1;
|
|
border: 1px solid #dde3ee;
|
|
padding: 14px;
|
|
overflow: auto;
|
|
}
|
|
|
|
.message + .message {
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.message {
|
|
overflow-wrap: anywhere;
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
.message--user {
|
|
color: #1f6feb;
|
|
}
|
|
|
|
.pending-command {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
padding: 10px;
|
|
border: 1px solid #dde3ee;
|
|
background: #f8fafd;
|
|
}
|
|
|
|
.pending-command span {
|
|
display: grid;
|
|
gap: 3px;
|
|
min-width: 0;
|
|
margin-right: auto;
|
|
color: #647084;
|
|
}
|
|
|
|
.pending-command small {
|
|
overflow-wrap: anywhere;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.pending-command button {
|
|
height: 32px;
|
|
padding: 0 12px;
|
|
border: 1px solid #cfd7e6;
|
|
border-radius: 6px;
|
|
color: #fff;
|
|
background: #1f6feb;
|
|
}
|
|
|
|
.composer {
|
|
display: grid;
|
|
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
gap: 10px;
|
|
}
|
|
|
|
.composer input,
|
|
.composer button,
|
|
.composer-upload-button {
|
|
height: 40px;
|
|
border: 1px solid #cfd7e6;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.composer input {
|
|
min-width: 0;
|
|
padding: 0 12px;
|
|
}
|
|
|
|
.composer button,
|
|
.composer-upload-button {
|
|
display: inline-grid;
|
|
padding: 0 18px;
|
|
place-items: center;
|
|
color: #fff;
|
|
background: #1f6feb;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.composer-upload-button input {
|
|
display: none;
|
|
}
|
|
|
|
.developer-pane {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
|
align-content: start;
|
|
gap: 1px;
|
|
min-width: 0;
|
|
background: #d9dee8;
|
|
}
|
|
|
|
.developer-panel {
|
|
min-width: 0;
|
|
padding: 18px;
|
|
background: #fff;
|
|
}
|
|
|
|
.developer-panel--wide {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.task-pane article {
|
|
display: grid;
|
|
grid-template-columns: 84px 1fr;
|
|
gap: 12px;
|
|
padding: 10px 0;
|
|
border-bottom: 1px solid #edf1f7;
|
|
}
|
|
|
|
.capability-pane article {
|
|
display: grid;
|
|
grid-template-columns: 1fr auto;
|
|
gap: 12px;
|
|
padding: 8px 0;
|
|
border-bottom: 1px solid #edf1f7;
|
|
}
|
|
|
|
.capability-pane span {
|
|
color: #647084;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.trace-pane article {
|
|
display: grid;
|
|
gap: 4px;
|
|
padding: 8px 0;
|
|
border-bottom: 1px solid #edf1f7;
|
|
}
|
|
|
|
.trace-pane span,
|
|
.trace-pane small {
|
|
color: #647084;
|
|
}
|
|
|
|
.trace-pane small {
|
|
overflow-wrap: anywhere;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.trace-error {
|
|
margin-bottom: 10px;
|
|
padding: 8px;
|
|
border: 1px solid #efb3b3;
|
|
border-radius: 6px;
|
|
color: #8a1f1f;
|
|
background: #fff5f5;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.trace-artifacts {
|
|
display: grid;
|
|
gap: 4px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.trace-task-graph {
|
|
display: grid;
|
|
gap: 4px;
|
|
margin-bottom: 10px;
|
|
padding: 8px;
|
|
border: 1px solid #dce3ee;
|
|
border-radius: 6px;
|
|
background: #f8fafc;
|
|
}
|
|
|
|
.trace-history {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 6px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.trace-history button {
|
|
min-width: 0;
|
|
max-width: 100%;
|
|
padding: 5px 8px;
|
|
overflow-wrap: anywhere;
|
|
border: 1px solid #cfd7e6;
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
color: #18202f;
|
|
font-size: 12px;
|
|
text-align: left;
|
|
}
|
|
|
|
.asset-pane code {
|
|
display: block;
|
|
margin-bottom: 10px;
|
|
padding: 9px 10px;
|
|
border: 1px solid #e1e7f0;
|
|
background: #f8fafd;
|
|
}
|
|
|
|
.local-project-form {
|
|
display: grid;
|
|
grid-template-columns: 1fr auto;
|
|
gap: 8px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.local-project-form input,
|
|
.local-project-form button {
|
|
min-width: 0;
|
|
height: 36px;
|
|
border: 1px solid #cfd7e6;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.local-project-form input {
|
|
padding: 0 10px;
|
|
}
|
|
|
|
.asset-register-form {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 8px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.asset-register-form input,
|
|
.asset-register-form select,
|
|
.asset-register-form button {
|
|
min-width: 0;
|
|
height: 34px;
|
|
border: 1px solid #cfd7e6;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.asset-register-form input,
|
|
.asset-register-form select {
|
|
padding: 0 10px;
|
|
}
|
|
|
|
.asset-register-form button {
|
|
color: #fff;
|
|
background: #1f6feb;
|
|
}
|
|
|
|
.status-line,
|
|
.manifest-path {
|
|
margin-bottom: 10px;
|
|
color: #647084;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.manifest-path {
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.file-pane input,
|
|
.file-pane textarea,
|
|
.memory-pane textarea {
|
|
display: block;
|
|
width: 100%;
|
|
margin-bottom: 10px;
|
|
padding: 10px;
|
|
border: 1px solid #cfd7e6;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.file-pane input {
|
|
height: 36px;
|
|
}
|
|
|
|
.file-pane textarea,
|
|
.memory-pane textarea {
|
|
min-height: 150px;
|
|
resize: vertical;
|
|
}
|
|
|
|
.file-list {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
}
|
|
|
|
.file-list button {
|
|
padding: 6px 10px;
|
|
border: 1px solid #cfd7e6;
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
}
|
|
|
|
.limited-command-list {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.limited-command-list button {
|
|
height: 32px;
|
|
padding: 0 12px;
|
|
border: 1px solid #cfd7e6;
|
|
border-radius: 6px;
|
|
color: #fff;
|
|
background: #1f6feb;
|
|
}
|
|
|
|
.preview-frame {
|
|
display: grid;
|
|
width: 100%;
|
|
min-height: 180px;
|
|
place-items: center;
|
|
border: 1px solid #cfd7e6;
|
|
background: #101827;
|
|
color: #d9e7ff;
|
|
}
|
|
|
|
iframe.preview-frame {
|
|
display: block;
|
|
height: 180px;
|
|
}
|
|
|
|
@media (max-width: 1100px) {
|
|
.app-shell--user {
|
|
padding: 0;
|
|
}
|
|
|
|
.app-shell--user .chat-pane {
|
|
min-height: 100vh;
|
|
border: 0;
|
|
}
|
|
|
|
.app-shell--dev {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.developer-pane {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.developer-panel--wide {
|
|
grid-column: auto;
|
|
}
|
|
|
|
.settings-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.composer {
|
|
grid-template-columns: 1fr auto;
|
|
}
|
|
|
|
.composer-upload-button {
|
|
grid-column: 1 / -1;
|
|
}
|
|
}
|