/* ===== 南华真境 · 设计系统 ===== */
:root{
  --bg:#0a0e0d;
  --bg-2:#0e1815;
  --ink:#e9e3d2;
  --ink-soft:rgba(233,227,210,.66);
  --ink-faint:rgba(233,227,210,.38);
  --jade:#6db5a6;
  --jade-deep:#3f8c7e;
  --cinnabar:#c8553d;
  --gold:#c9a86a;
  --line:rgba(233,227,210,.12);
  --card:rgba(255,255,255,.035);
  --card-hover:rgba(109,181,166,.09);
  --shadow:0 20px 60px rgba(0,0,0,.45);
  --font-brush:'Ma Shan Zheng','Kaiti SC','STKaiti','KaiTi',cursive;
  --font-title:'ZCOOL XiaoWei','Songti SC','STSong','SimSun',serif;
  --font-body:'Noto Serif SC','Songti SC','STSong','SimSun',serif;
}
body.light{
  --bg:#f1e9da;
  --bg-2:#e7dcc6;
  --ink:#2b2722;
  --ink-soft:rgba(43,39,34,.72);
  --ink-faint:rgba(43,39,34,.42);
  --jade:#2f7d6e;
  --jade-deep:#1f5d51;
  --cinnabar:#b03a26;
  --gold:#9c7a2e;
  --line:rgba(43,39,34,.14);
  --card:rgba(43,39,34,.035);
  --card-hover:rgba(47,125,110,.10);
  --shadow:0 20px 50px rgba(120,100,60,.22);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  line-height:1.85;
  overflow-x:hidden;
  transition:background .6s ease,color .6s ease;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
::selection{background:var(--jade);color:#06120f}

/* 背景层 */
#aura-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.mist-layer{position:fixed;inset:-20% -20% -20% -20%;z-index:0;pointer-events:none;filter:blur(40px);opacity:.5}
.mist-1{background:radial-gradient(40% 32% at 18% 30%,rgba(109,181,166,.20),transparent 70%);animation:drift1 38s ease-in-out infinite}
.mist-2{background:radial-gradient(36% 28% at 78% 22%,rgba(201,168,106,.16),transparent 70%);animation:drift2 46s ease-in-out infinite}
.mist-3{background:radial-gradient(44% 36% at 55% 78%,rgba(63,140,126,.16),transparent 72%);animation:drift3 54s ease-in-out infinite}
@keyframes drift1{50%{transform:translate(8%,-4%) scale(1.08)}}
@keyframes drift2{50%{transform:translate(-7%,5%) scale(1.05)}}
@keyframes drift3{50%{transform:translate(5%,-6%) scale(1.1)}}
.ink-mountains{
  position:fixed;left:0;right:0;bottom:0;height:38vh;z-index:0;pointer-events:none;opacity:.5;
  background:
    radial-gradient(120% 100% at 20% 100%,rgba(10,14,13,.9),transparent 60%),
    radial-gradient(120% 100% at 80% 100%,rgba(14,24,21,.85),transparent 60%);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0,224L120,213.3C240,203,480,181,720,181.3C960,181,1200,203,1320,213.3L1440,224V320H0Z'/%3E%3C/svg%3E") no-repeat bottom/cover;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0,224L120,213.3C240,203,480,181,720,181.3C960,181,1200,203,1320,213.3L1440,224V320H0Z'/%3E%3C/svg%3E") no-repeat bottom/cover;
}
body.light .ink-mountains{opacity:.32}

/* 顶栏 */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:40;height:64px;
  display:flex;align-items:center;justify-content:space-between;padding:0 28px;
  background:linear-gradient(to bottom,rgba(10,14,13,.72),rgba(10,14,13,0));
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
body.light .topbar{background:linear-gradient(to bottom,rgba(241,233,218,.8),rgba(241,233,218,0))}
.brand{display:flex;align-items:center;gap:12px}
.brand-seal{
  width:38px;height:38px;display:grid;place-items:center;
  background:var(--cinnabar);color:#fff;font-family:var(--font-brush);font-size:24px;
  border-radius:6px;transform:rotate(-3deg);box-shadow:0 4px 14px rgba(200,85,61,.4);
}
.brand-text{font-family:var(--font-title);font-size:21px;letter-spacing:3px;color:var(--ink)}
.topnav{display:flex;align-items:center;gap:4px}
.topnav a{
  padding:8px 14px;font-size:15px;color:var(--ink-soft);position:relative;transition:color .3s;
  border-radius:6px;
}
.topnav a:hover{color:var(--jade)}
.topnav a.active{color:var(--ink)}
.topnav a.active::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--gold);border-radius:2px}
.icon-btn{
  width:38px;height:38px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);
  border-radius:50%;cursor:pointer;font-family:var(--font-body);font-size:15px;transition:.3s;
}
.icon-btn:hover{color:var(--jade);border-color:var(--jade);transform:translateY(-1px)}
.icon-btn.small{width:30px;height:30px;font-size:13px}
.menu-btn{display:none;background:none;border:none;color:var(--ink);font-size:24px;cursor:pointer}

/* 侧边目录 */
.sidebar{
  position:fixed;top:0;left:0;bottom:0;width:290px;z-index:50;
  background:var(--bg-2);border-right:1px solid var(--line);
  padding:80px 0 20px;transform:translateX(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;overflow-y:auto;
}
.sidebar.open{transform:translateX(0);box-shadow:var(--shadow)}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:0 22px 14px;color:var(--ink-soft);font-family:var(--font-title);letter-spacing:2px}
.sidebar-tree{padding:0 14px;flex:1}
.tree-group{margin-bottom:10px}
.tree-group-title{
  display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;color:var(--gold);
  font-family:var(--font-title);font-size:16px;letter-spacing:2px;border-radius:8px;
}
.tree-group-title .cnt{margin-left:auto;font-size:12px;color:var(--ink-faint)}
.tree-group-title:hover{background:var(--card)}
.tree-items{overflow:hidden;max-height:0;transition:max-height .35s ease}
.tree-group.open .tree-items{max-height:600px}
.tree-items a{
  display:block;padding:8px 14px 8px 34px;color:var(--ink-soft);font-size:15px;border-radius:6px;transition:.25s;
}
.tree-items a:hover{color:var(--jade);background:var(--card-hover)}
.tree-items a.active{color:var(--jade);background:var(--card)}
.sidebar-foot{padding:14px 22px 0;color:var(--ink-faint);font-size:12px;letter-spacing:1px;border-top:1px solid var(--line);margin-top:10px}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:45;opacity:0;visibility:hidden;transition:.3s}
.scrim.show{opacity:1;visibility:visible}

/* 搜索浮层 */
.search-overlay{position:fixed;inset:0;z-index:60;background:rgba(6,10,9,.92);backdrop-filter:blur(6px);display:none;flex-direction:column;align-items:center;padding:12vh 20px 40px;overflow-y:auto}
.search-overlay.show{display:flex}
.search-box{display:flex;align-items:center;gap:10px;width:min(680px,92vw);border-bottom:2px solid var(--gold);padding:10px 4px}
#search-input{flex:1;background:none;border:none;outline:none;color:var(--ink);font-family:var(--font-body);font-size:22px}
#search-input::placeholder{color:var(--ink-faint)}
.search-results{width:min(680px,92vw);margin-top:24px;display:flex;flex-direction:column;gap:12px}
.search-results .sr-item{padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:.25s}
.search-results .sr-item:hover{border-color:var(--jade);background:var(--card-hover)}
.search-results .sr-kind{font-size:12px;color:var(--gold);letter-spacing:1px}
.search-results .sr-title{font-family:var(--font-title);font-size:17px;margin:2px 0 4px}
.search-results .sr-text{font-size:14px;color:var(--ink-soft);line-height:1.6}
.search-results mark{background:rgba(201,168,106,.35);color:var(--ink);padding:0 2px;border-radius:3px}
.search-empty{color:var(--ink-faint);text-align:center;margin-top:30px}

/* 主内容 */
.app{position:relative;z-index:10;min-height:100vh;padding-top:64px}
.container{width:min(1100px,92vw);margin:0 auto;padding:0 0 80px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* ===== 首页 Hero ===== */
.hero{
  position:relative;min-height:calc(100vh - 64px);display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:0 20px;overflow:hidden;
}
.hero-seal{
  font-family:var(--font-brush);font-size:clamp(90px,20vw,220px);color:var(--ink);
  line-height:.9;letter-spacing:.1em;text-shadow:0 8px 40px rgba(0,0,0,.5);
  animation:floatY 7s ease-in-out infinite;
}
.hero-sub{font-family:var(--font-title);font-size:clamp(18px,3vw,26px);letter-spacing:.5em;color:var(--jade);margin-top:10px}
.hero-quote{
  margin-top:34px;max-width:680px;font-size:clamp(16px,2.4vw,21px);color:var(--ink-soft);
  font-family:var(--font-body);min-height:3.4em;transition:opacity .6s;font-style:normal;
}
.hero-quote .q-mark{color:var(--cinnabar);font-family:var(--font-brush);font-size:1.4em;vertical-align:-.15em;margin:0 4px}
.hero-cta{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.btn{
  padding:13px 30px;border-radius:40px;font-family:var(--font-title);letter-spacing:2px;font-size:16px;
  cursor:pointer;border:1px solid var(--line);transition:.3s;background:var(--card);color:var(--ink);
}
.btn:hover{transform:translateY(-2px);border-color:var(--jade)}
.btn-primary{background:linear-gradient(120deg,var(--jade-deep),var(--jade));color:#06120f;border:none;box-shadow:0 10px 30px rgba(63,140,126,.35)}
.btn-primary:hover{box-shadow:0 14px 38px rgba(63,140,126,.5)}
.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);color:var(--ink-faint);font-size:13px;letter-spacing:2px;animation:floatY 3s ease-in-out infinite}
@keyframes floatY{50%{transform:translateY(-10px)}}

/* 首页：三境入口 */
.realms{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.realm-card{
  padding:34px 26px;border:1px solid var(--line);border-radius:16px;background:var(--card);
  cursor:pointer;transition:.4s;position:relative;overflow:hidden;
}
.realm-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 0,rgba(109,181,166,.18),transparent 60%);opacity:0;transition:.4s}
.realm-card:hover{transform:translateY(-6px);border-color:var(--jade);box-shadow:var(--shadow)}
.realm-card:hover::before{opacity:1}
.realm-num{font-family:var(--font-brush);font-size:46px;color:var(--cinnabar);opacity:.8}
.realm-title{font-family:var(--font-title);font-size:24px;letter-spacing:3px;margin:6px 0 8px}
.realm-desc{font-size:14px;color:var(--ink-soft);line-height:1.7}
.realm-count{margin-top:14px;font-size:13px;color:var(--gold);letter-spacing:1px}

/* 首页：思想精粹（横向滚动卡片） */
.section-band{margin-top:64px}
.band-head{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
.band-head h2{font-family:var(--font-title);font-size:30px;letter-spacing:4px}
.band-head .en{color:var(--ink-faint);font-size:13px;letter-spacing:2px}
.thought-row{display:flex;gap:18px;overflow-x:auto;padding:6px 2px 18px;scroll-snap-type:x mandatory}
.thought-row::-webkit-scrollbar{height:6px}
.thought-row::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.thought-chip{
  flex:0 0 300px;scroll-snap-align:start;padding:24px;border:1px solid var(--line);border-radius:14px;
  background:var(--card);cursor:pointer;transition:.35s;
}
.thought-chip:hover{transform:translateY(-4px);border-color:var(--jade);background:var(--card-hover)}
.thought-chip h3{font-family:var(--font-title);font-size:20px;letter-spacing:2px;color:var(--jade);margin-bottom:10px}
.thought-chip p{font-size:13.5px;color:var(--ink-soft);line-height:1.7;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.thought-chip .qc{margin-top:12px;font-family:var(--font-body);color:var(--gold);font-size:14px}

/* ===== 通用页头 ===== */
.page-head{padding:54px 0 30px;text-align:center}
.page-head .eyebrow{color:var(--gold);letter-spacing:4px;font-size:13px}
.page-head h1{font-family:var(--font-brush);font-size:clamp(48px,9vw,92px);margin:6px 0 10px;line-height:1}
.page-head p{color:var(--ink-soft);max-width:640px;margin:0 auto;font-size:15.5px}
.page-head .deco{width:60px;height:2px;background:var(--gold);margin:22px auto 0}

/* 篇目网格 */
.chapter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:10px}
.chapter-card{
  padding:26px 24px;border:1px solid var(--line);border-radius:14px;background:var(--card);
  cursor:pointer;transition:.4s;position:relative;overflow:hidden;min-height:150px;display:flex;flex-direction:column;
}
.chapter-card::after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(200,85,61,.16),transparent 70%);top:-40px;right:-40px;
  opacity:0;transition:.4s;transform:scale(.6)}
.chapter-card:hover{transform:translateY(-5px);border-color:var(--jade);box-shadow:var(--shadow)}
.chapter-card:hover::after{opacity:1;transform:scale(1)}
.chapter-card .c-idx{font-family:var(--font-brush);font-size:30px;color:var(--cinnabar);opacity:.7}
.chapter-card .c-title{font-family:var(--font-title);font-size:26px;letter-spacing:3px;margin:4px 0 10px}
.chapter-card .c-snippet{font-size:13.5px;color:var(--ink-soft);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.chapter-card .c-tag{margin-top:auto;padding-top:12px;font-size:12px;color:var(--gold);letter-spacing:1px}

/* ===== 章节阅读 ===== */
.reader{max-width:820px;margin:0 auto;padding:40px 0 60px}
.reader-head{text-align:center;margin-bottom:30px}
.reader-head .r-section{color:var(--gold);letter-spacing:3px;font-size:13px}
.reader-head h1{font-family:var(--font-brush);font-size:clamp(44px,8vw,76px);margin:6px 0}
.reader-toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:22px 0 8px}
.seg{display:flex;border:1px solid var(--line);border-radius:30px;overflow:hidden}
.seg button{background:transparent;border:none;color:var(--ink-soft);padding:9px 18px;cursor:pointer;font-family:var(--font-body);font-size:14px;transition:.25s}
.seg button.active{background:var(--jade);color:#06120f}
.toggle-pinyin{display:flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--line);border-radius:30px;color:var(--ink-soft);font-size:14px;cursor:pointer}
.toggle-pinyin input{accent-color:var(--jade)}

.passage{padding:22px 0;border-bottom:1px dashed var(--line);scroll-margin-top:90px}
.passage .p-no{font-size:12px;color:var(--ink-faint);letter-spacing:1px;margin-bottom:8px}
.passage .orig{font-family:var(--font-body);font-size:19px;line-height:2.05;color:var(--ink);letter-spacing:.5px}
.passage .trans{font-family:var(--font-body);font-size:16px;line-height:1.95;color:var(--ink-soft);margin-top:14px;padding-left:16px;border-left:2px solid var(--jade-deep)}
/* 拼音 */
.hz{position:relative;border-bottom:1px dotted var(--ink-faint);cursor:help}
.hz:hover::after{content:attr(data-pinyin);position:absolute;left:50%;top:-22px;transform:translateX(-50%);
  background:var(--gold);color:#1a140a;font-size:12px;padding:1px 7px;border-radius:5px;white-space:nowrap;z-index:5}
/* 拼音常显：汉字留在基线文本流内，拼音绝对定位悬浮于字上方 */
body.show-pinyin .passage .orig{line-height:2.6}
body.show-pinyin .hz::before{content:attr(data-pinyin);position:absolute;left:50%;bottom:100%;transform:translateX(-50%);
  font-size:11px;color:var(--jade);line-height:1.5;white-space:nowrap;pointer-events:none;z-index:3;letter-spacing:0}
body.show-pinyin .hz:hover::after{display:none}
/* 视图模式 */
.mode-trans .passage .orig{display:none}
.mode-trans .passage .trans{margin-top:0;padding-left:0;border-left:none}
.mode-both .passage .trans{display:block}
.mode-orig .passage .trans{display:none}

.dujie{margin:34px 0;padding:26px 28px;border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(135deg,var(--card),transparent);position:relative}
.dujie::before{content:"读";position:absolute;top:-16px;left:24px;width:34px;height:34px;display:grid;place-items:center;
  background:var(--cinnabar);color:#fff;font-family:var(--font-brush);font-size:20px;border-radius:8px;transform:rotate(-4deg)}
.dujie h3{font-family:var(--font-title);color:var(--gold);letter-spacing:2px;margin:4px 0 12px;font-size:18px}
.dujie p{font-size:16px;color:var(--ink);line-height:1.95}

.reader-nav{display:flex;justify-content:space-between;margin-top:40px;gap:12px}
.reader-nav a{flex:1;padding:16px 20px;border:1px solid var(--line);border-radius:12px;transition:.3s;cursor:pointer}
.reader-nav a:hover{border-color:var(--jade);background:var(--card-hover)}
.reader-nav .rn-label{font-size:12px;color:var(--ink-faint);letter-spacing:1px}
.reader-nav .rn-title{font-family:var(--font-title);font-size:18px;margin-top:3px}
.reader-nav a.next{text-align:right}

/* ===== 思想专题 ===== */
.thought-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:10px}
.thought-card{padding:28px 26px;border:1px solid var(--line);border-radius:16px;background:var(--card);cursor:pointer;transition:.4s;position:relative;overflow:hidden}
.thought-card:hover{transform:translateY(-6px);border-color:var(--jade);box-shadow:var(--shadow)}
.thought-card .t-seal{position:absolute;right:18px;top:18px;width:30px;height:30px;border:1px solid var(--cinnabar);color:var(--cinnabar);display:grid;place-items:center;font-family:var(--font-brush);font-size:17px;border-radius:6px;transform:rotate(6deg);opacity:.8}
.thought-card h3{font-family:var(--font-title);font-size:23px;letter-spacing:2px;color:var(--ink);margin-bottom:12px}
.thought-card p{font-size:14.5px;color:var(--ink-soft);line-height:1.8;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.thought-card .qc{margin-top:14px;font-family:var(--font-body);color:var(--gold);font-size:15px;border-top:1px solid var(--line);padding-top:12px}

/* 思想详情 */
.thought-detail{max-width:780px;margin:0 auto;padding:30px 0 60px}
.thought-detail .td-section{color:var(--gold);letter-spacing:3px;font-size:13px;text-align:center}
.thought-detail h1{font-family:var(--font-brush);font-size:clamp(46px,9vw,84px);text-align:center;margin:6px 0 26px}
.td-quote{font-family:var(--font-title);font-size:clamp(22px,4vw,34px);text-align:center;color:var(--jade);line-height:1.7;padding:30px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:30px;letter-spacing:2px}
.td-block{margin-bottom:30px}
.td-block h4{font-family:var(--font-title);font-size:18px;color:var(--gold);letter-spacing:2px;margin-bottom:10px;display:flex;align-items:center;gap:10px}
.td-block h4::before{content:"";width:18px;height:2px;background:var(--gold)}
.td-block p{font-size:16.5px;line-height:2;color:var(--ink)}
.td-back{display:inline-block;margin-top:10px;color:var(--jade);cursor:pointer;letter-spacing:1px}

/* ===== 关于 ===== */
.about{max-width:780px;margin:0 auto;padding:30px 0 60px}
.about .bio{font-size:17px;line-height:2.1;color:var(--ink);margin-bottom:36px}
.about .sec-block{margin-bottom:30px;padding:24px 26px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.about .sec-block h3{font-family:var(--font-title);font-size:22px;letter-spacing:3px;color:var(--jade);margin-bottom:12px}
.about .sec-block p{font-size:15.5px;line-height:1.95;color:var(--ink-soft)}
.about .note{margin-top:30px;font-size:13px;color:var(--ink-faint);line-height:1.8;border-top:1px solid var(--line);padding-top:18px}

/* 页脚 */
.site-foot{position:relative;z-index:10;text-align:center;padding:40px 20px 50px;color:var(--ink-faint);font-size:13px;line-height:1.9;border-top:1px solid var(--line);margin-top:40px}
.site-foot .foot-sub{display:block;margin-top:6px;font-size:12px}
.site-foot a{color:var(--jade)}

/* 响应式 */
@media(max-width:860px){
  .topnav a:not(.active){display:none}
  .menu-btn{display:block}
  .realms{grid-template-columns:1fr}
  .topnav .icon-btn{display:inline-flex}
}
@media(min-width:861px){.sidebar{display:none}.scrim{display:none!important}}
