/* juuouse 글 페이지 공통 스타일 — 모든 글이 같이 씀 */
:root{
  --plum:#9b3b8a; --plum-deep:#6e2462; --plum-soft:#c768b5;
  --blush:#fef9fe; --pink:#ffd9ee; --pink-soft:#fff0f8;
  --ink:#2a1626; --sub:#7c6276; --line:rgba(155,59,138,.13);
  --card:#fff; --shadow:0 2px 12px rgba(110,36,98,.07);
  --brown:#fbf3ec; --brown-line:#ecd9c6; --gray:#f6f2f5;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{
  font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji";
  background:var(--blush);color:var(--ink);line-height:1.75;font-size:16px;
  -webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;
}
a{color:var(--plum)}
strong{font-weight:700;background:linear-gradient(transparent 62%,rgba(255,217,238,.9) 0)}

/* 상단 바 */
.bar{
  position:sticky;top:0;z-index:20;height:56px;padding:0 16px;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(254,250,254,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.bar a.home{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-weight:800;font-size:15px}
.bar a.home span{font-size:20px}
.bar button{
  width:36px;height:36px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(155,59,138,.08);color:var(--plum);display:grid;place-items:center;
}
.bar button svg{width:17px;height:17px}
.progress{position:absolute;left:0;bottom:-1px;height:2px;background:var(--plum-soft);width:0}

/* 레이아웃: 모바일 1단 / PC 본문+목차 */
.wrap{max-width:760px;margin:0 auto;padding:28px 16px 80px}
.toc{display:none}
@media (min-width:1080px){
  .wrap{max-width:1080px;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:56px;padding-top:48px}
  .toc{display:block;position:sticky;top:88px;align-self:start;font-size:13.5px}
  .toc b{display:block;font-size:12px;letter-spacing:.06em;color:var(--sub);margin-bottom:10px}
  .toc a{display:block;padding:6px 12px;border-left:2px solid var(--line);color:var(--sub);text-decoration:none;line-height:1.5}
  .toc a:hover,.toc a.on{color:var(--plum);border-color:var(--plum);font-weight:700}
}

/* 헤더 */
.hero{text-align:center;padding:12px 0 28px}
.hero .ic{font-size:56px;line-height:1}
.hero h1{font-size:clamp(25px,6vw,36px);font-weight:800;letter-spacing:-.03em;line-height:1.3;margin-top:16px}
.hero .meta{margin-top:12px;font-size:13.5px;color:var(--sub);display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.hero .meta span{background:#fff;border:1px solid var(--line);padding:3px 10px;border-radius:999px}

/* 본문 요소 */
article > * + *{margin-top:18px}
article h2{
  font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.4;
  margin-top:52px;padding-top:4px;
}
article h3{font-size:16.5px;font-weight:800;margin-top:26px}
article p{color:#3b2636}
article ul,article ol{padding-left:1.3em}
article li + li{margin-top:6px}
article li::marker{color:var(--plum-soft);font-weight:700}
hr{border:0;height:1px;background:var(--line);margin:36px 0}

.quote{
  background:#fff;border-radius:18px;padding:18px 20px;border:1px solid var(--line);
  box-shadow:var(--shadow);position:relative;
}
.quote::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--plum-soft)}

.callout{display:flex;gap:12px;padding:18px;border-radius:18px;border:1px solid transparent}
.callout .ci{font-size:20px;line-height:1.5}
.callout > div > * + *{margin-top:8px}
.callout.brown{background:var(--brown);border-color:var(--brown-line)}
.callout.pink{background:var(--pink-soft);border-color:#f7d3e7}
.callout.gray{background:var(--gray);border-color:#ebe3e9}
.note{font-size:14px;color:var(--sub);padding:10px 14px;background:#fff;border-radius:12px;border:1px dashed var(--line)}

/* 표 → 모바일에선 가로 스크롤 */
.table{overflow-x:auto;border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.table table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:440px}
.table th,.table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.table tr:last-child td{border-bottom:0}
.table th{background:var(--pink-soft);font-size:13px;color:var(--plum-deep);font-weight:800}
.table td:first-child{font-weight:700;white-space:nowrap}
.table.vs td:nth-child(3){background:rgba(255,217,238,.25)}

/* 복사 블록 */
.copy{position:relative;background:#2a1626;color:#ffeaf6;border-radius:16px;padding:16px 56px 16px 18px;
  font-family:"Pretendard Variable",Pretendard,ui-monospace,monospace;font-size:14.5px;line-height:1.7;white-space:pre-wrap}
.copy button{
  position:absolute;top:10px;right:10px;border:0;cursor:pointer;border-radius:10px;
  background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:12px;font-weight:700;padding:6px 10px;
}
.copy button.done{background:var(--plum-soft)}
.prompt-label{font-weight:800;font-size:15px;margin-top:24px!important}

/* 체크리스트 */
.check{list-style:none;padding:0!important}
.check label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:14px}
.check input{accent-color:var(--plum);width:18px;height:18px;margin-top:4px;flex-shrink:0}
.check input:checked + span{color:var(--sub);text-decoration:line-through}

/* 출처 · 마무리 */
.sources{font-size:14px}
.sources li{color:var(--sub)}
.end{
  margin-top:48px!important;text-align:center;background:#fff;border-radius:22px;padding:26px 20px;
  border:1px solid var(--line);box-shadow:var(--shadow);
}
.end p{color:var(--sub);font-size:14.5px}
.end .btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.end .btns a{
  text-decoration:none;font-weight:700;font-size:14px;padding:11px 18px;border-radius:999px;
  background:var(--plum);color:#fff;
}
.end .btns a.ghost{background:var(--pink-soft);color:var(--plum)}
.stamp{text-align:center;font-size:12.5px;color:var(--sub)}

.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,16px);background:var(--ink);color:#fff;
  padding:11px 18px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:.3s;z-index:50}
.toast.show{opacity:1;transform:translate(-50%,0)}
