Files
hfb_jysh/frontend/src/styles/base.css
T

149 lines
2.5 KiB
CSS

:root {
--brand-ink: #1e4d42;
--brand-ink-deep: #153a32;
--brand-seal: #a64332;
--brand-seal-line: #ecd0b1;
--brand-brass: #b08a4a;
--paper: #f6f2e8;
--paper-warm: #fffdf8;
--ink: #1c2521;
--ink-secondary: #5e6b64;
--ink-muted: #8a948e;
--line: #e4ded2;
--sage: #6f857c;
--success: #2f7d5c;
--warning: #c17a2b;
--danger: #a64332;
--info: #3e6b7a;
}
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
min-width: 320px;
background: var(--paper);
color: var(--ink);
font-family:
'Noto Sans SC', 'Source Han Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
-webkit-font-smoothing: antialiased;
}
a {
color: inherit;
text-decoration: none;
}
.brand-title {
font-family: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', serif !important;
font-weight: 600 !important;
letter-spacing: 0.04em;
}
.site-shell {
min-height: 100vh;
background: var(--paper);
}
.site-header {
position: sticky;
top: 0;
z-index: 20;
height: 72px;
padding: 0;
background: rgba(255, 253, 248, 0.94);
border-bottom: 1px solid var(--line);
backdrop-filter: blur(14px);
}
.site-header__inner {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1280px;
height: 100%;
margin: 0 auto;
padding: 0 24px;
gap: 24px;
}
.site-brand {
display: inline-flex;
align-items: center;
flex-shrink: 0;
}
.site-nav {
display: flex;
align-items: center;
gap: 30px;
margin-right: auto;
color: var(--ink-secondary);
font-size: 14px;
}
.site-nav a {
position: relative;
padding: 6px 0;
transition: color 160ms ease;
}
.site-nav a:hover {
color: var(--brand-ink);
}
.site-nav a::after {
position: absolute;
right: 0;
bottom: 0;
left: 0;
height: 1px;
background: var(--brand-seal);
content: '';
opacity: 0;
transform: scaleX(0.6);
transition:
opacity 160ms ease,
transform 160ms ease;
}
.site-nav a:hover::after {
opacity: 1;
transform: scaleX(1);
}
.site-content {
min-height: calc(100vh - 72px - 140px);
background: var(--paper);
}
.site-footer {
padding: 0;
background: var(--paper-warm);
border-top: 1px solid var(--line);
color: var(--ink-secondary);
}
.site-footer__inner {
display: flex;
align-items: flex-end;
justify-content: space-between;
max-width: 1280px;
margin: 0 auto;
padding: 34px 24px;
gap: 24px;
}
.site-footer__muted {
margin-top: 8px;
color: var(--ink-muted);
font-size: 12px;
}