html, body { margin:0; padding:0; font-family: "Noto Sans KR", system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple SD Gothic Neo", sans-serif; color:#1b1b1b; background:linear-gradient(180deg, #ffffff 0, #f7f7f9 180px); }
a { color:#f05014; text-decoration:none; }
a:hover { text-decoration:underline; }
.wrap { max-width:920px; margin:18px auto; padding:20px; background:#fff; border:1px solid #eee; border-radius:12px; box-shadow:0 6px 20px rgba(0,0,0,.04); position:relative; overflow:hidden; }
.wrap:before { content:""; position:absolute; right:-80px; top:-80px; width:220px; height:220px; background:radial-gradient(closest-side, rgba(240,80,20,.10), rgba(240,80,20,0)); filter:blur(0.5px); pointer-events:none; }
header { padding:10px 0 18px; border-bottom:1px solid #f0f0f0; }
header .brand { font-weight:800; font-size:20px; color:#111; letter-spacing:-0.2px; }
.toc { background:#fafafa; border:1px solid #eee; padding:16px; border-radius:8px; margin:16px 0 24px; }
.toc b { display:block; margin-bottom:8px; }
h1 { font-size:30px; line-height:1.35; margin:20px 0 10px; letter-spacing:-0.3px; background:linear-gradient(135deg, #ff7a3d 0%, #f05014 60%, #e4470f 100%); color:#fff; padding:16px 16px; border-radius:10px; box-shadow:0 6px 18px rgba(240,80,20,.20); }
.desc { color:#666; font-size:14px; }
h2 { font-size:22px; margin:28px 0 12px; letter-spacing:-0.2px; position:relative; padding-bottom:8px; }
h2:after { content:""; position:absolute; left:0; bottom:0; width:56px; height:3px; background:linear-gradient(90deg, #f05014, rgba(240,80,20,0.2)); border-radius:3px; }
h3 { font-size:18px; margin:18px 0 10px; }
p { line-height:1.8; margin:8px 0; }
.note { background:#fff7f3; border:1px solid #ffd9c9; padding:12px; border-radius:8px; }
.grid-2 { display:block; }
.card { border:1px solid #eee; border-radius:10px; padding:16px 16px 16px 44px; margin:10px 0; background:#fff; transition:border-color .15s ease, box-shadow .15s ease; position:relative; }
.card:before { content:""; position:absolute; left:16px; top:18px; width:18px; height:18px; border-radius:50%; background:radial-gradient(circle at 30% 30%, #fff 0, #fff 25%, transparent 26%), linear-gradient(135deg, #ffd2bf, #ffa37f); box-shadow: inset 0 0 0 2px #fff; }
.card:hover { border-color:#f7c9b6; box-shadow:0 4px 14px rgba(240,80,20,.08); }
.muted { color:#666; }
.cta { display:inline-block; border:1px solid #f05014; color:#f05014; padding:10px 14px; border-radius:8px; margin-top:8px; font-weight:700; background:#fff; transition:all .15s ease; }
.cta:hover { background:#f05014; color:#fff; text-decoration:none; box-shadow:0 4px 10px rgba(240,80,20,.18); }
.cta:focus { outline:2px solid rgba(240,80,20,.4); outline-offset:2px; }
.faq { list-style:none; padding:0; margin:0; }
.faq li { border-bottom:1px solid #eee; }
.faq .q { cursor:pointer; padding:14px 6px; display:flex; align-items:center; justify-content:space-between; user-select:none; }
.faq .q b { color:#f05014; margin-right:8px; }
.faq .a { display:none; padding:0 6px 16px; color:#333; transition:all .2s ease; }
.related { margin:26px 0; }
.related ul { margin:8px 0 0; padding-left:18px; }
section + section { margin-top:32px; padding-top:16px; border-top:1px solid #f0f0f2; }
footer { margin:40px 0 10px; padding-top:16px; border-top:1px solid #eee; color:#888; font-size:12px; }
@media (min-width: 880px) {
  .grid-2 { display:grid; grid-template-columns:1fr 1fr; grid-gap:12px; }
}

/* 텍스트 요소 확장 */
ul { padding-left:18px; }
ol { padding-left:22px; }
li { margin:6px 0; }
blockquote { margin:14px 0; padding:10px 14px; border-left:3px solid #f05014; background:#fff8f4; color:#444; }
code { background:#f5f5f7; padding:2px 6px; border-radius:6px; font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; font-size:90%; }
table { width:100%; border-collapse:collapse; margin:12px 0; }
th, td { border:1px solid #eee; padding:10px 12px; text-align:left; }
thead th { background:#fafafa; }


