
/* 시민에너지신문 — 신문형 블로거 테마 V10 */
:root{
  --ink:#141414; --ink2:#444; --ink3:#777; --line:#d9d9d9; --line2:#141414;
  --bg:#fff; --soft:#f4f5f3; --accent:#0b6b3a; --accent2:#c8102e;
  --serif:'Noto Serif KR','Noto Serif SC',Georgia,serif;
  --sans:'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic','PingFang SC','Microsoft YaHei',sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}

/* 맨 위 띠 */
.topbar{border-bottom:1px solid var(--line);font-size:13px;color:var(--ink2)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:36px;gap:12px}
.langs{display:flex;gap:2px}
.langs button{border:0;background:none;font:inherit;color:var(--ink3);padding:4px 8px;cursor:pointer;border-radius:3px}
.langs button.on{color:#fff;background:var(--accent);font-weight:700}

/* 제호 */
.mast{text-align:center;padding:22px 0 14px}
.mast a{text-decoration:none}
.mast h1{font-family:var(--serif);font-weight:900;font-size:clamp(34px,6vw,58px);letter-spacing:-1px;margin:0;line-height:1.1}
.mast .tag{margin-top:6px;font-size:13px;color:var(--ink3);letter-spacing:.5px}

/* 메뉴 */
.nav{border-top:1px solid var(--line);border-bottom:2px solid var(--line2);position:sticky;top:0;background:var(--bg);z-index:10}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.nav ul::-webkit-scrollbar{display:none}
.nav li a{display:block;padding:12px 14px;font-weight:700;font-size:16px;white-space:nowrap}
.nav li a:hover,.nav li a.on{color:var(--accent);text-decoration:none}

/* 1면 */
.front{padding:24px 0 8px}
.top3{display:grid;grid-template-columns:1fr 2fr 1fr;gap:24px}
.col-l .card+.card,.col-r li+li{border-top:1px solid var(--line)}
.card{padding-bottom:16px;margin-bottom:16px}
.card .ph{aspect-ratio:3/2;background:var(--soft);margin-bottom:10px;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover}
.kick{color:var(--accent);font-size:13px;font-weight:700;margin-bottom:4px}
.card h3{font-family:var(--serif);font-size:20px;line-height:1.35;margin:0 0 6px;font-weight:700}
.card p{margin:0;color:var(--ink2);font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lead{text-align:center}
.lead .ph{aspect-ratio:16/9}
.lead .noimg{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0b6b3a,#1f8f55 55%,#e9b949);color:#fff;font-family:var(--serif);font-size:28px;font-weight:900;padding:24px;margin-bottom:12px}
.lead h2{font-family:var(--serif);font-size:clamp(24px,3vw,34px);line-height:1.3;margin:6px 0 8px;font-weight:900}
.lead p{color:var(--ink2);margin:0 auto;max-width:640px}
.col-r ul{list-style:none;margin:0;padding:0}
.col-r li{padding:12px 0}
.col-r li a{font-family:var(--serif);font-weight:700;font-size:17px;line-height:1.4}
.col-r li:first-child{padding-top:0}

.ticker{display:flex;align-items:center;gap:16px;background:var(--soft);padding:12px 16px;margin:20px 0 28px;overflow:hidden}
.ticker b{white-space:nowrap;font-size:14px}
.ticker ol{list-style:none;margin:0;padding:0;display:flex;gap:28px;overflow-x:auto;scrollbar-width:none;font-size:15px}
.ticker li{white-space:nowrap}
.ticker li span{font-weight:700;color:var(--accent);margin-right:6px}

.secs{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px;padding-bottom:24px}
.sec h4{font-family:var(--serif);font-size:20px;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--line2);display:flex;justify-content:space-between;align-items:baseline}
.sec h4 a.more{font-family:var(--sans);font-size:13px;font-weight:400;color:var(--ink3)}
.sec .first{display:grid;grid-template-columns:140px 1fr;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:8px}
.sec .first .ph{aspect-ratio:3/2;background:var(--soft);overflow:hidden}
.sec .first .ph img{width:100%;height:100%;object-fit:cover}
.sec .first.noph{grid-template-columns:1fr}
.sec .first h5{font-family:var(--serif);font-size:18px;margin:0 0 4px;line-height:1.35}
.sec .first p{margin:0;font-size:14px;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sec ul{list-style:none;margin:0;padding:0}
.sec li{padding:6px 0;font-size:15px}
.sec li::before{content:'·';color:var(--ink3);margin-right:6px}
.empty{padding:60px 0;text-align:center;color:var(--ink3)}

/* 목록(라벨·검색) */
.list-head{font-family:var(--serif);font-size:28px;margin:28px 0 8px;padding-bottom:10px;border-bottom:2px solid var(--line2)}
.item{display:grid;grid-template-columns:1fr 200px;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.item.noph{grid-template-columns:1fr}
.item h2{font-family:var(--serif);font-size:21px;margin:0 0 6px;line-height:1.35}
.item p{margin:0 0 6px;color:var(--ink2);font-size:15px}
.item time,.meta-s{font-size:13px;color:var(--ink3)}
.item .ph{aspect-ratio:3/2;overflow:hidden;background:var(--soft)}
.item .ph img{width:100%;height:100%;object-fit:cover}
.pager{display:flex;justify-content:space-between;padding:24px 0;font-weight:700}

/* 기사 본문 */
.story{max-width:760px;margin:0 auto;padding:32px 0 48px}
.story .kick{font-size:15px}
.story-title{font-family:var(--serif);font-size:clamp(26px,4vw,38px);line-height:1.3;margin:6px 0 14px;font-weight:900;letter-spacing:-.5px}
.story-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:14px;color:var(--ink3);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:24px}
.langlinks a{display:inline-block;border:1px solid var(--line);border-radius:3px;padding:1px 8px;margin-left:4px;color:var(--ink2);font-size:13px}
.langlinks a.on{background:var(--accent);border-color:var(--accent);color:#fff}
.story-body{font-size:18px;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
.story-body p{margin:0 0 1.2em}
.story-body .sub{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--ink2);border-left:4px solid var(--accent);padding:2px 0 2px 14px;margin-bottom:28px}
.story-body h2{font-family:var(--serif);font-size:21px;margin:1.6em 0 .6em}
.story-body img{margin:8px auto}
.story-body .caption{font-size:14px;color:var(--ink3);text-align:center;margin-top:-6px}
html[lang=en] .story-body{word-break:normal}
/* 다국어 기사: 한 글 안에 ko/zh/en 블록, 고른 언어만 보임 */
.ml-zh,.ml-en{display:none}
html[data-l=ZH] .ml-ko,html[data-l=EN] .ml-ko{display:none}
html[data-l=ZH] .ml-zh,html[data-l=EN] .ml-en{display:block}
.story-body .origin{font-size:14px;color:var(--ink3);border-top:1px solid var(--line);padding-top:12px;margin-top:28px}
.story-body .origin a{color:var(--accent);text-decoration:underline}

/* 바닥 */
.foot{border-top:2px solid var(--line2);margin-top:24px;padding:24px 0 40px;font-size:13px;color:var(--ink3)}
.foot strong{font-family:var(--serif);font-size:20px;color:var(--ink);display:block;margin-bottom:6px}
.hidden{display:none!important}

@media (max-width:900px){
  .top3{grid-template-columns:1fr}
  .col-c{order:-1}
  .secs{grid-template-columns:1fr}
}
@media (max-width:600px){
  .item{grid-template-columns:1fr 110px;gap:12px}
  .item h2{font-size:18px}
  .item p{display:none}
  .sec .first{grid-template-columns:110px 1fr}
  .story-body{font-size:17px}
  .topbar .date{display:none}
}

/* GitHub Pages 추가 */
.ml-ko,.ml-zh,.ml-en{}
span.ml-ja,span.ml-zh,span.ml-en{display:none}
html[data-l=JA] span.ml-ko,html[data-l=ZH] span.ml-ko,html[data-l=EN] span.ml-ko{display:none}
html[data-l=JA] span.ml-ja,html[data-l=ZH] span.ml-zh,html[data-l=EN] span.ml-en{display:inline}
div.ml-ja{display:none}
html[data-l=JA] div.ml-ko{display:none}
html[data-l=JA] div.ml-ja{display:block}
html[lang=ja] body{font-family:'Noto Sans JP',var(--sans)}
html[lang=ja] .story-title,html[lang=ja] .mast h1{font-family:'Noto Serif JP',var(--serif)}
.story-body .view{background:var(--soft);border-left:4px solid var(--accent);padding:14px 18px;margin:28px 0 0}
.story-body .view h2{margin:0 0 .5em;font-size:18px;color:var(--accent)}
.story-body .view p:last-child{margin-bottom:0}
/* 1면: 메인 뉴스를 왼쪽에 크게 (대표 지시 261023) */
.top3{grid-template-columns:2fr 1fr 1fr}
.lead{text-align:left}
.lead p{margin:0}
/* 메인 아래 빈자리를 다른 뉴스로 채움 (대표 지시 261023) */
.leadmore{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--line)}
.leadmore li{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.leadmore .th{flex:0 0 120px;aspect-ratio:3/2;overflow:hidden;background:var(--soft)}
.leadmore .th img{width:100%;height:100%;object-fit:cover}
.leadmore .kick{margin:0 0 2px}
.leadmore a.t{font-family:var(--serif);font-weight:700;font-size:17px;line-height:1.4}
@media (max-width:900px){.top3{grid-template-columns:1fr}}
.adlink{margin-left:12px;color:var(--accent);font-weight:700}
.adslot{display:block;border:1px dashed var(--line);background:var(--soft);color:var(--ink3);text-align:center;padding:22px 16px;margin:20px 0;font-size:14px}
.adslot b{display:block;font-size:11px;letter-spacing:2px;color:var(--ink3);margin-bottom:4px}
.adslot:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.adslot.slogan{border:0;background:linear-gradient(135deg,#0b6b3a,#1f8f55 60%,#e9b949);color:#fff;padding:26px 16px}
.adslot.slogan strong{display:block;font-family:var(--serif);font-size:clamp(20px,3vw,30px);font-weight:900;line-height:1.3}
.adslot.slogan em{display:block;font-style:normal;font-size:14px;opacity:.9;margin-top:6px}
.adslot.slogan a{display:inline-block;margin-top:10px;font-size:12px;color:#fff;opacity:.8;text-decoration:underline}
.adpage{max-width:760px;margin:0 auto;padding:32px 0 48px;font-size:17px;line-height:1.8}
.adpage .btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 22px;border-radius:4px;font-weight:700;margin-top:12px}
.adpage .btn:hover{text-decoration:none;opacity:.9}
.admail{font-size:15px;color:var(--ink3);margin-top:14px}
.admail b{color:var(--ink,#111);user-select:all}
.admail button,.admail .mailapp{font:inherit;font-size:13px;border:1px solid var(--line);background:none;border-radius:999px;padding:4px 10px;margin-left:6px;cursor:pointer;color:var(--ink2,#333);text-decoration:none}
.admail button i{display:none;font-style:normal;margin-left:4px;color:var(--accent)}
.admail button.on i{display:inline}
/* 공감·공유: 제목 아래 줄 오른쪽 끝, 사이트명과 같은 글자 크기, 줄 없음 (대표 지시 261023) */
.story-meta{border-bottom:0;padding-bottom:0}
.story-meta .acts{margin-left:auto;display:inline-flex;align-items:center;gap:12px;border:0;padding:0;margin-top:0;margin-bottom:0}
.acts button{display:inline;font:inherit;font-size:14px;line-height:inherit;border:0;background:none;color:var(--ink3);padding:0;cursor:pointer}
.acts button:hover{color:var(--accent)}
.acts .like.on{color:var(--accent)}
.acts .like .h{margin-right:3px}
.acts .toast{font-size:14px;color:var(--accent);white-space:nowrap}
.story-meta .byline{margin-left:6px}
.badge{display:inline-block;font-size:12px;border:1px solid var(--line);border-radius:3px;padding:0 6px;color:var(--ink3);margin-left:6px;font-weight:400}

/* 261029 첫화면: 오른쪽 목록 아래로, 큰 기사 넓게, 글자 줄이기 */
.top3{grid-template-columns:2fr 1fr}
.top3 .col-r{grid-column:1/-1;border-top:2px solid var(--line2);padding-top:14px}
.col-r ul{display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px}
.col-r li,.col-r li:first-child{padding:10px 0;border-top:0!important;border-bottom:1px solid var(--line)}
.col-r li a{font-size:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card p,.sec .first p{display:none}
.lead p{-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.card h3 a,.leadmore a.t,.sec li a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.col-l .card{padding-bottom:10px;margin-bottom:10px}
.col-l .card .ph{margin-bottom:6px}
.leadmore li{padding:9px 0}
.lead h2{margin:4px 0 6px}
.nav ul{justify-content:space-between}
@media (max-width:900px){.top3{grid-template-columns:1fr}.col-r ul{grid-template-columns:1fr}}

/* 261029 고객센터: 왼쪽 메뉴 + 본문 */
.helpwrap{display:grid;grid-template-columns:210px 1fr;gap:36px;align-items:start;padding-top:32px}
.helpnav{position:sticky;top:16px;border-top:2px solid var(--line2)}
.helpnav strong{display:block;font-family:var(--serif);font-size:20px;padding:12px 0 8px}
.helpnav ul{list-style:none;margin:0;padding:0}
.helpnav li a{display:block;padding:9px 4px;border-bottom:1px solid var(--line);color:var(--ink2,#333);font-size:15px}
.helpnav li.sub a{padding-left:18px;font-size:14px}
.helpnav li.sub a:before{content:'└ ';color:var(--ink3)}
.helpnav li.on a{color:var(--accent);font-weight:700}
.helppage{margin:0;max-width:none;padding-top:0}
.helppage h2{font-size:20px;margin:28px 0 8px}
.helppage h2.codehead{font-family:var(--serif);font-size:22px;border-top:2px solid var(--line2);padding-top:18px;margin-top:36px}
.helppage h3{font-size:17px;margin:20px 0 4px}
.helppage ul,.helppage ol{padding-left:22px}
.helpnote{font-size:14px;color:var(--ink3)}
.helpcards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}
.helpcards a{display:block;border:1px solid var(--line);border-radius:6px;padding:14px 16px;color:inherit}
.helpcards a:hover{border-color:var(--accent);text-decoration:none}
.helpcards b{display:block;font-size:17px;color:var(--accent)}
.helpcards span{font-size:14px;color:var(--ink3);line-height:1.5}
.helpcards a.sub{margin-left:0}
@media (max-width:760px){.helpwrap{grid-template-columns:1fr;gap:8px;padding-top:16px}.helpnav{position:static}.helpcards{grid-template-columns:1fr}}
.reporters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}
.rcard{border:1px solid var(--line);border-radius:6px;padding:18px;text-align:center}
.rcard .rph{width:96px;height:96px;border-radius:50%;background:var(--line);margin:0 auto 12px}
.rcard b{display:block;font-size:17px}
.rcard span{font-size:14px;color:var(--ink3)}
@media (max-width:760px){.reporters{grid-template-columns:1fr}}
/* 261029 기자 소개: AI 기자 + 문체 담당 */
.aicard{display:flex;gap:16px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:18px;margin:20px 0}
.aicard .rph{width:72px;height:72px;flex:none;border-radius:50%;background:var(--ink);color:var(--paper,#fff);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px}
.aicard b{display:block;font-size:18px;margin-bottom:4px}.aicard span{font-size:14px;color:var(--ink3)}
.rh2{font-size:18px;margin:28px 0 0}
.rcard em{display:block;font-style:normal;font-size:13px;color:var(--ink3);margin-bottom:2px}
.rcard .rcv{list-style:none;padding:0;margin:8px 0 0;font-size:14px;color:var(--ink3)}
.consent{font-size:13px;color:var(--ink3);border-top:1px solid var(--line);padding-top:12px}
.rcard .rph{overflow:hidden}.rcard .rph img{width:100%;height:100%;object-fit:cover}
/* 261029 기사 사진 화사하게 */
main img{filter:brightness(1.08) saturate(1.12) contrast(1.02)}
.foot .legal{margin:4px 0 8px;line-height:1.6;word-break:keep-all}
.prep{padding:80px 0;text-align:center;font-size:17px;line-height:1.8;color:var(--ink2,#444)}
