/* ============================================================
   优化小助手 · 公共样式（设计 token + 头部 + 页脚 + 通用控件）
   index.html 与 upload.html 共用，页面级样式各自内联。
   ============================================================ */

:root{
  /* 中性色 */
  --ink:#16181D;
  --ink-2:#3E434B;
  --muted:#6A7079;
  --line:#E7E8EA;
  --line-2:#D6D8DC;
  --paper:#FFFFFF;
  --paper-2:#FAFAF9;
  /* 强调色：只用于大字、焦点环、主按钮 */
  --accent:#C7451F;
  --accent-soft:#FBEFEA;

  --r-sm:8px; --r-md:12px; --r-lg:16px;
  --sh-1:0 1px 2px rgba(16,18,22,.05);
  --sh-2:0 14px 34px -14px rgba(16,18,22,.22);

  --ease:cubic-bezier(.22,.68,.28,1);

  --wrap:1120px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;line-height:1.65;letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,p,ul{margin:0}
ul{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
[hidden]{display:none !important}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
svg{display:block}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
::selection{background:var(--accent-soft);color:var(--ink)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{
  position:absolute;left:16px;top:-56px;z-index:100;
  background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--r-sm);
  font-size:14px;transition:top .2s var(--ease);
}
.skip:focus{top:12px}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}
@media(min-width:768px){.wrap{padding:0 32px}}

/* ---------------- 头部 ---------------- */
.site-head{
  position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.86);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--line);
}
.head-inner{display:flex;align-items:center;gap:16px;height:58px}
.brand{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:600;letter-spacing:.02em}
.mark{position:relative;width:20px;height:20px;border-radius:6px;background:var(--ink);flex:none}
.mark::after{content:"";position:absolute;inset:0;margin:auto;width:6px;height:6px;border-radius:50%;background:var(--paper)}
.site-nav{display:none;gap:24px;font-size:14px;color:var(--ink-2)}
.site-nav a{padding:6px 0;border-bottom:1px solid transparent;transition:color .2s var(--ease),border-color .2s var(--ease)}
.site-nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.site-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.btn-ghost{
  margin-left:auto;font-size:13px;padding:8px 14px;border:1px solid var(--line-2);border-radius:999px;
  transition:border-color .2s var(--ease),background .2s var(--ease);
  white-space:nowrap;
}
.btn-ghost:hover{border-color:var(--ink);background:var(--paper-2)}
@media(min-width:768px){
  .head-inner{gap:28px}
  .site-nav{display:flex}
  .btn-ghost{margin-left:0}
}

/* ---------------- 页脚 ---------------- */
.site-foot{border-top:1px solid var(--line);padding:26px 0 40px;font-size:12.5px;color:var(--muted)}
.foot-inner{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
.foot-links{display:flex;flex-wrap:wrap;gap:20px}
.foot-links a:hover{color:var(--ink)}
.icp{display:block;width:100%;margin-top:2px;font-size:12px;color:var(--muted)}
.icp a{border-bottom:1px solid transparent;transition:color .2s var(--ease),border-color .2s var(--ease)}
.icp a:hover{color:var(--ink);border-bottom-color:var(--line-2)}

/* ---------------- 胶囊筛选 ---------------- */
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{
  font-size:13px;padding:7px 14px;border-radius:999px;
  border:1px solid var(--line);background:var(--paper);color:var(--ink-2);
  transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
}
.chip:hover{border-color:var(--line-2);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---------------- 按钮 ---------------- */
.act{
  display:inline-flex;align-items:center;gap:7px;
  font-size:13px;padding:9px 16px;border-radius:999px;
  border:1px solid var(--line-2);color:var(--ink-2);
  transition:border-color .2s var(--ease),background .2s var(--ease),color .2s var(--ease);
}
.act:hover{border-color:var(--ink);color:var(--ink)}
.act--primary{background:var(--ink);border-color:var(--ink);color:#fff}
.act--primary:hover{background:#000;border-color:#000;color:#fff}
.act svg{width:13px;height:13px}
.act[disabled]{opacity:.5;cursor:not-allowed}

.icon-btn{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);transition:background .2s var(--ease),color .2s var(--ease)}
.icon-btn:hover{background:var(--paper-2);color:var(--ink)}
.icon-btn svg{width:15px;height:15px}

/* ---------------- 标签 ---------------- */
.tag{
  font-size:11px;line-height:1;padding:5px 8px;border-radius:999px;
  border:1px solid var(--line);color:var(--ink-2);background:var(--paper);
}

/* ---------------- 表单 ---------------- */
.field{display:block;margin-bottom:18px}
.field > .label{display:block;font-size:12px;letter-spacing:.1em;color:var(--muted);margin-bottom:7px}
.field .req{color:var(--accent)}
.input,.textarea{
  display:block;width:100%;
  font:inherit;font-size:14.5px;color:var(--ink);
  background:var(--paper-2);
  border:1px solid var(--line);border-radius:var(--r-sm);
  padding:10px 12px;
  transition:border-color .2s var(--ease),background .2s var(--ease);
}
.input{height:42px}
.textarea{min-height:84px;resize:vertical;line-height:1.7}
.input::placeholder,.textarea::placeholder{color:#9AA0A8}
.input:focus,.textarea:focus{border-color:var(--ink);background:var(--paper)}
.hint{margin-top:6px;font-size:11.5px;color:var(--muted);line-height:1.6}
.field-row{display:grid;gap:0}
@media(min-width:560px){
  .field-row{grid-template-columns:1fr 1fr;gap:0 14px}
}
