:root{
  --ink:#1a1a1a;
  --mid:#6b6b6b;
  --faint:#9a9a9a;
  --line:#e6e6e6;
  --bg:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.8;
  -webkit-tap-highlight-color:transparent;
}
.wrap{max-width:720px;margin:0 auto;padding:0 24px}

/* nav */
.nav{border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:56px}
.logo{font-size:15px;font-weight:600;color:var(--ink);text-decoration:none}
.nav-links a{font-size:14px;color:var(--mid);text-decoration:none;margin-left:20px}
.nav-links a:first-child{margin-left:0}

.t{font-size:22px;font-weight:600;margin-top:40px;letter-spacing:-.01em}
.sub{font-size:14px;color:var(--mid);margin-top:6px}
.safe{
  font-size:12px;color:var(--faint);margin-top:14px;
  border-left:2px solid var(--line);padding-left:10px;
}
.safe b{color:var(--mid);font-weight:500}

/* 输入 */
.io{margin-top:22px}

/* 顶部：模型选择单独一条，跟下面的输入区用细线隔开 */
.aibar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line);
}
.aibar label{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.aibar label span{font-size:13px;color:var(--faint);flex:none}
.aibar select{
  font:inherit;font-size:13.5px;color:var(--ink);background:none;
  border:1px solid var(--line);border-radius:8px;padding:6px 10px;
  flex:1;min-width:0;max-width:100%;
}
.aibar select:focus{outline:none;border-color:var(--ink)}
.aibar .picked{margin-left:0}

.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg button{
  font:inherit;font-size:13px;color:var(--mid);background:none;border:none;
  padding:6px 16px;cursor:pointer;border-right:1px solid var(--line);
}
.seg button:last-child{border-right:none}
.seg button.on{background:var(--ink);color:#fff}
.modes{margin-bottom:16px}

.pick{
  display:inline-block;font-size:13px;color:var(--mid);cursor:pointer;
  border:1px dashed var(--line);border-radius:10px;padding:9px 18px;
}
.pick input{display:none}
.picked{font-size:12.5px;color:var(--faint);margin-left:10px}
.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.thumbs img{width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.prog{margin-top:14px}
.ptrack{height:3px;background:#f0f0f0;border-radius:3px;overflow:hidden}
.pfill{height:100%;width:0;background:var(--ink);transition:width .25s ease}
.names{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.chk{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12.5px;color:var(--faint);cursor:pointer}
.chk input{width:15px;height:15px;accent-color:var(--ink);flex:none}
.note code{background:#f3f3f3;border-radius:4px;padding:1px 5px;font-size:12px}
.names label{display:flex;align-items:center;gap:8px}
.names span{font-size:13px;color:var(--faint);flex:none}
.names input{
  font:inherit;font-size:14px;color:var(--ink);width:120px;
  border:none;border-bottom:1px solid var(--line);padding:3px 0;outline:none;background:none;
}
.names input:focus{border-bottom-color:var(--ink)}
textarea{
  width:100%;margin-top:16px;
  font:inherit;font-size:13.5px;line-height:1.9;color:var(--ink);
  border:1px solid var(--line);border-radius:10px;padding:12px 14px;
  outline:none;resize:vertical;background:none;
  -webkit-appearance:none;
}
textarea:focus{border-color:var(--ink)}
.note{font-size:12px;color:var(--faint);margin-top:8px}

/* 按钮 */
.acts{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.primary{
  font:inherit;font-size:14px;color:#fff;background:var(--ink);
  border:1px solid var(--ink);border-radius:8px;padding:8px 22px;cursor:pointer;
}
.primary:active{opacity:.85}
.ghost{
  font:inherit;font-size:13px;color:var(--mid);background:none;
  border:1px solid var(--line);border-radius:8px;padding:7px 16px;cursor:pointer;
}
.ghost:active{border-color:var(--ink);color:var(--ink)}

/* 结果 */
.res{margin-top:34px;border-top:1px solid var(--line);padding-top:26px}
.scores{display:flex;flex-direction:column;gap:18px}
.top{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.lab{font-style:normal;font-size:12px;color:var(--faint);border:1px solid var(--line);border-radius:4px;padding:1px 5px;margin-right:7px;vertical-align:2px}
.big{font-size:52px;font-weight:500;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.big i{font-size:14px;font-style:normal;color:var(--faint);margin-left:6px;font-weight:400}
.verdict{flex:1;min-width:200px}
.verdict b{font-size:16px;font-weight:600}
.verdict p{font-size:13.5px;color:var(--mid);margin-top:2px}

/* 维度 */
.dims{list-style:none;margin-top:26px}
.dims li{margin-bottom:14px}
.dhead{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}
.dhead b{font-weight:500;color:var(--ink)}
.dhead span{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12.5px}
.track{height:3px;background:#f0f0f0;border-radius:3px;margin-top:6px;overflow:hidden}
.fill{height:100%;background:var(--ink);border-radius:3px;width:0;transition:width .35s ease}
.dwhy{font-size:12.5px;color:var(--mid);margin-top:4px}
.dims li.na .dhead b,.dims li.na .dwhy{color:var(--faint)}

/* 观察 / 建议 */
.obs,.tips{margin-top:26px}
.obs h4,.tips h4{font-size:13px;color:var(--faint);font-weight:500;margin-bottom:6px}
.obs ul,.tips ul{list-style:none}
.obs li,.tips li{font-size:13.5px;color:var(--mid);padding-left:14px;position:relative;margin-bottom:4px}
.obs li::before,.tips li::before{content:"–";position:absolute;left:0;color:var(--faint)}
.tips li b{color:var(--ink);font-weight:500}

.copied{font-size:12.5px;color:var(--faint)}
.warn{
  margin-top:16px;font-size:12.5px;color:var(--mid);
  border:1px solid var(--line);border-radius:8px;padding:8px 12px;
}
.dis{margin-top:18px;font-size:12.5px;color:var(--faint);line-height:1.9}

/* 解析预览 */
.peek{margin-top:20px}
.peek summary{font-size:13px;color:var(--mid);cursor:pointer;list-style:none}
.peek summary::-webkit-details-marker{display:none}
.peek summary::before{content:"+ ";color:var(--faint)}
.peek[open] summary::before{content:"– "}
.peek ul{list-style:none;margin:8px 0 0}
.peek li{font-size:12.5px;color:var(--mid);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peek li b{display:inline-block;width:26px;color:var(--faint);font-weight:400}

/* AI 复核 */
.ai{margin-top:34px;border-top:1px solid var(--line);padding-top:20px}
.ai h4{font-size:14px;font-weight:600}
.airow{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px}
.airow label{display:flex;align-items:center;gap:8px}
.airow label.grow{flex:1;min-width:180px}
.airow span{font-size:13px;color:var(--faint);flex:none}
.airow input,.airow select{
  font:inherit;font-size:13.5px;color:var(--ink);
  border:1px solid var(--line);border-radius:8px;padding:6px 10px;
  outline:none;background:none;min-width:0;
}
.airow label.grow input{width:100%}
.airow input:focus,.airow select:focus{border-color:var(--ink)}
.aiout{margin-top:16px}
.aiout .aitop{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.aiout .aibig{font-size:40px;font-weight:500;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.aiout .aibig i{font-size:13px;font-style:normal;color:var(--faint);margin-left:5px;font-weight:400}
.aiout .aiver{flex:1;min-width:180px}
.aiout .aiver b{font-size:15px;font-weight:600}
.aiout .aiver p{font-size:13.5px;color:var(--mid);margin-top:2px}
.aiout h5{font-size:13px;color:var(--faint);font-weight:500;margin:18px 0 6px}
.aiout .ailist{list-style:none}
.aiout .ailist li{font-size:13px;color:var(--mid);padding-left:14px;position:relative;margin-bottom:5px}
.aiout .ailist li::before{content:"–";position:absolute;left:0;color:var(--faint)}
.aiout .ailist li b{color:var(--ink);font-weight:500}
.aiout .ailist li i{font-style:normal;color:var(--faint);font-variant-numeric:tabular-nums}
.aiout .aifail{
  font-size:12.5px;color:var(--mid);border:1px solid var(--line);
  border-radius:8px;padding:8px 12px;margin-top:12px;
}

/* 帮助 */
.help{margin-top:40px;border-top:1px solid var(--line);padding-top:20px}
.help h3{font-size:14px;font-weight:600;margin-bottom:8px}
.help ol{margin:0 0 0 18px}
.help li{font-size:13.5px;color:var(--mid);margin-bottom:6px}
.help b{color:var(--ink);font-weight:500}

/* 规则 */
.rule{margin-top:32px;border-top:1px solid var(--line);padding-top:16px}
.rule summary{font-size:14px;color:var(--mid);cursor:pointer;list-style:none}
.rule summary::-webkit-details-marker{display:none}
.rule summary::before{content:"+ ";color:var(--faint)}
.rule[open] summary::before{content:"– "}
.rule ul{margin:10px 0 0 18px}
.rule li{font-size:13px;color:var(--mid);margin-bottom:6px}
.rule b{color:var(--ink);font-weight:600}

.foot{border-top:1px solid var(--line);margin-top:44px;padding:20px 0 40px}
.foot p{font-size:12px;color:var(--faint)}

@media (max-width:520px){
  .wrap{padding:0 18px}
  .t{margin-top:28px}
  .big{font-size:44px}
  .names input{width:110px}
}

@media (prefers-reduced-motion:reduce){
  .fill{transition:none}
}
