/* /reuse/kentei/ — 練習問題ページ */
.kq-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.kq-tag{display:inline-block;padding:5px 13px;border-radius:999px;font-size:var(--fs-xs);
  background:var(--green-100);color:var(--green-800);font-weight:var(--fw-bold)}
.kq-tag.new{background:var(--sun-200);color:var(--ink-900)}
.kq-q{background:var(--color-surface);border:1px solid var(--border-subtle);
  border-radius:16px;padding:26px 28px;margin:0 0 20px}
.kq-q p{margin:0 0 14px;font-size:17px;line-height:var(--lh-relaxed);color:var(--text-primary)}
.kq-q p:last-child{margin-bottom:0}
.kq-ch{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:9px;counter-reset:c}
.kq-ch li{background:var(--ink-50);border:1px solid var(--border-subtle);border-radius:11px;
  padding:12px 17px;font-size:16px;line-height:var(--lh-snug)}
details.kq-a{background:var(--green-50);border:1px solid var(--border-brand);
  border-radius:16px;padding:0;margin:0 0 32px;overflow:hidden}
details.kq-a>summary{cursor:pointer;padding:17px 26px;font-family:var(--font-display);
  font-weight:var(--fw-bold);font-size:17px;color:var(--green-800);list-style:none;user-select:none}
details.kq-a>summary::-webkit-details-marker{display:none}
details.kq-a>summary::before{content:"▶ ";font-size:12px;color:var(--green-600)}
details.kq-a[open]>summary::before{content:"▼ "}
details.kq-a[open]>summary{border-bottom:1px solid var(--border-brand)}
.kq-a-body{padding:20px 26px 24px}
.kq-a-body p{margin:0 0 12px;font-size:16px;line-height:var(--lh-relaxed);color:var(--text-secondary)}
.kq-a-body p:last-child{margin-bottom:0}
.kq-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;
  margin:0 0 40px;padding-top:22px;border-top:1px solid var(--border-subtle)}
.kq-nav a{text-decoration:none;color:var(--text-link);font-size:var(--fs-sm)}
.kq-nav a:hover{text-decoration:underline}
.kq-nav .prev{text-align:left}
.kq-nav .next{text-align:right}
.kq-nav .up{font-family:var(--font-display);font-weight:var(--fw-bold)}
.kq-soon{background:var(--sun-100);border:1px solid var(--sun-300);
  border-radius:16px;padding:20px 26px;margin:0 0 32px}
.kq-soon p{margin:0 0 8px;font-size:15px;color:var(--ink-700);line-height:var(--lh-snug)}
.kq-soon p:last-child{margin-bottom:0}
.kq-soon-t{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:17px;color:var(--ink-900)}
.gl-tbl{width:100%;border-collapse:collapse;font-size:15px}
.gl-tbl th{width:200px;text-align:left;vertical-align:top;padding:13px 18px;
  border-bottom:1px solid var(--ink-100);font-family:var(--font-display);
  font-weight:var(--fw-bold);color:var(--green-700);line-height:var(--lh-snug)}
.gl-tbl td{vertical-align:top;padding:13px 18px 13px 0;border-bottom:1px solid var(--ink-100);
  color:var(--text-secondary);line-height:var(--lh-normal)}
.gl-tbl tr:last-child th,.gl-tbl tr:last-child td{border-bottom:none}
@media(max-width:640px){
  .gl-tbl,.gl-tbl tbody,.gl-tbl tr,.gl-tbl th,.gl-tbl td{display:block;width:auto}
  .gl-tbl th{padding:14px 16px 4px;border-bottom:none}
  .gl-tbl td{padding:0 16px 14px}
}
/* 一覧 */
.kl-ch{margin:0 0 30px}
.kl-ch h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 12px;
  padding-bottom:8px;border-bottom:2px solid var(--green-200);font-size:19px}
.kl-ch h3 em{font-size:var(--fs-xs);color:var(--text-muted);font-weight:var(--fw-regular)}
.kl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:8px}
.kl-grid a{display:flex;align-items:center;justify-content:center;aspect-ratio:1;
  background:var(--color-surface);border:1px solid var(--border-subtle);border-radius:11px;
  text-decoration:none;color:var(--text-primary);font-family:var(--font-display);
  font-weight:var(--fw-bold);font-size:17px}
.kl-grid a:hover{border-color:var(--green-400);background:var(--green-50);color:var(--green-800)}
.kl-grid a.new{border-color:var(--sun-300);background:var(--sun-100)}
@media(max-width:640px){
  .kq-q{padding:20px 18px}
  .kq-nav{grid-template-columns:1fr;text-align:center}
  .kq-nav .prev,.kq-nav .next{text-align:center}
}
