:root { --accent: inherit; --muted: #666666; --line: #e6e6e6; --thin-line: rgba(0, 0, 0, 0.08); --bg: #fff; --radius: 6px; --avatar-size: 48px; --btn-bg: #6b6b6b; --btn-radius: 6px; } .container { width: 100%; padding: 28px 0; border-radius: 8px; } /* Header */ .page-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 10px; } .page-title { font-size: 28px; font-weight: 700; letter-spacing: -0.6px; margin: 0; } .breadcrumb { font-size: 13px; color: var(--muted); display: flex; gap: 6px; align-items: center; margin-top: 6px; } .breadcrumb a { color: var(--muted); text-decoration: none } .breadcrumb .sep { color: var(--thin-line) } /* thin rule under header */ .rule-thin { height: 1px; background: var(--thin-line); margin: 14px 0 18px 0; border-radius: 1px; } /* section title area with thick black rule under it like the image */ .section-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 7px; position: relative; } .section-title { font-size: 16px; font-weight: 700; display: flex; align-items: center; gap: 12px; } .section-title .small { font-weight: 500; color: #111; } .post-number { color: var(--muted); font-size: 14px; } .rule-thick { height: 2px; background: #313131; margin: 6px 0 0 0; border-radius: 2px; } /* list area */ .post-list { border-top: 1px solid var(--line); } .post-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); } /* left: avatar */ .avatar-wrap { display: flex; align-items: center; gap: 12px; } .avatar { width: var(--avatar-size); height: var(--avatar-size); border-radius: 50%; overflow: hidden; flex-shrink: 0; background: linear-gradient(135deg, #b7e0a6, #77c19a); display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 14px; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06) inset; } .username { display: block; color: #1a73e8; text-decoration: none; font-size: 14px; font-weight: 600; } /* center: title */ .post-meta { display: flex; flex-direction: column; gap: 6px; } .post-title { font-size: 18px; font-weight: 700; margin: 0; color: #313131; } .post-title small { font-size: 13px; color: var(--muted); font-weight: 500; margin-left: 8px; } /* right: date, views */ .post-info { text-align: right; font-size: 13px; color: var(--muted); display: flex; flex-direction: column; gap: 6px; min-width: 140px; } .post-info .date { font-size: 13px; color: #6b6b6b; } .post-info .views { font-size: 13px; color: #6b6b6b; } /* bottom bar (new) */ .footer-bar { padding-top: 28px; display: flex; justify-content: space-between; align-items: center; gap: 12px; } .url-pill { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); padding: 6px 10px; border-radius: 20px; font-size: 13px; color: var(--muted); text-decoration: none; } .actions { display: flex; gap: 10px; align-items: center; } /* shared button style for 목록 / 수정 / 삭제 */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 14px; border-radius: var(--btn-radius); font-size: 13px; text-decoration: none; border: none; cursor: pointer; box-shadow: 0 2px 0 rgba(0, 0, 0, 0.08); } /* optional small secondary (icon-only) button like the little circle in the image */ .btn-ghost { background: transparent; border: 1px solid var(--line); color: var(--muted); font-weight: 600; padding: 7px 10px; border-radius: 8px; } .patchnote-content { padding: 20px; } #patch-list-btn { color: var(--muted); border: 1px solid var(--muted); } #patch-detail-not-found { display: none; font-weight: bold; text-align: center; padding: 30px 0; } #patch-detail-not-found a { margin: 20px 0; } @media (max-width: 720px) { .container { padding: 20px; } .post-row { grid-template-columns: auto 1fr; grid-template-areas: "avatar title" "avatar info"; align-items: start; } .post-info { text-align: left; min-width: 0; margin-top: 8px; } .footer-bar { flex-direction: column; align-items: stretch; gap: 10px; } .actions { justify-content: flex-end; } }