/* ============================================================
   site.css — 作品集全站公共层
   设计 token 取自食算纪页（styles.css），数值一致保证全站统一。
   加载顺序约定：本文件在前，页面自有样式（食算纪 styles.css）在后。
   ============================================================ */

/* ---- 字体：与食算纪页同一套 ---- */
@font-face { font-family:'CrimsonPro'; src:url('fonts/CrimsonPro-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'CrimsonPro'; src:url('fonts/CrimsonPro-Italic.ttf') format('truetype'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'CrimsonPro'; src:url('fonts/CrimsonPro-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'InstrumentSans'; src:url('fonts/InstrumentSans-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'InstrumentSans'; src:url('fonts/InstrumentSans-Italic.ttf') format('truetype'); font-weight:400; font-style:italic; font-display:swap; }

/* ---- token（与 styles.css :root 同源） ---- */
:root{
  --bg:#EFE9E0;
  --ink:#2B2622;
  --muted:#6B6154;      /* 5.03:1，过 AA */
  --body-c:#4C443A;     /* 5.97:1，正文 */
  --accent:#9C3B36;
  --accent-l:#C0736C;
  --ok:#75865A;
  --warn:#C0954C;
  --line:#D5CBBC;
  --line-2:#E2DACB;
  --serif:'CrimsonPro','Songti SC','STSong','Source Han Serif SC','Noto Serif SC',Georgia,serif;
  --sans:'InstrumentSans',-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:15px;line-height:1.75;line-break:strict;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
/* 极轻纸纹，与食算纪页一致 */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.038;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}

h1,h2,h3{font-family:var(--serif);line-height:1.3;margin:0 0 .5em;color:var(--ink);font-weight:400}
h1{font-size:clamp(44px,6vw,72px);letter-spacing:.005em}
h2{font-size:clamp(26px,3.4vw,36px);letter-spacing:.01em}
h3{font-size:18px}
p{margin:0 0 1em;color:var(--body-c)}
a{color:var(--accent)}
img{max-width:100%;border-radius:14px;border:1px solid var(--line);display:block}
figure{margin:26px 0}
figcaption{font-size:13px;line-height:1.7;color:var(--muted);margin-top:10px}
/* 宽幅配图：突破 640 版心，最多 1080 居中 */
.fig-wide{width:min(100vw - 44px,1080px);margin-left:calc(50% - min(50vw - 22px,540px));margin-right:calc(50% - min(50vw - 22px,540px))}
/* 中幅配图：竖构图截图限宽居中 */
.fig-mid{max-width:520px;margin-left:auto;margin-right:auto}
.fig-mid img{width:100%}
.num{font-variant-numeric:tabular-nums}

/* ---- 版心 ---- */
.wrap{max-width:640px;margin:0 auto;padding:56px 22px}
.wrap--wide{max-width:1080px}

/* ---- 顶栏 ---- */
.site-top{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.site-top__inner{max-width:1080px;margin:0 auto;padding:14px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.site-top a{text-decoration:none;color:var(--muted);font-size:14px}
.site-top a:hover{color:var(--accent)}
.site-top a.current{color:var(--accent);pointer-events:none}
.site-top__brand{font-family:var(--serif);font-size:17px;color:var(--ink)!important;white-space:nowrap}
.site-top__links{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end}

/* ---- 卡片 / 面板 / 按钮 / 徽章 ---- */
.card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin:18px 0;background:rgba(255,255,255,.35);display:block;text-decoration:none;color:inherit;transition:border-color .15s,transform .25s ease,box-shadow .25s ease}
.card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 28px rgba(43,38,34,.08)}
.card h3{font-size:17px}
.card .result-line{border-top:1px solid var(--line-2);padding-top:10px;margin-top:14px}
.case-thumb img{transition:transform .35s ease}
.card:hover .case-thumb img{transform:scale(1.03)}
@media (prefers-reduced-motion:reduce){.card,.case-thumb img{transition:none}.card:hover{transform:none}.card:hover .case-thumb img{transform:none}}
.panel{border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin:20px 0;background:rgba(255,255,255,.35)}
.btn{display:inline-block;padding:9px 20px;border:1px solid var(--line);background:transparent;border-radius:10px;font-family:inherit;font-size:15px;cursor:pointer;color:var(--ink);text-decoration:none;transition:.15s}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.chip{display:inline-block;border:1px solid var(--line);border-radius:10px;padding:8px 16px;font-size:14px;color:var(--body-c)}

/* ---- 首页宽版布局：案例卡 2×2，关于我双栏 ---- */
.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.card-grid .card{margin:0}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8px 48px;align-items:start}
#push{max-width:760px}
@media(max-width:820px){
  .card-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr;gap:0}
}

/* ---- 案例页共用 ---- */
.eyebrow{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.16em;line-height:1;color:var(--accent);margin:0 0 18px;text-transform:uppercase}
/* 首页开篇：中文巨字 + 英文斜体红，与食算纪同源 */
.hero-zh{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:.005em;margin:0 0 2px;color:var(--ink)}
.hero-en{font-family:var(--serif);font-style:italic;font-size:clamp(28px,3.8vw,46px);line-height:1;color:var(--accent);letter-spacing:-.01em;padding-left:.06em;margin:0 0 30px}
.lede{font-size:17px;color:var(--ink)}
.kv{margin:6px 0 0;color:var(--muted);font-size:14px}
.figcap{font-size:13px;color:var(--muted);margin-top:8px;text-align:center}
.result-line{color:var(--muted);font-size:14px;margin:10px 0 0}
.result-line b{color:var(--ink)}

/* ---- 案例卡缩略图（首页） ---- */
.case-thumb{height:150px;margin:-22px -24px 16px;overflow:hidden;border-bottom:1px solid var(--line-2);border-radius:13px 13px 0 0}
.case-thumb img{width:100%;height:100%;object-fit:cover;object-position:top;border:none;border-radius:0}
.thumb-mock{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:0 26px;background:linear-gradient(135deg,#F3EEE5,#E4DAC8)}
.mock-title{font-size:12px;color:var(--muted);letter-spacing:.08em;margin-bottom:2px}
.mock-row{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--body-c)}
.mock-row b{font-size:16px;min-width:30px;text-align:right;color:var(--ink)}
.mock-row i{width:10px;height:10px;border-radius:50%;flex:none}
.mock-row.ok i{background:var(--ok)}
.mock-row.warn i{background:var(--warn)}
.mock-row.off i{background:#B7AB97}

/* ---- 规则卡（雪花肉页主角） ---- */
.rule-card{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:14px 18px;margin:12px 0;background:rgba(255,255,255,.35)}
.rule-card b{font-family:var(--serif);font-size:16px}
.rule-card .why-line{color:var(--muted);font-size:14px;margin:4px 0 0}

/* ---- 推动别人（首页）：条目靠间距分隔，仅板块内保留细线 ---- */
.push-item{padding:14px 0}
.push-item h3{margin-bottom:8px}
.push-item p{margin:0 0 6px}
.push-item .q4{color:var(--muted)}
#push .push-item{border-top:1px solid var(--line);padding:18px 0}
#push .push-item:first-of-type{border-top:none;padding-top:4px}

/* ---- 关键数字：衬线斜体红，与食算纪页同源 ---- */
.stat-num{font-family:var(--serif);font-style:italic;font-size:1.7em;line-height:1;color:var(--accent);padding:0 .06em}
.result-line .stat-num,.stat-num{color:var(--accent)}

/* ---- 截图占位（素材补齐前使用） ---- */
.ph{border:1.5px dashed var(--line);border-radius:14px;padding:36px 20px;text-align:center;color:var(--muted);font-size:14px;background:rgba(255,255,255,.25)}

/* ---- 交互模拟器（audit 页） ---- */
.switch{display:inline-flex;gap:0}
.switch .btn.on{background:var(--accent);color:#EFE9E0;border-color:var(--accent)}
.bar{height:14px;background:var(--line-2);border-radius:7px;overflow:hidden;margin:4px 0 12px}
.bar i{display:block;height:100%;transition:width .35s}
.bar.plat i{background:var(--accent)}
.bar.win i{background:var(--ok)}
.why{margin-top:14px;padding:12px 16px;border-radius:10px;background:rgba(156,59,54,.08);color:#7C3A2E;font-size:14px;min-height:1.9em}

/* ---- 下划线式链接（与食算纪 link-arrow 同款） ---- */
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;letter-spacing:.02em;color:var(--ink);padding-bottom:3px;border-bottom:1px solid var(--line);text-decoration:none;transition:color .25s,border-color .25s}
.link-arrow:hover{color:var(--accent);border-color:var(--accent)}
.link-arrow .meta{font-weight:400;color:var(--muted);font-size:12.5px}

/* ---- 统一页尾联系区（每个案例页 main 末尾） ---- */
.contact-close{padding:clamp(60px,9vw,120px) 0 8px}
.contact-close__line{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.6vw,46px);line-height:1.42;letter-spacing:.01em;margin:0 0 22px}
.contact-close__line em{font-style:italic;color:var(--accent)}
.contact-close__desc{font-size:13.5px;line-height:1.9;color:var(--muted);margin:0 0 34px;max-width:34em}
.contact-close__links{display:flex;gap:26px;flex-wrap:wrap;align-items:baseline}

/* ---- 页脚三件套：署名 · 披露句（有交互才放） · © ---- */
.site-footer{border-top:1px solid var(--line);margin-top:64px;padding:22px 0 40px;color:var(--muted);font-size:13px}
.site-footer .disclosure{margin:0 0 6px}
.site-footer p{margin:0;color:var(--muted)}

@media(max-width:480px){
  h1{font-size:32px}
  .hero-zh{font-size:38px}
  .hero-en{font-size:27px}
  .contact-close__line{font-size:26px}
  .wrap{padding:40px 18px}
  .site-top__inner{padding:12px 16px}
  .site-top__links{gap:12px}
  .site-top a{font-size:13px}
}
