:root {
    --paper: #F9F7F2;
    --ink: #1a1a1a;
    --cinnabar: #B22222;
    --font-serif: 'Noto Serif SC', serif;
    --font-calligraphy: 'Ma Shan Zheng', cursive;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

/* 选中色：朱砂红 */
::selection { background: var(--cinnabar); color: #fff; }

body {
    background-color: var(--paper);
    color: var(--ink);
    font-family: var(--font-serif);
    overflow-x: hidden;
    line-height: 1.8;
    position: relative;
}

/* --- 1. 墨水粒子 (强制显色) --- */
.ink-dot {
    position: fixed; border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.7); /* 70% 纯黑 */
    pointer-events: none; z-index: 99999;
    transform: translate(-50%, -50%);
    animation: inkDissolve 0.8s forwards;
}
@keyframes inkDissolve {
    0% { transform: translate(-50%, -50%) scale(0.5); opacity: 0.8; }
    100% { transform: translate(-50%, -50%) scale(2.5); opacity: 0; filter: blur(2px); }
}

/* 背景纹理 */
.paper-texture {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.05'/%3E%3C/svg%3E");
    pointer-events: none; z-index: -1;
}

/* --- 2. Hero 区域 (左右绝对定位) --- */
.hero-section {
    position: relative; width: 100%; height: 100vh;
    min-height: 600px;
    overflow: hidden; /* 防止溢出 */
}

/* 右侧标题 */
.hero-right {
    position: absolute; top: 50%; right: 15%;
    transform: translateY(-50%);
    display: flex; gap: 20px;
}
.hero-title {
    writing-mode: vertical-rl; text-orientation: upright;
    font-family: var(--font-calligraphy); font-size: 5rem;
    letter-spacing: 15px; color: var(--ink);
    height: auto; margin: 0;
}
.red-stamp {
    writing-mode: vertical-rl;
    background: var(--cinnabar); color: #fff;
    padding: 10px 6px; border-radius: 4px; font-size: 1rem;
    box-shadow: 3px 3px 8px rgba(178,34,34,0.3);
    align-self: flex-end; margin-bottom: 20px;
}

/* 左侧赋 */
.hero-left {
    position: absolute; top: 50%; left: 15%;
    transform: translateY(-50%);
}
.hero-fu {
    writing-mode: vertical-rl;
    font-family: var(--font-serif); font-size: 1.2rem; line-height: 2.5;
    color: #555; border-right: 1px solid #ccc;
    padding-right: 30px; height: 350px;
}
.hero-fu p { margin-left: 15px; letter-spacing: 5px; transition: color 0.3s; }
.hero-fu:hover p { color: var(--ink); }
.fu-sign { font-size: 0.9rem; margin-top: 40px; color: var(--cinnabar); font-family: var(--font-calligraphy); }

.scroll-hint {
    position: absolute; bottom: 30px; width: 100%; text-align: center;
    color: #999; animation: float 2s infinite;
}
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(10px); } }

/* --- 3. 内容板块 (标准文档流) --- */
.content-block {
    padding: 100px 5%;
    max-width: 1000px; margin: 0 auto; /* 居中限制宽度 */
}
.block-header { text-align: center; margin-bottom: 60px; }
.chapter-num { font-family: var(--font-calligraphy); font-size: 2rem; color: var(--cinnabar); display: block; margin-bottom: 10px; }
.block-header h2 { font-size: 2rem; font-weight: 300; letter-spacing: 5px; }

/* 成员木牌 */
.members-grid { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; }
.member-tablet {
    border: 2px solid var(--ink); padding: 40px 20px; background: #fff;
    text-align: center; width: 120px; transition: 0.3s;
    box-shadow: 6px 6px 0 rgba(0,0,0,0.05);
}
.member-tablet:hover { transform: translateY(-8px); box-shadow: 8px 8px 0 var(--cinnabar); border-color: var(--cinnabar); }
.member-name { 
    writing-mode: vertical-rl; font-family: var(--font-calligraphy); 
    font-size: 2rem; margin: 0 auto 15px; letter-spacing: 5px; 
}
.member-role { font-size: 0.8rem; color: #888; border-top: 1px solid #eee; padding-top: 10px; }

/* 诗歌卡片 */
.poetry-card {
    max-width: 600px; margin: 0 auto; background: #fff; padding: 60px;
    border: 1px solid #eee; box-shadow: 0 10px 30px rgba(0,0,0,0.03);
    text-align: center;
}
.poetry-card h3 { font-size: 2rem; margin-bottom: 15px; }
.lines { font-size: 1.2rem; color: #444; line-height: 2; margin-top: 30px; font-family: var(--font-calligraphy); }

/* 剧本锁 */
.script-folder {
    max-width: 600px; margin: 0 auto; background: #fff; padding: 60px;
    border: 1px solid #ddd; text-align: center; position: relative;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
}
.lock-svg { width: 40px; height: 40px; margin: 0 auto 20px; color: var(--cinnabar); }
.input-group { margin-top: 20px; display: flex; justify-content: center; }
input { padding: 10px; border: 1px solid #ccc; font-family: var(--font-serif); outline: none; }
button { padding: 10px 20px; background: var(--ink); color: #fff; border: none; cursor: pointer; }
button:hover { background: var(--cinnabar); }
.content-hidden { display: none; }
.read-btn { 
    display: inline-block; margin-top: 20px; color: var(--cinnabar); 
    border-bottom: 1px solid var(--cinnabar); text-decoration: none; 
}

/* 散文列表 */
.prose-list { max-width: 800px; margin: 0 auto; border-top: 1px solid #eee; }
.prose-item {
    display: flex; justify-content: space-between; padding: 25px 20px;
    border-bottom: 1px solid #eee; color: var(--ink); text-decoration: none;
    transition: 0.3s;
}
.prose-item:hover { background: #fff; padding-left: 40px; color: var(--cinnabar); border-left: 3px solid var(--cinnabar); }
.prose-item .title { font-size: 1.3rem; font-weight: bold; }

/* 导航 */
.lit-nav { position: fixed; top: 40px; right: 40px; z-index: 100; }
.nav-seal {
    width: 60px; height: 60px; border: 3px solid var(--cinnabar); background: #fff;
    display: flex; justify-content: center; align-items: center;
    color: var(--cinnabar); text-decoration: none; font-weight: bold;
    border-radius: 6px; transition: 0.3s;
}
.seal-inner { font-size: 1.8rem; font-family: var(--font-calligraphy); }
.nav-seal:hover { background: var(--cinnabar); color: #fff; transform: rotate(10deg); }

/* Footer */
.lit-footer { text-align: center; padding: 50px 0; color: #999; font-size: 0.8rem; }

/* 3D 视差基础 */
.tilt-card { transition: transform 0.1s ease-out; transform-style: preserve-3d; }

/* 动画类 */
.fade-in-init { opacity: 0; animation: fadeIn 1.5s forwards; }
.scroll-hidden { opacity: 0; transform: translateY(40px); transition: 1s ease; }
.scroll-visible { opacity: 1; transform: translateY(0); }
.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.5s; }
@keyframes fadeIn { to { opacity: 1; } }

/* 移动端 */
@media (max-width: 768px) {
    .hero-title { font-size: 3.5rem; right: 10%; }
    .hero-left { display: none; } /* 手机隐藏赋 */
    .members-grid { gap: 15px; }
    .prose-item { flex-direction: column; gap: 5px; }
}