/* ============================================================
   UNCLAIMED — base
   共享层：重置 / 变量 / 通用排版
   ============================================================ */

:root{
  --ink:      #0d0b08;
  --ink-2:    #15120d;
  --ink-3:    #1c1811;
  --line:     #2e281e;
  --line-2:   #3d3527;
  --paper:    #ddd2b8;
  --paper-2:  #e9dfc8;
  --white:    #e8dfc9;
  --muted:    #948a72;
  --muted-2:  #6a6150;
  --accent:   #b4552a;
  --accent-2: #d06a34;

  --serif: "Georgia", "Times New Roman", "Songti SC", "SimSun", serif;
  --sans:  "Courier New", "Consolas", "Microsoft YaHei", monospace;
  --mono:  "SF Mono", "Consolas", "Courier New", monospace;
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--ink);
  color:var(--white);
  font-family:var(--serif);
  font-size:14px;
  line-height:2;
  letter-spacing:.02em;
  text-rendering:optimizeLegibility;
}

img{ display:block; max-width:100%; height:auto; }

a{ color:inherit; text-decoration:none; }

p{ margin:0 0 1.4em; }

h1,h2,h3{ font-weight:400; margin:0; letter-spacing:.12em; }

::selection{ background:var(--accent); color:#fff; }

/* 全站噪点覆层：压低 AI 出图的平滑感 */
.grain{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:900;
  opacity:.045;
  mix-blend-mode:screen;
  background-image:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'>\
<filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/>\
<feColorMatrix type='saturate' values='0'/></filter>\
<rect width='140' height='140' filter='url(%23n)'/></svg>");
}

/* 竖排导航 */
.rail{
  position:fixed;
  top:0;
  height:100vh;
  writing-mode:vertical-rl;
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.34em;
  color:var(--muted-2);
  display:flex;
  gap:1.5em;
  padding:120px 0;
  z-index:40;
}
.rail--left{ left:22px; }
.rail--right{ right:22px; }
.rail a{ color:var(--muted-2); transition:color .25s; }
.rail a:hover{ color:var(--white); }
.rail span{ color:#4a4740; }

@media (max-width:1080px){
  .rail{ display:none; }
}


/* ---------- 尊重「减少动态效果」 ---------- */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}


/* ============ 双语切换 ============ */
/* 中文版：隐藏日文 */
html[data-lang="zh"] .jp{ display:none !important; }

/* 日文版：隐藏所有中文元素 */
html[data-lang="jp"] .zh,
html[data-lang="jp"] .zh-dark,
html[data-lang="jp"] .zh-UI,
html[data-lang="jp"] .zh-hint,
html[data-lang="jp"] .sub,
html[data-lang="jp"] .zh-i{ display:none !important; }

/* 中文版：字幕样式统一回正文样式 */
html[data-lang="zh"] .zh,
html[data-lang="zh"] .sub,
html[data-lang="zh"] .zh-dark,
html[data-lang="zh"] .zh-UI,
html[data-lang="zh"] .zh-hint,
html[data-lang="zh"] .zh-i{
  font-size:inherit !important;
  line-height:inherit !important;
  color:inherit !important;
  margin-top:0 !important;
  letter-spacing:inherit !important;
  font-weight:inherit !important;
  opacity:1 !important;
}
