diff --git a/IDE官网/9610.html b/IDE官网/9610.html index 45c9adf..d93395a 100644 --- a/IDE官网/9610.html +++ b/IDE官网/9610.html @@ -8,8 +8,8 @@ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; - background: #f7f8fa; - color: #2c3e50; + background: #f6f1e7; + color: #1a2e38; line-height: 1.7; padding: 40px 20px; } @@ -25,7 +25,7 @@ text-align: center; margin-bottom: 36px; padding-bottom: 24px; - border-bottom: 1px solid #eef0f3; + border-bottom: 1px solid #ebe4d8; } .header .brand { display: inline-flex; @@ -33,8 +33,8 @@ gap: 8px; font-size: 13px; font-weight: 600; - color: #003860; - background: #E8F0F5; + color: #054f74; + background: #e0edf2; padding: 4px 12px; border-radius: 20px; margin-bottom: 14px; @@ -57,26 +57,26 @@ color: #1a2332; margin: 36px 0 18px; padding-left: 12px; - border-left: 3px solid #003860; + border-left: 3px solid #054f74; } /* ========== 决策树 ========== */ .decision-tree { - background: linear-gradient(180deg, #f6f8fa 0%, #f9fafb 100%); + background: linear-gradient(180deg, #fbf8f2 0%, #f6f1e7 100%); border-radius: 12px; padding: 36px 28px 32px; margin-bottom: 8px; } .q-card { background: #fff; - border: 2px solid #e2e6eb; + border: 2px solid #e0d9cc; border-radius: 10px; padding: 16px 24px; text-align: center; transition: all 0.25s ease; } .q-card:hover { - border-color: #003860; + border-color: #054f74; box-shadow: 0 4px 16px rgba(74,124,89,0.1); } .q-card .step-tag { @@ -84,7 +84,7 @@ font-size: 10px; font-weight: 700; color: #fff; - background: #003860; + background: #054f74; padding: 2px 8px; border-radius: 3px; margin-bottom: 8px; @@ -101,7 +101,7 @@ border-color: #d4c8a8; background: #fdfaf3; } - .q-card.sub .step-tag { background: #1d7281; } + .q-card.sub .step-tag { background: #054f74; } .connector { display: flex; justify-content: center; @@ -150,9 +150,9 @@ white-space: nowrap; } .option-label:hover { transform: scale(1.05); } - .option-label.yes { background: #E8F0F5; color: #003860; } + .option-label.yes { background: #e0edf2; color: #054f74; } .option-label.no { background: #faf0e0; color: #8a5a20; } - .option-label.neutral { background: #eef0f3; color: #5a6472; } + .option-label.neutral { background: #ebe4d8; color: #4a6270; } .sol-card { width: 100%; border-radius: 10px; @@ -166,7 +166,7 @@ box-shadow: 0 8px 24px rgba(0,0,0,0.08); } .sol-card.refund { - background: linear-gradient(135deg, #E8F0F5 0%, #DCE8F0 100%); + background: linear-gradient(135deg, #e0edf2 0%, #d4e4ec 100%); border-color: #b0ccb8; } .sol-card.exempt { @@ -187,7 +187,7 @@ font-size: 14.5px; font-weight: 700; } - .sol-card.refund .sol-title { color: #003860; } + .sol-card.refund .sol-title { color: #054f74; } .sol-card.exempt .sol-title { color: #8a5a20; } .sol-card.basic .sol-title { color: #4a5568; } .sol-card .sol-badge { @@ -198,8 +198,8 @@ color: #fff; letter-spacing: 0.5px; } - .sol-card.refund .sol-badge { background: #003860; } - .sol-card.exempt .sol-badge { background: #1d7281; } + .sol-card.refund .sol-badge { background: #054f74; } + .sol-card.exempt .sol-badge { background: #054f74; } .sol-card.basic .sol-badge { background: #7a8494; } .sol-card .sol-list { list-style: none; @@ -221,8 +221,8 @@ height: 5px; border-radius: 50%; } - .sol-card.refund .sol-list li::before { background: #003860; } - .sol-card.exempt .sol-list li::before { background: #1d7281; } + .sol-card.refund .sol-list li::before { background: #054f74; } + .sol-card.exempt .sol-list li::before { background: #054f74; } .sol-card.basic .sol-list li::before { background: #7a8494; } .sol-card .sol-result { padding-top: 10px; @@ -231,7 +231,7 @@ font-weight: 600; line-height: 1.5; } - .sol-card.refund .sol-result { border-color: #c0d4c6; color: #003860; } + .sol-card.refund .sol-result { border-color: #c0d4c6; color: #054f74; } .sol-card.exempt .sol-result { border-color: #e0d0a8; color: #8a5a20; } .sol-card.basic .sol-result { border-color: #d0d5dc; color: #4a5568; } .sol-card .sol-tip { @@ -282,11 +282,11 @@ } .compare-table td { padding: 11px 14px; - border-bottom: 1px solid #eef0f3; + border-bottom: 1px solid #ebe4d8; color: #4a5568; } .compare-table tr:last-child td { border-bottom: none; } - .compare-table .col-refund { color: #003860; } + .compare-table .col-refund { color: #054f74; } .compare-table .col-exempt { color: #9a6a2a; } /* ========== 我们的服务 ========== */ @@ -313,7 +313,7 @@ width: 44px; height: 44px; border-radius: 10px; - background: linear-gradient(135deg, #E8F0F5, #e0ebe4); + background: linear-gradient(135deg, #e0edf2, #ebe4d8); display: flex; align-items: center; justify-content: center; @@ -335,8 +335,8 @@ display: inline-block; font-size: 10px; font-weight: 600; - color: #003860; - background: #E8F0F5; + color: #054f74; + background: #e0edf2; padding: 2px 8px; border-radius: 3px; margin-top: 10px; @@ -373,7 +373,7 @@ font-weight: 600; margin-bottom: 6px; } - .mode-card.single h4 { color: #003860; } + .mode-card.single h4 { color: #054f74; } .mode-card.double h4 { color: #5a4a7a; } .mode-card .mode-sub { font-size: 12px; @@ -407,7 +407,7 @@ display: block; margin-bottom: 4px; } - .mode-card.single .mode-result strong { color: #003860; } + .mode-card.single .mode-result strong { color: #054f74; } .mode-card.double .mode-result strong { color: #5a4a7a; } .mode-note { margin-top: 16px; @@ -451,7 +451,7 @@ left: 0; width: 14px; height: 14px; - background: #1d7281; + background: #054f74; color: #fff; border-radius: 50%; font-size: 10px; @@ -464,7 +464,7 @@ /* ========== 底部CTA ========== */ .cta-box { margin-top: 36px; - background: linear-gradient(135deg, #003860 0%, #003860 100%); + background: linear-gradient(135deg, #054f74 0%, #054f74 100%); border-radius: 12px; padding: 32px 36px; text-align: center; @@ -516,7 +516,7 @@ text-decoration: none; } .site-topbar__brand { - color: #003860; + color: #054f74; font-size: 15px; font-weight: 700; } @@ -528,7 +528,7 @@ height: 32px; padding: 0 14px; border-radius: 4px; - background: #1d7281; + background: #054f74; color: #fff; font-size: 13px; font-weight: 700; diff --git a/IDE官网/assets/css/ai-advisor.css b/IDE官网/assets/css/ai-advisor.css index 663b467..486f7a1 100644 --- a/IDE官网/assets/css/ai-advisor.css +++ b/IDE官网/assets/css/ai-advisor.css @@ -3,15 +3,15 @@ :root { --ai-header-h: 72px; --ai-ease: cubic-bezier(0.22, 1, 0.36, 1); - --ai-bg: #e9ecf1; - --ai-bg-soft: #f2f4f8; + --ai-bg: #f5f4f1; + --ai-bg-soft: #faf8f6; --ai-surface: #ffffff; --ai-text: #121820; --ai-text-2: #3a4450; --ai-text-3: #66707d; - --ai-border: #d2d8e0; - --ai-border-soft: #e2e7ee; - --ai-input-bg: #e4e8ef; + --ai-border: #e0d9cc; + --ai-border-soft: #ebe4d8; + --ai-input-bg: #f0ebe3; --ai-radius: 16px; --ai-radius-lg: 22px; --ai-radius-sm: 12px; @@ -26,17 +26,18 @@ rgba(255, 255, 255, 0.9) 52%, rgba(255, 255, 255, 0.95) 100% ); - --ai-glass-panel: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); + --ai-glass-panel: linear-gradient(180deg, #ffffff 0%, var(--ai-bg-soft) 100%); --ai-glass-shadow: none; - --ai-action: #1d7281; - --ai-action-hover: #186170; - --ai-action-rgb: 29, 114, 129; - --ai-primary-soft: #d2e9ec; + --ai-action: #054f74; + --ai-action-hover: #054b6e; + --ai-action-rgb: 5, 79, 116; + --ai-primary-soft: #e0edf2; --ai-primary-mid: color-mix(in srgb, var(--ai-action) 16%, #fff); --ai-primary-softer: color-mix(in srgb, var(--ai-action) 10%, #fff); - --ai-navy-rgb: var(--kc-primary-rgb, 0, 56, 96); + --ai-navy-rgb: var(--kc-primary-rgb, 5, 79, 116); --ai-accent-rgb: var(--ai-action-rgb); --ai-canvas: var(--ai-bg); + --ai-header-bg: color-mix(in srgb, var(--ai-bg) 94%, transparent); --ai-ink: var(--ai-text); --ai-muted: var(--ai-text-2); --ai-line: var(--ai-border); @@ -44,6 +45,8 @@ --ai-gold: var(--ai-action); --ai-content-max: 1120px; --ai-guide-panel-w: 520px; + --ai-acrylic-bg: rgba(255, 255, 255, 0.32); + --ai-acrylic-bg-primary: rgba(255, 255, 255, 0.38); } body.command-home { @@ -57,10 +60,10 @@ body.command-home #header.header, body.command-home #header.header.sticked { display: flex !important; padding: 10px 0; - background: color-mix(in srgb, var(--ai-surface) 98%, transparent); + background: var(--ai-header-bg); backdrop-filter: blur(14px) saturate(165%); -webkit-backdrop-filter: blur(14px) saturate(165%); - border-bottom: 1px solid var(--ai-border); + border-bottom: 1px solid color-mix(in srgb, var(--ai-border) 28%, transparent); box-shadow: none; } @@ -84,6 +87,19 @@ body.command-home .site-nav-dock { flex-direction: column; } +body.command-home #navbar .site-nav-dock a { + display: inline-flex; + align-items: center; + gap: 8px; +} + +body.command-home #navbar .site-nav-dock a .site-nav-dock__icon { + font-size: 1.05rem; + line-height: 1; + color: var(--ai-text-3); + flex-shrink: 0; +} + @media (max-width: 1279px) { body.command-home .site-nav-dock { display: contents; @@ -115,22 +131,21 @@ body.command-home .site-nav-dock { z-index: 3; transform: translate(-50%, -50%); flex-direction: row; - align-items: flex-end; + align-items: center; justify-content: center; - gap: 2px; - padding: 5px 6px 6px; + gap: 4px; + padding: 6px 8px; border-radius: 22px; - border: 1px solid var(--ai-border); - background: var(--ai-surface); - backdrop-filter: blur(14px) saturate(165%); - -webkit-backdrop-filter: blur(14px) saturate(165%); - box-shadow: var(--ai-shadow); + border: 1px solid rgba(255, 255, 255, 0.72); + background: var(--ai-acrylic-bg); + backdrop-filter: blur(28px) saturate(160%); + -webkit-backdrop-filter: blur(28px) saturate(160%); + box-shadow: none; } body.command-home #navbar li.site-nav-dock:hover > a, body.command-home #navbar .site-nav-dock:hover > a { color: var(--ai-text-2); - background: transparent; } body.command-home #navbar .site-nav-dock a, @@ -139,48 +154,47 @@ body.command-home .site-nav-dock { display: inline-flex; align-items: center; justify-content: center; - min-height: 36px; - padding: 0 16px; + gap: 6px; + min-height: 40px; + padding: 8px 14px; border-radius: 16px; + border: 1px solid transparent; color: var(--ai-text-2); font-size: 0.84rem; font-weight: 600; letter-spacing: 0.01em; white-space: nowrap; background: transparent; - transform-origin: 50% 100%; - transition: background 0.18s var(--ai-ease), color 0.18s var(--ai-ease), transform 0.18s var(--ai-ease); + transition: + border-color 0.2s var(--ai-ease), + background 0.2s var(--ai-ease), + color 0.2s var(--ai-ease); + } + + body.command-home #navbar .site-nav-dock a .site-nav-dock__icon { + font-size: 1rem; + line-height: 1; + color: var(--ai-text-3); + transition: color 0.2s var(--ai-ease); } body.command-home #navbar .site-nav-dock a:hover, body.command-home #navbar .site-nav-dock a.active, body.command-home #navbar .site-nav-dock a.active:focus { color: var(--ai-text); - background: var(--ai-primary-soft); + border-color: rgba(255, 255, 255, 0.92); + background: rgba(255, 255, 255, 0.44); + transform: none; } body.command-home #navbar .site-nav-dock a.active, body.command-home #navbar .site-nav-dock a.active:focus { - padding-right: 22px; + color: var(--ai-action); } - body.command-home #navbar .site-nav-dock a:hover { - transform: translateY(-3px) scale(1.06); - } - - body.command-home #navbar .site-nav-dock a.active::after { - content: ''; - position: absolute; - top: 50%; - right: 8px; - left: auto; - bottom: auto; - width: 5px; - height: 5px; - border-radius: 50%; - background: var(--ai-action); - transform: translateY(-50%); - box-shadow: 0 0 0 3px rgba(var(--ai-action-rgb), 0.16); + body.command-home #navbar .site-nav-dock a:hover .site-nav-dock__icon, + body.command-home #navbar .site-nav-dock a.active .site-nav-dock__icon { + color: var(--ai-action); } body.command-home #navbar > ul > li.site-nav-tools { @@ -204,7 +218,7 @@ body.command-home #header .logo img { body.command-home #header .logo h1, body.command-home #header .brand-lockup h1, body.command-home #header .brand-lockup .brand-name { - color: var(--kc-primary, #003860); + color: var(--kc-primary, #054f74); font-size: 1.45rem; } @@ -247,16 +261,18 @@ body.command-home #navbar .language-toggle-link.active:focus { height: 32px; margin: 0; padding: 0 10px 0 8px; - border: 1px solid var(--ai-border); + border: 1px solid rgba(255, 255, 255, 0.72); border-radius: var(--ai-radius-sm); - background: var(--ai-surface); - color: var(--ai-text); + background: var(--ai-acrylic-bg); + backdrop-filter: blur(28px) saturate(160%); + -webkit-backdrop-filter: blur(28px) saturate(160%); + color: var(--ai-text-2); box-shadow: none; cursor: pointer; transition: border-color 0.2s var(--ai-ease), background 0.2s var(--ai-ease), - box-shadow 0.2s var(--ai-ease); + color 0.2s var(--ai-ease); } body.command-home .language-toggle-icon { @@ -275,10 +291,12 @@ body.command-home .language-toggle__next { color: var(--ai-action); } -body.command-home #navbar .language-toggle-link:hover { - border-color: color-mix(in srgb, var(--ai-action) 35%, var(--ai-border)); - background: var(--ai-surface); - box-shadow: 0 0 0 3px color-mix(in srgb, var(--ai-action) 12%, transparent); +body.command-home #navbar .language-toggle-link:hover, +body.command-home #navbar .language-toggle-link.active, +body.command-home #navbar .language-toggle-link.active:focus { + border-color: rgba(255, 255, 255, 0.92); + background: rgba(255, 255, 255, 0.44); + box-shadow: none; color: var(--ai-text); } @@ -310,48 +328,6 @@ body.command-home #ai-advisor-shell { background: var(--ai-bg); } -.ai-shell-bg__blobs, -.ai-shell-bg__blobs::before, -.ai-shell-bg__blobs::after { - position: absolute; - border-radius: 50%; - filter: blur(68px); - transform: translateZ(0); - pointer-events: none; -} - -.ai-shell-bg__blobs { - width: min(88vw, 900px); - height: min(72vh, 720px); - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - background: radial-gradient(circle, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.45) 50%, transparent 78%); - animation: ai-bg-drift-a 20s ease-in-out infinite; -} - -.ai-shell-bg__blobs::before { - content: ''; - width: min(64vw, 640px); - height: min(64vw, 640px); - top: 6%; - right: -8%; - left: auto; - transform: none; - background: radial-gradient(circle, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0.28) 48%, transparent 78%); - animation: ai-bg-drift-b 24s ease-in-out infinite; -} - -.ai-shell-bg__blobs::after { - content: ''; - width: min(58vw, 580px); - height: min(58vw, 580px); - bottom: -6%; - left: -2%; - background: radial-gradient(circle, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.24) 46%, transparent 78%); - animation: ai-bg-drift-c 18s ease-in-out infinite; -} - .ai-shell-bg__veil { display: none; } @@ -387,7 +363,7 @@ body.command-home #ai-advisor-shell { width: min(50vw, 720px); height: min(58%, 760px); margin: 0; - opacity: 0.62; + opacity: 0.24; overflow: hidden; transform: none; -webkit-mask-image: linear-gradient(to right, #000 90%, transparent 100%), @@ -645,39 +621,8 @@ body.command-home .ai-stage-map--eu { opacity: 1; } -@keyframes ai-bg-drift-a { - 0%, - 100% { - transform: translate(-50%, -50%) scale(1); - } - 50% { - transform: translate(calc(-50% + 2%), calc(-50% + 3%)) scale(1.05); - } -} - -@keyframes ai-bg-drift-b { - 0%, - 100% { - transform: translate(0, 0) scale(1); - } - 50% { - transform: translate(-5%, 4%) scale(1.1); - } -} - -@keyframes ai-bg-drift-c { - 0%, - 100% { - transform: translate(0, 0) scale(1); - } - 50% { - transform: translate(3%, -5%) scale(1.06); - } -} - -/* iOS liquid glass — intent doors, reply cards */ -.ai-intent-door, -.ai-card { +/* iOS liquid glass — intent doors */ +.ai-intent-door { position: relative; isolation: isolate; overflow: hidden; @@ -692,8 +637,7 @@ body.command-home .ai-stage-map--eu { transition: transform 0.22s var(--ai-ease), box-shadow 0.22s var(--ai-ease), border-color 0.22s var(--ai-ease); } -.ai-intent-door::before, -.ai-card::before { +.ai-intent-door::before { content: ''; position: absolute; inset: 0; @@ -707,8 +651,7 @@ body.command-home .ai-stage-map--eu { opacity: 0.75; } -.ai-intent-door::after, -.ai-card::after { +.ai-intent-door::after { content: ''; position: absolute; width: 120%; @@ -724,8 +667,7 @@ body.command-home .ai-stage-map--eu { animation: ai-ios-glass-blob 10s ease-in-out infinite; } -.ai-intent-door > *, -.ai-card > * { +.ai-intent-door > * { position: relative; z-index: 1; } @@ -742,10 +684,7 @@ body.command-home .ai-stage-map--eu { } } -.ai-composer, -.ai-msg-row--assistant .ai-msg-bubble, -.ai-guide-panel, -.ai-history-sidebar { +.ai-msg-row--assistant .ai-msg-bubble { position: relative; isolation: isolate; border: 1px solid var(--ai-border); @@ -758,13 +697,32 @@ body.command-home .ai-stage-map--eu { } .ai-composer { + position: relative; + isolation: isolate; overflow: hidden; + min-height: 88px; + padding: 16px 16px 16px 24px; + border-radius: 20px; + border: 1px solid rgba(255, 255, 255, 0.72); + background: var(--ai-acrylic-bg); + backdrop-filter: blur(28px) saturate(160%); + -webkit-backdrop-filter: blur(28px) saturate(160%); + box-shadow: none; + transition: + border-color 0.2s var(--ai-ease), + background 0.2s var(--ai-ease); } -.ai-composer::before, -.ai-msg-row--assistant .ai-msg-bubble:not(:has(.ai-card))::before, -.ai-guide-panel::before, -.ai-history-sidebar::before { +.ai-composer::before { + display: none; +} + +.ai-composer:focus-within { + border-color: rgba(255, 255, 255, 0.92); + background: rgba(255, 255, 255, 0.44); +} + +.ai-msg-row--assistant .ai-msg-bubble:not(:has(.ai-card))::before { content: ''; position: absolute; inset: 0; @@ -779,22 +737,13 @@ body.command-home .ai-stage-map--eu { } .ai-composer > .ai-composer-form, -.ai-msg-row--assistant .ai-msg-bubble > *, -.ai-guide-panel > *, -.ai-history-sidebar > * { +.ai-msg-row--assistant .ai-msg-bubble > * { position: relative; z-index: 1; } .ai-card-opt, -.ai-card-link, -.ai-followup-chip, -.ai-sidebar-toggle, -.ai-new-chat-ghost, -.ai-new-chat-btn, -.ai-guide-panel__close, -.ai-card__item, -.ai-history-item { +.ai-card-link { position: relative; isolation: isolate; border: 1px solid var(--ai-border); @@ -809,13 +758,33 @@ body.command-home .ai-stage-map--eu { } .ai-card-opt::before, -.ai-card-link::before, -.ai-followup-chip::before, +.ai-card-link::before { + content: none; +} + +/* 工具栏 / 快捷芯片 — 极简磨砂玻璃(与意图卡片、导航坞一致) */ +.ai-sidebar-toggle, +.ai-new-chat-ghost, +.ai-new-chat-btn, +.ai-followup-chip, +.ai-history-item { + position: relative; + isolation: isolate; + border: 1px solid rgba(255, 255, 255, 0.72); + background: var(--ai-acrylic-bg); + backdrop-filter: blur(28px) saturate(160%); + -webkit-backdrop-filter: blur(28px) saturate(160%); + box-shadow: none; + transition: + border-color 0.2s var(--ai-ease), + background 0.2s var(--ai-ease), + color 0.2s var(--ai-ease); +} + .ai-sidebar-toggle::before, .ai-new-chat-ghost::before, .ai-new-chat-btn::before, -.ai-guide-panel__close::before, -.ai-card__item::before, +.ai-followup-chip::before, .ai-history-item::before { content: none; } @@ -847,6 +816,16 @@ body.command-home .ai-stage-map--eu { top: 8px; left: 0; z-index: 3; + display: inline-flex; + align-items: center; + gap: 4px; + padding: 4px; + border-radius: 18px; + border: 1px solid rgba(255, 255, 255, 0.72); + background: var(--ai-acrylic-bg); + backdrop-filter: blur(28px) saturate(160%); + -webkit-backdrop-filter: blur(28px) saturate(160%); + box-shadow: none; } .ai-sidebar-toggle, @@ -856,9 +835,13 @@ body.command-home .ai-stage-map--eu { justify-content: center; gap: 6px; min-height: 34px; - padding: 0 10px; - border-radius: 12px; - color: var(--ai-muted); + padding: 0 12px; + border-radius: 14px; + border: 1px solid transparent; + background: transparent; + backdrop-filter: none; + -webkit-backdrop-filter: none; + color: var(--ai-text-2); font-size: 0.78rem; font-weight: 600; cursor: pointer; @@ -867,14 +850,26 @@ body.command-home .ai-stage-map--eu { .ai-sidebar-toggle { width: 34px; padding: 0; - margin-right: 6px; +} + +.ai-sidebar-toggle i, +.ai-new-chat-ghost i { + font-size: 0.95rem; + line-height: 1; + color: var(--ai-text-3); + transition: color 0.2s var(--ai-ease); } .ai-sidebar-toggle:hover, .ai-new-chat-ghost:hover { color: var(--ai-action); - border-color: color-mix(in srgb, var(--ai-action) 35%, var(--ai-border)); - background: var(--ai-primary-soft); + border-color: rgba(255, 255, 255, 0.92); + background: rgba(255, 255, 255, 0.44); +} + +.ai-sidebar-toggle:hover i, +.ai-new-chat-ghost:hover i { + color: var(--ai-action); } .ai-history-sidebar { @@ -887,11 +882,20 @@ body.command-home .ai-stage-map--eu { display: flex; flex-direction: column; padding: 16px 12px 20px; - border-right: 1px solid var(--ai-border); + border-right: 1px solid rgba(255, 255, 255, 0.55); + background: color-mix(in srgb, var(--ai-bg) 90%, var(--ai-surface)); + backdrop-filter: blur(28px) saturate(160%); + -webkit-backdrop-filter: blur(28px) saturate(160%); + box-shadow: none; transform: translateX(-105%); transition: transform 0.28s var(--ai-ease); } +.ai-history-sidebar > * { + position: relative; + z-index: 1; +} + #ai-advisor-shell.ai-history-open .ai-history-sidebar { transform: translateX(0); } @@ -907,7 +911,9 @@ body.command-home .ai-stage-map--eu { inset: 0; z-index: 19; border: none; - background: rgba(14, 29, 52, 0.28); + background: color-mix(in srgb, var(--ai-bg) 42%, rgba(26, 46, 56, 0.08)); + backdrop-filter: blur(8px) saturate(140%); + -webkit-backdrop-filter: blur(8px) saturate(140%); cursor: pointer; } @@ -921,12 +927,25 @@ body.command-home .ai-stage-map--eu { display: flex; flex-direction: column; padding: 22px 20px 24px; - border-left: 1px solid var(--ai-border); + border-left: 1px solid rgba(255, 255, 255, 0.55); + background: color-mix(in srgb, var(--ai-bg) 90%, var(--ai-surface)); + backdrop-filter: blur(28px) saturate(160%); + -webkit-backdrop-filter: blur(28px) saturate(160%); + box-shadow: none; transform: translateX(105%); transition: transform 0.28s var(--ai-ease); overflow: hidden; } +.ai-guide-panel::before { + display: none; +} + +.ai-guide-panel > * { + position: relative; + z-index: 1; +} + #ai-advisor-shell.ai-guide-open .ai-guide-panel { transform: translateX(0); } @@ -964,15 +983,24 @@ body.command-home .ai-stage-map--eu { justify-content: center; width: 32px; height: 32px; - border-radius: 10px; - color: var(--ai-muted); + border-radius: 12px; + border: 1px solid rgba(255, 255, 255, 0.72); + background: var(--ai-acrylic-bg); + backdrop-filter: blur(28px) saturate(160%); + -webkit-backdrop-filter: blur(28px) saturate(160%); + box-shadow: none; + color: var(--ai-text-2); cursor: pointer; + transition: + border-color 0.2s var(--ai-ease), + background 0.2s var(--ai-ease), + color 0.2s var(--ai-ease); } .ai-guide-panel__close:hover { color: var(--ai-action); - border-color: color-mix(in srgb, var(--ai-action) 35%, var(--ai-border)); - background: var(--ai-primary-soft); + border-color: rgba(255, 255, 255, 0.92); + background: rgba(255, 255, 255, 0.44); } .ai-guide-panel__sub { @@ -988,7 +1016,7 @@ body.command-home .ai-stage-map--eu { overflow-y: auto; display: grid; align-content: start; - gap: 8px; + gap: 10px; padding-right: 0; scrollbar-width: none; -ms-overflow-style: none; @@ -1006,19 +1034,38 @@ body.command-home .ai-stage-map--eu { column-gap: 12px; min-height: 104px; padding: 18px 16px 18px 14px; - border-radius: 16px; + border-radius: 20px; text-align: left; color: inherit; cursor: pointer; - border: 1px solid var(--ai-border-soft); - background: var(--ai-surface); - transition: border-color 0.2s var(--ai-ease), background 0.2s var(--ai-ease); + overflow: hidden; + border: 1px solid rgba(255, 255, 255, 0.72); + background: var(--ai-acrylic-bg); + backdrop-filter: blur(28px) saturate(160%); + -webkit-backdrop-filter: blur(28px) saturate(160%); + box-shadow: none; + transition: + border-color 0.2s var(--ai-ease), + background 0.2s var(--ai-ease), + color 0.2s var(--ai-ease); +} + +.ai-guide-card::before, +.ai-guide-card::after { + display: none; } .ai-guide-card:hover, .ai-guide-card:focus-visible { - border-color: color-mix(in srgb, var(--ai-action) 28%, var(--ai-border-soft)); - background: color-mix(in srgb, var(--ai-primary-soft) 18%, var(--ai-surface)); + border-color: rgba(255, 255, 255, 0.92); + background: rgba(255, 255, 255, 0.44); + box-shadow: none; + transform: none; +} + +.ai-guide-card:hover .ai-guide-card__title, +.ai-guide-card:focus-visible .ai-guide-card__title { + color: var(--ai-action); } .ai-guide-card__icon { @@ -1061,7 +1108,8 @@ body.command-home .ai-stage-map--eu { align-items: center; padding: 1px 7px; border-radius: 999px; - background: var(--ai-primary-soft); + border: 1px solid rgba(255, 255, 255, 0.55); + background: rgba(255, 255, 255, 0.28); color: var(--ai-action); font-size: 0.68rem; font-weight: 700; @@ -1115,19 +1163,26 @@ body.command-home .ai-stage-map--eu { margin-bottom: 12px; padding: 0 12px; border-radius: 14px; - color: var(--ai-ink); + color: var(--ai-text-2); font-size: 0.84rem; font-weight: 600; cursor: pointer; } .ai-new-chat-btn i { - color: var(--ai-gold); + font-size: 0.95rem; + line-height: 1; + color: var(--ai-text-3); + transition: color 0.2s var(--ai-ease); } .ai-new-chat-btn:hover { - border-color: color-mix(in srgb, var(--ai-action) 35%, var(--ai-border)); - background: var(--ai-primary-soft); + border-color: rgba(255, 255, 255, 0.92); + background: rgba(255, 255, 255, 0.44); + color: var(--ai-action); +} + +.ai-new-chat-btn:hover i { color: var(--ai-action); } @@ -1137,7 +1192,7 @@ body.command-home .ai-stage-map--eu { overflow-y: auto; display: flex; flex-direction: column; - gap: 4px; + gap: 6px; scrollbar-width: none; -ms-overflow-style: none; } @@ -1157,7 +1212,7 @@ body.command-home .ai-stage-map--eu { align-items: flex-start; gap: 10px; width: 100%; - padding: 10px; + padding: 10px 12px; border-radius: 14px; text-align: left; cursor: pointer; @@ -1166,8 +1221,12 @@ body.command-home .ai-stage-map--eu { .ai-history-item:hover, .ai-history-item.is-active { - border-color: color-mix(in srgb, var(--ai-action) 35%, var(--ai-border)); - background: var(--ai-primary-soft); + border-color: rgba(255, 255, 255, 0.92); + background: rgba(255, 255, 255, 0.44); +} + +.ai-history-item.is-active .ai-history-item__title { + color: var(--ai-action); } .ai-history-item__icon { @@ -1178,9 +1237,15 @@ body.command-home .ai-stage-map--eu { width: 28px; height: 28px; border-radius: 8px; - background: var(--ai-primary-soft); - color: var(--ai-action); + background: transparent; + color: var(--ai-text-3); font-size: 0.85rem; + transition: color 0.2s var(--ai-ease); +} + +.ai-history-item:hover .ai-history-item__icon, +.ai-history-item.is-active .ai-history-item__icon { + color: var(--ai-action); } .ai-history-item__title { @@ -1342,7 +1407,7 @@ body.command-home .ai-stage-map--eu { line-height: 1.22; white-space: normal; text-align: center; - color: var(--kc-primary, #003860); + color: var(--kc-primary, #054f74); } .ai-welcome-sub { @@ -1375,24 +1440,25 @@ body.command-home .ai-stage-map--eu { } .ai-welcome__command .ai-intent-grid { - gap: 6px 16px; + gap: 10px 14px; margin-top: 4px; padding-top: 18px; border-top: 1px solid color-mix(in srgb, var(--ai-border) 50%, transparent); } +/* 首页意图卡片 — 极简磨砂玻璃 */ .ai-welcome__command .ai-intent-door { - border: 1px solid color-mix(in srgb, var(--ai-border) 82%, transparent); + overflow: hidden; + border: 1px solid rgba(255, 255, 255, 0.72); + border-radius: 20px; + padding: 14px 14px; + background: var(--ai-acrylic-bg); + backdrop-filter: blur(28px) saturate(160%); + -webkit-backdrop-filter: blur(28px) saturate(160%); box-shadow: none; - background: color-mix(in srgb, var(--ai-surface) 72%, transparent); - backdrop-filter: none; - -webkit-backdrop-filter: none; - border-radius: 12px; - padding: 12px 10px; transition: - background 0.2s var(--ai-ease), border-color 0.2s var(--ai-ease), - color 0.2s var(--ai-ease); + background 0.2s var(--ai-ease); } .ai-welcome__command .ai-intent-door::before, @@ -1400,26 +1466,56 @@ body.command-home .ai-stage-map--eu { display: none; } -.ai-welcome__command .ai-intent-door.is-primary { - background: color-mix(in srgb, var(--ai-primary-soft) 38%, transparent); +.ai-welcome__command .ai-intent-door__icon { + display: inline-flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + border: none; + background: transparent; box-shadow: none; - border: 1px solid color-mix(in srgb, var(--ai-action) 32%, var(--ai-border)); - border-left: 2px solid var(--ai-action); - padding-left: 14px; - border-radius: 12px; +} + +.ai-welcome__command .ai-intent-door.is-primary { + padding: 18px 16px; + background: var(--ai-acrylic-bg-primary); + border-color: rgba(255, 255, 255, 0.8); + box-shadow: none; +} + +.ai-welcome__command .ai-intent-door.is-primary .ai-intent-door__icon { + width: 44px; + height: 44px; + background: transparent; + border: none; + box-shadow: none; +} + +.ai-welcome__command .ai-intent-door.is-primary .ai-intent-door__title { + color: var(--ai-action); } .ai-welcome__command .ai-intent-door:hover { - transform: none; - border-color: color-mix(in srgb, var(--ai-action) 38%, var(--ai-border)); - background: color-mix(in srgb, var(--ai-primary-soft) 55%, transparent); + border-color: rgba(255, 255, 255, 0.92); + background: rgba(255, 255, 255, 0.44); box-shadow: none; + transform: none; } .ai-welcome__command .ai-intent-door.is-primary:hover { - border-color: color-mix(in srgb, var(--ai-action) 45%, var(--ai-border)); - border-left-color: var(--ai-action); - background: color-mix(in srgb, var(--ai-primary-soft) 65%, transparent); + background: rgba(255, 255, 255, 0.48); + box-shadow: none; + transform: none; +} + +.ai-welcome__command .ai-intent-door__title { + font-weight: 700; + letter-spacing: -0.01em; +} + +.ai-welcome__command .ai-intent-door__hint { + color: var(--ai-text-2); } .ai-welcome-plane { @@ -1633,7 +1729,7 @@ body.command-home .ai-stage-map--eu { font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; - color: var(--kc-primary, #003860); + color: var(--kc-primary, #054f74); } .ai-welcome-stats__label { @@ -1963,10 +2059,28 @@ body.command-home .ai-stage-map--eu { 40% { opacity: 1; transform: scale(1); } } -/* Cards inside assistant replies */ +/* Cards inside assistant replies — 极简磨砂玻璃 */ .ai-card { + position: relative; + isolation: isolate; + overflow: hidden; padding: 18px 18px 16px; - border-radius: var(--ai-radius-lg); + border-radius: 20px; + border: 1px solid rgba(255, 255, 255, 0.72); + background: var(--ai-acrylic-bg); + backdrop-filter: blur(28px) saturate(160%); + -webkit-backdrop-filter: blur(28px) saturate(160%); + box-shadow: none; +} + +.ai-card::before, +.ai-card::after { + display: none; +} + +.ai-card > * { + position: relative; + z-index: 1; } .ai-card__kicker { @@ -2014,9 +2128,9 @@ body.command-home .ai-stage-map--eu { padding: 10px 12px; border-radius: var(--ai-radius-sm); text-align: left; - border-color: var(--ai-border-soft); - background: var(--ai-primary-mid); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9); + border: 1px solid rgba(255, 255, 255, 0.55); + background: transparent; + box-shadow: none; } .ai-card__item strong { @@ -2143,13 +2257,11 @@ body.command-home .ai-stage-map--eu { font-weight: 600; cursor: pointer; white-space: nowrap; - background: var(--ai-primary-mid); - border-color: color-mix(in srgb, var(--ai-action) 22%, var(--ai-border)); } .ai-followup-chip:hover { - background: var(--ai-primary-soft); - border-color: color-mix(in srgb, var(--ai-action) 45%, var(--ai-border)); + border-color: rgba(255, 255, 255, 0.92); + background: rgba(255, 255, 255, 0.44); color: var(--ai-action); } @@ -2177,9 +2289,9 @@ body.command-home .ai-stage-map--eu { .ai-composer-wrap.is-welcome .ai-composer { min-height: 72px; padding: 12px 14px 12px 18px; - border-radius: 14px; - border: none; - background: color-mix(in srgb, var(--ai-input-bg) 72%, transparent); + border-radius: 16px; + border: 1px solid rgba(255, 255, 255, 0.72); + background: var(--ai-acrylic-bg); box-shadow: none; } @@ -2214,22 +2326,13 @@ body.command-home .ai-stage-map--eu { .ai-composer-wrap.is-docked { padding: 10px 0 0; - border-top: 1px solid color-mix(in srgb, var(--ai-border) 70%, transparent); + border-top: 1px solid color-mix(in srgb, var(--ai-border) 45%, transparent); } .ai-composer-wrap.is-docked .ai-composer { box-shadow: none; } -.ai-composer { - min-height: 88px; - padding: 16px 16px 16px 24px; - border-radius: var(--ai-radius-lg); - transition: - border-color 0.2s var(--ai-ease), - box-shadow 0.2s var(--ai-ease); -} - .ai-composer__caustic, .ai-composer__sheen { display: none; @@ -2341,11 +2444,7 @@ body.command-home .ai-stage-map--eu { @media (prefers-reduced-motion: reduce) { .ai-composer__sheen, .ai-composer__caustic, - .ai-intent-door::after, - .ai-card::after, - .ai-shell-bg__blobs, - .ai-shell-bg__blobs::before, - .ai-shell-bg__blobs::after { + .ai-intent-door::after { animation: none; } } @@ -2453,7 +2552,7 @@ body.command-home .ai-stage-map--eu { width: min(54vw, 480px); height: min(46%, 480px); transform: none; - opacity: 0.48; + opacity: 0.38; } .ai-stage-map--am { @@ -2502,8 +2601,12 @@ body.command-home .ai-stage-map--eu { } .ai-welcome__command .ai-intent-door.is-primary { - padding-left: 10px; - border-radius: 12px; + padding: 16px 14px; + border-radius: 20px; + } + + .ai-welcome__command .ai-intent-door { + border-radius: 20px; } .ai-welcome-plane img { diff --git a/IDE官网/assets/css/main.css b/IDE官网/assets/css/main.css index 1a62dbf..6b3b107 100644 --- a/IDE官网/assets/css/main.css +++ b/IDE官网/assets/css/main.css @@ -18,9 +18,9 @@ /* Colors */ :root { - --color-default: #0a0d13; - --color-primary: #0d42ff; - --color-secondary: #0e1d34; + --color-default: #1a2e38; + --color-primary: #054f74; + --color-secondary: #3d6678; } /* Smooth scroll behavior */ @@ -139,7 +139,7 @@ section { .breadcrumbs .page-header:before { content: ""; - background-color: rgba(14, 29, 52, 0.8); + background: color-mix(in srgb, var(--kc-page-bg, #f5f4f1) 88%, var(--kc-brand, #054f74)); position: absolute; inset: 0; } @@ -147,12 +147,12 @@ section { .breadcrumbs .page-header h2 { font-size: 56px; font-weight: 500; - color: #fff; + color: var(--kc-primary, #054f74); font-family: var(--font-secondary); } .breadcrumbs .page-header p { - color: rgba(255, 255, 255, 0.8); + color: var(--kc-text-muted, #4a6270); } .breadcrumbs nav { @@ -390,7 +390,7 @@ section { .navbar .get-a-quote:hover, .navbar .get-a-quote:focus:hover { color: #fff; - background: #2756ff; + background: var(--kc-brand-hover, var(--color-primary)); } .navbar .get-a-quote.wms-link, @@ -1723,7 +1723,7 @@ section { } .hero form .btn-primary:hover { - background-color: #2756ff; + background-color: var(--kc-brand-hover, var(--color-primary)); } .hero .stats-item { @@ -1995,15 +1995,24 @@ section { @import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;600;700&display=swap'); :root { - --kc-primary: #003860; - --kc-primary-rgb: 0, 56, 96; - --kc-secondary: #4A7088; - --kc-tertiary: #1d7281; - --kc-tertiary-rgb: 29, 114, 129; - --kc-neutral: #F2F5F8; - --kc-page-bg: #F2F5F8; - --kc-surface: #FFFFFF; - --kc-on-primary: #FFFFFF; + /* IDE 品牌色 + 凝脂背景 — 与 OMS 主题 / 首页 command-home 一致 */ + --kc-brand: #054f74; + --kc-brand-hover: #054b6e; + --kc-brand-rgb: 5, 79, 116; + --kc-brand-soft: #e0edf2; + --kc-primary: #054f74; + --kc-primary-rgb: 5, 79, 116; + --kc-secondary: #3d6678; + --kc-tertiary: #054f74; + --kc-tertiary-rgb: 5, 79, 116; + --kc-page-bg: #f5f4f1; + --kc-neutral: #faf8f6; + --kc-surface: #ffffff; + --kc-border: #e0d9cc; + --kc-border-soft: #ebe4d8; + --kc-text: #1a2e38; + --kc-text-muted: #4a6270; + --kc-on-primary: #ffffff; --kc-radius-sm: 10px; --kc-radius-md: 20px; --kc-radius-lg: 32px; @@ -2024,7 +2033,7 @@ section { body { background: var(--kc-page-bg); - color: var(--kc-primary); + color: var(--kc-text); font-size: 1.05rem; line-height: 1.55; } @@ -2055,8 +2064,9 @@ h2, .header, .header.sticked { - background: var(--kc-surface); - box-shadow: 0 8px 24px rgba(var(--kc-primary-rgb), 0.12); + background: color-mix(in srgb, var(--kc-page-bg) 94%, var(--kc-surface)); + border-bottom: 1px solid color-mix(in srgb, var(--kc-border) 28%, transparent); + box-shadow: none; } .header .logo h1 { @@ -2113,11 +2123,11 @@ h2, .horizontal-pricing .buy-btn:hover, .contact .php-email-form button[type=submit]:hover, .get-a-quote .php-email-form button[type=submit]:hover { - background: #f07a32; - border-color: #f07a32; + background: var(--kc-brand-hover); + border-color: var(--kc-brand-hover); color: var(--kc-on-primary); transform: translateY(-1px); - box-shadow: 0 8px 20px rgba(var(--kc-tertiary-rgb), 0.35); + box-shadow: none; } .language-toggle-link, @@ -2131,7 +2141,7 @@ h2, margin-top: 0; margin-left: 14px; padding: 0 4px 0 0; - color: rgba(255, 255, 255, 0.65); + color: var(--kc-text-muted); font-size: 1rem; font-weight: 400; letter-spacing: 0; @@ -2179,7 +2189,7 @@ h2, line-height: 1.2; letter-spacing: 0.05em; text-align: center; - color: rgba(255, 255, 255, 0.42); + color: var(--kc-text-muted); overflow: hidden; max-width: 0; opacity: 0; @@ -2191,14 +2201,14 @@ h2, max-width: 40px; padding: 3px 6px; opacity: 1; - color: var(--kc-primary); - background: var(--kc-tertiary); - box-shadow: 0 1px 6px rgba(var(--kc-tertiary-rgb), 0.4); + color: var(--kc-on-primary); + background: var(--kc-brand); + box-shadow: none; } .language-toggle-link:hover { - color: #fff; - background: rgba(255, 255, 255, 0.08); + color: var(--kc-primary); + background: color-mix(in srgb, var(--kc-brand) 8%, var(--kc-surface)); } .language-toggle-link:hover .language-toggle-icon { @@ -2206,9 +2216,9 @@ h2, } .hero { - background-color: #142637; + background-color: var(--kc-page-bg); background-image: none; - color: #fff; + color: var(--kc-text); min-height: 60vh; } @@ -2216,7 +2226,7 @@ h2, font-size: 4.5rem; font-weight: 700; letter-spacing: -0.02em; - color: #fff; + color: var(--kc-primary); line-height: 1.08; } @@ -2231,7 +2241,7 @@ h2, font-weight: 700; letter-spacing: -0.02em; line-height: 1.08; - color: #fff; + color: var(--kc-primary); } @media (max-width: 768px) { @@ -2256,8 +2266,8 @@ h2, .breadcrumbs nav { background: var(--kc-surface); border-radius: 12px; - border: 1px solid rgba(106, 117, 184, 0.22); - box-shadow: 0 8px 24px rgba(27, 42, 107, 0.08); + border: 1px solid var(--kc-border); + box-shadow: none; } .services .service-card.stat-card:hover { @@ -2311,7 +2321,7 @@ h2, } .section-header span { - color: rgba(27, 42, 107, 0.12); + color: color-mix(in srgb, var(--kc-primary) 10%, transparent); } .featured-services .service-item .icon i, @@ -2336,7 +2346,7 @@ h2, } .contact .info-item i { - background: rgba(27, 42, 107, 0.08); + background: rgba(var(--kc-brand-rgb), 0.08); color: var(--kc-primary); border-radius: var(--kc-radius-md); width: 50px; @@ -2377,7 +2387,7 @@ h2, } .footer .social-links a { - border-color: rgba(106, 117, 184, 0.35); + border-color: rgba(var(--kc-brand-rgb), 0.35); border-radius: var(--kc-radius-md); width: 46px; height: 46px; @@ -2444,7 +2454,7 @@ h2, .hero-stats { padding: 28px 0; background: var(--kc-surface, #fff); - border-bottom: 1px solid rgba(27, 42, 107, 0.08); + border-bottom: 1px solid rgba(var(--kc-brand-rgb), 0.08); } .hero-stats .stats-item span { @@ -2458,7 +2468,7 @@ h2, .hero-stats .stats-item p { margin: 6px 0 0; font-size: 0.9rem; - color: var(--kc-secondary, #6a75b8); + color: var(--kc-secondary, var(--kc-text-muted)); } .pricing-more-link { @@ -2484,15 +2494,15 @@ h2, pointer-events: none; opacity: 0.35; background-image: - linear-gradient(rgba(255, 180, 0, 0.08) 1px, transparent 1px), - linear-gradient(90deg, rgba(255, 180, 0, 0.08) 1px, transparent 1px); + linear-gradient(rgba(var(--kc-brand-rgb), 0.06) 1px, transparent 1px), + linear-gradient(90deg, rgba(var(--kc-brand-rgb), 0.06) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9), transparent 85%); } .hero .hero-main-title, .hero h2 { - color: #fff; + color: var(--kc-primary); } .hero-desc { @@ -2500,7 +2510,7 @@ h2, max-width: 560px; font-size: 1rem; line-height: 1.65; - color: rgba(255, 255, 255, 0.82); + color: var(--kc-text-muted); } .hero-cta-row { @@ -2525,26 +2535,26 @@ h2, } .btn-hero-primary { - background: var(--kc-tertiary); - color: var(--kc-primary); - box-shadow: 0 8px 20px rgba(255, 180, 0, 0.35); + background: var(--kc-brand); + color: var(--kc-on-primary); + box-shadow: none; } .btn-hero-primary:hover { - filter: brightness(1.05); - color: var(--kc-primary); + background: var(--kc-brand-hover); + color: var(--kc-on-primary); } .btn-hero-secondary { background: transparent; - color: #fff; - border: 1px solid rgba(255, 255, 255, 0.35); + color: var(--kc-brand); + border: 1px solid color-mix(in srgb, var(--kc-brand) 35%, var(--kc-border)); } .btn-hero-secondary:hover { - border-color: rgba(255, 255, 255, 0.75); - color: #fff; - background: rgba(255, 255, 255, 0.08); + border-color: var(--kc-brand); + color: var(--kc-brand-hover); + background: color-mix(in srgb, var(--kc-brand) 6%, var(--kc-surface)); } .hero-track-form { @@ -2567,7 +2577,7 @@ h2, padding: 6px 6px 6px 28px; border-radius: 999px; border: none !important; - box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2); + box-shadow: 0 8px 24px rgba(var(--kc-brand-rgb), 0.08); background: #fff; } @@ -2580,7 +2590,7 @@ h2, } .hero-track-stats .hero-track-form .form-control::placeholder { - color: rgba(106, 117, 184, 0.75); + color: rgba(var(--kc-brand-rgb), 0.75); } .hero-track-stats .hero-track-form .btn-primary { @@ -2635,10 +2645,10 @@ h2, } .stat-card { - --liquid-a: rgba(27, 42, 107, 0.1); - --liquid-b: rgba(106, 117, 184, 0.08); + --liquid-a: rgba(var(--kc-brand-rgb), 0.1); + --liquid-b: rgba(var(--kc-brand-rgb), 0.08); --liquid-edge: rgba(255, 255, 255, 0.78); - --liquid-glow: rgba(27, 42, 107, 0.05); + --liquid-glow: rgba(var(--kc-brand-rgb), 0.05); position: relative; z-index: 0; @@ -2730,15 +2740,15 @@ h2, } .stat-card--primary { - --liquid-a: rgba(27, 42, 107, 0.12); - --liquid-b: rgba(106, 117, 184, 0.08); - --liquid-glow: rgba(27, 42, 107, 0.06); + --liquid-a: rgba(var(--kc-brand-rgb), 0.12); + --liquid-b: rgba(var(--kc-brand-rgb), 0.08); + --liquid-glow: rgba(var(--kc-brand-rgb), 0.06); } .stat-card--accent { - --liquid-a: rgba(255, 180, 0, 0.14); - --liquid-b: rgba(255, 210, 80, 0.1); - --liquid-glow: rgba(255, 180, 0, 0.07); + --liquid-a: rgba(var(--kc-brand-rgb), 0.12); + --liquid-b: rgba(var(--kc-brand-rgb), 0.08); + --liquid-glow: rgba(var(--kc-brand-rgb), 0.06); } .stat-card--success { @@ -2748,9 +2758,9 @@ h2, } .stat-card--neutral { - --liquid-a: rgba(106, 117, 184, 0.12); + --liquid-a: rgba(var(--kc-brand-rgb), 0.12); --liquid-b: rgba(180, 190, 230, 0.08); - --liquid-glow: rgba(106, 117, 184, 0.05); + --liquid-glow: rgba(var(--kc-brand-rgb), 0.05); } .how-step.stat-card:hover, @@ -2802,22 +2812,22 @@ h2, letter-spacing: 0.02em; line-height: 1.2; color: var(--kc-primary); - background: linear-gradient(135deg, rgba(255, 180, 0, 0.22) 0%, rgba(255, 180, 0, 0.08) 100%); - border: 1px solid rgba(255, 180, 0, 0.35); + background: color-mix(in srgb, var(--kc-brand) 10%, var(--kc-surface)); + border: 1px solid color-mix(in srgb, var(--kc-brand) 18%, var(--kc-border)); clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); } .poly-highlight--primary { color: #fff; - background: linear-gradient(135deg, var(--kc-primary) 0%, #2a3d8f 100%); - border-color: rgba(27, 42, 107, 0.2); + background: linear-gradient(135deg, var(--kc-primary) 0%, color-mix(in srgb, var(--kc-brand) 75%, #1a3d52) 100%); + border-color: rgba(var(--kc-brand-rgb), 0.2); } .poly-highlight--soft { color: var(--kc-secondary); - background: rgba(27, 42, 107, 0.06); - border-color: rgba(27, 42, 107, 0.1); + background: rgba(var(--kc-brand-rgb), 0.06); + border-color: rgba(var(--kc-brand-rgb), 0.1); clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%); -webkit-clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%); } @@ -2954,7 +2964,7 @@ h2, justify-content: center; margin-bottom: 16px; border-radius: 0; - background: rgba(27, 42, 107, 0.08); + background: rgba(var(--kc-brand-rgb), 0.08); color: var(--kc-primary); font-size: 1.5rem; clip-path: polygon(15% 0, 100% 0, 85% 100%, 0 100%); @@ -3094,7 +3104,7 @@ h2, .faq .faq-accordion .accordion-item { background: transparent; border: none; - border-bottom: 1px solid rgba(27, 42, 107, 0.08); + border-bottom: 1px solid rgba(var(--kc-brand-rgb), 0.08); } .faq .faq-accordion .accordion-item:last-child { @@ -3220,7 +3230,7 @@ h2, } .call-to-action .cta-btn-outline { - border-color: rgba(27, 42, 107, 0.25) !important; + border-color: rgba(var(--kc-brand-rgb), 0.25) !important; color: var(--kc-primary) !important; } @@ -3242,7 +3252,7 @@ h2, border: 1px solid rgba(255, 255, 255, 0.78); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), - 0 6px 18px rgba(27, 42, 107, 0.05), + 0 6px 18px rgba(var(--kc-brand-rgb), 0.05), 0 1px 2px rgba(15, 23, 42, 0.03); } @@ -3339,7 +3349,7 @@ h2, border-radius: 12px; background: linear-gradient(155deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.78) 100%); border: 1px solid rgba(255, 255, 255, 0.78); - box-shadow: 0 4px 14px rgba(27, 42, 107, 0.05); + box-shadow: 0 4px 14px rgba(var(--kc-brand-rgb), 0.05); } .glass-panel, @@ -3361,7 +3371,7 @@ h2, background: linear-gradient(155deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.78) 48%, rgba(255, 255, 255, 0.88) 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), - 0 6px 18px rgba(27, 42, 107, 0.05), + 0 6px 18px rgba(var(--kc-brand-rgb), 0.05), 0 1px 2px rgba(15, 23, 42, 0.03); backdrop-filter: blur(12px) saturate(1.15); -webkit-backdrop-filter: blur(12px) saturate(1.15); @@ -3461,8 +3471,8 @@ h2, padding: 16px; margin-bottom: 12px; border-radius: 12px; - background: rgba(27, 42, 107, 0.04); - border: 1px solid rgba(106, 117, 184, 0.12); + background: rgba(var(--kc-brand-rgb), 0.04); + border: 1px solid rgba(var(--kc-brand-rgb), 0.12); } .contact .php-email-form, diff --git a/IDE官网/assets/js/ai-advisor.js b/IDE官网/assets/js/ai-advisor.js index 82a9fd1..b51bb86 100644 --- a/IDE官网/assets/js/ai-advisor.js +++ b/IDE官网/assets/js/ai-advisor.js @@ -842,7 +842,6 @@ shell.id = 'ai-advisor-shell'; shell.innerHTML = ` @@ -1468,7 +1467,7 @@ const heroCta = shell.querySelector('.ai-welcome-cta'); if (heroCta) { heroCta.textContent = t('heroCta'); - heroCta.href = registerUrl(); + heroCta.href = loginPortalUrl(); } renderWelcomeStats(); const mapHint = shell.querySelector('.ai-cover-panel__hint'); @@ -1931,7 +1930,7 @@ renderStaticCopy(); }, open: () => { - if (!isHomePage()) window.location.href = 'index.html'; + if (!isHomePage()) window.location.href = '/'; }, close: () => closeDrawers(), }; diff --git a/IDE官网/assets/js/main.js b/IDE官网/assets/js/main.js index eeacd47..32d8f39 100644 --- a/IDE官网/assets/js/main.js +++ b/IDE官网/assets/js/main.js @@ -7,6 +7,112 @@ document.addEventListener('DOMContentLoaded', () => { "use strict"; + const pageBackgroundStorageKey = 'app-page-background-color'; + const themeColorStorageKey = 'app-theme-color'; + const DEFAULT_THEME_COLOR = '#054f74'; + + function hexToRgb(hex) { + const normalized = hex.replace(/^#/, ''); + if (!/^[a-f\d]{6}$/i.test(normalized)) return null; + return { + r: parseInt(normalized.slice(0, 2), 16), + g: parseInt(normalized.slice(2, 4), 16), + b: parseInt(normalized.slice(4, 6), 16), + }; + } + + function darkenHex(hex, ratio) { + const rgb = hexToRgb(hex); + if (!rgb) return hex; + const toHex = (value) => Math.round(value).toString(16).padStart(2, '0'); + return ( + '#' + + toHex(rgb.r * (1 - ratio)) + + toHex(rgb.g * (1 - ratio)) + + toHex(rgb.b * (1 - ratio)) + ); + } + + function lightenHex(hex, mixWhite) { + const rgb = hexToRgb(hex); + if (!rgb) return hex; + const mix = typeof mixWhite === 'number' ? mixWhite : 0.92; + const toHex = (value) => Math.round(value).toString(16).padStart(2, '0'); + return ( + '#' + + toHex(rgb.r * (1 - mix) + 255 * mix) + + toHex(rgb.g * (1 - mix) + 255 * mix) + + toHex(rgb.b * (1 - mix) + 255 * mix) + ); + } + + function applyStoredThemeColor() { + let color = ''; + try { + color = localStorage.getItem(themeColorStorageKey) || ''; + } catch { + return; + } + if (!color) color = DEFAULT_THEME_COLOR; + if (!color.startsWith('#')) color = `#${color}`; + + const root = document.documentElement; + const hover = darkenHex(color, 0.05); + const soft = lightenHex(color, 0.9); + const rgb = hexToRgb(color); + const brandTokens = ['--kc-brand', '--kc-primary', '--kc-tertiary', '--color-primary', '--ai-action']; + brandTokens.forEach((token) => root.style.setProperty(token, color)); + root.style.setProperty('--kc-brand-hover', hover); + root.style.setProperty('--ai-action-hover', hover); + root.style.setProperty('--kc-brand-soft', soft); + root.style.setProperty('--ai-primary-soft', soft); + if (rgb) { + const rgbStr = `${rgb.r}, ${rgb.g}, ${rgb.b}`; + ['--kc-brand-rgb', '--kc-primary-rgb', '--kc-tertiary-rgb', '--ai-action-rgb', '--ai-navy-rgb'].forEach( + (token) => root.style.setProperty(token, rgbStr), + ); + } + } + + function softenHex(hex, mixWhite) { + const normalized = hex.replace(/^#/, ''); + if (!/^[a-f\d]{6}$/i.test(normalized)) return hex; + const r = parseInt(normalized.slice(0, 2), 16); + const g = parseInt(normalized.slice(2, 4), 16); + const b = parseInt(normalized.slice(4, 6), 16); + const mix = typeof mixWhite === 'number' ? mixWhite : 0.55; + const toHex = (value) => Math.round(value).toString(16).padStart(2, '0'); + return ( + '#' + + toHex(r * (1 - mix) + 255 * mix) + + toHex(g * (1 - mix) + 255 * mix) + + toHex(b * (1 - mix) + 255 * mix) + ); + } + + function applyStoredPageBackground() { + let color = ''; + try { + color = localStorage.getItem(pageBackgroundStorageKey) || ''; + } catch { + return; + } + if (!color) return; + if (!color.startsWith('#')) color = `#${color}`; + const root = document.documentElement; + const warmPageBgs = new Set(['#f6f1e7', '#f5f4f1', '#faf9f7']); + const soft = softenHex(color, warmPageBgs.has(color.toLowerCase()) ? 0.42 : 0.55); + root.style.setProperty('--ai-bg', color); + root.style.setProperty('--ai-canvas', color); + root.style.setProperty('--ai-bg-soft', soft); + root.style.setProperty('--ai-header-bg', `color-mix(in srgb, ${color} 94%, transparent)`); + root.style.setProperty('--kc-page-bg', color); + root.style.setProperty('--kc-neutral', soft); + } + + applyStoredThemeColor(); + applyStoredPageBackground(); + const languageStorageKey = 'ide-language'; const pageTitleMap = { 'IDE|Faster & Simpler': 'IDE|更快 · 更简单', @@ -447,6 +553,9 @@ document.addEventListener('DOMContentLoaded', () => { if (!element || element.hasAttribute('data-i18n-key')) { return; } + if (element.closest('.site-nav-dock')) { + return; + } const key = resolveEnglishKey(element.textContent || ''); if (key) { element.setAttribute('data-i18n-key', key); @@ -487,7 +596,7 @@ document.addEventListener('DOMContentLoaded', () => { '.footer-info > p', '.footer-links h4', '.footer-contact h4', - '#navbar ul li > a:not(#language-toggle-btn)', + '#navbar ul > li:not(.site-nav-dock) > a:not(#language-toggle-btn)', ].forEach((selector) => { document.querySelectorAll(selector).forEach(tagI18nElement); }); diff --git a/IDE官网/index.html b/IDE官网/index.html index b8c692c..fdc5cf5 100644 --- a/IDE官网/index.html +++ b/IDE官网/index.html @@ -44,11 +44,26 @@