/* 免费样题页（public/free/），题目样式沿用 study.css */
.fp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fp-top .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-width:0}
.fp-top .slogo{width:40px;height:40px;border-radius:8px;flex:none}
.fp-top .brand div{display:flex;flex-direction:column;min-width:0}
.fp-name{font-family:var(--f-display);font-weight:900;font-size:1.15rem;line-height:1.2}
.fp-top .sub{font-size:13px;color:var(--ink-soft)}
.fp-top .btn{text-decoration:none;padding:8px 14px;white-space:nowrap;font-size:15px}
.fp-crumb{font-size:13px;color:var(--ink-soft)}
.fp-crumb a{color:inherit}
.fp-hero{border-left:6px solid var(--c,var(--accent));padding:4px 0 4px 14px;display:flex;flex-direction:column;gap:6px}
.fp-hero p{color:var(--ink-soft)}
.fp-nav{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px}
.fp-nav div{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fp-nav b{width:2.2em;font-family:var(--f-display)}
.fp-nav a{font-size:14px;text-decoration:none;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 35%,var(--card));border-radius:999px;padding:2px 12px}
.fp-nav a.on{background:var(--c);color:#fff;border-color:var(--c)}
.fp-ba{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:10px}
.fp-ba-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.fp-ba-head b{font-family:var(--f-display);font-size:1.1rem}
.fp-ba-head span{font-size:13px;color:var(--ink-soft)}
.fp-ba-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fp-ba figure{margin:0;display:flex;flex-direction:column;gap:4px}
.fp-ba img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:zoom-in}
.fp-ba figcaption{font-size:12px;color:var(--ink-soft);line-height:1.4}
.fp-ba figcaption b{display:block;color:var(--ok);font-size:14px}
.fp-ba-more{font-size:14px;color:var(--accent);align-self:flex-end}
.fp-list{display:flex;flex-direction:column;gap:16px}
.fq{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:12px}
.fq .qh{overflow-x:auto}
/* 英文的撇号 ’ 用西文字体，不然 That’ s 中间会空一格 */
.fq .qh,.fq .opt span,.fq-ans{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,var(--f-body)}
.fq-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;color:var(--ink-soft)}
.fq-no{font-family:var(--f-display);font-weight:900;font-size:15px;color:var(--ink)}
.fq-tag{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 10px}
.fq-ans{border-top:1px dashed var(--line);padding-top:10px}
.fq-ans summary{cursor:pointer;color:var(--accent);font-weight:700;list-style:none;display:inline-block;border:1.5px solid var(--accent);border-radius:8px;padding:6px 14px}
.fq-ans summary::-webkit-details-marker{display:none}
.fq-ans[open] summary{margin-bottom:10px}
.fq-ans p{margin:6px 0 0;line-height:1.7}
.fq-right{color:var(--ok)}
.fq-kp{font-size:14px;color:var(--ink-soft)}
.fq-kp b{margin-right:8px;color:var(--ink)}
.fp-cta{background:var(--card);border:2px solid var(--xhs);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:10px}
.fp-cta ol{margin:0;padding-left:1.4em;line-height:1.9}
.fp-cta .btn{align-self:flex-start;text-decoration:none}
.fp-grid{display:flex;flex-direction:column;gap:12px}
.fp-g h2{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
.fp-g h2 span{font-family:var(--f-body);font-weight:400;font-size:13px;color:var(--ink-soft)}
.fp-g>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.fp-g a{display:flex;flex-direction:column;gap:2px;text-decoration:none;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--c);border-radius:8px;padding:10px 12px;color:var(--ink)}
.fp-g a b{color:var(--c);font-size:16px}
.fp-g a span{font-size:13px;color:var(--ink-soft)}
.fp-foot{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:14px}
.fp-foot a{color:inherit}
.fp-zoom{position:fixed;inset:0;background:var(--shade);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50;cursor:zoom-out}
.fp-zoom[hidden]{display:none}
.fp-zoom img{max-width:100%;max-height:100%;border-radius:8px;background:#fff}
