107 lines
6.0 KiB
CSS
107 lines
6.0 KiB
CSS
:root {
|
|||
|
|
color-scheme: light;
|
||
|
|
--bg: #f5f8fb;
|
||
|
|
--bg-secondary: #edf4f7;
|
||
|
|
--panel: rgba(255, 255, 255, 0.9);
|
||
|
|
--panel-solid: #fff;
|
||
|
|
--card-bg: #fff;
|
||
|
|
--ink: #10233c;
|
||
|
|
--ink-secondary: #334b63;
|
||
|
|
--muted: #64778b;
|
||
|
|
--subtle: #91a1b1;
|
||
|
|
--line: #dbe6ec;
|
||
|
|
--line-strong: #bdd0db;
|
||
|
|
--trans-bg: rgba(15, 69, 91, 0.055);
|
||
|
|
--trans-border: rgba(15, 69, 91, 0.12);
|
||
|
|
--accent: #0051d6;
|
||
|
|
--accent-blue: #0051d6;
|
||
|
|
--accent-orange: #007f73;
|
||
|
|
--accent-orange-bg: rgba(0, 127, 115, 0.08);
|
||
|
|
--accent-orange-border: rgba(0, 127, 115, 0.28);
|
||
|
|
--radius: 8px;
|
||
|
|
--radius-sm: 6px;
|
||
|
|
--radius-lg: 8px;
|
||
|
|
--shadow-sm: 0 1px 3px rgba(16, 35, 60, 0.06);
|
||
|
|
--shadow-md: 0 8px 24px rgba(16, 35, 60, 0.08);
|
||
|
|
--font-dongguan-light: "STDongGuanTi Light", "Noto Serif SC", "Songti SC", "SimSun", serif;
|
||
|
|
--font-dongguan-regular: "STDongGuanTi", "Noto Serif SC", "Songti SC", "SimSun", serif;
|
||
|
|
--font-dongguan-bold: "STDongGuanTi Bld", "STDongGuanTi", "Noto Serif SC", "Songti SC", "SimSun", serif;
|
||
|
|
}
|
||
|
|
|
||
|
|
html[data-theme="dark"] {
|
||
|
|
color-scheme: dark;
|
||
|
|
--bg: #091119;
|
||
|
|
--bg-secondary: #0d1822;
|
||
|
|
--panel: rgba(15, 27, 38, 0.94);
|
||
|
|
--panel-solid: #101d28;
|
||
|
|
--card-bg: #12212d;
|
||
|
|
--ink: #f3f8fb;
|
||
|
|
--ink-secondary: #cad7df;
|
||
|
|
--muted: #98a9b7;
|
||
|
|
--subtle: #6f8393;
|
||
|
|
--line: rgba(220, 237, 245, 0.12);
|
||
|
|
--line-strong: rgba(220, 237, 245, 0.2);
|
||
|
|
--trans-bg: rgba(255, 255, 255, 0.05);
|
||
|
|
--trans-border: rgba(255, 255, 255, 0.1);
|
||
|
|
--accent-blue: #75a7ff;
|
||
|
|
--accent-orange: #45d1b5;
|
||
|
|
--accent-orange-bg: rgba(69, 209, 181, 0.12);
|
||
|
|
--accent-orange-border: rgba(69, 209, 181, 0.32);
|
||
|
|
}
|
||
|
|
|
||
|
|
*, *::before, *::after { box-sizing: border-box; }
|
||
|
|
html { min-width: 320px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
|
||
|
|
body { margin: 0; min-height: 100vh; background: linear-gradient(135deg, color-mix(in srgb, var(--accent-blue) 6%, var(--bg)), color-mix(in srgb, #12a889 7%, var(--bg))); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans SC", sans-serif; font-size: 16px; line-height: 1.6; }
|
||
|
|
button, input, select { font: inherit; }
|
||
|
|
button, a { -webkit-tap-highlight-color: transparent; }
|
||
|
|
a { color: inherit; }
|
||
|
|
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 14px; background: var(--ink); color: var(--panel-solid); transform: translateY(-150%); }
|
||
|
|
.skip-link:focus { transform: none; }
|
||
|
|
.site-header { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 10px clamp(16px, 4vw, 48px); border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: blur(18px); }
|
||
|
|
.brand { display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
|
||
|
|
.brand img { width: 52px; height: 52px; object-fit: contain; }
|
||
|
|
.brand span { display: grid; }
|
||
|
|
.brand strong { font-family: inherit; font-size: 22px; font-weight: 700; line-height: 1.2; }
|
||
|
|
.brand small { color: var(--muted); font-size: 13px; }
|
||
|
|
.site-tools { display: flex; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 8px; background: color-mix(in srgb, var(--panel-solid) 90%, transparent); box-shadow: var(--shadow-sm); }
|
||
|
|
.icon-button { position: relative; display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 0; border-radius: 5px; background: transparent; color: var(--ink-secondary); cursor: pointer; transition: color 160ms ease, background 160ms ease, transform 160ms ease; }
|
||
|
|
.icon-button:hover { background: var(--trans-bg); color: var(--accent-blue); }
|
||
|
|
.icon-button:active { transform: scale(0.94); }
|
||
|
|
.icon-button:focus-visible { outline: 2px solid var(--accent-blue); outline-offset: 2px; }
|
||
|
|
.tool-icon { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
|
||
|
|
.theme-icon-sun { display: none; }
|
||
|
|
html[data-theme="dark"] .theme-icon-moon { display: none; }
|
||
|
|
html[data-theme="dark"] .theme-icon-sun { display: block; }
|
||
|
|
.site-shell { width: min(1760px, calc(100% - 48px)); margin: 0 auto; padding: 28px 0 64px; }
|
||
|
|
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; margin-bottom: 16px; padding: 12px 0 16px; border-bottom: 1px solid var(--line); }
|
||
|
|
.page-heading h1 { margin: 0; font-family: inherit; font-size: clamp(30px, 3vw, 40px); font-weight: 700; line-height: 1.15; letter-spacing: 0; }
|
||
|
|
.page-heading > p { max-width: 760px; margin: 0; color: var(--ink-secondary); font-size: 17px; }
|
||
|
|
.toast { position: fixed; right: 18px; bottom: 18px; z-index: 80; max-width: min(360px, calc(100vw - 36px)); padding: 12px 16px; border: 1px solid var(--line); border-radius: 6px; background: var(--ink); color: var(--panel-solid); opacity: 0; transform: translateY(12px); pointer-events: none; transition: 180ms ease; }
|
||
|
|
.toast.visible { opacity: 1; transform: none; }
|
||
|
|
.intelligence-list-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; width: 100%; }
|
||
|
|
.intelligence-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
|
||
|
|
.calendar-local-names { margin: 12px 0; padding: 10px 12px; border-left: 3px solid var(--accent-blue); background: var(--trans-bg); }
|
||
|
|
.calendar-local-names p { margin: 3px 0; color: var(--ink-secondary); font-size: 15px; }
|
||
|
|
|
||
|
|
@media (max-width: 1080px) {
|
||
|
|
.intelligence-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
||
|
|
.page-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
|
||
|
|
}
|
||
|
|
|
||
|
|
@media (max-width: 640px) {
|
||
|
|
.site-header { min-height: 68px; padding: 8px 12px; }
|
||
|
|
.brand img { width: 44px; height: 44px; }
|
||
|
|
.brand strong { font-size: 19px; }
|
||
|
|
.brand small { display: none; }
|
||
|
|
.site-tools { flex: 0 0 auto; }
|
||
|
|
.site-shell { width: calc(100% - 24px); padding-top: 12px; }
|
||
|
|
.page-heading { margin-bottom: 10px; padding: 12px 0; }
|
||
|
|
.page-heading h1 { font-size: 30px; }
|
||
|
|
.page-heading > p { font-size: 16px; }
|
||
|
|
.intelligence-list-grid { grid-template-columns: 1fr; }
|
||
|
|
}
|
||
|
|
|
||
|
|
@media (prefers-reduced-motion: reduce) {
|
||
|
|
*, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
|
||
|
|
}
|