:root{--ink:#20242f;--sub:#66707e;--line:#e7e9ed;--accent:#315bab;--paper:#f7f8fa;--warm:#f8f5ee}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:'Noto Sans KR',sans-serif;line-height:1.6;word-break:keep-all}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button:disabled{opacity:.36;cursor:default}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
h1,h2,h3,p,figure{margin:0}
[hidden]{display:none!important}
.skip{position:absolute;left:16px;top:-80px;background:#fff;padding:12px;z-index:10}
.skip:focus{top:12px}
header{max-width:1040px;margin:auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
header img{display:block;height:auto}
.back-home{font-size:12px;color:var(--sub);padding:8px 0}
main{max-width:1040px;min-height:65vh;margin:auto;padding:40px 24px 64px}
.library-intro{margin-bottom:28px}
.eyebrow{font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:.13em;color:var(--accent);margin-bottom:10px}
h1{font-size:34px;font-weight:900;letter-spacing:-.055em;line-height:1.3}
.intro{margin-top:8px;color:var(--sub);font-size:15px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.filter{min-height:42px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 15px;font-size:13px}
.filter[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.filter small{margin-left:6px;opacity:.65}
.library{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px 22px}
.post-card{display:block;min-width:0}
.card-media{display:block;overflow:hidden;border-radius:16px;background:var(--warm)}
.cover{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .2s ease}
.card-copy{display:block;padding:14px 2px 0}
.card-meta{display:block;color:var(--sub);font-size:12px;margin-bottom:5px}
.post-card h2{font-size:20px;letter-spacing:-.04em;line-height:1.35}
.tags{display:block;margin-top:8px;font-size:12px;color:var(--accent)}
.card-action{display:inline-flex;gap:8px;align-items:center;margin-top:18px;font-size:13px;font-weight:700;color:var(--accent)}
.post-card:hover h2,.post-card:hover .card-action{color:#19458d}
.post-card:hover .cover{transform:scale(1.015)}
.single-post{max-width:850px;margin:auto}
.single-post .library-intro{margin-bottom:26px}
.single-post .library{display:block}
.single-post .post-card{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:center;gap:34px;padding:24px;background:var(--warm);border-radius:22px}
.single-post .card-copy{padding:0}
.single-post .card-meta{font-size:13px;margin-bottom:12px}
.single-post .post-card h2{font-size:27px}
.single-post .tags{font-size:13px;margin-top:10px}
.single-post .card-action{margin-top:28px;padding:11px 0;border-bottom:1px solid currentColor}
.empty{padding:40px 20px;background:var(--paper);border-radius:16px;text-align:center;color:var(--sub);font-size:14px}
.detail{max-width:600px;margin:auto}
.list-back{display:inline-flex;align-items:center;min-height:36px;font-size:13px;color:var(--sub);margin-bottom:14px}
.detail h1{font-size:25px;line-height:1.35}
.detail-meta{margin-top:5px;font-size:12px;color:var(--sub)}
.reading{margin-top:18px}
.carousel{min-width:0}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;border-radius:12px;background:var(--warm);scrollbar-width:none}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;min-width:0}
.slide a,.slide img{display:block;width:100%}
.slide img{height:auto}
.controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:14px}
.controls button{min-width:84px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px}
.controls button:first-child{justify-self:start}
.controls button:last-child{justify-self:end}
.counter{font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;color:var(--sub)}
.viewer-hint{margin-top:8px;text-align:center;font-size:11px;color:var(--sub)}
.caption-box{margin-top:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.caption-box summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;list-style:none;cursor:pointer;font-size:14px;font-weight:700}
.caption-box summary::-webkit-details-marker{display:none}
.caption-box summary::after{content:'＋';font-size:18px;font-weight:400;color:var(--sub)}
.caption-box[open] summary::after{content:'−'}
.caption{padding:0 0 22px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8;color:#3d4654}
.series-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:26px 0}
.series-nav a,.series-nav>span{padding:16px;border:1px solid var(--line);border-radius:12px;font-size:13px}
.series-nav>span{color:var(--sub);background:var(--paper)}
.series-nav small{display:block;color:var(--sub);font-size:11px;margin-bottom:6px}
.series-nav>:last-child{text-align:right}
.related h2{font-size:18px}
.related{margin-top:36px}
.related .library{grid-template-columns:repeat(2,minmax(0,1fr))}
footer{max-width:1040px;border-top:1px solid var(--line);margin:auto;padding:22px 24px 30px;display:flex;gap:18px;flex-wrap:wrap;color:var(--sub);font-size:11px}
footer span{margin-left:auto}
@media(max-width:760px){
 header{padding:16px 20px}
 main{padding:26px 20px 44px}
 h1{font-size:29px}
 .library{grid-template-columns:minmax(0,1fr);gap:0}
 .post-card{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
 .post-card:first-child{padding-top:0}
 .card-media{border-radius:12px}
 .card-copy{padding:0}
 .post-card h2{font-size:18px}
 .card-action{margin-top:10px}
 .single-post .post-card{grid-template-columns:minmax(0,1fr);gap:0;padding:16px}
 .single-post .card-media{max-width:440px;width:100%;margin:auto}
 .single-post .card-copy{padding:18px 4px 4px}
 .single-post .post-card h2{font-size:22px}
 .single-post .card-meta{margin-bottom:6px}
 .single-post .card-action{margin-top:14px}
 .detail h1{font-size:22px}
 .reading{margin-top:14px}
}
@media(max-width:420px){
 main{padding:24px 16px 40px}
 .library{grid-template-columns:minmax(0,1fr)}
 .single-post .post-card{padding:12px;border-radius:18px}
 .single-post .card-copy{padding:16px 6px 6px}
 .detail h1{font-size:21px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover{transition:none}}
