/* AI Image Forensic — 全站样式表 v1
   dist/assets/style.css
   纯 CSS，无外链字体、无 JS 依赖 */

:root{
  --ink:#12181f;
  --ink-2:#3d4a57;
  --ink-3:#6b7a89;
  --bg:#fbfaf7;
  --panel:#ffffff;
  --line:#e4e1d9;
  --line-2:#cfcbc0;
  --accent:#0b6b5b;
  --accent-ink:#08544a;
  --accent-wash:#eff6f3;
  --warn:#8a4b00;
  --row-alt:rgba(18,24,31,.02);
  --radius:10px;
  --wrap:760px;
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

/* ---------- 顶栏 ---------- */
header{
  position:sticky; top:0; z-index:10;
  display:flex; flex-wrap:wrap; align-items:center;
  gap:.5rem 1.5rem;
  max-width:calc(var(--wrap) + 2.5rem);
  margin:0 auto;
  padding:1rem 1.25rem;
  background:rgba(251,250,247,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(1.2) blur(6px);
}
header > a{
  display:inline-flex; align-items:center;
  font-weight:700; font-size:1.02rem; letter-spacing:-.015em;
  color:var(--ink); text-decoration:none;
}
header > a::before{
  content:""; width:.6rem; height:.6rem; margin-right:.55rem;
  border-radius:2px; background:var(--accent);
}
header nav{display:flex; flex-wrap:wrap; gap:.15rem .95rem; margin-left:auto; font-size:.93rem}
header nav a{color:var(--ink-2); text-decoration:none; padding:.15rem 0}
header nav a:hover{color:var(--accent-ink); text-decoration:underline; text-underline-offset:3px}

/* ---------- 主体 ---------- */
main{max-width:var(--wrap); margin:0 auto; padding:2.5rem 1.25rem 3.5rem}

h1{
  font-size:clamp(1.85rem,1.15rem + 2.2vw,2.55rem);
  line-height:1.14; letter-spacing:-.022em;
  margin:0 0 1rem; font-weight:700; text-wrap:balance;
}
h2{
  font-size:clamp(1.22rem,1.02rem + .7vw,1.5rem);
  line-height:1.3; letter-spacing:-.015em;
  margin:3rem 0 .75rem; padding-top:1.4rem;
  border-top:1px solid var(--line);
  scroll-margin-top:5rem;
}
h3{
  font-size:1.05rem; line-height:1.4; letter-spacing:-.005em;
  margin:1.9rem 0 .45rem; scroll-margin-top:5rem;
}

p{margin:0 0 1.05rem; color:var(--ink-2)}
main > p:first-of-type{font-size:1.12rem; line-height:1.6; color:var(--ink)}
h3 + p{margin-top:0}

a{color:var(--accent-ink); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2.5px}
a:hover{text-decoration-thickness:2px}

ul{margin:0 0 1.3rem; padding-left:1.3rem}
li{margin:.4rem 0; color:var(--ink-2)}
li::marker{color:var(--accent)}

strong{color:var(--ink); font-weight:650}

code{
  font-family:var(--mono); font-size:.88em;
  background:#f0f2ef; border:1px solid var(--line);
  padding:.08em .35em; border-radius:4px;
  word-break:break-word;
}

/* ---------- 表格 ---------- */
table{width:100%; margin:0 0 1.8rem; border-collapse:collapse; font-size:.95rem}
th,td{padding:.7rem .85rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--line)}
th{
  font-size:.78rem; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink); white-space:nowrap;
}
td{color:var(--ink-2)}
td:first-child{color:var(--ink); font-weight:600}
tbody tr:nth-child(even){background:var(--row-alt)}
tbody tr:last-child td{border-bottom:none}

/* ---------- 表单 ---------- */
form{margin:0}
section form{
  display:grid; gap:.7rem;
  background:var(--panel);
  border:1px solid var(--line); border-radius:var(--radius);
  padding:1.25rem;
  box-shadow:0 1px 2px rgba(18,24,31,.045);
}
label{display:block; font-size:.9rem; font-weight:600; color:var(--ink)}
input[type="file"],input[type="email"]{
  width:100%; padding:.68rem .8rem;
  font:inherit; font-size:.95rem; color:var(--ink);
  background:#fdfdfb; border:1px solid var(--line-2); border-radius:8px;
}
input[type="file"]{padding:.55rem .7rem}
input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(11,107,91,.16)}
::file-selector-button{
  font:inherit; font-size:.87rem; font-weight:600;
  margin-right:.75rem; padding:.42rem .8rem;
  border:1px solid var(--line-2); border-radius:6px;
  background:#f1efe9; color:var(--ink); cursor:pointer;
}
::file-selector-button:hover{background:#e9e6dd}
button{
  justify-self:start;
  font:inherit; font-size:.97rem; font-weight:650;
  padding:.68rem 1.15rem; border-radius:8px;
  border:1px solid transparent; background:var(--accent); color:#fff;
  cursor:pointer; transition:background .15s ease;
}
button:hover{background:var(--accent-ink)}
button:disabled{background:#a7b4b0; cursor:not-allowed}

small{display:block; font-size:.85rem; color:var(--ink-3)}

/* ---------- 邮箱门控（脚本生成的区块） ---------- */
.waitlist{
  margin:1rem 0 0; padding:1rem 1.15rem;
  background:var(--accent-wash);
  border:1px solid #cfe2da; border-left:3px solid var(--accent);
  border-radius:8px;
}
.waitlist[hidden]{display:none}
.waitlist > p:first-of-type{margin:0 0 .8rem; font-size:.95rem; color:var(--ink)}
.waitlist form{display:grid; gap:.55rem}
.waitlist-status{margin:.6rem 0 0; font-size:.9rem; color:var(--warn)}

/* ---------- 页脚 ---------- */
footer{
  max-width:calc(var(--wrap) + 2.5rem);
  margin:0 auto; padding:1.5rem 1.25rem 3rem;
  border-top:1px solid var(--line);
  font-size:.9rem; color:var(--ink-3);
}
footer p{margin:0 0 .55rem; color:inherit}
footer small{color:var(--ink-3)}
footer nav{display:inline; font-size:inherit}
footer a{color:var(--ink-2)}

/* ---------- 细节 ---------- */
:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:2px}
::selection{background:#cfe8e0}

/* ---------- 窄屏 ---------- */
@media (max-width:700px){
  body{font-size:16.5px}
  header{padding:.8rem 1rem; gap:.4rem 1rem}
  header nav{margin-left:0; width:100%; font-size:.88rem; gap:.1rem .8rem}
  main{padding:1.75rem 1rem 2.5rem}
  h2{margin-top:2.25rem}
  table{display:block; overflow-x:auto; -webkit-overflow-scrolling:touch}
  th,td{padding:.55rem .6rem; font-size:.9rem}
  section form{padding:1rem}
}

/* ---------- 深色模式 ---------- */
@media (prefers-color-scheme:dark){
  :root{
    --ink:#edf1ef; --ink-2:#c3ccc9; --ink-3:#94a19e;
    --bg:#101413; --panel:#161b1a;
    --line:#27312f; --line-2:#35423f;
    --accent:#31a58e; --accent-ink:#66c4b0; --accent-wash:#13241f;
    --warn:#e2a866; --row-alt:rgba(255,255,255,.025);
  }
  header{background:rgba(16,20,19,.94)}
  input[type="file"],input[type="email"]{background:#121716}
  ::file-selector-button{background:#1e2624; color:var(--ink)}
  code{background:#1b2321}
  button{color:#08110f}

/* ---------- 打印（取证报告、PDF 存证会用到） ---------- */
@media print{
  header nav,footer nav,.waitlist{display:none}
  body{background:#fff; color:#000; font-size:11pt}
  header,footer{position:static; max-width:none; border:0; padding:0 0 .5rem}
  main{max-width:none; padding:0}
  h2{break-after:avoid}
  table{display:table; overflow:visible; width:100%; font-size:9.5pt}
  a{color:#000}
}