.wrap.wide{max-width:1500px}
.rs-tool{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:0 0 14px} .rs-tool .chips{display:flex; gap:6px; flex-wrap:wrap; flex:1}
.rs-tool .chips button{font:inherit; font-size:12px; font-weight:600; padding:4px 10px; border:1px solid var(--line-2); border-radius:999px; background:var(--card); cursor:pointer; color:var(--ink-2)} .rs-tool .chips button.on{background:var(--ink); color:#fff; border-color:var(--ink)} .rs-tool .chips button small{color:var(--ink-3); margin-left:3px}
.rs-tool .q input{padding:7px 12px; border:1px solid var(--line-2); border-radius:var(--r); font:inherit; font-size:13px; min-width:220px}
.rs-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px}
.rs-card{display:flex; flex-direction:column; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; color:inherit; min-width:0} .rs-card:hover{border-color:var(--ink)}
.rs-card .cover{aspect-ratio:16/8; background:var(--bg-2); object-fit:cover; width:100%; display:block} .rs-card .cover.ph{display:flex; align-items:center; justify-content:center; color:var(--ink-4); font-size:28px; font-weight:800}
.rs-card .bd{padding:12px 14px 14px; display:flex; flex-direction:column; gap:6px; flex:1}
.rs-card h3{margin:0; font-size:16px; line-height:1.35; letter-spacing:-.01em} .rs-card p{margin:0; font-size:13px; color:var(--ink-2); line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.rs-card .meta{display:flex; gap:8px; align-items:center; font-size:11.5px; color:var(--ink-3); margin-top:auto; flex-wrap:wrap} .rs-card .meta .draft{color:var(--warn); font-weight:700}
.rs-card .tags{display:flex; gap:4px; flex-wrap:wrap} .rs-card .tags span,.rs-article .tags span{font-size:11px; padding:1px 7px; border-radius:999px; background:var(--bg-2); color:var(--ink-2)} .rs-card .syms span,.rs-article .syms a{font-size:11px; font-weight:700; padding:1px 7px; border-radius:4px; background:var(--blue-soft); color:var(--blue)}
.rs-empty{grid-column:1/-1; padding:40px; text-align:center; color:var(--ink-3)}
/* 글 */
.rs-article{max-width:820px; margin:0 auto; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:28px 34px 36px}
.rs-article .cover{width:100%; border-radius:var(--r); margin:0 0 20px; display:block}
.rs-article h1{font-size:28px; line-height:1.3; letter-spacing:-.02em; margin:0 0 10px} .rs-article .meta{display:flex; gap:10px; flex-wrap:wrap; align-items:center; font-size:12.5px; color:var(--ink-3); margin-bottom:18px} .rs-article .summary{font-size:15px; color:var(--ink-2); border-left:3px solid var(--blue); padding:4px 12px; margin:0 0 20px}
.rs-article .syms,.rs-article .tags{display:flex; gap:5px; flex-wrap:wrap}
.md{font-size:15.5px; line-height:1.75; color:var(--ink); word-break:keep-all; overflow-wrap:break-word}
.md h2{font-size:21px; margin:30px 0 10px; letter-spacing:-.01em; padding-bottom:6px; border-bottom:1px solid var(--line)} .md h3{font-size:17px; margin:22px 0 8px} .md p{margin:0 0 14px} .md img{max-width:100%; border-radius:var(--r); display:block; margin:14px auto}
.md blockquote{margin:14px 0; padding:8px 14px; border-left:3px solid var(--line-2); color:var(--ink-2); background:var(--bg)} .md ul,.md ol{padding-left:22px; margin:0 0 14px} .md li{margin:3px 0}
.md table{border-collapse:collapse; width:100%; margin:14px 0; font-size:14px} .md th,.md td{border:1px solid var(--line); padding:6px 10px; text-align:left} .md th{background:var(--bg-2)}
.md code{font-family:var(--mono); font-size:13px; background:var(--bg-2); padding:1px 5px; border-radius:4px} .md pre{background:#1e1e1e; color:#eee; padding:12px 14px; border-radius:var(--r); overflow:auto; font-size:13px} .md pre code{background:none; padding:0; color:inherit}
.md a{color:var(--blue); text-decoration:underline} .md hr{border:0; border-top:1px solid var(--line); margin:24px 0}
.rs-article .foot{margin-top:28px; padding-top:14px; border-top:1px solid var(--line); font-size:12.5px; color:var(--ink-3)}
.rs-related{max-width:820px; margin:18px auto 0} .rs-related h2{font-size:15px; margin:0 0 8px} .rs-related a{display:block; padding:8px 0; border-bottom:1px solid var(--line-soft); font-size:14px; font-weight:600} .rs-related a small{display:block; color:var(--ink-3); font-weight:400; font-size:12px}
/* 편집기 */
.rs-noauth{padding:40px; text-align:center; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg)}
.rs-editor{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:start}
.ed-left{display:flex; flex-direction:column; gap:8px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:14px}
.ed-left input[type=text],.ed-left textarea{width:100%; font:inherit; font-size:14px; padding:8px 10px; border:1px solid var(--line-2); border-radius:var(--r); background:var(--bg)} .ed-left input:focus,.ed-left textarea:focus{outline:none; border-color:var(--ink); background:var(--card)}
.ed-left #title{font-size:20px; font-weight:800} .ed-left .row{display:flex; gap:8px} .ed-left .row input{flex:1; min-width:0} .ed-left .up{white-space:nowrap; cursor:pointer}
.ed-left textarea{min-height:520px; font-family:var(--mono); font-size:13.5px; line-height:1.6; resize:vertical}
.ed-tools{display:flex; gap:4px; align-items:center; flex-wrap:wrap} .ed-tools button{font:inherit; font-size:12px; font-weight:700; padding:3px 8px; border:1px solid var(--line-2); border-radius:4px; background:var(--card); cursor:pointer} .ed-tools button:hover{border-color:var(--ink)} .ed-tools .sp{flex:1} .ed-tools small{color:var(--ink-3); font-size:11px}
.ed-acts{display:flex; gap:8px; align-items:center} .ed-acts .sp{flex:1} .ed-acts .chk{display:inline-flex; gap:5px; align-items:center; font-size:13px} .btn.primary{background:var(--ink); color:#fff; border-color:var(--ink)} .btn.sm{font-size:12px; padding:5px 9px}
.ed-right{position:sticky; top:12px} .rs-article.preview{max-width:none; max-height:calc(100vh - 40px); overflow:auto}
@media (max-width:900px){ .rs-grid{grid-template-columns:1fr} .rs-editor{grid-template-columns:1fr} .ed-right{position:static} .rs-article{padding:18px} }

/* ── 2026-10-15 리디자인: 히어로 · 주간 리포트 띠 · 카드 · 글 레이아웃(목차·종목 사이드) ── */
.rs-hero{margin:0 0 16px} .rs-hero-card{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:0; background:var(--card); border:1px solid var(--line); border-radius:18px; overflow:hidden; color:inherit; text-decoration:none} .rs-hero-card:hover{border-color:var(--ink)}
.rs-hero-card .img{min-height:300px; background:var(--bg-2)} .rs-hero-card .img img{width:100%; height:100%; object-fit:cover; display:block}
.rs-hero-card .txt{padding:26px 28px; display:flex; flex-direction:column; gap:10px} .rs-hero-card .kicker{font-size:11.5px; font-weight:700; letter-spacing:.08em; color:var(--blue); text-transform:uppercase}
.rs-hero-card h2{margin:0; font-size:26px; line-height:1.3; letter-spacing:-.02em} .rs-hero-card p{margin:0; font-size:14.5px; line-height:1.6; color:var(--ink-2); display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden}
.rs-hero-card .meta{margin-top:auto; display:flex; gap:10px; flex-wrap:wrap; align-items:center; font-size:12px; color:var(--ink-3)}
.syms b{display:inline-block; font-size:11px; font-weight:700; padding:1px 7px; border-radius:4px; background:var(--blue-soft); color:var(--blue); margin-right:3px}
.rs-weekly{margin:0 0 18px} .rs-weekly-card{display:grid; grid-template-columns:220px 1fr; gap:16px; align-items:center; background:linear-gradient(90deg,var(--card),var(--bg-2)); border:1px solid var(--line); border-radius:14px; padding:12px 16px 12px 12px; color:inherit; text-decoration:none} .rs-weekly-card:hover{border-color:var(--blue)}
.rs-weekly-card img{width:220px; border-radius:8px; display:block; border:1px solid var(--line-soft)} .rs-weekly-card .ph{width:220px; height:115px; border-radius:8px; background:var(--bg-2)}
.rs-weekly-card .kicker{font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--blue)} .rs-weekly-card h3{margin:3px 0 4px; font-size:17px} .rs-weekly-card h3 small{font-weight:500; color:var(--ink-3); font-size:12px; margin-left:6px} .rs-weekly-card p{margin:0 0 6px; font-size:13px; color:var(--ink-2); line-height:1.5} .rs-weekly-card .more{font-size:12.5px; font-weight:700; color:var(--blue)} .rs-weekly-card .more small{font-weight:500; color:var(--ink-3); margin-left:6px}
.rs-card{border-radius:14px; transition:transform .15s, box-shadow .15s} .rs-card:hover{transform:translateY(-2px); box-shadow:0 10px 24px #0b122014; border-color:var(--line)}
.rs-card .cover{aspect-ratio:16/9} .rs-card .bd{padding:14px 16px 16px; gap:7px} .rs-card h3{font-size:16.5px} .rs-card .meta .sp{flex:1} .rs-card .tags span.draft{background:var(--warn-soft,#fff4d6); color:var(--warn,#b26b00)}
/* 글 */
.rs-wrap{max-width:1180px} .rs-layout{display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:22px; align-items:start}
.rs-article{max-width:none; margin:0; padding:0; border:0; background:none}
.rs-head{padding:6px 0 18px} .rs-head .tags{display:flex; gap:6px; margin:0 0 12px} .rs-head .tags a{font-size:11.5px; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--blue-soft); color:var(--blue)} .rs-head .tags .draft{font-size:11.5px; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--warn-soft,#fff4d6); color:var(--warn,#b26b00)}
.rs-head h1{font-size:34px; line-height:1.25; letter-spacing:-.03em; margin:0 0 12px} .rs-head .lead{font-size:17px; line-height:1.65; color:var(--ink-2); margin:0 0 16px; border:0; padding:0}
.rs-head .meta{display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-3); padding:12px 0; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft)} .rs-head .meta .av{width:32px; height:32px; border-radius:50%; background:var(--ink); color:#fff; display:inline-grid; place-items:center; font-weight:800} .rs-head .meta .who b{display:block; color:var(--ink); font-size:13.5px} .rs-head .meta .who small{font-size:12px} .rs-head .meta .sp{flex:1}
.rs-head .meta .share{font:inherit; font-size:12px; font-weight:600; padding:5px 10px; border:1px solid var(--line); border-radius:7px; background:var(--card); color:var(--ink-2); cursor:pointer; text-decoration:none} .rs-head .meta .share:hover{border-color:var(--ink); color:var(--ink)}
.rs-article .cover{border-radius:14px; margin:18px 0 26px; aspect-ratio:2/1; object-fit:cover}
.rs-article .md{font-size:16px; line-height:1.85} .rs-article .md h2{font-size:22px; margin:34px 0 12px; border:0; padding:0} .rs-article .md h3{font-size:18px}
.rs-article .md img{border-radius:12px; margin:18px auto; cursor:zoom-in; box-shadow:0 6px 20px #0b122012} .rs-article .md figure{margin:18px 0} .rs-article .md figcaption{font-size:12.5px; color:var(--ink-3); text-align:center}
.rs-article .foot{font-size:12.5px}
.rs-side{position:sticky; top:14px; display:flex; flex-direction:column; gap:12px} .sbox{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:12px 14px} .sbox h4{margin:0 0 8px; font-size:13px} .sbox h4 small{font-weight:500; color:var(--ink-3); margin-left:6px}
.toc a{display:block; font-size:12.5px; color:var(--ink-2); padding:3px 0; border-left:2px solid transparent; padding-left:8px} .toc a.lv3{padding-left:18px; font-size:12px; color:var(--ink-3)} .toc a:hover{color:var(--blue); border-left-color:var(--blue)}
.sbox .coin{display:grid; grid-template-columns:28px 1fr auto; gap:8px; align-items:center; padding:7px 0; border-bottom:1px solid var(--line-soft); color:inherit} .sbox .coin:last-of-type{border-bottom:0} .sbox .coin img,.sbox .coin i{width:26px; height:26px; border-radius:50%; object-fit:contain; background:#fff; display:inline-grid; place-items:center; font-style:normal; font-size:9px; color:var(--ink-3)}
.sbox .coin .n b{display:block; font-size:13px} .sbox .coin .n small{color:var(--ink-3); font-size:11px} .sbox .coin .v{text-align:right} .sbox .coin .v b{display:block; font-size:13px; font-variant-numeric:tabular-nums} .sbox .coin .v small{font-size:11px; color:var(--ink-3)} .sbox .coin .spk{grid-column:1/-1; width:100%; height:26px} .sbox .cmp{display:block; margin-top:8px; font-size:12.5px; font-weight:700; color:var(--blue)}
.up{color:var(--up)} .down{color:var(--down)}
.rs-related{max-width:none; margin:28px 0 0} .rs-related h2{font-size:18px; margin:0 0 12px}
@media (max-width:900px){ .rs-hero-card{grid-template-columns:1fr} .rs-hero-card .img{min-height:180px} .rs-weekly-card{grid-template-columns:1fr} .rs-weekly-card img,.rs-weekly-card .ph{width:100%; height:auto} .rs-layout{grid-template-columns:1fr} .rs-side{position:static} .rs-head h1{font-size:26px} }
