/*
Theme Name: ANDAMIRO Mono
Theme URI: https://blog.acofmusic.studio
Author: DAVID (ANDAMIRO company of music)
Description: 티스토리 Poster 스킨 모노톤 오버라이드를 워드프레스 블록 테마로 포팅. 검정 배경 + 흰 오브제, 포인트 컬러 없음, 본문 사진은 컬러. 기기 설정에 따라 밝은 화면도 지원.
Version: 1.1.5
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: andamiro-mono
*/

/* ============================================================
   색 토큰 — 기본은 밝은 화면, 기기가 어두운 화면이면 아래에서 덮어쓴다.
   모든 색은 여기서만 정의하고, 컴포넌트는 토큰만 쓴다.
   ============================================================ */
:root {
  --am-bg: #faf9f6;
  --am-panel: #f1efe9;
  --am-line: #e0ddd4;
  --am-hair: #ebe8e1;
  --am-ink: #16150f;
  --am-body: #3a382f;
  --am-mid: #6e6b60;
  --am-dim: #9a968a;
  --am-wave: #cfcabd;

  --am-sans: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', sans-serif;
  --am-mono: 'SFMono-Regular', ui-monospace, Menlo, Consolas, monospace;
  --am-width: 860px;
  --am-read: 720px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --am-bg: #0b0b0a;
    --am-panel: #151513;
    --am-line: #2b2b27;
    --am-hair: #201f1d;
    --am-ink: #f2f1ec;
    --am-body: #cfcec6;
    --am-mid: #9c9a8f;
    --am-dim: #5c5b54;
    --am-wave: #2b2b27;
  }
}

html { background: var(--am-bg); -webkit-font-smoothing: antialiased; }
body {
  background: var(--am-bg);
  color: var(--am-ink);
  font-family: var(--am-sans);
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
}
::selection { background: var(--am-ink); color: var(--am-bg); }
a { color: inherit; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--am-ink); outline-offset: 2px; }

/* ---------- Header ---------- */
.am-header { position: relative; padding: 40px 20px 0; text-align: center; }
.am-header .am-logo { display: inline-block; line-height: 0; }
.am-header .am-logo img { width: 176px; height: auto; display: inline-block; }
@media (prefers-color-scheme: light) { .am-header .am-logo img { filter: invert(1); } }
.am-header .am-site-title { font-size: 1.25em; margin: 12px 0 0; }
.am-header .am-site-title a { text-decoration: none; }
.am-header .am-logo:has(img) + .am-site-title { display: none; }
.am-wave {
  max-width: var(--am-width); height: 34px; margin: 22px auto 0;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 680 34' preserveAspectRatio='none'><path d='M0,17 L60,17 L68,4 L76,30 L84,17 L140,17 L148,10 L156,24 L164,17 L260,17 L270,2 L280,32 L290,17 L400,17 L408,9 L416,25 L424,17 L520,17 L528,5 L536,29 L544,17 L640,17 L648,11 L656,23 L664,17 L680,17' fill='none' stroke='%23999' stroke-width='1'/></svg>") no-repeat 50% 50%;
  background-size: 100% 34px;
  opacity: .6;
}

.am-menu-btn, .am-search-btn {
  position: absolute; top: 20px; z-index: 500; width: 40px; height: 40px;
  background: transparent; border: 0; padding: 0; cursor: pointer; color: var(--am-ink);
}
.am-menu-btn { left: 33px; }
.am-search-btn { right: 33px; }
.am-menu-btn span, .am-menu-btn:before, .am-menu-btn:after {
  content: ""; position: absolute; left: 10px; width: 20px; height: 1px; background: var(--am-ink);
  transition: transform .2s, opacity .2s;
}
.am-menu-btn:before { top: 14px; }
.am-menu-btn span { top: 20px; }
.am-menu-btn:after { top: 26px; }
body.am-menu-open .am-menu-btn:before { transform: translateY(6px) rotate(45deg); }
body.am-menu-open .am-menu-btn span { opacity: 0; }
body.am-menu-open .am-menu-btn:after { transform: translateY(-6px) rotate(-45deg); }
.am-search-btn svg { width: 18px; height: 18px; stroke: var(--am-ink); fill: none; stroke-width: 1.5; }

.am-search { display: none; max-width: var(--am-width); margin: 20px auto 0; }
body.am-search-open .am-search { display: block; }
.am-search .wp-block-search__inside-wrapper { border: 0; border-bottom: 1px solid var(--am-ink); border-radius: 0; padding: 0; }
.am-search input.wp-block-search__input { background: transparent; border: 0; color: var(--am-ink); font-family: var(--am-sans); padding: 10px 0; }
.am-search input::placeholder { color: var(--am-dim); }
.am-search .wp-block-search__button { background: transparent; border: 0; color: var(--am-ink); cursor: pointer; }
.am-search .wp-block-search__button svg { fill: var(--am-ink); }

/* 슬라이드 메뉴 */
.am-menu {
  position: fixed; top: 0; left: 0; z-index: 400; width: 348px; max-width: 86vw; height: 100%;
  padding: 94px 40px 40px; box-sizing: border-box; overflow-y: auto;
  background: var(--am-panel); border-right: 1px solid var(--am-line);
  transform: translateX(-100%); transition: transform .25s ease; visibility: hidden;
}
body.am-menu-open .am-menu { transform: none; visibility: visible; }
.am-dimmed { position: fixed; inset: 0; z-index: 300; background: rgba(0,0,0,.5); opacity: 0; visibility: hidden; transition: opacity .25s; }
body.am-menu-open .am-dimmed { opacity: 1; visibility: visible; }
.am-menu a { text-decoration: none; }
.am-menu .am-all { display: block; font-size: .875em; color: var(--am-ink); margin-bottom: 14px; }
.am-menu .am-all .count { color: var(--am-mid); }
.am-menu ul { list-style: none; margin: 0; padding: 0; }
.am-menu ul.wp-block-categories { font-size: .875em; }
.am-menu ul li { margin: 0 0 12px; }
.am-menu ul li a { color: var(--am-ink); }
.am-menu ul li a:hover { text-decoration: underline; text-underline-offset: 4px; }
.am-menu ul li .children { margin: 10px 0 0 14px; }
.am-menu ul li .children li { margin-bottom: 8px; }
.am-menu ul li .children li a { color: var(--am-mid); }
.am-menu ul li .children li a:before { content: "– "; color: var(--am-dim); }
.am-menu .am-menu-links { margin: 40px 0 0; font-size: .8125em; }
.am-menu .am-menu-links { line-height: 2.2; }
.am-menu .am-menu-links a { color: var(--am-mid); border-bottom: 1px solid var(--am-dim); }
.am-menu .am-years { margin: 28px 0 0; gap: 6px; }
.am-menu .am-years a { font-size: .75em; padding: 4px 8px; }
.am-menu .am-menu-links a:hover { color: var(--am-ink); }
.am-menu .am-powered { margin: 24px 0 0; font-size: .6875em; letter-spacing: .04em; line-height: 1.7; color: var(--am-dim); }
.am-menu .am-powered span { opacity: .75; }

/* ---------- Main / List ---------- */
.am-main { max-width: var(--am-width); margin: 0 auto; padding: 0 20px; }
.am-list-head { margin: 57px auto 18px; padding: 0 0 15px; border-bottom: 1px solid var(--am-line); font-size: 1em; color: var(--am-mid); }
.am-list-head p { margin: 0; }

/* 분야 칩 */
.am-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
.am-chips a {
  font-size: .8125em; color: var(--am-mid); text-decoration: none;
  border: 1px solid var(--am-line); border-radius: 2px; padding: 5px 11px;
}
.am-chips a:hover { border-color: var(--am-mid); color: var(--am-ink); }
.am-chips a[aria-current="page"] { border-color: var(--am-ink); color: var(--am-ink); }
.am-chips a .n { color: var(--am-dim); margin-left: 5px; }

.am-item { position: relative; border-bottom: 1px solid var(--am-line); padding: 38px 0; overflow: hidden; }
.am-item .am-thumb { float: right; width: 148px; margin: 0 0 0 80px; background: var(--am-panel); }
.am-item .am-thumb img { display: block; width: 148px; height: 112px; object-fit: cover; }
.am-item .am-item-title { margin: 0 0 8px; font-weight: 500; font-size: 1.25em; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.am-item .am-item-title a { color: var(--am-ink); text-decoration: none; }
.am-item .am-item-title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.am-item .am-item-excerpt { margin: 0 0 12px; font-size: .9375em; line-height: 1.7; color: var(--am-mid); }
.am-item .am-item-excerpt p { margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.am-item .am-item-excerpt .wp-block-post-excerpt__more-link { display: none; }
.am-item .am-item-date { font-size: .8125em; color: var(--am-dim); }
.am-item .am-item-date a { text-decoration: none; }

.am-pagination { margin: 60px auto 120px; font-size: .875em; }
.am-pagination a, .am-pagination .page-numbers { color: var(--am-dim); text-decoration: none; padding: 6px 10px; }
.am-pagination a:hover { color: var(--am-ink); }
.am-pagination .page-numbers.current { color: var(--am-ink); }
.am-pagination .wp-block-query-pagination-previous, .am-pagination .wp-block-query-pagination-next { border: 1px solid var(--am-line); color: var(--am-ink); }
.am-pagination .wp-block-query-pagination-previous:hover, .am-pagination .wp-block-query-pagination-next:hover { border-color: var(--am-ink); }

/* ---------- Single ---------- */
.am-hgroup { max-width: var(--am-width); margin: 50px auto 60px; padding: 0 0 20px; border-bottom: 1px solid var(--am-line); }
.am-hgroup .am-cat { display: inline-block; margin: 0 0 16px; padding-top: 5px; border-bottom: 1px solid var(--am-dim); font-size: .875em; color: var(--am-mid); }
.am-hgroup .am-cat a { text-decoration: none; color: var(--am-mid); }
.am-hgroup .am-title { margin: 0 0 9px; font-weight: 500; font-size: 1.875em; line-height: 1.4; color: var(--am-ink); text-wrap: balance; }
.am-hgroup .am-meta { font-size: .8125em; color: var(--am-mid); gap: 0; }
.am-hgroup .am-meta > * { margin: 0; }
.am-hgroup .am-meta > * + *:before { content: ""; display: inline-block; width: 1px; height: 10px; margin: 0 12px; background: var(--am-line); vertical-align: -1px; }
.am-hgroup .am-meta a { text-decoration: none; color: var(--am-mid); }

/* 본문 — 한글 장문 기준으로 행간과 자간을 잡는다 */
.am-content { color: var(--am-body); font-size: 1rem; line-height: 1.85; letter-spacing: -.003em; word-break: keep-all; overflow-wrap: break-word; }
.am-content > * { margin-top: 0; margin-bottom: 28px; }
.am-content h1, .am-content h2, .am-content h3, .am-content h4 { color: var(--am-ink); margin: 64px 0 18px; line-height: 1.45; letter-spacing: -.012em; text-wrap: balance; }
.am-content > h1:first-child, .am-content > h2:first-child { margin-top: 0; }
.am-content h1 { font-size: 1.625em; font-weight: 600; }
.am-content h2 { font-size: 1.4375em; font-weight: 600; }
.am-content h3 { font-size: 1.1875em; font-weight: 600; }
.am-content h4 { font-size: 1.0625em; font-weight: 500; }
.am-content p { font-size: 1em; }
.am-content ul, .am-content ol { padding-left: 1.5em; }
.am-content li { margin-bottom: 8px; line-height: 1.8; }
.am-content li > ul, .am-content li > ol { margin-top: 8px; margin-bottom: 0; }
.am-content a { color: var(--am-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.am-content a:hover { text-decoration-thickness: 2px; }
.am-content strong { color: var(--am-ink); font-weight: 600; }
.am-content del { color: var(--am-dim); }

.am-content blockquote.wp-block-quote {
  margin: 0 0 32px; padding: 4px 0 4px 22px;
  border-left: 2px solid var(--am-mid);
  color: var(--am-mid); font-style: normal;
}
.am-content blockquote.wp-block-quote p { margin: 0 0 12px; font-size: .96875em; line-height: 1.8; }
.am-content blockquote.wp-block-quote p:last-child { margin-bottom: 0; }
.am-content blockquote.wp-block-quote cite { display: block; margin-top: 10px; font-size: .8125em; color: var(--am-dim); font-style: normal; }

.am-content .wp-block-code, .am-content pre {
  background: var(--am-panel); color: var(--am-body); border: 1px solid var(--am-line);
  border-radius: 0; padding: 18px 20px; font-family: var(--am-mono); font-size: .875em;
  line-height: 1.65; overflow-x: auto;
}
.am-content code { background: var(--am-panel); color: var(--am-ink); padding: 2px 6px; font-family: var(--am-mono); font-size: .875em; }
.am-content pre code { background: transparent; padding: 0; font-size: inherit; }

.am-content hr, .am-content .wp-block-separator { border: 0; border-bottom: 1px solid var(--am-line); margin: 48px auto; opacity: 1; }
.am-content figure.wp-block-image { margin: 0 0 32px; text-align: center; }
.am-content figure.wp-block-image img { display: inline-block; cursor: zoom-in; }
.am-content figcaption, .am-content .wp-element-caption { margin-top: 10px; font-size: .8125em; color: var(--am-mid); text-align: center; line-height: 1.6; }
.am-content table { border-collapse: collapse; width: 100%; font-size: .9375em; }
.am-content th, .am-content td { border: 1px solid var(--am-line); padding: 9px 12px; }

/* 코드 하이라이팅 — 색을 쓰지 않고 굵기와 밝기만으로 구분 */
.hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-section, .hljs-doctag, .hljs-name { color: var(--am-ink); font-weight: 600; }
.hljs-string, .hljs-attr, .hljs-attribute, .hljs-symbol, .hljs-bullet, .hljs-addition { color: var(--am-ink); }
.hljs-comment, .hljs-quote, .hljs-meta { color: var(--am-dim); font-style: italic; }
.hljs-number, .hljs-title, .hljs-type, .hljs-built_in, .hljs-variable, .hljs-template-variable { color: var(--am-mid); }
.hljs-deletion { color: var(--am-dim); text-decoration: line-through; }

/* 목차 */
.am-toc { margin: 0 0 40px; padding: 18px 22px; border: 1px solid var(--am-line); background: var(--am-panel); }
.am-toc .am-toc-h { margin: 0 0 10px; font-size: .75em; letter-spacing: .1em; text-transform: uppercase; color: var(--am-mid); }
.am-toc ol { margin: 0; padding: 0; list-style: none; font-size: .9375em; line-height: 1.7; }
.am-toc ol ol { padding-left: 14px; margin: 6px 0; font-size: .95em; }
.am-toc ol ol li:before { content: "– "; color: var(--am-dim); }
.am-toc li { margin: 0 0 6px; }
.am-toc a { color: var(--am-body); text-decoration: none; }
.am-toc a:hover { color: var(--am-ink); text-decoration: underline; text-underline-offset: 3px; }
.am-content h2[id], .am-content h3[id] { scroll-margin-top: 24px; }

/* 이전·다음 글 */
.am-postnav { max-width: var(--am-width); margin: 64px auto 0; padding: 28px 0; border-top: 1px solid var(--am-line); border-bottom: 1px solid var(--am-line); display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.am-postnav a { display: grid; grid-template-columns: 76px 1fr; gap: 14px; align-items: center; text-decoration: none; color: var(--am-body); }
.am-postnav .am-nav-next { grid-template-columns: 1fr 76px; text-align: right; }
.am-postnav .am-nav-next img { order: 2; }
.am-postnav img { width: 76px; height: 58px; object-fit: cover; background: var(--am-panel); display: block; }
.am-postnav .am-nav-none { width: 76px; height: 58px; background: var(--am-panel); display: block; }
.am-postnav .am-nav-label { display: block; font-size: .6875em; letter-spacing: .1em; text-transform: uppercase; color: var(--am-dim); margin-bottom: 5px; }
.am-postnav .am-nav-title { display: block; font-size: .9375em; line-height: 1.45; color: var(--am-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.am-postnav a:hover .am-nav-title { text-decoration: underline; text-underline-offset: 3px; }

/* 같은 분야 추천 글 */
.am-related { max-width: var(--am-width); margin: 56px auto 0; }
.am-related .am-related-h { margin: 0 0 18px; font-size: .75em; letter-spacing: .1em; text-transform: uppercase; color: var(--am-mid); }
.am-related ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.am-related a { text-decoration: none; display: block; }
.am-related img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--am-panel); display: block; margin-bottom: 10px; }
.am-related .am-r-none { width: 100%; aspect-ratio: 4 / 3; background: var(--am-panel); display: block; margin-bottom: 10px; }
.am-related .am-r-title { display: block; font-size: .9375em; line-height: 1.45; color: var(--am-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.am-related a:hover .am-r-title { text-decoration: underline; text-underline-offset: 3px; }
.am-related .am-r-date { display: block; font-size: .75em; color: var(--am-dim); margin-top: 6px; }

/* ---------- Comments ---------- */
.am-comments { max-width: var(--am-width); margin: 60px auto 120px; }
.am-comments h2 { font-size: 1em; color: var(--am-ink); margin: 0 0 20px; }
.am-comments .wp-block-comment-template li { border-top: 1px solid var(--am-line); padding: 20px 0; list-style: none; }
.am-comments .wp-block-comment-author-name { color: var(--am-ink); font-size: .875em; }
.am-comments .wp-block-comment-date { color: var(--am-mid); font-size: .75em; }
.am-comments .wp-block-comment-content { color: var(--am-body); font-size: .9375em; line-height: 1.7; }
.am-comments .wp-block-comment-reply-link a { color: var(--am-mid); font-size: .75em; text-decoration: none; }
.am-comments .comment-respond { border-top: 1px solid var(--am-line); padding-top: 24px; }
.am-comments .comment-reply-title { font-size: 1em; color: var(--am-ink); }
.am-comments .comment-notes, .am-comments label { color: var(--am-mid); font-size: .8125em; }
.am-comments input[type=text], .am-comments input[type=email], .am-comments input[type=url], .am-comments textarea {
  width: 100%; box-sizing: border-box; background: transparent; border: 1px solid var(--am-line);
  color: var(--am-ink); padding: 10px; font-family: var(--am-sans); font-size: .9375em;
}
.am-comments input:focus, .am-comments textarea:focus { outline: none; border-color: var(--am-ink); }
.am-comments .form-submit input[type=submit] { width: auto; background: transparent; border: 1px solid var(--am-line); color: var(--am-ink); padding: 10px 24px; cursor: pointer; }
.am-comments .form-submit input[type=submit]:hover { border-color: var(--am-ink); }
.am-comments .comment-form-cookies-consent { display: flex; gap: 8px; align-items: center; }
.am-comments .comment-form-cookies-consent input { width: auto; }

/* ---------- Page / 검색 / 404 ---------- */
.am-page-title { font-weight: 500; font-size: 1.875em; margin: 50px 0 40px; }
.am-notice { margin: 40px 0 0; padding: 22px 24px; border: 1px solid var(--am-line); background: var(--am-panel); color: var(--am-mid); font-size: .9375em; }
.am-notice p { margin: 0 0 12px; }
.am-notice p:last-child { margin: 0; }
.am-notfound { text-align: center; padding: 90px 0 40px; }
.am-notfound .code { font-size: 3em; font-weight: 500; color: var(--am-ink); margin: 0 0 10px; letter-spacing: -.02em; }
.am-notfound p { color: var(--am-mid); margin: 0 0 26px; }
.am-notfound .am-search { display: block; margin: 0 auto 8px; max-width: 420px; }
.am-recent { max-width: var(--am-width); margin: 40px auto 100px; }
.am-recent .am-related-h { margin: 0 0 14px; font-size: .75em; letter-spacing: .1em; text-transform: uppercase; color: var(--am-mid); }
.am-recent ul { list-style: none; margin: 0; padding: 0; }
.am-recent li { border-bottom: 1px solid var(--am-hair); }
.am-recent a { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; text-decoration: none; color: var(--am-ink); font-size: .9375em; }
.am-recent a:hover { text-decoration: underline; text-underline-offset: 3px; }
.am-recent .d { color: var(--am-dim); font-size: .8125em; white-space: nowrap; }

/* ---------- Footer ---------- */
.am-footer { border-top: 1px solid var(--am-line); margin-top: 60px; padding: 29px 20px; text-align: center; font-size: .75em; color: var(--am-dim); }
.am-footer p { margin: 0; }
.am-footer a { color: var(--am-dim); text-decoration: none; }
.am-footer a:hover { color: var(--am-mid); }

/* ---------- 이미지 확대 ---------- */
.am-lightbox { position: fixed; inset: 0; z-index: 900; background: rgba(0,0,0,.92); display: none; align-items: center; justify-content: center; padding: 24px; cursor: zoom-out; }
.am-lightbox.on { display: flex; }
.am-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; }
.am-lightbox .am-lb-close { position: absolute; top: 18px; right: 22px; width: 34px; height: 34px; background: transparent; border: 0; cursor: pointer; }
.am-lightbox .am-lb-close:before, .am-lightbox .am-lb-close:after { content: ""; position: absolute; left: 6px; top: 16px; width: 22px; height: 1px; background: #fff; }
.am-lightbox .am-lb-close:before { transform: rotate(45deg); }
.am-lightbox .am-lb-close:after { transform: rotate(-45deg); }
body.am-lb-open { overflow: hidden; }

/* ---------- Responsive ---------- */
@media screen and (max-width: 767px) {
  .am-header { padding-top: 30px; }
  .am-header .am-logo img { width: 140px; }
  .am-menu-btn { left: 12px; top: 12px; }
  .am-search-btn { right: 12px; top: 12px; }
  .am-item { padding: 28px 0; }
  .am-item .am-thumb { float: none; width: 100%; margin: 0 0 14px; }
  .am-item .am-thumb img { width: 100%; height: auto; max-height: 220px; }
  .am-hgroup { margin: 36px auto 40px; }
  .am-hgroup .am-title { font-size: 1.5em; }
  .am-content { line-height: 1.8; }
  .am-content h1, .am-content h2, .am-content h3 { margin-top: 46px; }
  .am-postnav { grid-template-columns: 1fr; gap: 20px; }
  .am-postnav .am-nav-next { grid-template-columns: 76px 1fr; text-align: left; }
  .am-postnav .am-nav-next img { order: 0; }
  .am-related ul { grid-template-columns: 1fr; gap: 18px; }
  .am-related img, .am-related .am-r-none { aspect-ratio: 16 / 9; }
}

/* ---------- 인쇄 ---------- */
@media print {
  :root { --am-bg: #fff; --am-panel: #fff; --am-line: #ccc; --am-hair: #eee; --am-ink: #000; --am-body: #222; --am-mid: #555; --am-dim: #777; }
  .am-menu-btn, .am-search-btn, .am-menu, .am-dimmed, .am-search, .am-wave,
  .am-postnav, .am-related, .am-comments, .am-pagination, .am-chips, .am-footer, .am-lightbox { display: none !important; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .am-header { padding: 0 0 12pt; text-align: left; border-bottom: 1px solid #ccc; }
  .am-header .am-logo img { width: 110px; filter: invert(1); }
  .am-main, .am-hgroup { max-width: none; padding: 0; margin: 12pt 0; }
  .am-content { line-height: 1.6; }
  .am-content a { text-decoration: none; color: #000; }
  .am-content a[href^="http"]:after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; word-break: break-all; }
  .am-content h1, .am-content h2, .am-content h3 { margin-top: 18pt; break-after: avoid; }
  .am-content figure.wp-block-image, .am-content pre, .am-content blockquote { break-inside: avoid; }
  .am-toc { border: 1px solid #ccc; }
}

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* ---------- 공유 ---------- */
.am-share { max-width: var(--am-width); margin: 40px auto 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.am-share .am-share-h { font-size: .75em; letter-spacing: .1em; text-transform: uppercase; color: var(--am-mid); margin-right: 6px; }
.am-share button, .am-share a {
  font-size: .8125em; color: var(--am-mid); text-decoration: none; background: transparent;
  border: 1px solid var(--am-line); border-radius: 2px; padding: 6px 12px; cursor: pointer;
  font-family: var(--am-sans);
}
.am-share button:hover, .am-share a:hover { border-color: var(--am-mid); color: var(--am-ink); }
.am-share button.done { border-color: var(--am-ink); color: var(--am-ink); }

/* ---------- 글쓴이 ---------- */
.am-author { max-width: var(--am-width); margin: 40px auto 0; padding: 22px 0 0; border-top: 1px solid var(--am-line); display: flex; gap: 18px; align-items: flex-start; }
.am-author .am-author-img { width: 48px; height: 48px; border-radius: 50%; flex: none; background: var(--am-panel); }
.am-author-n { margin: 0 0 4px; font-size: .9375em; color: var(--am-ink); font-weight: 500; }
.am-author-b { margin: 0 0 8px; font-size: .875em; color: var(--am-mid); line-height: 1.6; }
.am-author-l { margin: 0; font-size: .8125em; display: flex; gap: 14px; }
.am-author-l a { color: var(--am-mid); text-decoration: none; border-bottom: 1px solid var(--am-dim); }
.am-author-l a:hover { color: var(--am-ink); }

/* ---------- 연도 ---------- */
.am-years { margin-top: 4px; }

@media screen and (max-width: 767px) {
  .am-author { gap: 14px; }
  .am-share .am-share-h { flex-basis: 100%; margin-bottom: 2px; }
}

/* ---------- 연재 ---------- */
.am-series { max-width: var(--am-width); margin: 0 auto 32px; padding: 16px 20px; border: 1px solid var(--am-line); background: var(--am-panel); }
.am-series-h { margin: 0 0 10px; font-size: .75em; letter-spacing: .1em; text-transform: uppercase; color: var(--am-mid); }
.am-series ol { list-style: none; margin: 0; padding: 0; font-size: .9375em; }
.am-series li { display: flex; gap: 10px; align-items: baseline; padding: 5px 0; line-height: 1.5; }
.am-series li .p { flex: none; width: 32px; color: var(--am-dim); font-size: .8125em; }
.am-series li a { color: var(--am-body); text-decoration: none; }
.am-series li a:hover { color: var(--am-ink); text-decoration: underline; text-underline-offset: 3px; }
.am-series li.on span:not(.p):not(.now) { color: var(--am-ink); }
.am-series li .now { color: var(--am-dim); font-size: .75em; margin-left: 4px; white-space: nowrap; }

/* ---------- 영문 요약 ---------- */
.am-en { max-width: var(--am-width); margin: 48px auto 0; padding: 22px 24px; border-top: 1px solid var(--am-line); border-bottom: 1px solid var(--am-line); }
.am-en-h { margin: 0 0 12px; font-size: .75em; letter-spacing: .1em; text-transform: uppercase; color: var(--am-mid); }
.am-en p { margin: 0 0 12px; color: var(--am-mid); font-size: .9375em; line-height: 1.7; }
.am-en p:last-child { margin-bottom: 0; }

/* ---------- 도움이 되었나요 ---------- */
.am-fb { max-width: var(--am-width); margin: 44px auto 0; text-align: center; }
.am-fb-h { margin: 0 0 14px; font-size: .9375em; color: var(--am-mid); }
.am-fb-btns { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.am-fb-btn {
  font-family: var(--am-sans); font-size: .875em; color: var(--am-body); background: transparent;
  border: 1px solid var(--am-line); border-radius: 2px; padding: 9px 20px; cursor: pointer;
}
.am-fb-btn:hover { border-color: var(--am-mid); color: var(--am-ink); }
.am-fb-btn[disabled] { opacity: .45; cursor: default; }
.am-fb-done { margin: 12px 0 0; font-size: .875em; color: var(--am-mid); line-height: 1.7; }
.am-fb-done a { color: var(--am-ink); }

/* ---------- 대표 이미지가 없을 때 ---------- */
/* 회색 자리를 남기지 않고 제목이 그 폭을 쓴다. 나중에 이미지를 넣으면 자동으로 되돌아온다. */
.am-postnav a.am-no-thumb { grid-template-columns: 1fr; }
.am-postnav .am-nav-next.am-no-thumb { text-align: right; }
.am-related li.am-no-thumb a { padding-top: 2px; border-top: 1px solid var(--am-line); }
.am-related li.am-no-thumb .am-r-title { margin-top: 10px; display: block; -webkit-line-clamp: 3; }
