/* =========================================================
   基础样式：reset、纸面纹理、字体预设
   ========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

html, body {
    height: 100%;
    font-family: 'Noto Serif SC', serif;
    background: var(--ink-deep);
    color: var(--paper);
    overflow: hidden;
}

body {
    position: relative;
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    background:
        radial-gradient(ellipse at 20% 10%, rgba(var(--gold-rgb), 0.06) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 90%, rgba(var(--cinnabar-rgb), 0.04) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
}

.font-display { font-family: 'Cormorant Garamond', 'Noto Serif SC', serif; letter-spacing: 0.02em; }
.font-serif   { font-family: 'Noto Serif SC', serif; }
.font-mono    { font-family: 'JetBrains Mono', monospace; }
.font-brush   { font-family: 'Ma Shan Zheng', 'Noto Serif SC', cursive; }

/* 通用滚动条（墨色） */
.ink-scroll::-webkit-scrollbar { width: 6px; height: 6px; }
.ink-scroll::-webkit-scrollbar-track { background: var(--ink-deep); }
.ink-scroll::-webkit-scrollbar-thumb { background: var(--ink-line); border-radius: 3px; }
.ink-scroll::-webkit-scrollbar-thumb:hover { background: var(--cinnabar); }

/* 共享 keyframes */
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes cursorBlink { 0%, 50% { opacity: 1; } 51%, 100% { opacity: 0; } }

/* 通用工具类 */
.hidden { display: none !important; }
