/* 千翊AI面试 · 网页版工具 共用样式 */
:root{
  --brand:#1a4fa0;
  --brand-dark:#133a78;
  --accent:#e63946;
  --ink:#1f2933;
  --muted:#5b6b7b;
  --line:#e6ebf1;
  --bg:#f5f7fa;
  --card:#fff;
  --ok:#2e9e5b;
  --warn:#d98014;
  --max:900px;
}
*{box-sizing:border-box}
body{
  margin:0;
  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.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--brand);text-decoration:none}

/* 顶栏 */
.tool-top{background:var(--brand-dark);color:#cdd9ef;font-size:13px}
.tool-top .wrap{max-width:var(--max);margin:0 auto;padding:0 18px;display:flex;justify-content:space-between;align-items:center;height:40px}
.tool-top a{color:#cdd9ef}
.tool-top a:hover{color:#fff}

.app-head{background:#fff;border-bottom:1px solid var(--line)}
.app-head .wrap{max-width:var(--max);margin:0 auto;padding:18px}
.app-head h1{margin:0;font-size:22px;color:var(--brand);font-weight:800}
.app-head p{margin:6px 0 0;color:var(--muted);font-size:14px}

.wrap-page{max-width:var(--max);margin:0 auto;padding:22px 18px 70px}

/* 卡片 */
.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:18px}
.panel.plain{background:transparent;border:0;padding:0}

/* 按钮 */
.btn{
  border:0;cursor:pointer;font-family:inherit;
  padding:12px 26px;border-radius:10px;font-weight:700;font-size:15px;
  background:var(--brand);color:#fff;transition:.2s;display:inline-block;
}
.btn:hover{background:var(--brand-dark)}
.btn:disabled{background:#b9c4d3;cursor:not-allowed}
.btn-ghost{background:#fff;color:var(--brand);border:1px solid var(--line)}
.btn-ghost:hover{background:#f2f6fc;color:var(--brand-dark)}
.btn-sm{padding:7px 16px;font-size:13px;border-radius:8px}

/* 表单 */
.field{margin-bottom:16px}
.field label{display:block;font-weight:600;margin-bottom:7px;font-size:14px}
.field input[type=text]{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;
  font-size:15px;font-family:inherit;outline:0;transition:.2s;
}
.field input[type=text]:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(26,79,160,.1)}

/* 步骤条 */
.steps{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.steps .st{padding:5px 13px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.steps .st.on{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:700}
.steps .ln{width:22px;height:1px;background:var(--line)}

/* 题目卡 */
.q-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}
.q-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.q-no{width:26px;height:26px;border-radius:7px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none}
.q-title{font-size:16px;font-weight:700;line-height:1.5;flex:1;min-width:200px}
.chip{font-size:12px;padding:3px 10px;border-radius:6px;background:#eaf1fb;color:var(--brand);font-weight:600;white-space:nowrap}
.chip.ld{background:#f3eafc;color:#6b3fa0}
.q-text{background:#f8fafc;border-left:3px solid var(--brand);padding:12px 14px;border-radius:0 8px 8px 0;margin:0 0 14px;font-size:15px;line-height:1.75;white-space:pre-wrap}
.q-text .v{display:block;margin-top:8px;font-size:13px;color:var(--muted);font-style:italic}
textarea.ans{
  width:100%;min-height:132px;padding:13px;border:1px solid var(--line);border-radius:9px;
  font-size:15px;line-height:1.75;font-family:inherit;resize:vertical;outline:0;transition:.2s;color:var(--ink);
}
textarea.ans:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(26,79,160,.1)}
.ans-meta{display:flex;justify-content:space-between;align-items:center;margin-top:7px;font-size:12.5px;color:var(--muted)}
.ans-meta .saved{color:var(--ok);opacity:0;transition:.3s}
.ans-meta .saved.show{opacity:1}

/* 操作栏 */
.action-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0}
.action-bar .hint{font-size:13px;color:var(--muted);flex:1;min-width:180px}

/* 报告 */
.report-hero{
  background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;
  border-radius:14px;padding:26px;display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-bottom:18px;
}
.score-circle{
  width:112px;height:112px;border-radius:50%;background:rgba(255,255,255,.16);
  border:4px solid rgba(255,255,255,.35);display:flex;flex-direction:column;
  align-items:center;justify-content:center;flex:none;
}
.score-circle .n{font-size:38px;font-weight:800;line-height:1}
.score-circle .l{font-size:13px;opacity:.9;margin-top:3px}
.report-sum{flex:1;min-width:200px}
.report-sum h2{margin:0 0 8px;font-size:20px}
.report-sum p{margin:0;opacity:.92;font-size:14px}

.dim{display:flex;align-items:center;gap:12px;margin-bottom:11px}
.dim .nm{width:96px;font-size:14px;flex:none;color:var(--ink)}
.dim .bar{flex:1;height:9px;background:#eef2f7;border-radius:5px;overflow:hidden}
.dim .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#4a8ae0);border-radius:5px;transition:width .6s ease}
.dim .vl{width:74px;text-align:right;font-size:13px;color:var(--muted);flex:none}

.sec-title{font-size:16px;font-weight:800;color:var(--brand);margin:0 0 12px;padding-left:11px;border-left:4px solid var(--accent)}
.list-box{margin:0 0 16px;padding:0;list-style:none}
.list-box li{padding:8px 0 8px 22px;position:relative;font-size:14.5px;line-height:1.7;border-bottom:1px dashed var(--line)}
.list-box li:last-child{border-bottom:0}
.list-box li:before{content:'';position:absolute;left:6px;top:16px;width:6px;height:6px;border-radius:50%;background:var(--brand)}

/* 单题结果 */
.res-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.score-badge{padding:4px 13px;border-radius:7px;font-weight:800;font-size:14px;color:#fff}
.s-excellent{background:var(--ok)}
.s-good{background:#3d8bd4}
.s-pass{background:var(--warn)}
.s-weak{background:var(--accent)}
.s-none{background:#96a3b3}
.comment{background:#f8fafc;border-radius:9px;padding:13px 15px;font-size:14.5px;line-height:1.75;margin-bottom:13px}
.kw-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px;font-size:13px}
.kw-row .lb{color:var(--muted);width:74px;flex:none;font-weight:600}
.tag-kw{padding:3px 10px;border-radius:6px;font-size:12.5px}
.tag-hit{background:#e7f6ed;color:#1d7a45;border:1px solid #b9e3c9}
.tag-miss{background:#fdecec;color:#b3261e;border:1px solid #f7c9c6}
.ref-box{background:#fffaf0;border:1px solid #f3e2c0;border-radius:9px;padding:13px 15px;font-size:14px;line-height:1.75;color:#6b5320;margin-top:11px}
.ref-box strong{color:#8a6512}
.guide-box{background:#f7f4fd;border:1px solid #e2d7f5;border-radius:9px;padding:13px 15px;font-size:14.5px;line-height:1.8;color:#4a3573;white-space:pre-wrap}
.my-answer{background:#f8fafc;border-radius:9px;padding:13px 15px;font-size:14.5px;line-height:1.75;color:var(--muted);white-space:pre-wrap;margin-bottom:13px}
.my-answer.empty{color:#a9b4c2;font-style:italic}

.empty-tip{color:var(--muted);font-size:14px;text-align:center;padding:14px 0}
.note-line{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.7}

/* 起始屏 */
.intro h2{font-size:19px;margin:0 0 12px;color:var(--brand)}
.intro ul{margin:0 0 18px;padding-left:20px;color:var(--ink);font-size:14.5px;line-height:1.9}
.intro .meta{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:18px}
.intro .meta span{background:#fff;border:1px solid var(--line);border-radius:7px;padding:5px 12px}

.foot-note{text-align:center;font-size:12.5px;color:var(--muted);padding:18px 0 0}
.foot-note a{color:var(--brand)}

@media(max-width:640px){
  .app-head h1{font-size:19px}
  .report-hero{gap:18px;padding:20px}
  .score-circle{width:92px;height:92px}
  .score-circle .n{font-size:31px}
  .dim .nm{width:78px;font-size:13px}
  .dim .vl{width:62px;font-size:12px}
  .q-title{font-size:15px}
  .btn{width:100%;text-align:center}
  .action-bar .btn{width:auto;flex:1}
}
