/* Readable Korean guide UI; loaded after the original theme. */
body { font-size: 16px; line-height: 1.8; }
h1 { font-family: var(--sans); font-size: clamp(30px, 3vw, 42px); letter-spacing: -.045em; line-height: 1.4; }
h2 { line-height: 1.45; }
.lead { color: #566455; font-size: 16px; line-height: 1.85; }
.eyebrow, .card-kicker { font-size: 12px; letter-spacing: .02em; }
.muted, .section-sub { color: #5e6a59; }
.text-link { font-size: 14px; line-height: 1.7; }
.button, .button.small, .filter-chip { min-height: 44px; font-size: 14px; }
.button { padding: 10px 16px; }
.pill, .count-badge { font-size: 12px; }
.callout, .empty-state { font-size: 15px; }
.callout { line-height: 1.85; }
.rights-note, .search-hint { font-size: 13px; }
.topbar { z-index: 60; }
.breadcrumb { font-size: 13px; }
.top-actions { font-size: 12px; }
.top-actions .button { min-height: 44px; font-size: 13px; }
.sidebar { z-index: 90; }
.sidebar-foot { font-size: 12px; }
.sidebar-foot small { font-size: 12px; }
.nav-label { font-size: 12px; }
.nav-link { min-height: 44px; font-size: 14px; }
.menu-backdrop { position: fixed; z-index: 80; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #10281e99; cursor: pointer; }

.hero { min-height: 350px; }
.hero-copy { padding: 34px; }
.hero-copy h1 { max-width: 18ch; margin-bottom: 18px; font-family: var(--sans); font-size: clamp(32px, 3vw, 44px); line-height: 1.35; letter-spacing: -.05em; }
.hero-copy h1 em { color: var(--lime); font-style: normal; }
.hero-copy p { max-width: 35ch; font-size: 16px; line-height: 1.85; }
.hero-copy small { font-size: 12px; line-height: 1.8; }
.hero .button { min-height: 46px; font-size: 14px; }
.hero-art { min-height: 300px; }
.hero-caption { font-size: 12px; }

.task-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0 42px; }
.task-link { position: relative; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 3px 12px; align-content: start; min-width: 0; padding: 22px 20px; border: 1px solid #cfd8c2; border-radius: 10px; background: var(--paper); }
.task-link:hover { border-color: #879f6a; background: #f1f5e8; }
.task-number { grid-row: span 2; padding-top: 2px; color: #6b814e; font-size: 13px; font-weight: 750; font-variant-numeric: tabular-nums; }
.task-link strong { color: var(--forest); font-size: 17px; line-height: 1.5; }
.task-link > span:last-child { color: #5e6b57; font-size: 14px; line-height: 1.75; }

.card-body { padding: 23px; }
.card-title { font-size: 20px; line-height: 1.5; }
.card-description { min-height: 0; color: #5d6958; font-size: 15px; line-height: 1.85; }
.card-meta, .card-meta span { color: #63705b; font-size: 12px; line-height: 1.75; }
.card-meta a { display: inline-flex; align-items: center; min-height: 36px; font-size: 14px; }
.card-image { aspect-ratio: 1.85; object-fit: cover; }
.image-figure figcaption { color: #5d6958; font-size: 13px; line-height: 1.8; }
.image-figure img { max-height: 500px; object-fit: contain; }
.result-card p, .search-result span { font-size: 14px; line-height: 1.8; }
.search-result strong { font-size: 18px; }
.search-input { font-size: 16px; }
.search-hint { line-height: 1.8; }

.finder-fields { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.5fr) auto; align-items: start; gap: 16px; }
.finder-fields > .button { align-self: start; margin-top: 32px; min-height: 48px; }
.field label { font-size: 14px; }
.field input, .field select { min-height: 48px; font-size: 16px; }
.field small { font-size: 12px; }
.table-wrap { min-width: 0; max-width: 100%; overflow-x: auto; }
.data-table { min-width: 560px; font-size: 14px; line-height: 1.8; }
.data-table td, .data-table th { padding: 15px 18px; }
.data-table td a { font-size: 14px; }
.step-body p { font-size: 15px; }
.check-item { min-height: 48px; font-size: 15px; }
.check-item input { flex-shrink: 0; width: 19px; height: 19px; }

.article-body { color: #3f5142; font-size: 16px; line-height: 1.95; }
.article-body h1 { max-width: 24ch; }
.article-body .lead { max-width: 65ch; }
.article-body section { scroll-margin-top: 100px; }
.article-meta { gap: 10px; margin: 20px 0; }
.toc-link { padding: 9px 0; color: #5d6d53; font-size: 13px; line-height: 1.65; }
.article-toc .eyebrow { font-size: 12px; }
.mobile-article-toc { display: none; }

.footer { display: block; width: 100%; max-width: var(--content-width); margin: 8px auto 0; padding: 30px clamp(24px, 3.3vw, 48px) 38px; color: #5e6b59; font-size: 13px; line-height: 1.8; }
.footer-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px 28px; margin-bottom: 24px; }
.footer-heading strong { display: block; margin-bottom: 5px; color: var(--forest); font-size: 16px; }
.footer p { max-width: 75ch; }
.footer a { margin-right: 0; color: #3d6132; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 4px 20px; flex: 0 0 auto; }
.footer-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-sources { margin: 0 0 18px; border-top: 1px solid #d5ddca; border-bottom: 1px solid #d5ddca; }
.footer-sources > summary { min-height: 52px; padding: 13px 0; color: var(--forest); font-size: 15px; font-weight: 750; cursor: pointer; }
.footer-source-intro { margin: 2px 0 20px; font-size: 13px; line-height: 1.85; }
.footer-source-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 38px; margin: 0 0 24px; padding-left: 24px; }
.footer-source-list li { min-width: 0; padding-left: 2px; break-inside: avoid; }
.footer-source-list li::marker { color: #71845f; font-size: 12px; }
.footer-source-list a { font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.footer-source-list .source-kind { display: inline-block; margin: 0 0 0 7px; padding: 0 5px; border: 1px solid #d4ddc8; border-radius: 3px; color: #5f734d; font-size: 11px; white-space: nowrap; vertical-align: 1px; }
.footer-source-list small { display: block; margin-top: 4px; color: #63705d; font-size: 12px; line-height: 1.75; }
.footer-note { color: #64705c; font-size: 12px; line-height: 1.85; }

@media (min-width: 801px) and (max-width: 1100px) {
  .hero { grid-template-columns: minmax(0, 1fr); }
  .hero-copy { padding: 32px; }
  .hero-copy h1 { max-width: 22ch; font-size: 36px; }
  .hero-copy p { max-width: 45ch; }
  .hero-art { height: 270px; min-height: 270px; }
  .task-links { gap: 12px; }
  .task-link { grid-template-columns: minmax(0, 1fr); padding: 18px; }
  .task-number { grid-row: auto; }
  .grid-3, .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finder-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .finder-fields > .button { grid-column: 1 / -1; justify-self: start; margin-top: 0; }
  .footer-heading { flex-wrap: wrap; }
}

@media (max-width: 800px) {
  body { font-size: 16px; }
  .topbar { z-index: 60; gap: 10px; padding: 10px 16px; }
  .topbar .breadcrumb { font-size: 12px; }
  .topbar .top-actions .button, .mobile-toggle { min-height: 44px; font-size: 13px; }
  .sidebar { z-index: 90; padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)); }
  .menu-backdrop { z-index: 80; left: min(82vw, 292px); width: auto; }
  .content { padding: 28px 22px 36px; }
  .page-heading h1, .article-body h1 { font-size: 30px; line-height: 1.45; }
  .lead { font-size: 16px; }
  .hero-copy { padding: 30px 26px; }
  .hero-copy h1 { max-width: 18ch; font-size: 34px; }
  .hero-copy p { font-size: 16px; }
  .hero-copy small { font-size: 12px; }
  .hero .button { min-height: 46px; font-size: 14px; }
  .hero-art, .hero-image, .hero-art > img { height: 230px; min-height: 0; }
  .hero-caption { font-size: 11px; }
  .task-links { grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 18px 0 34px; }
  .task-link { padding: 18px 20px; }
  .card-body { padding: 22px; }
  .card-description { font-size: 15px; }
  .card-meta, .card-meta span { font-size: 12px; }
  .finder { padding: 22px; }
  .finder-fields { grid-template-columns: minmax(0, 1fr); }
  .finder-fields > .button { width: 100%; margin-top: 0; }
  .field label { font-size: 14px; }
  .field small { font-size: 12px; }
  .article-body { font-size: 16px; line-height: 1.95; }
  .article-body h2 { font-size: 24px; line-height: 1.5; }
  .article-toc { display: none; }
  .mobile-article-toc { display: block; margin: 22px 0; padding: 0 18px; border: 1px solid #d1dcc2; border-radius: 9px; background: #eef2e4; }
  .mobile-article-toc > summary { min-height: 52px; padding: 13px 0; color: var(--forest); font-size: 15px; font-weight: 750; cursor: pointer; }
  .mobile-article-toc nav { display: grid; gap: 2px; padding: 0 0 14px; }
  .mobile-article-toc a { display: flex; align-items: center; min-height: 44px; padding: 6px 0; font-size: 14px; line-height: 1.65; }
  .article-body section { scroll-margin-top: 86px; }
  .image-figure figcaption { font-size: 13px; }
  .image-modal p, .video-modal p { font-size: 14px; }
  .callout, .empty-state { font-size: 15px; }
  .filter-chip { min-height: 44px; font-size: 13px; }
  .bottom-nav { z-index: 70; }
  .bottom-nav a { min-height: 62px; font-size: 12px; }
  .bottom-nav a[aria-current] { border-top-color: #4f7037; background: #eef4e2; color: var(--forest); font-weight: 800; }
  .footer { margin-top: 0; padding: 28px 22px 32px; }
  .footer-heading { flex-direction: column; gap: 10px; margin-bottom: 18px; }
  .footer-nav { gap: 4px 22px; }
  .footer-source-list { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .footer-source-list a { display: inline; font-size: 14px; }
  .footer-sources > summary { min-height: 52px; }
}

@media (max-width: 520px) {
  .content { padding: 24px 18px 32px; }
  .hero-copy { padding: 27px 23px; }
  .hero-copy h1 { font-size: 31px; }
  .hero .button-row { width: 100%; }
  .hero .button { width: 100%; }
  .hero-art, .hero-image, .hero-art > img { height: 200px; }
  .section-head { align-items: flex-start; }
  .section-head .text-link { white-space: normal; }
  .task-link strong { font-size: 17px; }
  .card-title { font-size: 20px; }
  .card-description { font-size: 15px; }
  .finder { padding: 20px 18px; }
  .check-item { font-size: 15px; }
  .footer { padding-right: 18px; padding-left: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .sidebar { transition: none; }
}

@media print {
  .menu-backdrop, .mobile-article-toc { display: none !important; }
  .footer { padding: 20px 0 0; color: #333; }
  .footer-source-list { grid-template-columns: minmax(0, 1fr); }
}

/* Growth guide: short reading sections without task controls. */
.growth-reading { max-width: 760px; }
.growth-point { margin: 0 0 30px; padding: 0 0 28px; border-bottom: 1px solid var(--line); scroll-margin-top: 100px; }
.growth-point h2 { margin-bottom: 12px; font-size: 24px; }
.growth-point p { margin-bottom: 12px; color: #405243; font-size: 16px; line-height: 1.95; }
.growth-point .text-link { display: inline-block; padding: 5px 0; }
.growth-reading-note { margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.85; }
@media(max-width:800px) { .growth-point { margin-bottom: 26px; padding-bottom: 24px; } .growth-point h2 { font-size: 23px; } }

/* White surfaces, neutral dividers and cool green accents. */
:root {
  --ivory: #ffffff;
  --paper: #ffffff;
  --wash: #f5f6f7;
  --line: #e5e7eb;
  --line-strong: #d1d5db;
  --lime: #d9eee5;
  --orange: #397b65;
}
body, .app-main, .content, .footer, .bottom-nav { background: #ffffff; }
.task-link, .finder, .field input, .field select, .field textarea,
.search-input, .search-result, .image-modal, .video-modal, .modal-close {
  background: #ffffff;
  border-color: var(--line-strong);
}
.task-link { border-color: var(--line); }
.pill, .pill.light, .pill.warn, .count-badge, .step-index, .keyword-tag,
.copy-button, .result-card, .empty-state, .source-box,
.callout, .callout.warn, .callout.good, .mobile-article-toc,
.article-body blockquote, .article-body code, .article-body pre {
  background: #f7f8fa;
  border-color: var(--line);
  color: #374151;
}
.callout, .callout.warn, .callout.good { border-left-color: #768b82; }
.data-table th { background: #f3f4f6; border-color: var(--line); }
.data-table tbody tr:nth-child(even) { background: #fafbfc; }
.field input[aria-invalid="true"], .field select[aria-invalid="true"] { background: #ffffff; border-color: #b91c1c; }
.image-figure img, .card-image, .guide-thumb { background: #f3f4f6; }
.modal-close { color: var(--forest); }
.save-toggle.saved, .save-toggle[aria-pressed="true"] { background: #edf6f2; border-color: #bfd6cb; }
.bottom-nav a[aria-current] { background: #f1f6f4; border-top-color: #397b65; }
.brand-mark, .nav-link.active { border-color: #bfd6cb; }
.footer, .footer-sources, .footer-source-list .source-kind, .faq { border-color: var(--line); }
.hero-copy h1 em { color: #d9eee5; }
.hero .button.primary { background: #d9eee5; border-color: #d9eee5; color: var(--forest); }
@media (hover: hover) {
  .task-link:hover, .search-result:hover, .button:not(.primary):hover,
  .copy-button:hover, .save-toggle:hover, .filter-chip:not(.active):hover { background: #f3f5f6; }
  .nav-link.active:hover, .hero .button.primary:hover { background: #e8f4ef; color: var(--forest); }
  .hero .button.secondary:hover { background: #294b3d; color: #ffffff; }
}

/* Reader directory. */
.guide-directory{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.guide-directory li{min-width:0}.guide-directory a{display:flex;flex-direction:column;gap:8px;height:100%;padding:20px;border:1px solid var(--line);border-radius:9px;background:#fff}.guide-directory a:hover{background:#f7f8fa}.guide-directory strong{font-size:17px;line-height:1.6;color:var(--forest)}.guide-directory span{font-size:14px;color:var(--muted);line-height:1.8}@media(max-width:800px){.guide-directory{grid-template-columns:1fr}}

/* Compact reader tables. */
body[data-page="hunting"] .data-table,body[data-page="updates"] .data-table{min-width:0;width:100%}body[data-page="hunting"] .data-table{table-layout:fixed}body[data-page="hunting"] .data-table th:first-child{width:42%}body[data-page="hunting"] .data-table th:nth-child(2){width:33%}body[data-page="hunting"] .data-table th:nth-child(3){width:25%}body[data-page="hunting"] .data-table td,body[data-page="hunting"] .data-table th,body[data-page="updates"] .data-table td,body[data-page="updates"] .data-table th{padding:12px 10px}body[data-page="hunting"] .data-table td:nth-child(2){white-space:nowrap}

/* Manual production ads */
.ad-placement{display:block;clear:both;width:100%;max-width:100%;min-width:0;margin:26px 0;text-align:center;box-sizing:border-box}
.ad-position-belowTitle{margin-block:30px}
.ad-label{display:block;margin-bottom:7px;color:var(--muted,#67756c);font-size:11px;line-height:1.4;font-weight:400;letter-spacing:.02em}
.ad-placement .adsbygoogle{display:block;width:100%;min-height:90px}
.hero-copy .ad-placement{margin:18px 0}
.ad-placement:has(ins[data-ad-status="unfilled"]){display:none}
@media(max-width:700px){.ad-placement{margin:22px 0}.ad-label{font-size:10px}}
