/* 메인(/) — 2026-11-12 3차: 신문 1면식 데이터 화면. 흰 바탕·먹색·가는 선·표, 링크 파랑, 마감 빨강만. 카드·타일·그림자·둥근 모서리 없음 */
.fp {
  --ink: #111418;
  --body: #3d434b;
  --muted: #737a83;
  --rule: #111418;
  --line: #e3e5e8;
  --blue: #0b57d0;
  --red: #c4291c;
  --amber: #a35b00;
  background: #fff;
  color: var(--ink);
  padding-bottom: 56px;
}
.fp-wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.fp a { color: inherit; text-decoration: none; }

/* 머리 */
.fp-top { padding: 26px 0 18px; border-bottom: 1px solid var(--line); }
.fp-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; }
.fp-title h1 { margin: 0; font-size: 28px; font-weight: 800; letter-spacing: -.04em; line-height: 1.25; }
.fp-asof { margin: 0; color: var(--muted); font-size: 14px; font-variant-numeric: tabular-nums; }
.fp-asof b { color: var(--ink); font-weight: 700; }
.fp-asof .fp-red { color: var(--red); }

.fp-finder { display: grid; grid-template-columns: repeat(4, minmax(0, 132px)) minmax(0, 1fr) auto; gap: 0; margin-top: 16px; border: 1px solid var(--rule); }
.fp-finder select, .fp-finder input {
  min-width: 0; height: 46px; padding: 0 12px;
  border: 0; border-right: 1px solid var(--line); border-radius: 0;
  background: #fff; color: var(--ink); font: inherit; font-size: 15px; font-weight: 600;
}
.fp-finder select {
  padding-right: 30px; appearance: none; cursor: pointer;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23111418' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center;
}
.fp-finder input { font-weight: 500; }
.fp-finder input::placeholder { color: #9aa0a7; }
.fp-finder select:focus, .fp-finder input:focus { outline: 2px solid var(--blue); outline-offset: -2px; }
.fp-finder button { padding: 0 22px; border: 0; background: var(--ink); color: #fff; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.fp-finder button:hover { background: var(--blue); }
.fp-finder button b { font-variant-numeric: tabular-nums; }

/* 본문 2단 */
.fp-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 44px; padding-top: 8px; }
.fp-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: 26px; padding: 8px 0 8px; border-top: 3px solid var(--rule); }
.fp-head h2 { margin: 0; font-size: 17px; font-weight: 800; letter-spacing: -.03em; }
.fp-head a { color: var(--blue) !important; font-size: 13px; font-weight: 600; white-space: nowrap; }
.fp-head a:hover { text-decoration: underline !important; }

.fp-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.fp-table thead th { padding: 6px 8px 6px 0; border-bottom: 1px solid var(--rule); color: var(--muted); font-size: 12px; font-weight: 600; text-align: left; }
.fp-table td { padding: 11px 10px 11px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.fp-table td:first-child { width: 74px; }
.fp-table td a { font-weight: 600; line-height: 1.45; word-break: keep-all; overflow-wrap: anywhere; }
.fp-table td a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.fp-table tbody tr:hover { background: #fafbfc; }
.fp-when { font-variant-numeric: tabular-nums; white-space: nowrap; }
.fp-when > span, .fp-when > small { display: block; }
.fp-when small { margin-top: 2px; color: var(--muted); font-size: 12px; }
.fp-dd { font-size: 13px; font-weight: 800; color: var(--ink); white-space: nowrap; }
.fp-dd-today, .fp-dd-soon { color: var(--red); }
.fp-dd-week { color: var(--amber); }
.fp-dd-none { color: var(--muted); font-weight: 600; }
.fp-date { color: var(--body); font-size: 13px; font-weight: 600; }
.fp-org { width: 190px; color: var(--body); font-size: 13px; }
.fp-sub { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; }
.fp-show-s { display: none; }

.fp-count { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.fp-count th, .fp-count td { padding: 7px 0; border-bottom: 1px solid var(--line); }
.fp-count th { text-align: left; font-weight: 600; }
.fp-count th a:hover { color: var(--blue); text-decoration: underline; }
.fp-count td { text-align: right; color: var(--body); }
.fp-count-2 td { padding-right: 18px; }
.fp-count-2 td:last-child { padding-right: 0; }
.fp-note { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.fp-links { margin: 0; padding: 0; list-style: none; }
.fp-links li { border-bottom: 1px solid var(--line); }
.fp-links a { display: block; padding: 8px 0; font-size: 14px; font-weight: 500; }
.fp-links a:hover { color: var(--blue); text-decoration: underline; }

.fp-ad { margin: 26px 0 0; }
.fp-ad-side { margin-top: 26px; }

@media (max-width: 1000px) {
  .fp-finder { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fp-finder input { grid-column: 1 / 4; border-top: 1px solid var(--line); }
  .fp-finder button { grid-column: 4 / 5; border-top: 1px solid var(--line); }
  .fp-finder select:nth-of-type(4) { border-right: 0; }
  .fp-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
@media (max-width: 640px) {
  .fp-wrap { padding: 0 16px; }
  .fp-top { padding: 20px 0 14px; }
  .fp-title h1 { font-size: 24px; }
  .fp-finder { grid-template-columns: 1fr 1fr; }
  .fp-finder select:nth-of-type(2) { border-right: 0; }
  .fp-finder select:nth-of-type(3), .fp-finder select:nth-of-type(4) { border-top: 1px solid var(--line); }
  .fp-finder input { grid-column: 1 / 3; border-right: 0; }
  .fp-finder button { grid-column: 1 / 3; height: 46px; }
  .fp-hide-s { display: none; }
  .fp-show-s { display: block; }
  .fp-table td:first-child { width: 62px; }
}
body:has(main.fp) { background: #fff; }
main.fp ~ .site-footer { margin-top: 0; }
/* 출처·요약 기준·문답 */
.fp-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 44px; margin-top: 18px; }
.fp-faq { grid-column: 1 / -1; }
.fp-src td:first-child { width: auto; }
.fp-src a { font-weight: 700; }
.fp-num { text-align: right !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.fp-def { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.fp-def li { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.6; }
.fp-def b { color: var(--ink); font-weight: 700; }
.fp-def span { color: var(--body); }
.fp-qa { padding: 14px 0; border-bottom: 1px solid var(--line); }
.fp-qa h3 { margin: 0 0 6px; font-size: 15px; font-weight: 700; letter-spacing: -.02em; }
.fp-qa p { margin: 0; color: var(--body); font-size: 14px; line-height: 1.7; }
@media (max-width: 1000px) { .fp-about { grid-template-columns: minmax(0, 1fr); } }
