From 15423697704a7011960d25a71429bfab0ec224c3 Mon Sep 17 00:00:00 2001 From: chuzhongzai Date: Sat, 11 Jul 2026 15:15:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E9=BD=90=E7=BC=BA=E5=A4=B1=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/styles/theme.css | 175 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 src/styles/theme.css diff --git a/src/styles/theme.css b/src/styles/theme.css new file mode 100644 index 0000000..d5739d1 --- /dev/null +++ b/src/styles/theme.css @@ -0,0 +1,175 @@ +/* ========== CSS Custom Properties ========== */ +:root { + --bg-body: #f0f2f5; + --bg-surface: #ffffff; + --bg-card: #ffffff; + --bg-hover: #f5f7fa; + + --text-primary: #1d2129; + --text-secondary: #86909c; + --text-disabled: #c9cdd4; + + --border-color: #e5e6eb; + --border-radius: 8px; + --border-radius-sm: 4px; + + --shadow-card: 0 1px 4px rgba(0, 0, 0, 0.08); + --shadow-elevated: 0 4px 16px rgba(0, 0, 0, 0.12); + + --transition-fast: 0.2s ease; + --transition-normal: 0.3s ease; +} + +html.dark { + --bg-body: #1a1a2e; + --bg-surface: #16213e; + --bg-card: #1a1a2e; + --bg-hover: #1f2b47; + + --text-primary: #e5e6eb; + --text-secondary: #8b95a5; + --text-disabled: #4e5969; + + --border-color: #2c3e50; + --shadow-card: 0 1px 4px rgba(0, 0, 0, 0.3); + --shadow-elevated: 0 4px 16px rgba(0, 0, 0, 0.4); +} + +/* ========== Global Base ========== */ +body { + margin: 0; + padding: 0; + background-color: var(--bg-body); + color: var(--text-primary); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + font-size: 16px; + transition: background-color var(--transition-normal), color var(--transition-normal); +} + +#app { + min-height: 100vh; + background-color: var(--bg-body); + transition: background-color var(--transition-normal); +} + +/* ========== Auth Screen ========== */ +.auth-container { + position: fixed; + inset: 0; + z-index: 1000; + display: flex; + justify-content: center; + align-items: center; + background: var(--bg-body); +} + +.auth-card { + background: var(--bg-surface); + border-radius: 16px; + box-shadow: var(--shadow-elevated); + padding: 56px 48px 44px; + width: 440px; + max-width: 90vw; + text-align: center; +} + +.auth-card h1 { + margin: 0 0 8px; + font-size: 32px; + font-weight: 700; + color: var(--text-primary); +} + +.auth-card .auth-subtitle { + margin: 0 0 36px; + font-size: 15px; + color: var(--text-secondary); +} + +.auth-card .auth-form { + display: flex; + flex-direction: column; + gap: 18px; +} + +.auth-card .auth-btn { + width: 100%; + font-size: 15px; + padding: 12px 0; +} + +/* ========== Dashboard Grid ========== */ +.dashboard { + padding: 24px; + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 16px; + height: 100%; + overflow: hidden; + box-sizing: border-box; +} + +.control-card { + background: var(--bg-card); + border-radius: var(--border-radius); + box-shadow: var(--shadow-card); + padding: 24px; + transition: box-shadow var(--transition-fast); + align-self: start; +} + +.control-card:hover { + box-shadow: var(--shadow-elevated); +} + +.card-wide { + grid-column: 1 / -1; +} + +.control-card h3 { + margin: 0 0 16px; + font-size: 13px; + font-weight: 600; + color: var(--text-secondary); + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.control-card .card-row { + display: flex; + flex-wrap: wrap; + gap: 12px; + align-items: center; +} + +.control-card .usage-text { + font-size: 15px; + color: var(--text-primary); + line-height: 1.6; +} + +.control-card .thumbnail-body { + text-align: center; +} + +.control-card .gallery-name { + margin: 0 0 12px; + font-size: 14px; + color: var(--text-secondary); + word-break: break-all; +} + +/* ========== Element Plus Overrides ========== */ +/* increase default button/input text size */ +.el-button--small { + font-size: 13px; +} +.el-select { + font-size: 13px; +} +.el-input__inner { + font-size: 14px; +} +.el-table { + font-size: 14px; +}