@font-face{font-family:Pretendard;font-style:normal;font-weight:45 920;font-display:swap;src:url("PretendardVariable.woff2") format("woff2")}

.reader-start { padding: 24px; margin-bottom: 32px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.reader-start h2 { font-size: clamp(20px, 2.4vw, 26px); line-height: 1.5; margin-bottom: 10px; }
.reader-start-intro { font-size: 14px; color: var(--muted); }
.reader-picks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-block: 20px; }
.reader-picks a { display: grid; grid-template-columns: 24px minmax(0, 1fr) 14px; align-items: start; gap: 8px; padding: 16px 12px; background: var(--paper); border: 1px solid var(--line); border-radius: 6px; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; word-break: keep-all; }
.reader-picks a:hover { text-decoration: underline; }
.reader-pick-number { color: var(--accent); font-size: 12px; font-variant-numeric: tabular-nums; }
.reader-start-note { font-size: 12px; color: var(--muted); margin-bottom: 0; }
@media (max-width: 900px) { .reader-picks { grid-template-columns: 1fr; gap: 10px; } }
@media (max-width: 700px) { .reader-start { padding: 20px 16px; } }

:root {
  --paper: #fff; --surface: #f6f7f9; --ink: #202631; --muted: #606977;
  --accent: #2559a7; --accent-soft: #eef3fb; --line: #e0e4e9; --strong-line: #aeb8c5;
  --font: 'Pretendard', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  --display: var(--font); --type-xs: .75rem; --type-sm: .875rem; --type-base: 1rem;
  --type-body: 1.125rem; --type-title: clamp(1.875rem, 3.4vw, 2.875rem);
  --space-1: .5rem; --space-2: 1rem; --space-3: 1.5rem; --space-4: 2rem;
  --space-5: 3rem; --space-6: 4.5rem; --radius: 12px; --content: 1184px; --reading: 720px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 var(--type-base)/1.65 var(--font); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; text-underline-offset: .23em; }
a:hover { color: var(--accent); }
button, input { font: inherit; }
button, a, input, summary { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; border-radius: 3px; }
img { max-width: 100%; display: block; }
[hidden] { display: none !important; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { word-break: keep-all; overflow-wrap: anywhere; letter-spacing: -.035em; }
.shell { width: min(var(--content), calc(100% - 64px)); margin-inline: auto; }
.skip-link { position: absolute; left: 16px; top: -100px; padding: 12px; background: var(--ink); color: white; z-index: 10; }
.skip-link:focus { top: 8px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.preview-bar { background: var(--surface); border-bottom: 1px solid var(--line); }
.preview-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 47px; }
.preview-label { font-size: 11px; color: var(--muted); letter-spacing: .08em; }
.variant-nav { display: flex; gap: 5px; }
.variant-nav a { min-height: 44px; padding: 11px 13px; font-size: 12px; color: var(--muted); }
.variant-nav a[aria-current=page] { color: var(--accent); box-shadow: inset 0 -2px var(--accent); font-weight: 700; }
.site-header { border-bottom: 1px solid var(--line); }
.header-inner { min-height: 86px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.wordmark { display: inline-flex; align-items: baseline; gap: 2px; font-size: 25px; font-weight: 800; letter-spacing: -.07em; line-height: 1.2; }
.wordmark .brand-n { color: var(--accent); font-weight: 500; }
.brand-note { font-size: 12px; color: var(--muted); margin-left: 18px; letter-spacing: -.01em; font-weight: 400; }
.header-links { display: flex; gap: 24px; align-items: center; font-size: 13px; }
.header-links a { padding-block: 14px; }
.header-links a[aria-current=page] { font-weight: 700; color: var(--accent); }
.home-layout { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 48px; margin-top: 44px; }
.profile { border-bottom: 1px solid var(--line); padding-bottom: 25px; margin-bottom: 25px; }
.monogram { width: 52px; height: 52px; display: grid; place-content: center; background: var(--ink); color: white; border-radius: 50%; font: italic 24px Georgia, serif; margin-bottom: 17px; }
.profile h2 { font-size: 16px; margin-bottom: 7px; }
.profile p { font-size: 13px; line-height: 1.8; color: var(--muted); margin-bottom: 0; word-break: keep-all; }
form.search { display: flex; margin-bottom: 26px; background: var(--surface); border: 1px solid var(--line); border-radius: 5px; overflow: clip; }
form.search input { width: 100%; min-width: 0; border: 0; padding: 11px 9px; font-size: 12px; color: var(--ink); background: transparent; }
form.search input::placeholder { color: var(--muted); opacity: 1; }
form.search input:focus-visible { outline-offset: -3px; }
form.search button { background: transparent; border: 0; padding: 10px; min-width: 44px; color: var(--accent); font-size: 12px; font-weight: 650; }
.side-label,.eyebrow { color: var(--accent); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 14px; }
.categories { display: grid; gap: 4px; }
.categories a { display: flex; justify-content: space-between; align-items: center; min-height: 44px; padding: 9px 11px; font-size: 13px; border-radius: 5px; }
.categories a.active { background: var(--accent-soft); color: var(--accent); font-weight: 700; }
.categories span { font-size: 11px; color: var(--muted); }
.sidebar-note { margin-top: 38px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }
.sidebar-note strong { display: block; color: var(--ink); font-size: 13px; margin-bottom: 5px; }
.main-intro { padding: 2px 0 29px; }
.main-intro .eyebrow { margin-bottom: 9px; }
.main-intro h1 { font: 700 30px/1.4 var(--display); letter-spacing: -.045em; margin-bottom: 10px; }
.main-intro .intro-text { font-size: 14px; color: var(--muted); margin-bottom: 0; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 20px; border-top: 1px solid var(--ink); padding-top: 15px; }
.section-heading h2 { font-size: 16px; margin: 0; }
.section-heading span { font-size: 11px; color: var(--muted); }
.card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px 20px; }
.article-card { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--paper); }
.card-link { display: block; height: 100%; }
.card-link:hover h2,.card-link:hover h3 { text-decoration: underline; }
.card-image { aspect-ratio: 16 / 9; overflow: hidden; background: var(--surface); }
.card-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .2s ease; }
.card-link:hover .card-image img { transform: scale(1.025); }
.card-copy { padding: 17px 16px 16px; }
.card-kicker { color: var(--accent); font-size: 11px; font-weight: 650; margin: 0 0 8px; }
.card-copy h2,.card-copy h3 { font-size: 17px; line-height: 1.55; margin: 0 0 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-excerpt { color: var(--muted); font-size: 12px; line-height: 1.75; margin: 0 0 15px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-date { font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; }
.card-date .read-arrow { float: right; color: var(--accent); }
.ad-slot { border-block: 1px solid var(--line); background: var(--surface); display: grid; place-content: center; min-height: 100px; margin: 32px 0; text-align: center; }
.ad-slot small { font-size: 10px; letter-spacing: .16em; color: var(--muted); }
.ad-slot span { font-size: 11px; margin-top: 7px; color: var(--muted); }
.card-grid > .ad-slot { grid-column: 1 / -1; margin: 4px 0; }
.empty-state { padding: 42px 20px; background: var(--surface); text-align: center; color: var(--muted); }
.page-end { display: flex; justify-content: center; padding: 36px 0; }
.text-link { color: var(--accent); text-decoration: underline; font-size: 14px; padding: 8px 0; }
.site-footer { margin-top: 64px; border-top: 1px solid var(--line); padding: 32px 0 36px; }
.footer-inner { display: flex; justify-content: space-between; align-items: start; gap: 30px; }
.footer-inner p { margin: 8px 0 0; font-size: 12px; color: var(--muted); }
.footer-links { display: flex; gap: 24px; font-size: 12px; padding-block: 5px; }
.breadcrumb { font-size: 12px; color: var(--muted); margin-bottom: 27px; display: flex; flex-wrap: wrap; gap: 9px; }
.breadcrumb a { padding-block: 4px; text-decoration: underline; }
.article-layout { display: grid; grid-template-columns: minmax(0,var(--reading)) 208px; gap: 76px; justify-content: center; margin-top: 36px; }
.article-header { padding-bottom: 26px; border-bottom: 1px solid var(--line); margin-bottom: 31px; }
.article-header h1 { font: 740 var(--type-title)/1.35 var(--display); letter-spacing: -.045em; margin-bottom: 20px; }
.article-header .cc-meta { margin-bottom: 0; }
.cc-meta { color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; line-height: 1.8; }
.article-body { font-size: var(--type-body); line-height: 1.95; overflow-wrap: break-word; word-break: normal; }
.article-body p { margin-block: 0 1.5em; }
.article-body h2 { margin: 3em 0 1em; font: 740 1.5em/1.5 var(--display); scroll-margin-top: 24px; }
.article-body h3 { margin: 2em 0 .8em; font-size: 1.2em; line-height: 1.5; }
.article-body a { color: var(--accent); text-decoration: underline; overflow-wrap: anywhere; }
.article-body ul,.article-body ol { padding-left: 1.4em; margin-block: 0 1.5em; }
.article-body li { padding-left: .15em; margin-bottom: .65em; }
.article-body strong { font-weight: 700; }
.cc-lede { font-size: 1.1em; line-height: 1.85; color: var(--ink); }
.cc-summary { background: var(--accent-soft); border-left: 3px solid var(--accent); padding: 25px 27px 15px; margin: 30px 0 20px; border-radius: 0 var(--radius) var(--radius) 0; }
.article-body .cc-summary__title { color: var(--accent); font-size: 14px; font-weight: 750; letter-spacing: .02em; margin-bottom: 14px; }
.cc-summary ul { font-size: 16px; line-height: 1.8; margin-bottom: 8px; }
.article-body .cc-disclaimer { color: var(--muted); font-size: 12px; line-height: 1.85; margin: 18px 0 28px; }
.cc-toc { border-block: 1px solid var(--line); padding: 24px 0 12px; margin-block: 30px 46px; }
.article-body .cc-toc__title { font-size: 12px; font-weight: 750; margin-bottom: 12px; color: var(--muted); }
.cc-toc ol { font-size: 15px; columns: 2; column-gap: 36px; }
.cc-toc li { break-inside: avoid; }
.cc-toc a { color: var(--ink); text-decoration: none; }
.cc-toc a:hover { color: var(--accent); text-decoration: underline; }
.cc-figure { margin: 32px 0; }
.cc-figure img { width: 100%; height: auto; border-radius: var(--radius); }
.cc-figure figcaption { color: var(--muted); font-size: 12px; line-height: 1.8; padding-top: 12px; }
.cc-data { border-collapse: collapse; width: 100%; margin-block: 28px; font-size: 15px; line-height: 1.75; font-variant-numeric: tabular-nums; }
.cc-data caption { text-align: left; padding-bottom: 12px; color: var(--muted); font-size: 12px; }
.cc-data th { background: var(--surface); font-weight: 650; }
.cc-data td,.cc-data th { padding: 13px 14px; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; }
.cc-data th { border-top: 1px solid var(--strong-line); }
.cc-data .cc-num { text-align: right; }
.table-scroll { overflow-x: auto; margin-block: 24px; }
.table-scroll .cc-data { margin-block: 0; }
.cc-callout { border-left: 3px solid var(--accent); background: var(--surface); padding: 23px 25px; margin: 30px 0; font-size: 16px; line-height: 1.85; }
.cc-callout > :last-child { margin-bottom: 0; }
.cc-callout--warn { border: 1px solid var(--strong-line); border-left: 3px solid var(--ink); background: var(--paper); }
.cc-callout--check { border: 1px solid var(--line); border-radius: var(--radius); }
.cc-callout--how { background: var(--accent-soft); }
.cc-faq { border-top: 1px solid var(--line); margin-block: 28px 40px; }
.cc-faq details { border-bottom: 1px solid var(--line); padding: 6px 0; }
.cc-faq summary { padding: 17px 4px; font-size: 16px; font-weight: 650; cursor: pointer; }
.cc-faq details p { font-size: 16px; color: var(--muted); padding: 0 4px 6px; }
.cc-sources { background: var(--surface); padding: 25px; margin-top: 42px; font-size: 13px; }
.article-body .cc-sources__title { font-size: 14px; font-weight: 700; margin-bottom: 14px; }
.cc-sources ul { margin-bottom: 0; }
.article-rail { font-size: 13px; padding-top: 72px; }
.rail-block { border-top: 1px solid var(--ink); padding: 18px 0 30px; }
.rail-block h2 { font-size: 13px; margin-bottom: 14px; }
.rail-block p { font-size: 12px; color: var(--muted); line-height: 1.9; }
.rail-block a { display: block; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.rail-number { color: var(--accent); display: block; font-size: 10px; letter-spacing: .1em; margin-bottom: 5px; }
.cc-related { margin-top: 64px; }
.cc-related .card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cc-related .card-copy h3 { font-size: 17px; }
.category-intro { padding-bottom: 34px; }
.category-intro h1 { font-size: 40px; }
.category-description { max-width: 620px; font-size: 15px; line-height: 1.9; color: var(--muted); }
.beginner-picks { background: var(--accent-soft); padding: 25px 27px; margin: 0 0 40px; border-radius: var(--radius); }
.beginner-picks h2 { font-size: 16px; margin-bottom: 18px; }
.pick-list { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.pick-list a { display: grid; grid-template-columns: 24px 1fr; gap: 12px; font-size: 14px; line-height: 1.7; }
.pick-list span { color: var(--accent); font-size: 12px; padding-top: 3px; }
.theme-magazine { --paper: #fffefb; --surface: #f3f0e9; --ink: #2c2927; --muted: #6e645d; --accent: #843b30; --accent-soft: #f6eee8; --line: #e3ded4; --strong-line: #b8aba0; --radius: 2px; --display: 'Noto Serif KR','AppleMyungjo','Batang',serif; }
.theme-magazine .wordmark { font: 700 35px/1 Georgia,serif; letter-spacing: -.055em; }
.theme-magazine .brand-note { font-family: var(--font); font-size: 11px; }
.theme-magazine .header-inner { min-height: 110px; }
.theme-magazine .home-layout { grid-template-columns: minmax(0,1fr); gap: 0; }
.theme-magazine .home-sidebar { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 24px; align-items: center; margin-bottom: 30px; }
.theme-magazine .home-sidebar .profile,.theme-magazine .home-sidebar .side-label,.theme-magazine .home-sidebar .sidebar-note { display: none; }
.theme-magazine form.search { margin-bottom: 0; }
.theme-magazine .categories { display: flex; gap: 8px; overflow-x: auto; }
.theme-magazine .categories a { white-space: nowrap; }
.theme-magazine .categories span { display: none; }
.theme-magazine .main-intro { display: flex; align-items: baseline; justify-content: space-between; gap: 30px; padding-bottom: 24px; }
.theme-magazine .main-intro .eyebrow { display: none; }
.theme-magazine .main-intro h1 { font-size: 25px; }
.theme-magazine .section-heading { border-top: 3px double var(--ink); }
.theme-magazine .article-card { border: 0; border-radius: 0; }
.theme-magazine .card-copy { padding: 18px 0; }
.theme-magazine .card-copy h2,.theme-magazine .card-copy h3 { font-family: var(--display); }
.theme-magazine .home-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
.theme-magazine .home-cards > .article-card:first-child { grid-column: 1 / -1; padding-bottom: 32px; margin-bottom: 10px; border-bottom: 1px solid var(--line); }
.theme-magazine .home-cards > .article-card:first-child .card-link { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; align-items: center; }
.theme-magazine .home-cards > .article-card:first-child .card-image { grid-column: 2; grid-row: 1; }
.theme-magazine .home-cards > .article-card:first-child .card-copy { grid-column: 1; grid-row: 1; }
.theme-magazine .home-cards > .article-card:first-child h2 { font-size: 34px; line-height: 1.55; display: block; }
.theme-magazine .home-cards > .article-card:first-child .card-excerpt { font-size: 15px; -webkit-line-clamp: 3; }
.theme-magazine .home-cards > .article-card:first-child .card-kicker { margin-bottom: 17px; }
.theme-magazine .article-layout { grid-template-columns: minmax(0,760px) 190px; gap: 64px; }
.theme-magazine .article-header { border-bottom: 3px double var(--ink); }
.theme-magazine .article-body { line-height: 2; }
.theme-magazine .cc-summary { border-left: 0; border-top: 2px solid var(--accent); border-bottom: 1px solid var(--line); }
.theme-notes { --paper: #fafbf8; --surface: #f0f3ed; --ink: #25352f; --muted: #5d6a61; --accent: #356348; --accent-soft: #edf3e9; --line: #dde4d9; --strong-line: #a2b29e; --radius: 4px; }
.theme-notes .home-layout { grid-template-columns: 224px minmax(0,1fr); gap: 76px; }
.theme-notes .main-intro h1 { font-weight: 550; font-size: 34px; }
.theme-notes .main-intro { padding-bottom: 37px; }
.theme-notes .card-grid { grid-template-columns: 1fr; gap: 0; }
.theme-notes .article-card { border: 0; border-bottom: 1px solid var(--line); background: transparent; border-radius: 0; }
.theme-notes .card-link { display: grid; grid-template-columns: 1fr 146px; gap: 25px; align-items: center; padding: 27px 0; }
.theme-notes .card-image { grid-column: 2; grid-row: 1; border-radius: 4px; }
.theme-notes .card-copy { grid-column: 1; grid-row: 1; padding: 0; }
.theme-notes .card-copy h2 { font-size: 21px; font-weight: 650; }
.theme-notes .card-excerpt { font-size: 13px; margin-bottom: 12px; }
.theme-notes .home-cards > .ad-slot { margin: 30px 0; }
.theme-notes .monogram { border-radius: 4px; background: var(--accent); }
.theme-notes .article-layout { grid-template-columns: minmax(0,690px) 170px; gap: 88px; }
.theme-notes .article-header h1 { font-weight: 550; }
.theme-notes .cc-summary { border: 1px solid var(--line); border-radius: 4px; }
.theme-notes .cc-related .card-grid { grid-template-columns: 1fr; }
.theme-notes .article-rail { border-left: 1px solid var(--line); padding-left: 25px; }
.theme-notes .cc-toc { background: var(--surface); padding: 24px; border: 0; }
.variant-board { padding-block: 54px; }
.variant-board h1 { font-size: 36px; }
.variant-board .board-intro { color: var(--muted); max-width: 650px; margin-bottom: 38px; }
.board-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.board-card { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.board-card img { width: 100%; height: auto; aspect-ratio: 1280/900; object-fit: cover; object-position: top; border-bottom: 1px solid var(--line); }
.board-card .board-copy { padding: 24px; }
.board-card h2 { font-size: 20px; margin-bottom: 10px; }
.board-card p { font-size: 14px; color: var(--muted); }
.board-card nav { display: flex; gap: 18px; flex-wrap: wrap; }
.board-card nav a { font-size: 13px; color: var(--accent); text-decoration: underline; padding: 8px 0; }
@media(min-width:1450px) { .shell { width: min(var(--content),calc(100% - 96px)); } }
@media(max-width:1050px) {
 .home-layout,.theme-notes .home-layout { grid-template-columns: 170px minmax(0,1fr); gap: 30px; }
 .card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .article-layout,.theme-magazine .article-layout,.theme-notes .article-layout { grid-template-columns: minmax(0,var(--reading)); }
 .article-rail { display: none; }
 .brand-note { display: none; }
 .theme-magazine .home-layout { grid-template-columns: 1fr; }
 .theme-magazine .home-cards > .article-card:first-child .card-link { gap: 30px; }
 .board-grid { grid-template-columns: 1fr; max-width: 720px; margin-inline: auto; }
}
@media(max-width:700px) {
 :root { --type-body: 1.0625rem; --radius: 9px; }
 .shell { width: calc(100% - 40px); }
 .preview-inner { width: 100%; justify-content: center; min-height: 44px; }
 .preview-label { display: none; }
 .variant-nav a { padding: 11px 15px; }
 .header-inner,.theme-magazine .header-inner { min-height: 76px; gap: 12px; }
 .wordmark { font-size: 23px; }
 .theme-magazine .wordmark { font-size: 27px; }
 .header-links { gap: 15px; font-size: 12px; }
 .header-links a { min-height: 44px; display: inline-flex; align-items: center; }
 .home-layout,.theme-notes .home-layout { display: flex; flex-direction: column; gap: 0; margin-top: 24px; }
 .profile,.side-label,.sidebar-note { display: none; }
 form.search { margin-bottom: 13px; }
 form.search input { font-size: 14px; padding: 12px; }
 form.search button { font-size: 13px; }
 .categories { display: flex; gap: 8px; overflow-x: auto; padding: 2px 3px 15px; margin-bottom: 18px; scrollbar-width: thin; }
 .categories a { white-space: nowrap; padding: 9px 12px; border: 1px solid var(--line); border-radius: 5px; font-size: 12px; }
 .categories span { display: none; }
 .main-intro { padding: 0 0 25px; }
 .main-intro h1,.theme-notes .main-intro h1 { font-size: 25px; }
 .main-intro .intro-text { font-size: 13px; }
 .card-grid { grid-template-columns: 1fr; gap: 24px; }
 .card-image { aspect-ratio: 16/9; }
 .card-copy { padding: 20px; }
 .card-copy h2,.card-copy h3 { font-size: 20px; line-height: 1.55; }
 .card-kicker { font-size: 12px; }
 .card-excerpt { font-size: 14px; margin-bottom: 16px; }
 .card-date { font-size: 12px; }
 .section-heading span { font-size: 10px; }
 .card-grid > .ad-slot { margin: 5px 0; min-height: 120px; }
 .footer-inner { flex-direction: column; gap: 22px; }
 .site-footer { margin-top: 42px; }
 .article-layout { margin-top: 25px; }
 .breadcrumb { font-size: 11px; margin-bottom: 23px; }
 .article-header h1 { font-size: 30px; line-height: 1.45; }
 .article-header { padding-bottom: 23px; margin-bottom: 27px; }
 .cc-meta { font-size: 11px; }
 .cc-lede { font-size: 18px; }
 .cc-summary { padding: 22px 20px 13px; margin-top: 26px; }
 .cc-summary ul { font-size: 15px; }
 .cc-toc ol { columns: 1; font-size: 14px; }
 .cc-data { font-size: 13px; }
 .cc-data td,.cc-data th { padding: 12px 9px; min-width: 80px; }
 .cc-callout { padding: 21px 19px; font-size: 15px; }
 .cc-sources { padding: 22px 20px; }
 .article-body h2 { font-size: 24px; margin-top: 2.5em; }
 .cc-related .card-grid { grid-template-columns: 1fr; }
 .category-intro h1 { font-size: 32px; }
 .category-description { font-size: 14px; }
 .beginner-picks { padding: 23px 21px; }
 .pick-list { grid-template-columns: 1fr; gap: 18px; }
 .theme-magazine .home-sidebar { display: block; margin-bottom: 0; }
 .theme-magazine form.search { margin-bottom: 13px; }
 .theme-magazine .home-cards { grid-template-columns: 1fr; }
 .theme-magazine .main-intro { display: block; }
 .theme-magazine .main-intro h1 { font-size: 23px; }
 .theme-magazine .home-cards > .article-card:first-child .card-link { display: flex; flex-direction: column; gap: 0; align-items: stretch; }
 .theme-magazine .home-cards > .article-card:first-child .card-image { order: 1; }
 .theme-magazine .home-cards > .article-card:first-child .card-copy { order: 0; padding-top: 0; }
 .theme-magazine .home-cards > .article-card:first-child h2 { font-size: 29px; }
 .theme-magazine .home-cards > .article-card:first-child { padding-bottom: 24px; margin-bottom: 0; }
 .theme-notes .card-link { grid-template-columns: minmax(0,1fr) 88px; gap: 18px; padding: 25px 0; }
 .theme-notes .card-copy h2,.theme-notes .card-copy h3 { font-size: 18px; }
 .theme-notes .card-image { aspect-ratio: 1; }
 .theme-notes .card-excerpt { font-size: 12px; -webkit-line-clamp: 2; }
 .theme-notes .cc-toc { padding: 22px 20px; }
 .variant-board { padding-block: 32px; }
 .variant-board h1 { font-size: 29px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } .card-image img { transition: none; } }
@media print { .preview-bar,.site-header,.article-rail,.ad-slot,.cc-related,.site-footer { display: none; } .article-layout { display: block; } .shell { width: 100%; } }
.component-preview { margin-top: 48px; border-top: 1px solid var(--line); padding-top: 20px; }
.component-preview > details > summary { font-size: 13px; color: var(--muted); padding: 14px 0; cursor: pointer; }
/* A blog starts with its posts. Keep the original sidebar and card grid. */
:root{--ink:#28312f;--muted:#66716e;--accent:#326556;--accent-soft:#edf3ef;--line:#e4e8e5;--surface:#f7f8f6;--radius:10px;--reading:720px}
.header-inner{min-height:78px}.brand-note{font-size:11px}.home-layout{grid-template-columns:176px minmax(0,1fr);gap:42px;margin-top:34px}
.profile{padding-bottom:22px;margin-bottom:22px}.monogram{background:#edf1ec;color:var(--accent);font-style:normal;width:48px;height:48px}.profile h2{font-size:16px;letter-spacing:-.02em}.profile p{font-size:12px}.side-label{font-size:11px;color:var(--muted);letter-spacing:0}.sidebar-note{margin-top:30px}
main>.section-heading:first-child{border-top:0;padding:0;margin-bottom:24px;align-items:center}.section-heading h1{font-size:23px;letter-spacing:-.04em;margin:0;line-height:1.5}.section-heading span{font-size:12px}
.card-grid{gap:28px 20px}.article-card{border-color:var(--line);box-shadow:none}.card-link:hover{color:inherit}.card-link:hover h2,.card-link:hover h3{color:var(--accent)}.card-copy{padding:18px}.card-copy h2,.card-copy h3{font-size:17px;line-height:1.6;font-weight:650}.card-excerpt{font-size:12px;line-height:1.85}.card-kicker{font-size:10px;letter-spacing:0}.card-date{font-size:11px}.card-grid>.ad-slot{min-height:84px;background:#fafbf9;border-color:#edf0ec;margin:0}
.blog-cover{position:relative;background:#f2efe7;padding:17px 18px;aspect-ratio:16/10;color:#344b43;display:flex;flex-direction:column;isolation:isolate}.cover-label{font-size:9px;font-weight:550;color:#657569;letter-spacing:.015em}.blog-cover strong{display:block;max-width:calc(100% - 42px);font-size:19px;font-weight:650;letter-spacing:-.045em;line-height:1.45;margin-top:13px;z-index:1;word-break:keep-all;overflow-wrap:anywhere}.blog-cover svg{position:absolute;width:75px;height:75px;right:10px;bottom:8px;z-index:-1;opacity:.8}.cover-sign{font:9px Georgia,serif;color:#657569;margin-top:auto;padding-top:12px}
.article-header h1{font-size:38px;line-height:1.45;max-width:700px}.article-layout{gap:64px}.cc-summary{border-left:0;border-top:3px solid var(--accent);border-radius:0;padding:24px 26px 16px}.cc-summary ul{font-size:16px;line-height:1.9}.cc-data th{background:var(--accent-soft)}.cc-callout--check{background:transparent}.cc-callout--warn{background:#faf5ed;border:0;border-left:3px solid #956b39}.cc-sources{background:transparent;border-top:1px solid var(--line);padding:25px 0}.cc-toc ol{columns:1}.article-body h2{font-size:26px}.category-intro{padding-bottom:20px}.category-intro h1{font-size:30px;margin-bottom:13px}.category-description{font-size:14px}.beginner-picks{padding:20px 24px;margin-bottom:28px;background:var(--surface)}.site-footer{margin-top:44px}
.table-hint{font-size:11px!important;color:var(--muted);margin:18px 0 6px!important}
@media(max-width:1050px) and (min-width:701px){.home-layout{grid-template-columns:155px minmax(0,1fr);gap:26px}.home-cards,.category-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-cover strong{font-size:20px}}
@media(max-width:700px){
.shell{width:calc(100% - 36px)}.header-inner{min-height:68px}.header-links{gap:18px;font-size:12px}.brand-note{display:none}.wordmark{font-size:24px}.home-layout{display:block;margin-top:19px}.home-sidebar{display:flex;flex-direction:column;gap:0;margin-bottom:25px}.profile{display:none}.home-sidebar form.search{margin:0 0 13px;width:100%;background:var(--surface)}form.search input{font-size:13px;padding:11px 13px}.home-sidebar .side-label,.sidebar-note{display:none}.categories{display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;padding:2px 2px 9px;scrollbar-width:thin;max-width:100%}.categories a{flex-shrink:0;min-height:36px;white-space:nowrap;font-size:12px;padding:8px 12px;border:1px solid var(--line);border-radius:20px;gap:8px}.categories a.active{border-color:#c7d8ce}.categories span{font-size:10px}.home-cards,.category-cards{grid-template-columns:minmax(0,1fr);gap:23px}.section-heading h1{font-size:21px}main>.section-heading:first-child{margin-bottom:18px}.section-heading span{font-size:11px}.blog-cover{aspect-ratio:16/9;padding:22px 24px}.blog-cover strong{font-size:25px;line-height:1.4;margin-top:15px;max-width:calc(100% - 64px)}.cover-label{font-size:10px}.cover-sign{font-size:10px}.blog-cover svg{width:93px;height:93px;right:18px;bottom:12px}.card-copy{padding:20px}.card-copy h2,.card-copy h3{font-size:19px;line-height:1.6}.card-kicker{font-size:11px}.card-excerpt{font-size:13px}.card-date{font-size:11px}.article-layout{margin-top:23px}.article-header h1{font-size:29px;line-height:1.45}.article-body h2{font-size:24px}.article-body{font-size:17px}.cc-lede{font-size:19px}.cc-summary{padding:21px 20px 12px}.cc-summary ul{font-size:15px}.cc-data{min-width:460px}.cc-data caption{width:calc(100vw - 36px)}.category-intro h1{font-size:27px}.category-description{font-size:13px}.beginner-picks{padding:19px}.footer-links{flex-wrap:wrap;gap:12px 20px}.cc-related .card-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:360px){.blog-cover strong{font-size:22px}.blog-cover svg{width:78px;height:78px}.blog-cover{padding:19px 21px}}
.card-copy h2,.card-copy h3{min-height:3.2em}
@media(max-width:700px){.home-sidebar{padding-bottom:0}}
/* Category-led blog: cool paper, navy ink, teal navigation and concept covers. */
:root{--ink:#172c40;--muted:#596c7c;--accent:#087773;--accent-soft:#e9f5f2;--line:#dfe7ec;--surface:#f5f8fa;--radius:8px;--cover-paper:#eef4f7;--cover-line:#9bb6c6;--cover-node:#d1ece6}
.site-header{border-top:3px solid var(--ink)}.header-search{width:280px;margin:0;background:#f5f8fa;border-radius:7px}.brand-note{color:var(--muted)}.monogram{border-radius:12px;background:var(--ink);color:#9de0d6;font:600 18px ui-monospace,monospace}.profile{border-bottom:0;padding-bottom:0;margin-bottom:28px}.categories a.active{box-shadow:inset 3px 0 var(--accent);border-radius:0 5px 5px 0}.categories span{font-variant-numeric:tabular-nums}.side-label{font-weight:650}.article-card{border:0;border-radius:0;overflow:visible}.card-link{display:block}.card-image{border-radius:8px;overflow:hidden}.card-copy{padding:17px 2px 16px;border-bottom:1px solid var(--line)}.card-copy h2,.card-copy h3{font-weight:650}.card-kicker{letter-spacing:.01em}.card-grid{gap:28px 24px}.card-date{padding-top:3px}.card-link:hover h2,.card-link:hover h3{text-decoration-thickness:1px}.card-link:focus-visible{outline-offset:6px}.card-grid>.ad-slot{background:var(--surface)}
.blog-cover{display:flex;flex-direction:column;background:var(--cover-paper);color:var(--ink);aspect-ratio:16/10;padding:12px 14px 6px;isolation:auto}.cover-label{font-size:9px;font-weight:550;letter-spacing:.035em;color:#496577;flex-shrink:0}.blog-cover svg{position:static;width:100%;height:auto;min-height:0;flex:1;opacity:1;z-index:auto;overflow:visible;fill:none;stroke:var(--cover-line);stroke-width:1.3}.blog-cover svg rect,.blog-cover svg circle{fill:#fff;stroke:var(--cover-line)}.blog-cover svg .boundary{fill:none;stroke-dasharray:3 3}.blog-cover svg .accent-node{fill:var(--cover-node);stroke:#80b8ae}.blog-cover svg text{fill:#254d60;stroke:none;font:12px var(--font)}.blog-cover svg .large-label{font-size:20px;font-weight:650}.blog-cover svg .date-label{font-size:32px;font-weight:550;letter-spacing:-1px}.cover-6{background:#1c344b;--cover-line:#718b9f}.cover-6 .cover-label{color:#bee7e0}.cover-6 svg rect{fill:#26465f}.cover-6 svg .accent-node{fill:#bce7de;stroke:#bce7de}.cover-6 svg text{fill:#d9eaf2}.cover-6 svg .large-label{fill:#173e49}.cc-summary{background:var(--accent-soft)}.cc-callout--how{background:var(--accent-soft)}.article-rail .categories{gap:2px}.article-rail .categories a{padding:9px 10px;border-bottom:0;display:flex;font-size:12px}.article-rail .rail-block:first-child{border-top:0;padding-top:0}.article-header .eyebrow{letter-spacing:.06em}
@media(max-width:700px){.header-inner{flex-wrap:wrap;gap:12px;padding:17px 0 14px}.header-search{width:100%;margin:0;order:2}.header-search input{padding:9px 12px}.header-search button{padding:9px 12px}.home-layout{margin-top:12px}.home-sidebar{margin-bottom:17px}.categories{padding-bottom:7px}.categories a.active{box-shadow:none;border-radius:20px;border-color:#99c9c0}.blog-cover{aspect-ratio:16/9;padding:14px 18px 8px}.blog-cover svg{width:100%;height:auto;position:static}.cover-label{font-size:9px}.card-copy{padding:17px 1px 20px}.card-copy h2,.card-copy h3{font-size:19px}.card-grid{gap:25px}.article-layout{margin-top:21px}}
.header-search button{white-space:nowrap;flex:0 0 52px}.header-search input{flex:1;width:0}/* WordPress runtime: native menus, responsive media, block content and comments. */
:root{--font:Pretendard,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}.brand-dot{color:var(--accent)}.custom-logo{max-width:220px;height:auto;max-height:55px;object-fit:contain}.category-menu{list-style:none;margin:0;padding:0;display:grid;gap:4px}.category-menu li{margin:0;min-width:0}.category-menu a{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:44px;padding:9px 11px;font-size:13px;border-radius:5px}.category-menu .current-menu-item>a,.category-menu .current-cat>a{background:var(--accent-soft);color:var(--accent);font-weight:650;box-shadow:inset 3px 0 var(--accent)}.category-count{font-size:11px;color:var(--muted)}.post-thumbnail{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:8px}.archive-heading h1{font-size:23px;margin:0}.archive-description{font-size:14px;color:var(--muted);line-height:1.8;margin-top:14px;max-width:630px}.archive-description p{margin:0}.archive-heading>span{white-space:nowrap}.pagination{margin:38px 0}.nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.page-numbers{padding:8px 14px;border:1px solid var(--line);border-radius:5px}.page-numbers.current{background:var(--ink);color:white}.standalone-page{max-width:var(--reading);margin-block:40px}.article-body img,.article-body video{max-width:100%;height:auto}.article-body iframe{max-width:100%}.article-body figure{max-width:100%;margin-inline:0}.article-body pre{overflow:auto;background:var(--surface);padding:20px;font-size:14px}.article-body table{border-collapse:collapse;width:100%;font-size:15px}.article-body th,.article-body td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.article-body th{background:var(--accent-soft)}.article-body .cc-num{text-align:right;font-variant-numeric:tabular-nums}.article-body blockquote{margin-inline:0;padding:5px 24px;border-left:3px solid var(--accent);color:var(--muted)}.article-body .alignwide,.article-body .alignfull{width:100%;margin-inline:0}.article-body .wp-block-image img{height:auto}.post-tags{margin-top:30px;display:flex;flex-wrap:wrap;gap:8px}.post-tags a{font-size:12px;border:1px solid var(--line);border-radius:20px;padding:6px 12px}.post-navigation{border-block:1px solid var(--line);padding:22px 0;margin-top:38px;font-size:14px}.post-navigation .nav-links{justify-content:space-between}.nav-previous,.nav-next{max-width:47%;overflow-wrap:anywhere}.comments-area{margin-top:42px;padding-top:24px;border-top:1px solid var(--line)}.comments-area h2,.comments-area h3{font-size:21px}.comments-area label{display:block;font-size:13px;margin-bottom:7px}.comments-area textarea,.comments-area input:not([type=checkbox]){max-width:100%;width:100%;padding:12px;border:1px solid var(--line);background:var(--paper);border-radius:5px;font:inherit;color:var(--ink)}.comments-area input[type=submit]{width:auto;background:var(--ink);color:white;padding:12px 23px;cursor:pointer}.comment-form-cookies-consent{display:flex;align-items:start;gap:8px;font-size:12px}.comment-form-cookies-consent label{font-size:12px}.comment-list{padding-left:0;list-style:none}.comment-list .children{padding-left:20px}.comment-body{padding:20px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.comment-author .avatar{float:left;margin-right:10px;width:32px;height:32px;border-radius:50%}.comment-metadata{font-size:11px;color:var(--muted);margin-block:8px}.comment-content{font-size:15px}.reply{font-size:12px}.footer-menu{list-style:none;display:flex;gap:20px;margin:0;padding:0}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{width:auto;height:auto;clip:auto;position:static}.blog-cover svg{stroke:var(--cover-line);stroke-width:1.5}.article-rail .category-menu a{font-size:12px}.ccn-blog .article-body .wp-block-gallery{margin-inline:0}
@media(max-width:700px){.category-menu{display:flex;gap:7px;overflow:auto;max-width:100%;padding:2px 2px 9px;scrollbar-width:thin}.category-menu li{flex-shrink:0}.category-menu a{min-height:36px;white-space:nowrap;padding:8px 12px;font-size:12px;border:1px solid var(--line);border-radius:20px}.category-menu .current-menu-item>a{box-shadow:none;border-color:#99c9c0}.home-sidebar>nav{min-width:0;max-width:100%}.post-thumbnail{aspect-ratio:16/9}.standalone-page{margin-block:26px}.article-body table{min-width:460px}.article-body caption{width:calc(100vw - 36px)}.nav-previous,.nav-next{max-width:100%;width:100%}.archive-heading h1{font-size:22px}.comments-area{font-size:14px}}
.post-password-form input{max-width:100%;padding:10px;border:1px solid var(--line);border-radius:5px;font:inherit}.post-password-form input[type=submit]{background:var(--ink);color:white;cursor:pointer}.post-password-form label{display:inline-block;margin-bottom:12px}

/* Preserve diagrams with text, and the intrinsic proportions of existing site logos. */
.post-thumbnail{object-fit:contain;background:var(--cover-paper)}.custom-logo{width:auto;height:44px;max-width:220px;max-height:none}.custom-logo-link{display:inline-flex;align-items:center}

/* The site name stays visible when a custom logo is configured. */
.site-brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;color:var(--ink)}.site-brand .custom-logo{flex:none;width:auto;height:40px;max-width:100px;object-fit:contain}.site-brand .wordmark{font-size:24px;letter-spacing:-.055em;flex-wrap:wrap}
@media(max-width:700px){.site-brand{gap:10px}.site-brand .custom-logo{height:36px;max-width:80px}.site-brand .wordmark{font-size:22px}}

/* A separate archive directory keeps the primary navigation short on mobile. */
.category-directory{margin-block:52px 36px;padding-top:28px;border-top:1px solid var(--line);color:var(--ink)}.category-directory h2{font-size:20px;line-height:1.4;margin:0 0 8px;letter-spacing:-.04em}.directory-intro,.directory-note{font-size:14px;line-height:1.7;color:var(--muted)}.directory-intro{margin:0 0 18px}.category-directory details{background:#f5f8fa;border:1px solid var(--line);border-radius:8px}.category-directory summary{padding:16px 20px;cursor:pointer;font-size:15px;font-weight:700;line-height:1.6}.directory-total{margin-left:12px;color:var(--muted);font-size:13px;font-weight:400}.directory-list{list-style:none;padding:0 12px;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 16px}.directory-list li{min-width:0}.directory-list a{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 8px;min-height:44px;font-size:14px;line-height:1.7;color:var(--ink);text-decoration:none;border-radius:4px}.directory-list a:hover{background:var(--accent-soft);text-decoration:underline;text-underline-offset:3px}.directory-path{overflow-wrap:anywhere;min-width:0}.directory-count{flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}.directory-list a[aria-current=page]{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.directory-current{display:block;font-size:12px;font-weight:700;color:var(--accent)}.directory-note{padding:16px 20px;margin:0}.category-directory :is(summary,a):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:900px){.directory-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.category-directory{margin-block:32px 24px;padding-top:24px}.directory-list{grid-template-columns:minmax(0,1fr);gap:0}.category-directory summary{padding:14px 16px}.directory-note{padding:16px}.directory-total{margin-left:8px}}
