@font-face{font-family:"Pretendard Variable";src:url("/assets/fonts/PretendardVariable.woff2") format("woff2-variations"),url("/assets/fonts/PretendardVariable.woff2") format("woff2");font-weight:45 920;font-style:normal;font-display:swap}
:root{color-scheme:light;font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,"Helvetica Neue","Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif;background:#FFFFFF;color:#37352F;font-size:18px;line-height:1.8;font-weight:400}
*{box-sizing:border-box}
body{margin:0;overflow-wrap:anywhere}
a{color:#1B6EC2;text-decoration:underline;text-underline-offset:.18em}
a:focus-visible,summary:focus-visible,.skip:focus-visible,.diagram-link:focus-visible{outline:2px solid #1B6EC2;outline-offset:3px;border-radius:4px}
img{display:block;max-width:100%;height:auto}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.6rem 1rem;z-index:10;border:1px solid #E9E9E7;border-radius:4px}

/* header */
.site-header{max-width:960px;margin:0 auto;padding:1.1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid #E9E9E7}
.brand{font-weight:700;font-size:1.05rem;color:#37352F;text-decoration:none}
details.network{position:relative}
details.network summary{list-style:none;cursor:pointer;font-size:.92rem;color:#37352F;padding:.4rem .7rem;border:1px solid #E9E9E7;border-radius:4px;user-select:none}
details.network summary::-webkit-details-marker{display:none}
details.network summary:hover{background:#F7F6F3}
details.network[open] summary{background:#F7F6F3}
details.network ul{position:absolute;right:0;top:calc(100% + .4rem);margin:0;padding:.4rem;list-style:none;background:#fff;border:1px solid #E9E9E7;border-radius:4px;min-width:200px;box-shadow:none;z-index:5}
details.network li{padding:0}
details.network a{display:block;padding:.4rem .6rem;border-radius:4px;text-decoration:none;color:#37352F;font-size:.92rem}
details.network a:hover{background:#F7F6F3;color:#1B6EC2}
.status{font-size:.72rem;color:#8a8f98;margin-left:.3rem}

/* main / reading column */
main{max-width:720px;margin:0 auto;padding:3rem 1.5rem}
.intro h1{font-size:36px;line-height:1.25;margin:0 0 .6rem;font-weight:700;letter-spacing:-.01em}
.intro .summary{font-size:1.15rem;color:#37352F;margin:0 0 .6rem}
.intro .meta-note{font-size:.88rem;color:#8a8f98;margin:0 0 2.5rem}

/* post list */
.latest{margin-top:1rem}
.post-list{list-style:none;padding:0;margin:0}
.post{border-bottom:1px solid #E9E9E7}
.post:first-child{border-top:1px solid #E9E9E7}
.post-link{display:flex;gap:1.25rem;align-items:center;padding:1.5rem 0;text-decoration:none;color:inherit}
.post-thumb{flex:0 0 160px;width:160px;aspect-ratio:16/10;border-radius:4px;overflow:hidden;background:#F7F6F3}
.post-thumb img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.post-body time{font-size:.82rem;color:#8a8f98}
.post-body h2{font-size:1.15rem;line-height:1.4;margin:.3rem 0;font-weight:700;color:#37352F;text-decoration:underline;text-decoration-color:transparent}
.post-link:hover .post-body h2{text-decoration-color:#1B6EC2}
.post-body p{font-size:.95rem;color:#5a5a57;margin:0;line-height:1.6}
.empty{color:#8a8f98;padding:2rem 0}

@media (max-width: 640px){
  .post-link{flex-direction:column;align-items:stretch;gap:.75rem}
  .post-thumb{width:100%;flex:none}
}

/* article */
.article{max-width:720px}
.breadcrumb{font-size:16px;color:#8a8f98;margin-bottom:1.5rem}
.breadcrumb ol{list-style:none;display:flex;gap:.4rem;padding:0;margin:0;flex-wrap:wrap}
.breadcrumb li:not(:last-child)::after{content:"/";margin-left:.4rem;color:#c8c8c4}
.breadcrumb a{color:#8a8f98;text-decoration:none}
.breadcrumb a:hover{color:#1B6EC2}
.article-header{margin-bottom:2.5rem}
.article h1{font-size:36px;line-height:1.3;letter-spacing:-.01em;margin:.3rem 0 1rem;font-weight:700}
.article .lead{font-size:1.1rem;color:#5a5a57}
.cover{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:4px;margin-top:1.5rem;background:#F7F6F3}
.article article>section{margin:2.75rem 0}
.article h2{font-size:24px;line-height:1.4;font-weight:700}
.article h3{font-size:20px;line-height:1.4;font-weight:700}
.article p{font-size:18px;line-height:1.85}
figure{margin:2rem 0;padding:1rem;background:#F7F6F3;border:1px solid #E9E9E7;border-radius:4px}
.diagram-link{display:block;border-radius:4px;overflow:hidden}
figure img{width:100%;border-radius:4px}
figcaption{margin-top:.7rem;color:#5a5a57;font-size:.92rem}
figcaption span{display:block;font-size:.8rem;color:#8a8f98}
.table-wrap{max-width:100%;overflow-x:auto}
table{min-width:640px;border-collapse:collapse}
th,td{padding:.6rem;border:1px solid #E9E9E7;text-align:left;font-size:16px}
.sources{border-top:1px solid #E9E9E7;padding-top:1.5rem}
.sources a{font-size:16px}

/* footer */
.site-footer{border-top:1px solid #E9E9E7;max-width:960px;margin:0 auto;padding:2rem 1.5rem;font-size:.88rem;color:#8a8f98}
.site-footer p{margin:.25rem 0}
.site-footer .tagline{font-size:.8rem}
.site-footer a{color:#1B6EC2}

.message{min-height:45vh}
.message h1{font-size:2rem}

@media (max-width: 720px){
  :root{font-size:17px}
  main{padding:2.25rem 1rem}
  .intro h1,.article h1{font-size:28px}
}
