/* 现代中国四至 · 六种口径 */
.cnx-section { padding-top: 8px; }
.cnx-head { display: flex; align-items: end; justify-content: space-between; gap: 22px; border-top: 1px solid var(--ink); padding-top: 15px; margin-bottom: 12px; }
.cnx-head h2 { margin: 0; }
.cnx-head > p { max-width: 460px; margin: 0; font-size: 11px; line-height: 1.75; color: var(--ink-3); text-align: right; }
.cnx-kicker { margin: 0 0 4px; font-size: 9px; letter-spacing: .13em; color: var(--red); }
.cnx-modes { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.cnx-mode { text-align: left; background: transparent; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 10px 12px; cursor: pointer; font: inherit; color: var(--ink-2); }
.cnx-mode:nth-child(3n) { border-right: 0; }
.cnx-mode:nth-child(n+4) { border-bottom: 0; }
.cnx-mode:hover { background: var(--paper-2); }
.cnx-mode.is-active { background: var(--ink); color: var(--paper); }
.cnx-mode span { display: block; font-size: 8px; letter-spacing: .1em; color: var(--ink-3); }
.cnx-mode.is-active span { color: #d8cbbd; }
.cnx-mode b { display: block; margin: 3px 0 1px; font-family: var(--serif); font-size: 16px; font-weight: 600; }
.cnx-mode em { display: block; font-style: normal; font-size: 9px; line-height: 1.5; color: var(--ink-3); }
.cnx-mode.is-active em { color: #d8cbbd; }

.cnx-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; margin-top: 14px; align-items: stretch; }
.cnx-map { height: 560px; background: #dfe8e5; border: 1px solid var(--line); z-index: 0; }
.cnx-map-foot { margin: 6px 0 0; font-size: 9px; line-height: 1.6; color: var(--ink-3); }
.cnx-map-foot a { color: var(--red); }
.cnx-panel { border-top: 1px solid var(--ink); max-height: 560px; display: flex; flex-direction: column; }
.cnx-panel-kicker { margin: 10px 0 2px; font-size: 9px; letter-spacing: .12em; color: var(--red); }
.cnx-panel h3 { margin: 0 0 4px; font-family: var(--serif); font-size: 22px; }
.cnx-panel > p:not(.cnx-panel-kicker) { margin: 0 0 8px; font-size: 10.5px; line-height: 1.7; color: var(--ink-3); }
.cnx-list { overflow: auto; border-top: 1px solid var(--line); }
.cnx-item { display: block; width: 100%; border: 0; border-bottom: 1px solid var(--line-soft); padding: 8px 0; background: transparent; text-align: left; font: inherit; color: var(--ink); cursor: pointer; }
.cnx-item:hover, .cnx-item.is-active { background: var(--paper-2); }
.cnx-item-top { display: flex; align-items: center; gap: 6px; }
.cnx-badge { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border: 1px solid currentColor; border-radius: 50%; font-size: 10px; color: var(--red); }
.cnx-badge--administered { color: #3f6b5e; }
.cnx-badge--tourist { color: #3f6b5e; }
.cnx-badge--claimed, .cnx-badge--disputed { color: #9b3b32; }
.cnx-badge--sea { color: #5c7a93; }
.cnx-item-name { font-family: var(--serif); font-size: 15px; line-height: 1.4; }
.cnx-item-meta { display: block; margin: 2px 0 0 26px; font-size: 9px; line-height: 1.5; color: var(--ink-3); }

.cnx-tourist-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; border-top: 1px solid var(--ink); margin-top: 20px; padding-top: 12px; }
.cnx-tourist-head h3 { margin: 0; font-family: var(--serif); font-size: 21px; }
.cnx-tourist-head p { margin: 0; font-size: 10px; color: var(--ink-3); text-align: right; }
.cnx-tourist { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-top: 8px; }
.cnx-tour-card { border: 1px solid var(--line); padding: 11px 12px; background: var(--paper); }
.cnx-tour-no { font-size: 9px; letter-spacing: .1em; color: var(--red); }
.cnx-tour-card h3 { margin: 2px 0 2px; font-family: var(--serif); font-size: 16px; line-height: 1.4; }
.cnx-tour-region { margin: 0 0 5px; font-size: 9px; color: var(--ink-3); }
.cnx-tour-card p:not(.cnx-tour-region) { margin: 0; font-size: 10px; line-height: 1.7; color: var(--ink-2); }
.cnx-tour-card em { display: block; margin-top: 5px; border-top: 1px solid var(--line-soft); padding-top: 5px; font-style: normal; font-size: 9px; line-height: 1.6; color: var(--ink-3); }
.cnx-caution { margin-top: 12px; border-left: 2px solid var(--red); background: var(--paper-2); padding: 10px 13px; font-size: 11px; line-height: 1.8; color: var(--ink-2); }
.cnx-divider { display: flex; align-items: baseline; gap: 10px; border-top: 1px solid var(--ink); margin: 28px 0 4px; padding-top: 9px; }
.cnx-divider span { font-size: 9px; letter-spacing: .12em; color: var(--red); }
.cnx-divider b { font-family: var(--serif); font-size: 18px; font-weight: 600; }

.cnx-pin-wrap { background: transparent; border: 0; }
.cnx-pin { display: flex; align-items: center; justify-content: center; width: 27px; height: 27px; border-radius: 50%; background: #f5f1e8; border: 2px solid var(--red); color: var(--red); font-size: 11px; font-weight: 600; box-shadow: 0 1px 5px rgba(0,0,0,.2); }
.cnx-pin--administered, .cnx-pin--tourist { border-color: #3f6b5e; color: #3f6b5e; }
.cnx-pin--claimed, .cnx-pin--disputed { border-color: #9b3b32; color: #9b3b32; }
.cnx-pin--sea { border-color: #5c7a93; color: #5c7a93; }
.leaflet-popup-content { font: 12px/1.65 var(--sans); }
.leaflet-popup-content b { font-family: var(--serif); font-size: 15px; }
.cnx-pop-meta { color: #6b6258; font-size: 10px; margin: 2px 0 5px; }
.cnx-pop-access { margin: 5px 0 0; font-size: 10px; color: #5f574e; }

@media (max-width: 1000px) {
  .cnx-layout { grid-template-columns: 1fr; }
  .cnx-panel { max-height: none; }
  .cnx-list { max-height: 340px; }
  .cnx-tourist { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .cnx-head { align-items: flex-start; flex-direction: column; gap: 6px; }
  .cnx-head > p { text-align: left; }
  .cnx-modes { grid-template-columns: 1fr 1fr; }
  .cnx-mode:nth-child(3n) { border-right: 1px solid var(--line); }
  .cnx-mode:nth-child(2n) { border-right: 0; }
  .cnx-mode:nth-child(n+4) { border-bottom: 1px solid var(--line); }
  .cnx-mode:nth-child(n+5) { border-bottom: 0; }
  .cnx-map { height: 420px; }
  .cnx-tourist { grid-template-columns: 1fr; }
  .cnx-tourist-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .cnx-tourist-head p { text-align: left; }
}

/* 四至打印模板下载 */
.cnx-cert { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 26px; align-items: start; border-top: 1px solid var(--ink); padding-top: 16px; margin-top: 4px; }
.cnx-cert-copy h2 { margin: 2px 0 5px; font-family: var(--serif); font-size: 27px; }
.cnx-cert-lede { margin: 0 0 10px; font-size: 11.5px; line-height: 1.8; color: var(--ink-2); }
.cnx-cert-list { margin: 0 0 13px; padding-left: 1.1em; }
.cnx-cert-list li { margin: 0 0 4px; font-size: 10.5px; line-height: 1.65; color: var(--ink-3); }
.cnx-download { display: inline-flex; align-items: baseline; gap: 9px; padding: 8px 12px; border: 1px solid var(--ink); color: var(--paper); background: var(--ink); text-decoration: none; font-size: 11px; }
.cnx-download:hover { background: #3c342c; }
.cnx-download em { font-style: normal; font-size: 9px; color: #d8cbbd; }
.cnx-cert-note { margin: 10px 0 0; border-left: 2px solid var(--line); padding-left: 9px; font-size: 9.5px; line-height: 1.7; color: var(--ink-3); }
.cnx-cert-figure { margin: 0; border: 1px solid var(--line); background: var(--paper-2); padding: 8px; }
.cnx-cert-figure a { display: block; }
.cnx-cert-figure img { display: block; width: 100%; height: auto; border: 1px solid var(--line-soft); background: var(--paper); }
.cnx-cert-figure figcaption { margin: 7px 1px 0; font-size: 9px; line-height: 1.6; color: var(--ink-3); }
.cnx-cert-figure figcaption b { font-weight: 500; color: var(--ink-2); }
@media (max-width: 800px) {
  .cnx-cert { grid-template-columns: 1fr; gap: 14px; }
}
