diff --git a/templates/root2.html b/templates/root2.html index 4964fedea87e4e809aa456ab0a5f21a4e063dd7c..8ac13cd83999311082ddff7ffd0d903877296acc 100644 --- a/templates/root2.html +++ b/templates/root2.html @@ -37,7 +37,7 @@
-

// 功能导航

+

功能导航

[M] @@ -64,7 +64,7 @@
-

// 系统信息

+

系统信息

版本信息: @@ -96,7 +96,7 @@
-

// UOS Libvirt Exporter © 2025 | 暗色终端主题

+

UOS Libvirt Exporter © 2025 | 暗色终端主题

diff --git a/templates/styles.css b/templates/styles.css index bf0dcb3baebd346ac9bcd1d075c5d5b3c8dede23..8f65d847601bce927276102a83a815db30f348dc 100644 --- a/templates/styles.css +++ b/templates/styles.css @@ -447,4 +447,1114 @@ footer { font-size: 1.3rem; } +} + +/* Theme Root1 - 简洁蓝主题 */ +.theme-root1 { + --primary-color: #2563eb; + --secondary-color: #1e40af; + --accent-color: #3b82f6; + --light-bg: #f8fafc; + --dark-bg: #1e293b; + --light-text: #f8fafc; + --dark-text: #1e293b; + --border-color: #e2e8f0; + --card-bg: #ffffff; + --shadow: 0 4px 20px rgba(37, 99, 235, 0.1); + --controls-bg: rgba(248, 250, 252, 0.95); + --button-bg: #64748b; + --button-hover-bg: #475569; + --active-button-bg: #2563eb; + --refresh-button-bg: #3b82f6; + --refresh-button-hover-bg: #2563eb; + --link-card-bg: linear-gradient(135deg, #3b82f6, #2563eb); + --link-card-text: #ffffff; + --info-card-bg: #ffffff; + --info-card-header: #1e293b; + --info-value-color: #2563eb; + --footer-bg: #1e293b; + --footer-text: #f8fafc; + --instructions-bg: #eff6ff; + --instructions-border: #3b82f6; + --instructions-header: #1e293b; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; +} + +.theme-root1 body { + background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%); + min-height: 100vh; + margin: 0; + padding: 0; +} + +.theme-root1 .container { + min-height: 100vh; + display: flex; + flex-direction: column; + background: rgba(255, 255, 255, 0.98); + backdrop-filter: blur(10px); + border-radius: 0; + box-shadow: none; +} + +.theme-root1 header { + background: linear-gradient(135deg, var(--secondary-color), #1e3a8a); + color: var(--light-text); + padding: 40px 20px 30px; + text-align: center; + position: relative; + overflow: hidden; + flex: 0 0 auto; + border-bottom: 1px solid rgba(59, 130, 246, 0.2); +} + +.theme-root1 header::before { + content: ""; + position: absolute; + top: -50%; + left: -50%; + width: 200%; + height: 200%; + background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 70%); + transform: rotate(30deg); +} + +.theme-root1 h1 { + font-size: 2.5rem; + font-weight: 700; + margin-bottom: 15px; + letter-spacing: -0.5px; + text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); + color: #ffffff; +} + +.theme-root1 .subtitle { + font-size: 1.1rem; + opacity: 0.95; + max-width: 600px; + margin: 0 auto; + font-weight: 300; + color: #e0f2fe; +} + +.theme-root1 .controls { + background: var(--controls-bg); + border-bottom: 1px solid var(--border-color); + backdrop-filter: blur(10px); +} + +.theme-root1 .template-btn { + background: var(--button-bg); + color: white; + border: none; + border-radius: 20px; + cursor: pointer; + font-size: 0.85rem; + transition: all 0.3s ease; + box-shadow: 0 2px 5px rgba(37, 99, 235, 0.2); + font-weight: 500; +} + +.theme-root1 .template-btn:hover { + background: var(--button-hover-bg); + transform: translateY(-3px); + box-shadow: 0 6px 15px rgba(37, 99, 235, 0.3); +} + +.theme-root1 .template-btn.active { + background: var(--active-button-bg); + box-shadow: 0 4px 15px rgba(37, 99, 235, 0.4); +} + +.theme-root1 .refresh-btn { + background: var(--refresh-button-bg); + color: white; + border: none; + border-radius: 20px; + cursor: pointer; + font-size: 0.85rem; + transition: all 0.3s ease; + box-shadow: 0 2px 5px rgba(59, 130, 246, 0.2); + font-weight: 500; +} + +.theme-root1 .refresh-btn:hover { + background: var(--refresh-button-hover-bg); + transform: translateY(-3px); + box-shadow: 0 6px 15px rgba(59, 130, 246, 0.3); +} + +.theme-root1 .link-item { + background: var(--link-card-bg); + color: var(--link-card-text); + border-radius: 12px; + transition: all 0.3s ease; + box-shadow: 0 4px 15px rgba(37, 99, 235, 0.2); + border: 1px solid rgba(59, 130, 246, 0.1); +} + +.theme-root1 .link-item:hover { + transform: translateY(-5px); + box-shadow: 0 8px 25px rgba(37, 99, 235, 0.3); +} + +.theme-root1 .info-list { + background: var(--info-card-bg); + border-radius: 12px; + box-shadow: 0 4px 15px rgba(37, 99, 235, 0.1); + border: 1px solid var(--border-color); +} + +.theme-root1 .info-label { + color: var(--dark-text); + font-weight: 600; +} + +.theme-root1 .info-value { + color: var(--primary-color); + font-weight: 600; +} + +.theme-root1 footer { + background: var(--footer-bg); + color: var(--footer-text); + border-top: 1px solid rgba(59, 130, 246, 0.2); +} + +/* Section titles for theme-root1 */ +.theme-root1 .section-title { + color: var(--secondary-color); + font-weight: 700; + font-size: 1.4rem; + margin-bottom: 20px; + position: relative; + padding-bottom: 10px; +} + +.theme-root1 .section-title::after { + content: ""; + position: absolute; + bottom: 0; + left: 0; + width: 40px; + height: 3px; + background: linear-gradient(90deg, var(--primary-color), var(--accent-color)); + border-radius: 2px; +} + +/* Theme Root3 - 极简风主题 */ +.theme-root3 { + --primary-color: #1a1a1a; + --secondary-color: #2d2d2d; + --accent-color: #404040; + --light-bg: #fafafa; + --dark-bg: #1a1a1a; + --light-text: #fafafa; + --dark-text: #1a1a1a; + --border-color: #e0e0e0; + --card-bg: #ffffff; + --shadow: 0 2px 8px rgba(0, 0, 0, 0.05); + --controls-bg: rgba(255, 255, 255, 0.95); + --button-bg: #666666; + --button-hover-bg: #4d4d4d; + --active-button-bg: #1a1a1a; + --refresh-button-bg: #2d2d2d; + --refresh-button-hover-bg: #1a1a1a; + --link-card-bg: #f5f5f5; + --link-card-text: #1a1a1a; + --info-card-bg: #ffffff; + --info-card-header: #2d2d2d; + --info-value-color: #1a1a1a; + --footer-bg: #1a1a1a; + --footer-text: #fafafa; + --instructions-bg: #f5f5f5; + --instructions-border: #d0d0d0; + --instructions-header: #2d2d2d; + font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', Arial, sans-serif; +} + +.theme-root3 body { + background: #ffffff; + min-height: 100vh; + margin: 0; + padding: 0; +} + +.theme-root3 .container { + min-height: 100vh; + display: flex; + flex-direction: column; + background: #ffffff; + border-radius: 0; + box-shadow: none; +} + +.theme-root3 header { + background: #ffffff; + color: var(--dark-text); + padding: 50px 20px 40px; + text-align: center; + position: relative; + overflow: hidden; + flex: 0 0 auto; + border-bottom: 1px solid var(--border-color); +} + +.theme-root3 h1 { + font-size: 2.2rem; + font-weight: 300; + margin-bottom: 10px; + letter-spacing: -1px; + color: var(--primary-color); + text-transform: uppercase; +} + +.theme-root3 .subtitle { + font-size: 1rem; + opacity: 0.7; + max-width: 600px; + margin: 0 auto; + font-weight: 300; + color: var(--dark-text); + letter-spacing: 0.5px; +} + +.theme-root3 .controls { + background: var(--controls-bg); + border-bottom: 1px solid var(--border-color); + backdrop-filter: blur(10px); + padding: 12px 20px; +} + +.theme-root3 .template-btn { + background: var(--button-bg); + color: white; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 0.8rem; + transition: all 0.2s ease; + box-shadow: none; + font-weight: 400; + padding: 4px 10px; +} + +.theme-root3 .template-btn:hover { + background: var(--button-hover-bg); + transform: none; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +.theme-root3 .template-btn.active { + background: var(--active-button-bg); + box-shadow: none; +} + +.theme-root3 .refresh-btn { + background: var(--refresh-button-bg); + color: white; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 0.8rem; + transition: all 0.2s ease; + box-shadow: none; + font-weight: 400; + padding: 4px 10px; +} + +.theme-root3 .refresh-btn:hover { + background: var(--refresh-button-hover-bg); + transform: none; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +.theme-root3 .link-item { + background: var(--link-card-bg); + color: var(--link-card-text); + border-radius: 0; + transition: all 0.2s ease; + box-shadow: none; + border: 1px solid var(--border-color); + padding: 15px; +} + +.theme-root3 .link-item:hover { + transform: none; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); + background: #eeeeee; +} + +.theme-root3 .info-list { + background: var(--info-card-bg); + border-radius: 0; + box-shadow: none; + border: 1px solid var(--border-color); + padding: 15px; +} + +.theme-root3 .info-item { + padding: 10px 0; + border-bottom: 1px solid var(--border-color); +} + +.theme-root3 .info-label { + color: var(--dark-text); + font-weight: 400; + font-size: 0.9rem; +} + +.theme-root3 .info-value { + color: var(--primary-color); + font-weight: 400; + font-size: 0.9rem; +} + +.theme-root3 footer { + background: var(--footer-bg); + color: var(--footer-text); + border-top: 1px solid var(--border-color); + padding: 20px; + font-size: 0.9rem; +} + +/* Section titles for theme-root3 */ +.theme-root3 .section-title { + color: var(--primary-color); + font-weight: 300; + font-size: 1.2rem; + margin-bottom: 15px; + position: relative; + padding-bottom: 8px; + text-transform: uppercase; + letter-spacing: 1px; +} + +.theme-root3 .section-title::after { + content: ""; + position: absolute; + bottom: 0; + left: 0; + width: 30px; + height: 1px; + background: var(--primary-color); +} + +/* Minimalist adjustments for theme-root3 */ +.theme-root3 .link-icon { + font-size: 1.2rem; + margin-right: 12px; + width: 2rem; +} + +.theme-root3 .link-title { + font-size: 1rem; + font-weight: 400; + margin-bottom: 3px; +} + +.theme-root3 .link-description { + font-size: 0.8rem; + opacity: 0.6; +} + +.theme-root3 .content-wrapper { + gap: 20px; + margin: 30px 0; +} + +.theme-root3 .main-content { + padding: 20px 15px; +} + +/* Theme Root4 - Dracula 主题 */ +.theme-root4 { + --primary-color: #bd93f9; + --secondary-color: #282a36; + --accent-color: #ff79c6; + --light-bg: #f8f8f2; + --dark-bg: #282a36; + --light-text: #f8f8f2; + --dark-text: #282a36; + --border-color: #44475a; + --card-bg: #44475a; + --shadow: 0 4px 20px rgba(189, 147, 249, 0.15); + --controls-bg: rgba(68, 71, 90, 0.95); + --button-bg: #6272a4; + --button-hover-bg: #5a5c6e; + --active-button-bg: #bd93f9; + --refresh-button-bg: #50fa7b; + --refresh-button-hover-bg: #45f06d; + --link-card-bg: linear-gradient(135deg, #6272a4, #bd93f9); + --link-card-text: #f8f8f2; + --info-card-bg: #44475a; + --info-card-header: #282a36; + --info-value-color: #bd93f9; + --footer-bg: #282a36; + --footer-text: #f8f8f2; + --instructions-bg: #3a3c4e; + --instructions-border: #bd93f9; + --instructions-header: #f8f8f2; + font-family: 'Fira Code', 'Consolas', 'Monaco', 'Courier New', monospace; +} + +.theme-root4 body { + background: linear-gradient(135deg, #282a36 0%, #1e1f29 100%); + min-height: 100vh; + margin: 0; + padding: 0; + color: #f8f8f2; +} + +.theme-root4 .container { + min-height: 100vh; + display: flex; + flex-direction: column; + background: rgba(40, 42, 54, 0.98); + backdrop-filter: blur(10px); + border-radius: 0; + box-shadow: none; +} + +.theme-root4 header { + background: linear-gradient(135deg, var(--secondary-color), #1e1f29); + color: var(--light-text); + padding: 40px 20px 30px; + text-align: center; + position: relative; + overflow: hidden; + flex: 0 0 auto; + border-bottom: 1px solid rgba(189, 147, 249, 0.3); +} + +.theme-root4 header::before { + content: ""; + position: absolute; + top: -50%; + left: -50%; + width: 200%; + height: 200%; + background: radial-gradient(circle, rgba(189, 147, 249, 0.1) 0%, rgba(189, 147, 249, 0) 70%); + transform: rotate(30deg); +} + +.theme-root4 h1 { + font-size: 2.5rem; + font-weight: 700; + margin-bottom: 15px; + letter-spacing: -0.5px; + text-shadow: 0 2px 10px rgba(189, 147, 249, 0.3); + color: #bd93f9; +} + +.theme-root4 .subtitle { + font-size: 1.1rem; + opacity: 0.9; + max-width: 600px; + margin: 0 auto; + font-weight: 300; + color: #f8f8f2; +} + +.theme-root4 .controls { + background: var(--controls-bg); + border-bottom: 1px solid var(--border-color); + backdrop-filter: blur(10px); +} + +.theme-root4 .template-btn { + background: var(--button-bg); + color: var(--light-text); + border: none; + border-radius: 20px; + cursor: pointer; + font-size: 0.85rem; + transition: all 0.3s ease; + box-shadow: 0 2px 5px rgba(189, 147, 249, 0.2); + font-weight: 500; +} + +.theme-root4 .template-btn:hover { + background: var(--button-hover-bg); + transform: translateY(-3px); + box-shadow: 0 6px 15px rgba(189, 147, 249, 0.3); +} + +.theme-root4 .template-btn.active { + background: var(--active-button-bg); + box-shadow: 0 4px 15px rgba(189, 147, 249, 0.4); +} + +.theme-root4 .refresh-btn { + background: var(--refresh-button-bg); + color: #282a36; + border: none; + border-radius: 20px; + cursor: pointer; + font-size: 0.85rem; + transition: all 0.3s ease; + box-shadow: 0 2px 5px rgba(80, 250, 123, 0.2); + font-weight: 500; +} + +.theme-root4 .refresh-btn:hover { + background: var(--refresh-button-hover-bg); + transform: translateY(-3px); + box-shadow: 0 6px 15px rgba(80, 250, 123, 0.3); +} + +.theme-root4 .link-item { + background: var(--link-card-bg); + color: var(--link-card-text); + border-radius: 12px; + transition: all 0.3s ease; + box-shadow: 0 4px 15px rgba(189, 147, 249, 0.2); + border: 1px solid rgba(189, 147, 249, 0.1); +} + +.theme-root4 .link-item:hover { + transform: translateY(-5px); + box-shadow: 0 8px 25px rgba(189, 147, 249, 0.3); +} + +.theme-root4 .info-list { + background: var(--info-card-bg); + border-radius: 12px; + box-shadow: 0 4px 15px rgba(189, 147, 249, 0.1); + border: 1px solid var(--border-color); +} + +.theme-root4 .info-label { + color: var(--light-text); + font-weight: 600; +} + +.theme-root4 .info-value { + color: var(--primary-color); + font-weight: 600; +} + +.theme-root4 footer { + background: var(--footer-bg); + color: var(--footer-text); + border-top: 1px solid rgba(189, 147, 249, 0.2); +} + +/* Section titles for theme-root4 */ +.theme-root4 .section-title { + color: #bd93f9; + font-weight: 700; + font-size: 1.4rem; + margin-bottom: 20px; + position: relative; + padding-bottom: 10px; + text-transform: uppercase; + letter-spacing: 1px; +} + +.theme-root4 .section-title::after { + content: ""; + position: absolute; + bottom: 0; + left: 0; + width: 40px; + height: 3px; + background: linear-gradient(90deg, #bd93f9, #ff79c6); + border-radius: 2px; +} + +/* Dracula theme specific adjustments */ +.theme-root4 .link-icon { + font-size: 1.3rem; + margin-right: 15px; + width: 2.5rem; + text-align: center; + color: #ff79c6; +} + +.theme-root4 .link-title { + font-size: 1.1rem; + font-weight: 600; + margin-bottom: 5px; + color: #f8f8f2; +} + +.theme-root4 .link-description { + font-size: 0.85rem; + opacity: 0.8; + color: #6272a4; +} + +.theme-root4 .content-wrapper { + gap: 30px; + margin: 40px 0; +} + +.theme-root4 .main-content { + padding: 30px 15px; +} + +/* Code-like styling for Dracula theme */ +.theme-root4 .info-item { + padding: 12px 0; + border-bottom: 1px solid rgba(68, 71, 90, 0.5); +} + +.theme-root4 .info-item:last-child { + border-bottom: none; +} + +.theme-root4 .info-label { + color: #6272a4; + font-weight: 500; +} + +.theme-root4 .info-value { + color: #bd93f9; + font-weight: 600; + font-family: 'Fira Code', 'Consolas', monospace; +} + +/* Terminal-like glow effect */ +.theme-root4 .link-item { + position: relative; + overflow: hidden; +} + +.theme-root4 .link-item::before { + content: ""; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(189, 147, 249, 0.1), transparent); + transition: left 0.5s ease; +} + +.theme-root4 .link-item:hover::before { + left: 100%; +} + +/* Custom scrollbar for Dracula theme */ +.theme-root4 ::-webkit-scrollbar { + width: 8px; +} + +.theme-root4 ::-webkit-scrollbar-track { + background: #282a36; +} + +.theme-root4 ::-webkit-scrollbar-thumb { + background: #44475a; + border-radius: 4px; +} + +.theme-root4 ::-webkit-scrollbar-thumb:hover { + background: #6272a4; +} + +/* Theme Root2 - 暗色终端主题 */ +.theme-root2 { + --primary-color: #00ff00; + --secondary-color: #1a1a1a; + --accent-color: #00cc00; + --light-bg: #0d0d0d; + --dark-bg: #000000; + --light-text: #00ff00; + --dark-text: #00ff00; + --border-color: #333333; + --card-bg: #1a1a1a; + --shadow: 0 2px 10px rgba(0, 255, 0, 0.2); + --controls-bg: rgba(26, 26, 26, 0.95); + --button-bg: #2d2d2d; + --button-hover-bg: #404040; + --active-button-bg: #00ff00; + --refresh-button-bg: #006600; + --refresh-button-hover-bg: #008800; + --link-card-bg: #0d0d0d; + --link-card-text: #00ff00; + --info-card-bg: #1a1a1a; + --info-card-header: #000000; + --info-value-color: #00ff00; + --footer-bg: #000000; + --footer-text: #00ff00; + --instructions-bg: #0d0d0d; + --instructions-border: #00ff00; + --instructions-header: #000000; + font-family: 'Courier New', 'Monaco', 'Consolas', 'Lucida Console', monospace; +} + +.theme-root2 body { + background: #000000; + min-height: 100vh; + margin: 0; + padding: 0; + color: #00ff00; +} + +.theme-root2 .container { + min-height: 100vh; + display: flex; + flex-direction: column; + background: #0d0d0d; + border-radius: 0; + box-shadow: none; + border: 1px solid #333333; + position: relative; +} + +/* 终端窗口装饰 */ +.theme-root2 .terminal-header { + background: linear-gradient(135deg, #2d2d2d, #1a1a1a); + padding: 8px 15px; + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid #333333; + flex: 0 0 auto; +} + +.theme-root2 .terminal-buttons { + display: flex; + gap: 8px; +} + +.theme-root2 .terminal-button { + width: 12px; + height: 12px; + border-radius: 50%; + border: 1px solid rgba(255, 255, 255, 0.2); +} + +.theme-root2 .terminal-button.close { + background: #ff5f57; +} + +.theme-root2 .terminal-button.minimize { + background: #ffbd2e; +} + +.theme-root2 .terminal-button.maximize { + background: #28ca42; +} + +.theme-root2 .terminal-title { + color: #808080; + font-size: 0.8rem; + font-family: 'Courier New', monospace; + letter-spacing: 0.5px; +} + +.theme-root2 header { + background: #000000; + color: #00ff00; + padding: 30px 20px 20px; + text-align: center; + flex: 0 0 auto; + border-bottom: 1px solid #333333; +} + +.theme-root2 h1 { + font-size: 2rem; + font-weight: 700; + margin-bottom: 10px; + letter-spacing: 2px; + text-shadow: 0 0 10px rgba(0, 255, 0, 0.5); + color: #00ff00; + text-transform: uppercase; +} + +.theme-root2 .subtitle { + font-size: 0.9rem; + opacity: 0.8; + max-width: 600px; + margin: 0 auto; + font-weight: 400; + color: #00cc00; + font-family: 'Courier New', monospace; +} + +.theme-root2 .controls { + background: var(--controls-bg); + border-bottom: 1px solid var(--border-color); + backdrop-filter: blur(10px); + padding: 10px 20px; +} + +.theme-root2 .template-btn { + background: var(--button-bg); + color: #00ff00; + border: 1px solid #333333; + border-radius: 3px; + cursor: pointer; + font-size: 0.8rem; + transition: all 0.2s ease; + box-shadow: none; + font-weight: 400; + padding: 4px 8px; + font-family: 'Courier New', monospace; +} + +.theme-root2 .template-btn:hover { + background: var(--button-hover-bg); + transform: none; + border-color: #00ff00; + box-shadow: 0 0 5px rgba(0, 255, 0, 0.3); +} + +.theme-root2 .template-btn.active { + background: var(--active-button-bg); + color: #000000; + border-color: #00ff00; + box-shadow: 0 0 10px rgba(0, 255, 0, 0.5); +} + +.theme-root2 .refresh-btn { + background: var(--refresh-button-bg); + color: #00ff00; + border: 1px solid #006600; + border-radius: 3px; + cursor: pointer; + font-size: 0.8rem; + transition: all 0.2s ease; + box-shadow: none; + font-weight: 400; + padding: 4px 8px; + font-family: 'Courier New', monospace; +} + +.theme-root2 .refresh-btn:hover { + background: var(--refresh-button-hover-bg); + transform: none; + border-color: #00ff00; + box-shadow: 0 0 5px rgba(0, 255, 0, 0.3); +} + +.theme-root2 .link-item { + background: var(--link-card-bg); + color: var(--link-card-text); + border-radius: 0; + transition: all 0.2s ease; + box-shadow: none; + border: 1px solid #333333; + padding: 12px 15px; + position: relative; + overflow: hidden; +} + +.theme-root2 .link-item:hover { + transform: none; + border-color: #00ff00; + box-shadow: 0 0 10px rgba(0, 255, 0, 0.2); + background: #1a1a1a; +} + +/* 终端光标效果 */ +.theme-root2 .link-item::before { + content: ""; + position: absolute; + top: 0; + left: -2px; + width: 2px; + height: 100%; + background: #00ff00; + opacity: 0; + transition: opacity 0.3s ease; +} + +.theme-root2 .link-item:hover::before { + opacity: 1; + animation: terminal-cursor 1s infinite; +} + +@keyframes terminal-cursor { + 0%, 50% { opacity: 1; } + 51%, 100% { opacity: 0; } +} + +.theme-root2 .info-list { + background: var(--info-card-bg); + border-radius: 0; + box-shadow: none; + border: 1px solid var(--border-color); + padding: 15px; +} + +.theme-root2 .info-item { + padding: 8px 0; + border-bottom: 1px solid #333333; + display: flex; + justify-content: space-between; + align-items: center; +} + +.theme-root2 .info-item:last-child { + border-bottom: none; +} + +.theme-root2 .info-label { + color: #808080; + font-weight: 400; + font-size: 0.85rem; + font-family: 'Courier New', monospace; +} + +.theme-root2 .info-value { + color: #00ff00; + font-weight: 600; + font-size: 0.85rem; + font-family: 'Courier New', monospace; +} + +.theme-root2 footer { + background: var(--footer-bg); + color: var(--footer-text); + border-top: 1px solid var(--border-color); + padding: 15px; + font-size: 0.8rem; + font-family: 'Courier New', monospace; + text-align: center; +} + +/* 终端风格的标题 */ +.theme-root2 .section-title { + color: #00ff00; + font-weight: 700; + font-size: 1.1rem; + margin-bottom: 15px; + position: relative; + padding-bottom: 5px; + text-transform: uppercase; + letter-spacing: 1px; + font-family: 'Courier New', monospace; +} + +.theme-root2 .section-title::after { + content: ""; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 1px; + background: linear-gradient(90deg, #00ff00, transparent); +} + +/* 链接图标样式 */ +.theme-root2 .link-icon { + font-size: 1rem; + margin-right: 10px; + width: 1.5rem; + text-align: center; + color: #00ff00; + font-family: 'Courier New', monospace; + font-weight: 600; +} + +.theme-root2 .link-title { + font-size: 0.9rem; + font-weight: 600; + margin-bottom: 2px; + color: #00ff00; + font-family: 'Courier New', monospace; + text-transform: uppercase; +} + +.theme-root2 .link-description { + font-size: 0.75rem; + opacity: 0.7; + color: #00cc00; + font-family: 'Courier New', monospace; +} + +.theme-root2 .content-wrapper { + gap: 20px; + margin: 20px 0; +} + +.theme-root2 .main-content { + padding: 20px 15px; +} + +/* 终端滚动条样式 */ +.theme-root2 ::-webkit-scrollbar { + width: 6px; +} + +.theme-root2 ::-webkit-scrollbar-track { + background: #1a1a1a; +} + +.theme-root2 ::-webkit-scrollbar-thumb { + background: #333333; + border-radius: 3px; +} + +.theme-root2 ::-webkit-scrollbar-thumb:hover { + background: #00ff00; +} + +/* 终端打字机效果 */ +@keyframes terminal-type { + 0% { width: 0; } + 100% { width: 100%; } +} + +.theme-root2 .subtitle { + overflow: hidden; + white-space: nowrap; + animation: terminal-type 3s steps(40, end); +} + +/* 响应式设计调整 */ +@media (max-width: 768px) { + .theme-root2 .terminal-header { + padding: 6px 12px; + } + + .theme-root2 .terminal-button { + width: 10px; + height: 10px; + } + + .theme-root2 h1 { + font-size: 1.5rem; + letter-spacing: 1px; + } + + .theme-root2 .subtitle { + font-size: 0.8rem; + } + + .theme-root2 .template-btn, + .theme-root2 .refresh-btn { + font-size: 0.75rem; + padding: 3px 6px; + } + + .theme-root2 .link-item { + padding: 10px 12px; + } + + .theme-root2 .link-icon { + font-size: 0.9rem; + margin-right: 8px; + } + + .theme-root2 .link-title { + font-size: 0.8rem; + } + + .theme-root2 .link-description { + font-size: 0.7rem; + } + + .theme-root2 .info-label, + .theme-root2 .info-value { + font-size: 0.8rem; + } + + .theme-root2 .section-title { + font-size: 1rem; + } } \ No newline at end of file