:root{--g:#1b6b2f;--gd:#0d4020;--gl:#e8f3ea;--bg:#f4f6f3;--tx:#1e2a22;--mut:#6a766d;--red:#c0392b;--blue:#1f5fa8;--line:#dfe6e0;--warn:#fff3cd;--warnb:#e6c95c}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);font-family:'Malgun Gothic','맑은 고딕','Apple SD Gothic Neo',sans-serif;color:var(--tx);line-height:1.45}
a{color:var(--gd)}
.wrap{max-width:720px;margin:0 auto}
header{background:var(--g);color:#fff;padding:14px 16px 10px}
header h1{margin:0;font-size:20px}header h1 a{color:#fff;text-decoration:none}
header p{margin:4px 0 0;font-size:12.5px;opacity:.92}
nav{display:flex;background:var(--gd);font-size:13px}
nav a{flex:1;text-align:center;color:#fff;padding:9px 0;text-decoration:none;opacity:.8}
nav a.on{opacity:1;border-bottom:3px solid #8fbd9a;font-weight:700}
main{padding:12px}
h2{font-size:16px;margin:16px 0 8px;color:var(--gd)}
h2 small{color:var(--mut);font-weight:400;font-size:12px}
.hook{background:#fff;border-left:4px solid var(--g);padding:9px 11px;margin:6px 0;font-size:13.5px;border-radius:0 6px 6px 0}
.hook b{color:var(--gd)}.hook small{color:var(--mut)}
.hook a{text-decoration:none}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(min-width:600px){.cards{grid-template-columns:1fr 1fr 1fr}}
.card{display:block;background:#fff;border-radius:10px;padding:10px;border:1px solid var(--line);text-decoration:none;color:var(--tx)}
.card:hover{border-color:var(--g)}
.card .nm{font-weight:700;font-size:14px}
.card .pr{font-size:19px;font-weight:700;margin:2px 0}
.card .sub{font-size:11.5px;color:var(--mut)}
.up{color:var(--red)}.dn{color:var(--blue)}
.badge{display:inline-block;font-size:10px;padding:1px 5px;border-radius:4px;background:var(--warn);color:#7a5a00;margin-left:4px;vertical-align:middle}
.badge.few{background:#eee;color:#666}
.badge.live{background:#e3eefc;color:#1f5fa8}
svg.sp{width:100%;height:36px;display:block;margin-top:4px}
.chart{background:#fff;border-radius:10px;padding:10px;border:1px solid var(--line)}
.chart svg{width:100%;height:auto;display:block}
table{width:100%;border-collapse:collapse;font-size:12.5px;background:#fff;border-radius:8px;overflow:hidden}
th,td{padding:6px 7px;border-bottom:1px solid var(--line);text-align:right}
th:first-child,td:first-child{text-align:left}
th{background:var(--gl);color:var(--gd);font-weight:700}
.farm{background:var(--gl);border-radius:10px;padding:10px 12px;font-size:13.5px;border:1px solid #bcd8c2}
.farm b{color:var(--gd)}
.ill{background:var(--warn);border:1px solid var(--warnb);border-radius:8px;padding:8px 10px;font-size:12.5px;margin:8px 0}
.ill.ok{background:var(--gl);border-color:#bcd8c2}
.list a{display:block;background:#fff;padding:10px 12px;border-radius:8px;border:1px solid var(--line);margin:6px 0;font-size:13.5px;color:var(--tx);text-decoration:none}
.list a:hover{border-color:var(--g)}
.list small{color:var(--mut);display:block;margin-top:2px}
.pill{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:3px 10px;margin:2px;font-size:12.5px;color:var(--tx);text-decoration:none}
.pill.on{background:var(--g);color:#fff;border-color:var(--g)}
footer{font-size:11px;color:var(--mut);padding:14px 12px 24px;line-height:1.55;border-top:1px solid var(--line);margin-top:16px}
.empty{color:var(--mut);font-size:13px;padding:12px}
/* 리포트 md 렌더 */
.md{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 14px;font-size:13.5px;overflow-x:auto}
.md h1{font-size:18px;color:var(--gd)}.md h2{font-size:16px;margin-top:22px;border-top:1px solid var(--line);padding-top:12px}
.md img{max-width:100%;height:auto}
.md table{font-size:12px}
.md blockquote{margin:8px 0;padding:6px 10px;border-left:3px solid var(--g);background:var(--gl);color:var(--tx)}
.md details{margin:8px 0}.md summary{cursor:pointer;color:var(--gd)}
