@import './styles/theme.css'; /* 全局样式重置 */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { font-size: 16px; scroll-behavior: smooth; } body { font-family: var(--ramex-font); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; line-height: 1.6; color: var(--ramex-text); background-color: var(--ramex-bg-page); background-image: linear-gradient(to right, var(--ramex-grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--ramex-grid-line) 1px, transparent 1px); background-size: var(--ramex-grid-size) var(--ramex-grid-size); background-attachment: fixed; } /* 滚动条 */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: var(--ramex-bg-subtle); } ::-webkit-scrollbar-thumb { background: var(--ramex-text-muted); border-radius: var(--ramex-radius); } ::-webkit-scrollbar-thumb:hover { background: var(--ramex-text-secondary); } ::selection { background: var(--ramex-accent-muted); color: var(--ramex-text); } :focus-visible { outline: 2px solid var(--ramex-accent); outline-offset: 2px; } button { font-family: inherit; cursor: pointer; border: none; background: none; } a { color: inherit; text-decoration: none; } img { max-width: 100%; height: auto; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeInLeft { from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: translateX(0); } } @keyframes fadeInRight { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } } @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-20px); } } @media (max-width: 640px) { html { font-size: 14px; } } @media (min-width: 1024px) { html { font-size: 18px; } } @media print { * { background: transparent !important; color: black !important; box-shadow: none !important; text-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } .no-print { display: none !important; } }