/* 색과 질감은 채널 배너와 썸네일에서, 크기와 여백은 레퍼런스 실측값에서 가져왔다. */
:root { color-scheme:light; --ink:#111; --sub:#565650; --paper:#fbf9f3; --grid:#f2efe6; --mint:#23c5b6; --mint-soft:#c8efe9; --teal:#0f6b5c; --red:#e4503a; --yellow:#ffe14a; --black:#101010; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background-color:var(--paper); background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px); background-size:28px 28px; font-family:'Pretendard Variable',Pretendard,system-ui,sans-serif; line-height:1.55; word-break:keep-all; text-wrap:pretty; }
h1, h2, h3 { text-wrap:balance; }
.foot { background:#fff; border-top:2px solid var(--ink); padding:16px 20px; font-size:14px; line-height:22px; color:var(--sub); text-align:center; }
.foot a { text-decoration:underline; }
a { color:inherit; text-decoration:none; }
.sticker { display:inline-block; background:#fff; border:2px solid var(--ink); box-shadow:3px 3px 0 #d8d4c8; padding:4px 11px; font-size:14px; font-weight:800; transform:rotate(-1deg); }
.paper { background:#fff; border:2px solid var(--ink); box-shadow:5px 5px 0 #d8d4c8; }
.btn { display:block; text-align:center; background:var(--ink); color:#fff; font-size:17px; font-weight:800; line-height:24px; padding:15px 16px; }
dialog.viewer { border:0; padding:0; background:transparent; max-width:100vw; max-height:100vh; width:100vw; height:100vh; }
dialog.viewer::backdrop { background:#000000d9; }
dialog.viewer img { display:block; width:auto; height:auto; max-width:calc(100vw - 32px); max-height:calc(100vh - 88px); margin:16px auto 0; background:#fff; }
dialog.viewer button { display:block; margin:12px auto 0; padding:10px 22px; border:0; background:#fff; color:#111; font:inherit; font-weight:700; }
.js [data-reveal] { opacity:0; transform:translateY(14px); transition:opacity .45s ease,transform .45s ease; }
.js [data-reveal].on { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { .js [data-reveal] { opacity:1; transform:none; transition:none; } }
