:root { --bg:#f6f5f1; --card:#fff; --ink:#1d1d1b; --sub:#6b6a65; --line:#e4e2db;
        --accent:#2f5d50; --warn:#b4532a; --good:#2f7d4f; --star:#d79b1e; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#151514; --card:#1f1f1d; --ink:#ecebe6; --sub:#a09f98; --line:#33322f; }
}
* { box-sizing: border-box; }
body { margin:0; font-family: -apple-system, "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
       background:var(--bg); color:var(--ink); line-height:1.6; }
a { color:var(--accent); }
header.site { max-width:760px; margin:auto; padding:18px 20px 0; display:flex; justify-content:space-between; align-items:center; gap:12px; }
header.site .brand { font-weight:700; color:var(--ink); text-decoration:none; }
header.site nav a { font-size:13px; color:var(--sub); margin-left:12px; text-decoration:none; }
main.doc { max-width:760px; margin:auto; padding:8px 20px 40px; }
main.doc h1 { font-size:24px; letter-spacing:-.3px; margin:6px 0 6px; line-height:1.3; }
main.doc h2 { font-size:16px; margin:28px 0 8px; }
.crumb { font-size:12px; color:var(--sub); margin:10px 0 0; }
.crumb a { color:var(--sub); }
.tags span { font-size:12px; padding:2px 8px; border-radius:6px; background:var(--card); border:1px solid var(--line); color:var(--sub); margin-right:4px; }
.tags span.lease { background:#f3e3d6; color:#8a4a1f; border-color:#f3e3d6; }
.stars { color:var(--star); font-size:22px; margin:8px 0; }
.stars small { color:var(--sub); font-size:13px; margin-left:6px; }
.summary { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:4px 16px; }
table { width:100%; border-collapse:collapse; font-size:14px; }
table.kv th, table.axes th { text-align:left; font-weight:500; color:var(--sub); width:34%; padding:8px 8px 8px 0; border-bottom:1px solid var(--line); vertical-align:top; }
table.kv td, table.axes td { padding:8px 0; border-bottom:1px solid var(--line); }
table.axes td:last-child { width:40px; text-align:right; }
.track { height:7px; background:var(--line); border-radius:4px; overflow:hidden; }
.fill { height:100%; background:var(--accent); } .fill.inv { background:var(--warn); }
.neg { color:var(--warn); } .pos { color:var(--good); }
.note { font-size:12px; color:var(--sub); }
ul.plain { padding-left:18px; font-size:14px; }
.leasebox { font-size:13px; background:var(--card); border-left:3px solid #c98a5a; border-radius:6px; padding:8px 10px; margin-top:14px; }
.leasebox ul { margin:4px 0 0 16px; padding:0; }
.cta { display:inline-block; margin-top:18px; padding:9px 14px; border-radius:10px; background:var(--accent); color:#fff; text-decoration:none; font-size:14px; }
.ad { margin:18px 0; min-height:90px; }
.adlabel { display:block; font-size:10px; color:var(--sub); letter-spacing:.5px; margin-bottom:2px; }
footer.site { max-width:760px; margin:auto; padding:20px; font-size:12px; color:var(--sub); border-top:1px solid var(--line); }
footer.site a { color:var(--sub); }
