:root { color-scheme: light dark; }
* { box-sizing: border-box; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;
  line-height: 1.75;
  max-width: 760px;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 5rem;
  color: #1c1c1e;
  background: #ffffff;
  -webkit-text-size-adjust: 100%;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media (prefers-color-scheme: dark) { body { color: #e6e6ea; background: #0b0b0c; } }

a { color: #0a6cff; text-decoration: none; }
a:hover { text-decoration: underline; }
@media (prefers-color-scheme: dark) { a { color: #5aa9ff; } }

.back { display: inline-block; font-size: .9rem; margin-bottom: 1.75rem; }
.back::before { content: "\2039  "; }

header { margin-bottom: 2.5rem; }
h1 { font-size: 1.55rem; font-weight: 700; margin: 0 0 .5rem; letter-spacing: -.01em; }
.updated { font-size: .85rem; color: #8a8a8e; margin: 0; }

h2 {
  font-size: 1.15rem; font-weight: 700; margin: 2.75rem 0 .9rem;
  padding-top: 1.5rem; border-top: 1px solid rgba(128,128,128,.22);
}
h3 { font-size: 1rem; font-weight: 600; margin: 1.6rem 0 .5rem; }
p { margin: .7rem 0; }
ul, ol { margin: .6rem 0; padding-left: 1.2rem; }
li { margin: .35rem 0; }

.tag { font-weight: 600; color: #b4531f; }
@media (prefers-color-scheme: dark) { .tag { color: #ff9d5c; } }
.note { font-size: .92rem; color: #6c6c70; }
@media (prefers-color-scheme: dark) { .note, .updated { color: #9a9aa0; } }

footer { margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid rgba(128,128,128,.22); font-size: .9rem; color: #8a8a8e; }
.contact { margin: .2rem 0; }

/* 랜딩 허브 */
.hub-list { list-style: none; padding: 0; margin: 2rem 0 0; }
.hub-list li { margin: 0 0 1rem; }
.hub-card {
  display: block; padding: 1.1rem 1.25rem;
  border: 1px solid rgba(128,128,128,.25); border-radius: 14px;
  color: inherit; transition: border-color .15s ease;
}
.hub-card:hover { text-decoration: none; border-color: #0a6cff; }
.hub-card .t { display: block; font-weight: 700; font-size: 1.05rem; }
.hub-card .d { display: block; font-size: .9rem; color: #8a8a8e; margin-top: .2rem; }

/* 참고 링크 박스 */
.refbox {
  margin: 1.2rem 0; padding: 1rem 1.25rem;
  border: 1px solid rgba(128,128,128,.25); border-radius: 12px;
  background: rgba(128,128,128,.06); font-size: .95rem;
}
.refbox .rt { font-weight: 600; margin: 0 0 .5rem; }
.refbox ul { margin: 0; }
