/* 느린물레 모임 — 홈·게시판·글·댓글·일정·내 정보·운영 화면 */
.hello { font: 700 22px/1.4 var(--serif); margin-bottom: 16px; }
.pinned { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 14px 18px; border-radius: var(--r); background: var(--clay-soft); text-decoration: none; border: 1px solid #E6CDB8; }
.pinned:hover { border-color: var(--clay); }
.pinned__tag { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 700; color: var(--clay-d); white-space: nowrap; }
.pinned__title { font-weight: 600; min-width: 0; }
.pinned__date { font-size: 13px; color: var(--muted); white-space: nowrap; }
.home__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 36px; margin-top: 28px; }

/* 분류 칩 */
.chips { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.chip { border: 1px solid var(--line2); background: transparent; border-radius: 99px; padding: 5px 13px; font-size: 13.5px; color: var(--ink2); cursor: pointer; }
.chip:hover { border-color: var(--ink2); }
.chip.is-on { background: var(--ink); border-color: var(--ink); color: var(--card); }

/* 글 목록 */
.plist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.plist__item { border-bottom: 1px solid var(--line); }
.plist__item.is-hidden { opacity: .55; }
.plist__link { display: grid; grid-template-columns: 76px 1fr auto; align-items: center; gap: 4px 14px; padding: 14px 4px; text-decoration: none; }
.plist__link:hover .plist__title { color: var(--clay-d); }
.plist__cat { font-size: 12.5px; color: var(--sage); font-weight: 600; white-space: nowrap; }
.plist__title { font-weight: 600; font-size: 15.5px; min-width: 0; }
.plist__meta { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); white-space: nowrap; }
.plist__meta .dot::before { margin: 0 5px 0 0; }
.plist__counts { display: inline-flex; align-items: center; gap: 3px; margin-left: 8px; }
.plist__counts .ic { width: 13px; height: 13px; }
.plist__counts .ic + * { margin-right: 4px; }
.tag-hidden, .tag-me { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 4px; font: 600 11.5px/19px var(--sans); font-style: normal; vertical-align: 2px; }
.tag-hidden { background: #EBE3D8; color: var(--muted); }
.tag-me { background: var(--sage-soft); color: var(--sage); }
.home__grid .plist__link { grid-template-columns: 64px 1fr; }
.home__grid .plist__meta { grid-column: 2; }

/* 글 보기 */
.post { max-width: 720px; }
.post__cat { font-size: 13px; font-weight: 600; color: var(--sage); }
.post__title { margin-top: 6px; font: 700 27px/1.4 var(--serif); letter-spacing: -0.02em; }
.byline { display: flex; align-items: center; gap: 8px; margin: 14px 0 22px; padding-bottom: 18px; border-bottom: 1px solid var(--line); font-size: 14px; color: var(--muted); }
.byline__name { color: var(--ink); font-weight: 600; }
.byline .link { margin-left: auto; }
.prose p + p { margin-top: 1em; }
.post__body { font-size: 16px; line-height: 1.85; color: var(--ink2); }
.post__actions { margin: 28px 0 8px; }
.like { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1px solid var(--line2); border-radius: 99px; background: var(--card); font-size: 14px; font-weight: 600; color: var(--ink2); cursor: pointer; }
.like .ic { width: 17px; height: 17px; }
.like.is-on { border-color: var(--clay); color: var(--clay-d); background: var(--clay-soft); }
.like.is-on .ic { fill: var(--clay); stroke: var(--clay); }
.adminline { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; margin-bottom: 18px; border-radius: 8px; background: var(--sage-soft); color: var(--sage); font-size: 13.5px; font-weight: 600; }

/* 댓글 */
.comments { margin-top: 28px; border-top: 1px solid var(--line); padding-top: 20px; }
.comments__title { font: 700 16px/1.4 var(--serif); margin-bottom: 6px; }
.clist { list-style: none; margin: 0; padding: 0; }
.clist__item { display: grid; grid-template-columns: 30px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.clist__meta { font-size: 13px; color: var(--muted); }
.clist__meta b { color: var(--ink); }
.clist__body { margin-top: 3px; font-size: 15px; color: var(--ink2); }
.cform { display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: start; margin-top: 16px; }
.cform .btn { min-height: 44px; }

/* 일정 */
.evlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ev { display: grid; grid-template-columns: 64px 1fr; gap: 16px; padding: 16px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r); }
.ev.is-past { opacity: .6; }
.ev__date { display: flex; flex-direction: column; align-items: center; padding: 8px 0; border-radius: 8px; background: var(--paper); align-self: start; line-height: 1.2; }
.ev__m { font-size: 12px; color: var(--muted); }
.ev__d { font: 700 24px/1.15 var(--serif); }
.ev__w { font-size: 12px; color: var(--clay-d); font-weight: 600; }
.ev__when { font-size: 13px; font-weight: 600; color: var(--clay-d); }
.ev__when .dot { color: var(--muted); font-weight: 500; }
.ev__title { margin-top: 2px; font: 700 17px/1.4 var(--serif); }
.ev__desc { margin-top: 6px; font-size: 14.5px; color: var(--ink2); }
.ev__place { margin-top: 4px; font-size: 13.5px; color: var(--muted); }
.ev__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; flex-wrap: wrap; }
.ev__who { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); }
.stack { display: inline-flex; }
.stack .av { box-shadow: 0 0 0 2px var(--card); }
.stack .av + .av { margin-left: -5px; }
.past { margin-top: 24px; }
.past summary { cursor: pointer; color: var(--muted); font-size: 14px; font-weight: 600; margin-bottom: 12px; }

/* 내 정보 */
.profile { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.sw { width: 28px; height: 28px; border-radius: 50%; border: 0; cursor: pointer; box-shadow: inset 0 0 0 2px rgba(255,255,255,.0); }
.sw.is-on { box-shadow: 0 0 0 2px var(--paper), 0 0 0 4px var(--ink); }
.logout { margin-top: 28px; }
.profile + .form { padding: 20px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r); }

/* 운영 */
.alist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.alist__item { display: flex; align-items: center; gap: 12px; padding: 12px 4px; border-bottom: 1px solid var(--line); }
.alist__item.is-hidden .alist__who { opacity: .55; }
.alist__who { flex: 1; min-width: 0; display: grid; gap: 1px; }
.alist__who b { font-weight: 600; font-size: 15px; }
.alist__who span { font-size: 13px; color: var(--muted); }
.alist__act { display: flex; gap: 6px; flex: none; }
.mgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; }
.mgrid li { display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: var(--card); border: 1px solid var(--line); border-radius: 8px; font-size: 14px; font-weight: 500; min-width: 0; }
.mgrid .tag-me { margin-left: auto; }

@media (max-width: 860px) {
  .home__grid { grid-template-columns: 1fr; gap: 8px; }
}
@media (max-width: 560px) {
  .page__head { align-items: flex-start; }
  .pinned { grid-template-columns: 1fr auto; gap: 4px 10px; padding: 12px 14px; }
  .pinned__title { grid-column: 1 / -1; grid-row: 2; }
  .plist__link, .home__grid .plist__link { grid-template-columns: 1fr; gap: 3px; padding: 13px 2px; }
  .home__grid .plist__meta { grid-column: auto; }
  .post__title { font-size: 23px; }
  .ev { grid-template-columns: 52px 1fr; gap: 12px; padding: 14px; }
  .ev__d { font-size: 21px; }
  .cform { grid-template-columns: 1fr auto; }
  .cform .av { display: none; }
  .alist__act { margin-left: auto; }
  .adminline { flex-wrap: wrap; }
}
