Files
ai-image-generator-20260929…/static/style.css
T

206 lines
3.0 KiB
CSS

* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--bg: #0f1220;
--panel: #1a1f35;
--panel-2: #232a47;
--text: #e8ecff;
--muted: #9aa3c7;
--primary: #7c5cff;
--primary-hover: #6a4bee;
--border: #2c3457;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
"Microsoft YaHei", sans-serif;
background: radial-gradient(circle at top, #1b2140 0%, var(--bg) 60%);
color: var(--text);
min-height: 100vh;
padding: 24px 16px;
}
.app {
max-width: 1100px;
margin: 0 auto;
}
.header {
text-align: center;
margin-bottom: 24px;
}
.header h1 {
font-size: 28px;
margin-bottom: 6px;
}
.subtitle {
color: var(--muted);
font-size: 14px;
}
.main {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
@media (max-width: 860px) {
.main {
grid-template-columns: 1fr;
}
}
.panel {
background: var(--panel);
border: 1px solid var(--border);
border-radius: 16px;
padding: 20px;
}
.field {
display: block;
margin-bottom: 14px;
}
.field-label {
display: block;
font-size: 13px;
color: var(--muted);
margin-bottom: 6px;
}
textarea,
select {
width: 100%;
background: var(--panel-2);
border: 1px solid var(--border);
border-radius: 10px;
color: var(--text);
padding: 10px 12px;
font-size: 14px;
font-family: inherit;
outline: none;
transition: border-color 0.2s;
}
textarea:focus,
select:focus {
border-color: var(--primary);
}
textarea {
resize: vertical;
}
.row {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 10px;
}
@media (max-width: 520px) {
.row {
grid-template-columns: 1fr;
}
}
.btn-primary {
width: 100%;
background: var(--primary);
color: #fff;
border: none;
border-radius: 10px;
padding: 12px;
font-size: 15px;
font-weight: 600;
cursor: pointer;
transition: background 0.2s, transform 0.1s;
}
.btn-primary:hover:not(:disabled) {
background: var(--primary-hover);
}
.btn-primary:active:not(:disabled) {
transform: scale(0.99);
}
.btn-primary:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.btn-secondary {
display: inline-block;
background: var(--panel-2);
color: var(--text);
border: 1px solid var(--border);
border-radius: 10px;
padding: 10px 16px;
font-size: 14px;
text-decoration: none;
cursor: pointer;
transition: background 0.2s;
}
.btn-secondary:hover {
background: #2c3560;
}
.status {
margin-top: 10px;
font-size: 13px;
color: var(--muted);
min-height: 18px;
}
.status.error {
color: #ff7b7b;
}
.preview-panel {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 380px;
}
.placeholder {
text-align: center;
color: var(--muted);
}
.placeholder-icon {
font-size: 48px;
margin-bottom: 10px;
}
.result-image {
max-width: 100%;
border-radius: 12px;
border: 1px solid var(--border);
display: block;
}
.actions {
margin-top: 16px;
}
.hidden {
display: none !important;
}
.footer {
text-align: center;
color: var(--muted);
font-size: 12px;
margin-top: 24px;
}