/* 은퇴각 — 딥 네이비 + 웜 앰버, 세리프 헤드라인의 에디토리얼 단일(다크) 테마 */

:root {
  --rg-night: #0d1524;
  --rg-night-2: #121d31;
  --rg-panel: #16223a;
  --rg-line: #29364f;
  --rg-ink: #e9e4d8;
  --rg-ink-soft: #a9a89b;
  --rg-amber: #e2a24a;
  --rg-amber-soft: #f0c283;
  --rg-serif: "Nanum Myeongjo", "Noto Serif KR", AppleMyungjo, Georgia, "Times New Roman", serif;
  --rg-sans: "Apple SD Gothic Neo", "Malgun Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rg-measure: 44rem;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { -webkit-text-size-adjust: 100%; }

body {
  background: var(--rg-night);
  color: var(--rg-ink);
  font-family: var(--rg-sans);
  font-size: 1.0625rem;
  line-height: 1.85;
  word-break: keep-all;
}

img, svg { max-width: 100%; height: auto; }

a { color: var(--rg-amber-soft); text-decoration-color: rgba(226, 162, 74, 0.45); text-underline-offset: 3px; }
a:hover { color: var(--rg-amber); }

h1, h2, h3 { font-family: var(--rg-serif); font-weight: 700; line-height: 1.4; color: var(--rg-ink); }
h1 { font-size: clamp(1.9rem, 5vw, 2.7rem); letter-spacing: -0.01em; }
h2 { font-size: 1.45rem; margin: 3rem 0 1rem; padding-top: 1.4rem; border-top: 1px solid var(--rg-line); }
h3 { font-size: 1.15rem; margin: 1.8rem 0 0.6rem; }

p { margin: 0 0 1.1rem; }
ul, ol { margin: 0 0 1.2rem; padding-left: 1.4rem; }
li { margin-bottom: 0.45rem; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.92em; background: var(--rg-panel); padding: 0.1em 0.4em; border-radius: 4px; }

/* ---------- 머리(마스트헤드): 마크업은 nav 먼저, 표시 순서는 브랜드가 앞 ---------- */
.gk-masthead {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  max-width: var(--rg-measure);
  margin: 0 auto;
  padding: 1.6rem 1.25rem 1.2rem;
  border-bottom: 1px solid var(--rg-line);
}
.gk-sigil {
  font-family: var(--rg-serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rg-ink);
  text-decoration: none;
}
.gk-sigil span { color: var(--rg-amber); }
.gk-compass { display: flex; gap: 1.1rem; flex-wrap: wrap; }
.gk-compass a { font-size: 0.9rem; color: var(--rg-ink-soft); text-decoration: none; }
.gk-compass a:hover { color: var(--rg-amber-soft); }

/* ---------- 본문 무대 ---------- */
.gk-stage {
  max-width: var(--rg-measure);
  margin: 0 auto;
  padding: 2.6rem 1.25rem 4.5rem;
}

.gk-kicker {
  font-size: 0.82rem;
  letter-spacing: 0.14em;
  color: var(--rg-amber);
  text-transform: uppercase;
  margin-bottom: 0.8rem;
}

.gk-hero { padding: 1.2rem 0 0.6rem; }
.gk-hero h1 { margin-bottom: 1.2rem; }
.gk-lede {
  font-size: 1.16rem;
  color: var(--rg-ink-soft);
  line-height: 1.9;
}

/* 즉답 요약(AEO) 문장 상자 */
.gk-verdict {
  border-left: 3px solid var(--rg-amber);
  background: var(--rg-night-2);
  padding: 0.9rem 1.1rem;
  margin: 1.6rem 0;
  font-size: 1.02rem;
}

/* ---------- 은퇴 로드맵 타임라인 ---------- */
.gk-road { list-style: none; padding: 0; margin: 1.6rem 0 0.6rem; position: relative; }
.gk-road::before {
  content: "";
  position: absolute;
  left: 0.55rem;
  top: 0.5rem;
  bottom: 0.6rem;
  width: 2px;
  background: linear-gradient(var(--rg-amber), var(--rg-line));
}
.gk-road li { position: relative; padding: 0 0 1.7rem 2.2rem; margin: 0; }
.gk-road li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.42rem;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: var(--rg-night);
  border: 2px solid var(--rg-amber);
}
.gk-road strong { font-family: var(--rg-serif); font-size: 1.08rem; display: block; margin-bottom: 0.2rem; }
.gk-road p { color: var(--rg-ink-soft); font-size: 0.98rem; margin: 0; }

/* ---------- 도구 서가(1컬럼 리스트형) ---------- */
.gk-shelf { list-style: none; padding: 0; margin: 1.4rem 0; }
.gk-shelf li {
  border: 1px solid var(--rg-line);
  border-radius: 8px;
  background: var(--rg-night-2);
  padding: 1rem 1.2rem;
  margin-bottom: 0.8rem;
}
.gk-shelf strong { font-family: var(--rg-serif); }
.gk-shelf p { color: var(--rg-ink-soft); font-size: 0.95rem; margin: 0.25rem 0 0; }
.gk-soon {
  display: inline-block;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--rg-amber);
  border: 1px solid var(--rg-amber);
  border-radius: 999px;
  padding: 0.05rem 0.55rem;
  margin-left: 0.5rem;
  vertical-align: 2px;
}

/* ---------- 고지·안내 상자 ---------- */
.gk-note {
  border: 1px dashed var(--rg-line);
  border-radius: 8px;
  padding: 0.9rem 1.1rem;
  margin: 1.8rem 0;
  color: var(--rg-ink-soft);
  font-size: 0.95rem;
}

/* ---------- 표 ---------- */
.gk-ledger { overflow-x: auto; margin: 1.4rem 0; }
.gk-ledger table { border-collapse: collapse; width: 100%; font-size: 0.96rem; }
.gk-ledger th, .gk-ledger td { border: 1px solid var(--rg-line); padding: 0.55rem 0.8rem; text-align: left; }
.gk-ledger th { background: var(--rg-panel); font-family: var(--rg-serif); }

/* ---------- FAQ ---------- */
.gk-qa { margin-top: 3rem; }
.gk-qa-item { border-bottom: 1px solid var(--rg-line); }
.gk-qa-item summary {
  cursor: pointer;
  font-family: var(--rg-serif);
  font-weight: 700;
  padding: 0.9rem 0.2rem;
  list-style: none;
  position: relative;
  padding-right: 1.8rem;
}
.gk-qa-item summary::-webkit-details-marker { display: none; }
.gk-qa-item summary::after {
  content: "+";
  position: absolute;
  right: 0.4rem;
  color: var(--rg-amber);
  font-family: var(--rg-sans);
}
.gk-qa-item[open] summary::after { content: "−"; }
.gk-qa-a { padding: 0 0.2rem 1rem; color: var(--rg-ink-soft); }

/* ---------- 임베드 스니펫 박스 ---------- */
.gk-carrybox {
  border: 1px solid var(--rg-line);
  border-radius: 8px;
  background: var(--rg-night-2);
  padding: 1rem 1.1rem;
  margin: 1.6rem 0;
}
.gk-carrybox pre {
  overflow-x: auto;
  font-size: 0.82rem;
  line-height: 1.6;
  background: var(--rg-night);
  border-radius: 6px;
  padding: 0.8rem;
  margin: 0.6rem 0;
}
button[data-carry] {
  font: inherit;
  font-size: 0.88rem;
  color: var(--rg-night);
  background: var(--rg-amber);
  border: 0;
  border-radius: 6px;
  padding: 0.45rem 1rem;
  cursor: pointer;
}
button[data-carry]:hover { background: var(--rg-amber-soft); }

/* ---------- 발문(푸터) ---------- */
.gk-colophon {
  border-top: 1px solid var(--rg-line);
  max-width: var(--rg-measure);
  margin: 0 auto;
  padding: 2rem 1.25rem 3rem;
  color: var(--rg-ink-soft);
  font-size: 0.88rem;
}
.gk-colophon-nav { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; margin: 0.9rem 0; }
.gk-colophon-nav a { color: var(--rg-ink-soft); text-decoration: none; }
.gk-colophon-nav a:hover { color: var(--rg-amber-soft); }
.gk-colophon-fine { font-size: 0.8rem; margin: 0; }

/* ---------- 임베드 뷰(?compact=1): 헤더·푸터 숨김 + 귀속바 ---------- */
html[data-view="compact"] .gk-masthead,
html[data-view="compact"] .gk-colophon,
html[data-view="compact"] .gk-carrybox,
html[data-view="compact"] .gk-qa { display: none; }
html[data-view="compact"] .gk-stage { padding: 1rem 1rem 3.4rem; }

.gakbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--rg-night-2);
  border-top: 1px solid var(--rg-line);
  padding: 0.5rem 1rem;
  font-size: 0.84rem;
  text-align: right;
  z-index: 50;
}
.gakbar a { color: var(--rg-amber-soft); text-decoration: none; }
.gakbar a:hover { text-decoration: underline; }

@media (max-width: 560px) {
  .gk-masthead { flex-direction: column-reverse; align-items: flex-start; gap: 0.5rem; }
  body { font-size: 1rem; }
}


/* ---- calc form ---- */
.gk-calc { border: 1px solid var(--rg-line, #e2e0d6); border-radius: 12px; padding: 1.1rem; margin: 1.2rem 0; background: #fcfbf7; }
.gk-calc-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap:.85rem 1rem; }
.gk-calc label { display:block; font-size:.8rem; font-weight:700; margin-bottom:.3rem; color: var(--rg-ink, #2a2a28); }
.gk-calc input, .gk-calc select { width:100%; font:inherit; padding:.5rem .6rem; border:1px solid #d8d4c8; border-radius:8px; }
.gk-calc-out { margin-top:1rem; padding:1rem; background:#fff; border-radius:10px; border:1px solid #e2e0d6; }
.gk-calc-out .big { font-size:1.5rem; font-weight:800; color: var(--rg-amber, #b8860b); }


/* ---- farm calc/guide helpers ---- */
.farm-calc{border:1px solid #ccc;border-radius:10px;padding:1rem 1.1rem;margin:1.2rem 0;background:#fafafa}
.farm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.85rem 1rem}
.farm-calc label{display:block;font-size:.78rem;font-weight:700;margin-bottom:.3rem}
.farm-calc input,.farm-calc select{width:100%;font:inherit;padding:.45rem .55rem;border:1px solid #bbb;border-radius:6px}
.farm-out{margin-top:.9rem;padding:.85rem 1rem;background:#fff;border:1px solid #ddd;border-radius:8px}
.farm-out table{width:100%;border-collapse:collapse}
.farm-out th,.farm-out td{text-align:left;padding:.3rem .35rem;border-bottom:1px solid #eee}
.farm-note{font-size:.9rem;color:#555;margin-top:.5rem}
.farm-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:1.2rem 0}
.farm-card{border:1px solid #ddd;border-radius:10px;padding:1rem;background:#fff}
.farm-card h3{margin:.2rem 0 .4rem;font-size:1.05rem}
.farm-card p{margin:0;font-size:.92rem;color:#444}
.guide-body p{margin:0 0 .85rem;line-height:1.65}
.guide-body h2{margin:1.6rem 0 .7rem}
.guide-body ul{margin:0 0 1rem;padding-left:1.2rem;line-height:1.55}


/* ---- margin notes (unique related UI) ---- */
.rg-margin { margin: 2.4rem 0 1rem; padding: 1.2rem 0 0; border-top: 1px dashed var(--rg-line, #29364f); }
.rg-margin__t { font-family: var(--rg-serif, Georgia, serif); font-size: 1.2rem; margin: 0 0 0.8rem; border: 0; padding: 0; }
.rg-notes { list-style: none; padding: 0; margin: 0; }
.rg-notes li { margin: 0.35rem 0; padding-left: 0.2rem; font-size: 0.98rem; line-height: 1.7; border-bottom: 1px dotted rgba(169,168,155,0.25); }
.rg-path { margin: 1.6rem 0; padding: 1rem 0; }
.rg-path h2 { border: 0; padding: 0; margin: 0 0 0.8rem; }
.rg-see { margin: 1.2rem 0 0; font-size: 0.95rem; color: var(--rg-ink-soft, #a9a89b); }

/* entity see-also — plain, matches guide-body */
.see-also{margin:2rem 0 1rem;padding:1rem 0 0;border-top:1px solid rgba(127,127,127,.25)}
.see-also h2{font-size:1.15rem;margin:0 0 .75rem}
.see-also p{margin:0 0 .55rem;line-height:1.55}
