/*
  文件头说明：贯一承诺站共享样式（style.css）v2——门户版
  视觉来源：继承守一工坊官网设计令牌（宪法第 4 条：视觉资产可继承——文楷/纸墨审美语言）。
  令牌对齐：墨色暗底（默认）+ 暖纸浅色（可切换）、楷体标题、朱砂强调、全局噪点、radius 18px。
  v2 大气化：容器 1120px（同守一）、超大楷体 Hero、承诺三栏、卡片作品区、首页入场动画
  （遵守 prefers-reduced-motion 自动关闭）。
  纪律：零外部请求——同源静态资源，不引入任何外部字体/CDN/统计代码。
  品牌纪律：贯一印/字标未定稿（待办②），本站不硬编码印章样式，仅用几何朱砂点缀；
  Hero 水印为通用装饰，定稿后如需替换为正式印/字标，改此处即可。
*/

/* ═══════════════ 设计令牌（与守一官网逐值对齐） ═══════════════ */
:root{
  --bg:#0a0c10; --bg2:#0d1016; --card:#12161d; --card2:#151a22;
  --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14);
  --text:#eceae4; --muted:#a3a9b3; --faint:#6d7480;
  --accent:#e2583e; --accent-strong:#ff6f52; --accent-soft:rgba(226,88,62,.12);
  --serif:"Kaiti SC","STKaiti","KaiTi","DFKai-SB",serif;
  --sans:"HarmonyOS Sans SC","MiSans","PingFang SC","Microsoft YaHei UI",system-ui,-apple-system,sans-serif;
  --mono:ui-monospace,"Cascadia Mono","Consolas","SF Mono",monospace;
  --radius:18px;
}
[data-theme="light"]{
  --bg:#f6f3ec; --bg2:#efeae0; --card:#fffdf8; --card2:#faf6ee;
  --line:rgba(30,26,20,.10); --line2:rgba(30,26,20,.18);
  --text:#211e19; --muted:#5f5c55; --faint:#8f8b82;
  --accent:#b8402a; --accent-strong:#a33421; --accent-soft:rgba(184,64,42,.08);
}

/* ═══════════════ 基础 ═══════════════ */
*{margin:0;padding:0;box-sizing:border-box}
body{
  background:var(--bg);color:var(--text);font-family:var(--sans);
  line-height:1.9;font-size:16px;-webkit-font-smoothing:antialiased;
  transition:background .35s ease,color .35s ease;overflow-x:hidden;
}
/* 全局噪点（与守一官网同源做法） */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}
::selection{background:var(--accent);color:#fff}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.container{max-width:1120px;margin:0 auto;padding:0 28px}
/* 文档页用略窄容器（阅读舒适） */
.container.doc{max-width:860px}

/* ═══════════════ Hero（首页） ═══════════════ */
.hero{
  position:relative;text-align:center;
  padding:130px 0 110px;overflow:hidden;
}
/* 左右双水印字：左"貫"右"一"（装饰用，非印章） */
.hero::before{
  content:"貫";position:absolute;left:-40px;top:50%;transform:translateY(-50%);
  font-family:var(--serif);font-size:340px;line-height:1;color:var(--text);
  opacity:.035;pointer-events:none;user-select:none;
}
.hero::after{
  content:"一";position:absolute;right:-60px;top:50%;transform:translateY(-50%);
  font-family:var(--serif);font-size:480px;line-height:1;color:var(--text);
  opacity:.045;pointer-events:none;user-select:none;
}
.hero .eyebrow{
  font-family:var(--mono);font-size:13px;letter-spacing:.35em;
  color:var(--muted);text-transform:uppercase;margin-bottom:26px;
}
/* Hero 抬头章：开篇视觉锚点（印文=贯一，PNG 自带圆角与透明角） */
.hero-seal{
  width:72px;height:72px;margin-bottom:26px;
  box-shadow:0 6px 24px rgba(0,0,0,.35);
}
.hero h1{
  font-family:var(--serif);font-weight:700;
  font-size:clamp(60px,11vw,104px);letter-spacing:.22em;text-indent:.22em;
  line-height:1.15;
}
.hero h1 .seal-dot{color:var(--accent)}
/* 朱砂短线分隔 */
.hero .rule{
  width:46px;height:3px;background:var(--accent);
  margin:34px auto 30px;border-radius:2px;
}
.hero .tagline{
  font-family:var(--serif);font-size:clamp(18px,2.6vw,23px);
  color:var(--text);letter-spacing:.14em;
}
.hero .tagline-sub{color:var(--muted);font-size:15px;margin-top:14px;letter-spacing:.06em}

/* ═══════════════ 区块通用（大气版间距） ═══════════════ */
.section{padding:34px 0}
.section-title{
  font-family:var(--serif);font-size:26px;letter-spacing:3px;font-weight:700;
  margin-bottom:8px;display:flex;align-items:center;gap:14px;
}
/* 朱砂小方章（几何装饰） */
.section-title::before{
  content:"";width:12px;height:12px;background:var(--accent);
  border-radius:3px;flex:none;opacity:.92;
}
.section-desc{color:var(--muted);font-size:15px;margin-bottom:26px}

/* ═══════════════ 关于 ═══════════════ */
.about p{font-size:17px;max-width:46em}

/* ═══════════════ 作品卡片 ═══════════════ */
.works{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}
.work-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:36px 34px;transition:all .3s ease;
}
.work-card:hover{border-color:var(--line2);transform:translateY(-3px)}
.work-card.ghost{
  background:transparent;border-style:dashed;
  display:flex;flex-direction:column;justify-content:center;
}
.work-card.full{grid-column:1/-1}
.work-card .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.work-card h3{font-family:var(--serif);font-size:24px;letter-spacing:2px;font-weight:700}
.work-card .status{
  font-family:var(--mono);font-size:12px;color:var(--accent);
  border:1px solid var(--accent);border-radius:99px;padding:3px 12px;white-space:nowrap;
}
.work-card.ghost .status{color:var(--faint);border-color:var(--line2)}
.work-card p{color:var(--muted);font-size:14.5px}

/* ═══════════════ 数据承诺三栏（大气关键区） ═══════════════ */
.promises{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.promise{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:34px 30px;text-align:center;transition:all .3s ease;
}
.promise:hover{border-color:var(--accent);background:var(--accent-soft)}
.promise .big{
  font-family:var(--serif);font-size:26px;letter-spacing:4px;font-weight:700;
  margin-bottom:10px;
}
.promise .small{color:var(--muted);font-size:13.5px}

/* ═══════════════ 文档按钮卡 ═══════════════ */
.docs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.doc-link{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 34px;text-decoration:none;transition:all .3s ease;
}
.doc-link:hover{border-color:var(--accent);background:var(--accent-soft)}
.doc-link .t{font-family:var(--serif);font-size:21px;letter-spacing:3px;font-weight:700}
.doc-link .d{color:var(--muted);font-size:13.5px;margin-top:4px}
.doc-link .arrow{font-size:22px;color:var(--accent);transition:transform .3s}
.doc-link:hover .arrow{transform:translateX(6px)}

/* ═══════════════ 文档页（privacy/terms）页头 ═══════════════ */
.doc-head{position:relative;padding:88px 0 42px;text-align:center;overflow:hidden}
.doc-head::after{
  content:"貫";position:absolute;right:-30px;top:50%;transform:translateY(-50%);
  font-family:var(--serif);font-size:230px;line-height:1;color:var(--text);
  opacity:.03;pointer-events:none;user-select:none;
}
.doc-head h1{font-family:var(--serif);font-size:clamp(34px,6vw,48px);letter-spacing:8px;font-weight:700}
.doc-head .doc-meta{
  color:var(--muted);font-size:13.5px;margin-top:16px;font-family:var(--mono);letter-spacing:.08em;
}
/* 文档页卡片略增呼吸感 */
.doc section{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:32px 36px;margin-bottom:20px;
  transition:background .35s ease,border-color .35s ease;
}
.doc section h2{
  font-family:var(--serif);font-size:22px;letter-spacing:2px;font-weight:700;
  margin-bottom:14px;display:flex;align-items:center;gap:12px;
}
.doc section h2::before{
  content:"";width:11px;height:11px;background:var(--accent);
  border-radius:3px;flex:none;opacity:.92;
}
.doc section h3{font-size:16px;margin:16px 0 8px;color:var(--text)}
.doc section p,.doc section li{font-size:15.5px}
.doc section ul,.doc section ol{padding-left:24px;margin:8px 0}
.doc section li{margin-bottom:6px}
.doc .muted{color:var(--muted);font-size:13.5px}
.doc a.link{color:var(--accent);border-bottom:1px solid var(--accent-soft);transition:border-color .25s}
.doc a.link:hover{border-color:var(--accent)}

/* ═══════════════ 主题切换（右上角，同守一交互） ═══════════════ */
.theme-btn{
  position:fixed;top:20px;right:20px;z-index:100;
  width:42px;height:42px;border-radius:99px;border:1px solid var(--line2);
  background:var(--card);color:var(--muted);cursor:pointer;font-size:15px;
  display:flex;align-items:center;justify-content:center;transition:all .25s;
  font-family:var(--serif);letter-spacing:0;
}
.theme-btn:hover{color:var(--accent);border-color:var(--accent);transform:rotate(-8deg)}

/* ═══════════════ 页脚 ═══════════════ */
footer{
  text-align:center;padding:64px 0 56px;color:var(--faint);font-size:13.5px;
  border-top:1px solid var(--line);margin-top:40px;
}
footer a{color:var(--faint);border-bottom:1px solid var(--line2);transition:all .25s}
footer a:hover{color:var(--accent);border-color:var(--accent)}
footer p{margin-bottom:8px}
footer .foot-brand{font-family:var(--serif);font-size:16px;letter-spacing:4px;color:var(--muted)}
/* 落款章：印章语义=落款用印 */
.foot-seal{
  width:26px;height:26px;border-radius:7px;
  vertical-align:-8px;margin-right:8px;
  box-shadow:0 1px 6px rgba(0,0,0,.3);
}

/* ═══════════════ 首页入场动画（守一同款语汇；reduced-motion 全关） ═══════════════ */
.fade-up{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.fade-up.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .fade-up{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ═══════════════ 响应式 ═══════════════ */
@media (max-width:760px){
  .hero{padding:90px 0 70px}
  .hero::before{font-size:170px;left:-50px}
  .hero::after{font-size:250px;right:-70px}
  .works,.promises,.docs{grid-template-columns:1fr}
  .container{padding:0 20px}
  .work-card,.promise{padding:26px 24px}
}
