/* 옮겨 온 칼럼 페이지 공용 스타일 — article-32.html 의 인라인 스타일에서 뽑았습니다 */
:root{--ink:#16120E;--ink-2:#3D3630;--ink-3:#716A62;--ink-4:#A39B91;--parch:#F7F4EF;--parch-2:#EDE8DF;--parch-3:#E0D8CC;--gold:#B8872A;--gold-light:#D4A845;--gold-pale:#FBF5E8;--navy:#1C2E52;--navy-2:#2A4480;--navy-pale:#EDF1FA;--surface:#FFFDF9;--ff-serif:'Noto Serif KR','Georgia',serif;--ff-sans:'Noto Sans KR','Apple SD Gothic Neo',sans-serif;--r-sm:8px;--r-md:14px;--shadow-sm:0 1px 4px rgba(22,18,14,.06);--shadow-md:0 4px 18px rgba(22,18,14,.09)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--ff-sans);background:var(--parch);color:var(--ink);min-height:100vh}
a{color:inherit}
.reading-progress{position:fixed;top:58px;left:0;right:0;height:3px;z-index:99}
.reading-progress-bar{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-light));width:0%;transition:width .1s linear}
.header{position:sticky;top:0;z-index:100;height:58px;display:flex;align-items:center;padding:0 20px;gap:10px;background:rgba(247,244,239,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(224,216,204,.7)}
.header-back{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--r-sm);border:1.5px solid var(--parch-3);color:var(--ink-2);text-decoration:none}
.header-logo{display:flex;align-items:center;gap:8px;text-decoration:none}
.logo-mark{width:30px;height:30px;background:var(--navy);border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:700}
.logo-wordmark{font:700 .85rem var(--ff-serif);color:var(--navy)}
.header-actions{margin-left:auto;display:flex;gap:8px}
.btn-ghost,.btn-primary{padding:6px 14px;border-radius:var(--r-sm);font:600 .8rem var(--ff-sans);text-decoration:none}
.btn-ghost{border:1.5px solid var(--parch-3);color:var(--ink-2)}
.btn-primary{border:1.5px solid var(--navy);background:var(--navy);color:#fff}
.article-hero{background:var(--navy);padding:52px 24px 48px;position:relative;overflow:hidden}
.article-hero::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0px,transparent 1px,transparent 44px,rgba(255,255,255,.025) 45px),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0px,transparent 1px,transparent 44px,rgba(255,255,255,.025) 45px)}
.hero-glow{position:absolute;top:-30%;right:-5%;width:50vw;height:50vw;max-width:380px;max-height:380px;background:radial-gradient(circle,rgba(184,135,42,.18) 0%,transparent 68%);pointer-events:none}
.hero-inner{position:relative;max-width:760px;margin:0 auto}
.breadcrumb{display:flex;align-items:center;gap:6px;font:400 .75rem var(--ff-sans);color:rgba(254,252,247,.5);margin-bottom:20px}
.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover{color:var(--gold-light)}
.article-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.tag-type,.tag-topic{padding:4px 13px;border-radius:100px;font:600 .6875rem var(--ff-sans);letter-spacing:.04em}
.tag-type{background:rgba(184,135,42,.22);color:var(--gold-light)}
.tag-topic{background:rgba(255,255,255,.1);color:rgba(254,252,247,.72)}
.article-title{font-family:'NanumSquare',var(--ff-sans);font-weight:800;font-size:clamp(1.75rem,4.5vw,2.55rem);line-height:1.25;color:#FEFCF7;letter-spacing:-.03em;margin-bottom:16px;word-break:keep-all}
.subtitle{font:500 1rem/1.65 var(--ff-sans);color:rgba(254,252,247,.74);margin-bottom:20px;word-break:keep-all}
.article-meta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:rgba(254,252,247,.72);font-size:.86rem}
.author-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,var(--navy-2),#3D5FA0);border:2px solid rgba(255,255,255,.2);display:inline-grid;place-items:center;font-weight:700;color:#fff;margin-right:8px}
.page-layout{max-width:1080px;margin:0 auto;padding:48px 20px 110px;display:grid;grid-template-columns:1fr;gap:34px}
@media(min-width:900px){.page-layout{grid-template-columns:1fr 280px;padding:56px 40px 86px;gap:56px}}
.prose{font:400 1.05rem/1.95 var(--ff-serif);color:var(--ink-2);max-width:720px}
.prose p{margin-bottom:1.45em;word-break:keep-all}
.prose h2{font:700 1.36rem/1.35 var(--ff-serif);color:var(--ink);letter-spacing:-.02em;margin:2.35em 0 .8em;padding-bottom:.5em;border-bottom:2px solid var(--parch-3);word-break:keep-all}
.prose strong{font-weight:700;color:var(--ink)}
.prose a{color:var(--navy-2);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{margin:0 0 1.45em 1.4em;word-break:keep-all}
.prose li{margin-bottom:.45em}
.prose mark{background:linear-gradient(transparent 58%,rgba(184,135,42,.28) 58%);color:inherit;padding:0 2px;font-weight:700}
.kicker{font:600 .8rem var(--ff-sans);color:var(--gold);letter-spacing:.06em}
.toc-box{margin:0 0 2.2em;padding:18px 22px;background:var(--surface);border:1px solid var(--parch-3);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}
.toc-title{font:700 .78rem var(--ff-sans);color:var(--gold);letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}
.toc-box ul,.toc-box ol{list-style:none;margin:0;display:grid;gap:6px}
.toc-box li{font:500 .9rem/1.55 var(--ff-sans);color:var(--ink-2);margin:0;word-break:keep-all}
.lead-quote{margin:2em 0;padding:24px 28px;background:var(--gold-pale);border-left:4px solid var(--gold);border-radius:0 var(--r-md) var(--r-md) 0;font:600 1.1rem/1.8 var(--ff-serif);color:var(--ink);word-break:keep-all}
.quote-cite{display:block;margin-top:8px;font:500 .8rem var(--ff-sans);color:var(--ink-3)}
.article-figure{margin:2.1em 0;padding:22px;border:1px solid var(--parch-3);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm)}
.article-figure img{width:100%;display:block;border-radius:var(--r-sm);border:1px solid var(--parch-3);box-shadow:var(--shadow-sm);background:#fff}
.article-figure figcaption{font:500 .82rem/1.65 var(--ff-sans);color:var(--ink-4);margin-top:10px}
.source-box,.author-box,.book-box{margin:2.2em 0;padding:20px 22px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--parch-3);font-family:var(--ff-sans);font-size:.9rem;line-height:1.75;color:var(--ink-3);box-shadow:var(--shadow-sm)}
.author-box strong,.book-box strong{color:var(--ink)}
.book-list{margin-top:10px;display:grid;gap:12px}
.book-item{padding:13px 14px;border-radius:var(--r-sm);background:var(--parch);border:1px solid var(--parch-3)}
.link-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.pill-link{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--navy-pale);color:var(--navy-2);font:700 .76rem var(--ff-sans);text-decoration:none}
.article-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:24px 0;border-top:1px solid var(--parch-3);border-bottom:1px solid var(--parch-3);margin:38px 0 0}
.action-btn{display:flex;align-items:center;gap:7px;padding:10px 18px;border-radius:var(--r-sm);border:1.5px solid var(--parch-3);background:var(--surface);font:600 .875rem var(--ff-sans);color:var(--ink-2);cursor:pointer;box-shadow:var(--shadow-sm)}
.sidebar{display:none}
@media(min-width:900px){.sidebar{display:block;position:sticky;top:82px}}
.side-card{background:var(--surface);border:1px solid var(--parch-3);border-radius:var(--r-md);padding:18px;box-shadow:var(--shadow-md);margin-bottom:14px}
.side-title{font:700 .9rem var(--ff-sans);color:var(--ink);margin-bottom:12px}
.side-link{display:block;padding:10px 0;border-top:1px solid var(--parch-2);font:500 .82rem/1.55 var(--ff-sans);color:var(--ink-2);text-decoration:none;word-break:keep-all}
.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:62px;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-top:1px solid var(--parch-3);z-index:200}
.bnav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:#8A8379;font:500 .68rem var(--ff-sans)}
.bnav-item.active{color:var(--navy-2)}
@media(min-width:900px){.bottom-nav{display:none}}
@media(max-width:620px){.header-actions .btn-primary{display:none}.page-layout{padding-left:18px;padding-right:18px}.article-figure{padding:16px}.prose{font-size:1rem}}

/* ── 네이버 블로그에서 옮겨 온 글에 쓰는 규칙 ───────────────── */
.prose hr.article-rule{border:0;border-top:1px solid var(--parch-3,#E0D8CC);margin:38px auto;width:120px}
.prose blockquote.pull-quote{margin:30px 0;padding:22px 26px;background:var(--gold-pale,#FBF5E8);border-left:4px solid var(--gold,#B8872A);border-radius:0 10px 10px 0}
.prose blockquote.pull-quote p{margin:0;font-family:var(--ff-serif,Georgia,serif);font-size:1.08rem;line-height:1.85;color:var(--ink-2,#3D3630)}
.prose .source-note{margin-top:42px;padding-top:18px;border-top:1px solid var(--parch-3,#E0D8CC);font-size:.86rem;color:var(--ink-3,#716A62)}
.prose .source-note a{color:var(--navy-2,#2A4480);text-decoration:underline}
.article-foot{margin:34px 0 60px;font-size:.92rem}
.article-foot a{color:var(--navy-2,#2A4480)}
.article-foot a:hover{text-decoration:underline}

html[data-theme=dark] .prose hr.article-rule{border-color:#35463b}
html[data-theme=dark] .prose blockquote.pull-quote{background:#2a3327;border-left-color:#b5c996}
html[data-theme=dark] .prose blockquote.pull-quote p{color:#d7e2cf}
html[data-theme=dark] .prose .source-note{border-color:#35463b;color:#a9b5a5}
html[data-theme=dark] :is(.prose .source-note a,.article-foot a){color:#b2d5ac}

.prose p,.prose li,.prose a,.prose figcaption{overflow-wrap:anywhere}
.prose p.link-card{margin:14px 0;padding:12px 16px;border:1px solid var(--parch-3,#E0D8CC);border-radius:10px;background:var(--surface,#FFFDF9)}
.prose p.link-card a{color:var(--navy-2,#2A4480);font-weight:600;text-decoration:none}
html[data-theme=dark] .prose p.link-card{background:#1c2922;border-color:#35463b}
html[data-theme=dark] .prose p.link-card a{color:#b2d5ac}
