
@font-face { font-family: Pretendard; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/pretendard-regular-v1.3.9.woff2') format('woff2'); }
@font-face { font-family: Pretendard; font-style: normal; font-weight: 600; font-display: swap; src: url('./fonts/pretendard-semibold-v1.3.9.woff2') format('woff2'); }
:root { --background:#fff; --foreground:#252725; --muted:#f6f6f3; --muted-foreground:#747772; --border:#e8e9e5; --primary:#a54332; --ring:#a54332; --radius:3px; color-scheme:light; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body { margin:0; color:var(--foreground); background:var(--background); font-family:Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif; font-size:14px; font-weight:400; font-synthesis:none; -webkit-font-smoothing:antialiased; word-break:keep-all; overflow-wrap:anywhere; }
::selection { background:#f0e0d6; }
a { color:inherit; text-underline-offset:4px; text-decoration-thickness:1px; transition:color .18s ease; }
a:hover { color:var(--primary); }
a:focus-visible { outline:2px solid var(--ring); outline-offset:5px; border-radius:2px; }
strong { font-weight:600; }
.site-header,.site-footer,.home,.layout { width:min(100% - 64px,1000px); margin-inline:auto; }
.site-header { height:80px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--border); }
.brand { display:inline-flex; align-items:center; gap:10px; font-size:17px; font-weight:600; letter-spacing:-.045em; text-decoration:none; }
.brand-mark { display:inline-flex; align-items:flex-end; gap:4px; height:22px; }
.roll { position:relative; display:block; width:18px; height:18px; border:5px solid var(--foreground); border-radius:50%; transform:rotate(-12deg); }
.roll::after { content:''; position:absolute; width:3px; height:3px; top:2px; left:2px; background:var(--primary); }
.cola { position:relative; display:block; width:10px; height:16px; margin-bottom:1px; background:var(--primary); border-radius:1px 1px 3px 3px; transform:rotate(8deg); transition:transform .18s ease; }
.cola::before { content:''; position:absolute; width:12px; height:2px; left:-1px; top:-2px; background:var(--foreground); }
.cola::after { content:''; position:absolute; width:1px; height:7px; left:6px; top:-8px; background:var(--foreground); transform:rotate(10deg); }
.brand:hover .cola { transform:rotate(-6deg); }
.site-header nav,.site-footer nav { display:flex; align-items:center; gap:27px; }
.site-header nav a { text-decoration:none; padding-block:15px; font-size:13px; }
.notice { padding:6px 20px; background:var(--muted); color:var(--muted-foreground); text-align:center; font-size:11px; line-height:1.6; }
.home { padding-top:44px; }
.home-columns { display:grid; grid-template-columns:minmax(0,680px) 220px; gap:100px; }
.section-label { display:flex; align-items:baseline; justify-content:space-between; padding-bottom:17px; border-bottom:1px solid var(--border); }
.section-label h1 { font-size:15px; font-weight:600; letter-spacing:-.02em; margin:0; }
.section-label span,.eyebrow { font-size:12px; color:var(--muted-foreground); }
.entry { padding-block:26px 34px; border-bottom:1px solid var(--border); }
.entry-image { display:block; overflow:hidden; background:var(--muted); border-radius:var(--radius); margin-bottom:25px; }
.entry-image img { width:100%; height:auto; aspect-ratio:1.95; object-fit:cover; object-position:center 54%; display:block; transition:transform .3s ease; }
.entry-image:hover img { transform:scale(1.015); }
.meta { margin:0; font-size:12px; color:var(--muted-foreground); line-height:1.75; }
.meta .topic { color:var(--primary); }
.entry h2 { margin:10px 0 12px; font-size:27px; font-weight:600; line-height:1.45; letter-spacing:-.04em; text-wrap:pretty; }
.entry h2 a { text-decoration:none; }
.entry h2 a:hover { text-decoration:underline; text-decoration-color:#cbb9b2; }
.entry-excerpt { margin:0; font-size:14px; color:#6b6e69; line-height:1.8; letter-spacing:-.012em; }
.entry-end { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:21px; font-size:12px; }
.entry-author { color:var(--muted-foreground); }
.text-link { display:inline-flex; align-items:center; gap:8px; text-decoration:none; padding-block:5px; }
.text-link span { display:inline-block; transition:transform .18s ease; }
.text-link:hover span { transform:translateX(3px); }
.writer-note { padding-top:4px; }
.writer-note .eyebrow { margin:0 0 27px; }
.writer-note h2 { margin:0 0 14px; font-size:17px; font-weight:600; letter-spacing:-.035em; }
.writer-note p { margin:0 0 16px; color:#70736e; font-size:13px; line-height:1.85; }
.writer-note .writer-line { color:var(--foreground); font-size:14px; }
.writer-note .text-link { margin-top:2px; font-size:12px; }
.writer-sign { display:block; margin-top:25px; height:1px; width:28px; background:var(--primary); transform:rotate(-6deg); }
.site-footer { margin-top:72px; border-top:1px solid var(--border); padding-block:24px 32px; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:12px; color:var(--muted-foreground); }
.site-footer a { text-decoration:none; }
.footer-name { display:flex; gap:9px; align-items:center; }
.layout { padding-top:37px; display:grid; grid-template-columns:minmax(0,680px) 220px; gap:100px; }
.reading { min-width:0; }
.back-link { display:inline-flex; align-items:center; gap:8px; text-decoration:none; color:var(--muted-foreground); font-size:12px; margin-bottom:31px; padding-block:5px; }
.article-heading h1 { margin:13px 0 16px; font-size:32px; font-weight:600; line-height:1.42; letter-spacing:-.042em; text-wrap:balance; }
.excerpt { text-wrap:pretty; margin:0; color:#70736e; font-size:15px; line-height:1.8; letter-spacing:-.015em; }
.byline { display:flex; align-items:center; gap:10px; margin-top:25px; padding-bottom:27px; border-bottom:1px solid var(--border); font-size:12px; }
.author-initial { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#f4ebe4; color:#7a5744; font-size:12px; }
.byline-name { text-decoration:none; font-size:13px; font-weight:600; }
.byline .reading-time { color:var(--muted-foreground); margin-left:auto; }
.prose { padding-top:8px; font-size:16px; line-height:1.9; letter-spacing:-.012em; }
.prose p { margin:23px 0; }
.prose h2 { margin:48px 0 18px; font-size:22px; font-weight:600; line-height:1.55; letter-spacing:-.035em; }
.prose strong { font-weight:600; color:#181b18; }
.prose ul { padding-left:21px; }
.prose li { padding:4px 0; }
.prose blockquote { margin:28px 0; padding:2px 0 2px 20px; border-left:2px solid var(--primary); color:#555b54; }
.prose figure { margin:32px 0 37px; }
.prose img { display:block; width:100%; height:auto; border-radius:var(--radius); }
.prose figcaption { padding-top:11px; color:var(--muted-foreground); font-size:12px; line-height:1.75; letter-spacing:0; }
.prose figcaption small { display:block; margin-top:5px; font-size:11px; }
.table-scroll { width:100%; overflow-x:auto; margin:27px 0; border-block:1px solid var(--border); }
table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.75; letter-spacing:-.015em; }
th,td { min-width:100px; padding:13px 15px; text-align:left; border-bottom:1px solid var(--border); vertical-align:top; }
th { background:var(--muted); font-weight:600; }
tr:last-child td { border-bottom:0; }
.toc { position:sticky; top:36px; align-self:start; padding-top:45px; font-size:12px; line-height:1.65; }
.toc p { margin:0 0 17px; font-size:12px; font-weight:600; }
.toc ol { margin:0 0 21px; padding:0; list-style:none; counter-reset:section; }
.toc li { counter-increment:section; display:flex; align-items:baseline; gap:10px; margin-bottom:10px; }
.toc li::before { content:counter(section,decimal-leading-zero); flex:0 0 17px; white-space:nowrap; color:#92968d; font-size:10px; font-variant-numeric:tabular-nums; }
.toc a { color:var(--muted-foreground); text-decoration:none; display:inline-block; padding-block:4px; }
.toc a:hover { color:var(--primary); }
.toc-source { border-top:1px solid var(--border); padding-top:15px !important; }
.sources { margin-top:44px; padding-top:24px; border-top:1px solid var(--border); font-size:13px; line-height:1.8; }
.sources h2 { margin:0 0 17px; font-size:15px; font-weight:600; }
.sources ol { padding-left:19px; }
.sources li { margin:14px 0; padding-left:3px; }
.sources small { display:block; margin-top:3px; color:var(--muted-foreground); font-size:12px; }
.article-end { margin-top:30px; padding-top:20px; border-top:1px solid var(--border); font-size:13px; }
.policy { width:min(100% - 64px,640px); padding-block:64px 20px; }
.policy .eyebrow { margin:0 0 22px; }
.policy h1 { margin:0 0 27px; font-size:30px; line-height:1.5; font-weight:600; letter-spacing:-.04em; }
.policy p { font-size:16px; line-height:1.9; letter-spacing:-.012em; margin-bottom:24px; }
.policy .text-link { margin-top:19px; font-size:13px; }
.not-found { min-height:45vh; }
.not-found h1 { font-size:28px; font-weight:600; }
.skip { position:absolute; z-index:5; top:-100px; left:16px; }
.skip:focus { top:10px; padding:12px; background:var(--background); }
@media(max-width:1100px) { .home-columns,.layout { gap:50px; grid-template-columns:minmax(0,680px) 190px; } }
@media(max-width:850px) {
  .site-header,.site-footer,.home,.layout { width:min(100% - 48px,680px); }
  .home-columns,.layout { display:block; } .writer-note,.toc { display:none; } .entry-image img { aspect-ratio:1.85; }
}
@media(max-width:600px) {
  .site-header,.site-footer,.home,.layout { width:calc(100% - 40px); }
  .site-header { height:68px; } .brand { font-size:16px; gap:8px; } .site-header nav { gap:21px; } .notice { font-size:10px; }
  .home { padding-top:29px; } .entry { padding-block:21px 28px; } .entry-image { margin-bottom:21px; } .entry-image img { aspect-ratio:1.6; }
  .entry h2 { font-size:23px; line-height:1.5; margin-block:9px 11px; } .entry-excerpt { font-size:14px; } .entry-end { margin-top:19px; }
  .site-footer { margin-top:48px; padding-block:22px 28px; font-size:11px; } .site-footer nav { gap:17px; }
  .layout { padding-top:23px; } .back-link { margin-bottom:24px; }
  .article-heading h1 { font-size:27px; margin-block:11px 15px; line-height:1.45; } .excerpt { font-size:14px; line-height:1.8; }
  .byline { margin-top:22px; padding-bottom:23px; } .prose { line-height:1.85; } .prose h2 { font-size:21px; margin-top:39px; } .prose figure { margin-block:28px 32px; }
  th,td { padding:11px 12px; } .policy { padding-top:42px; } .policy h1 { font-size:27px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }
