/* 2026-10-17 메인화면 코멘트 반영: 메뉴 3개, 검색·더보기, 시황 주제, 하루 대표 일정 */
body>header .header-tools{margin-left:auto;display:flex;gap:2px;align-items:center}
.icon-btn{width:40px;height:40px;display:grid;place-items:center;color:var(--ink);border-radius:8px}
.icon-btn:hover{background:#f3f1f8;color:var(--purple)}
body>header>nav{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:600px){body>header>nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){body>header .header-tools{margin-left:0}}
body.panel-open{overflow:hidden}
.overlay{position:fixed;inset:0;z-index:60}
.overlay-backdrop{position:absolute;inset:0;background:rgba(24,22,40,.38)}
.more-sheet{position:absolute;top:0;right:0;bottom:0;width:min(300px,82vw);background:#fff;padding:16px 18px 24px;overflow:auto;box-shadow:-8px 0 24px rgba(30,25,60,.12)}
.more-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.more-head b{font-size:17px}.more-head button{font-size:18px;width:36px;height:36px}
.more-label{font-size:11px;color:var(--muted);margin:18px 0 4px;font-weight:700;letter-spacing:.3px}
.more-sheet>button{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;font-size:15px;font-weight:600;padding:12px 4px;border-bottom:1px solid var(--line)}
.more-sheet #pending-count{background:#f0ecff;color:var(--purple);padding:2px 7px;border-radius:5px;font-size:11px}
.more-note{font-size:11px;color:var(--muted);margin-top:18px;line-height:1.7}
.search-sheet{position:absolute;top:0;left:0;right:0;background:#fff;padding:12px 16px 16px;max-height:85vh;overflow:auto;box-shadow:0 8px 24px rgba(30,25,60,.12)}
.search-bar{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:4px 6px 4px 12px;color:var(--muted)}
.search-bar input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:16px;padding:10px 0;color:var(--ink);background:transparent}
.search-bar button{font-size:13px;color:var(--muted);padding:8px}
.search-hint{font-size:13px;color:var(--muted);padding:14px 4px;margin:0}
.search-results a{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:13px 4px;border-bottom:1px solid var(--line)}
.search-results .result-type{grid-column:1/-1;font-size:11px;color:var(--purple);font-weight:700}
.search-results strong{font-size:15px;line-height:1.5}.search-results time{font-size:11px;color:var(--muted);align-self:center}
/* 시황체크: 디자인 유지 + 오늘의 주제 */
.market-opinion{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.main-grid .market-panel .today-topics{grid-column:1/-1;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.topics-label{display:block;font-size:11px;font-weight:700;color:var(--purple);margin-bottom:8px}
.topic-chips{display:flex;flex-wrap:wrap;gap:6px}
.topic-chip{font-size:12px;line-height:1.5;background:#f6f4fc;color:#4c4466;border-radius:6px;padding:5px 9px}
.topic-chip b{color:#8a78b8;font-weight:700;margin-right:6px;font-size:11px}
@media(min-width:900px){.main-grid .market-panel .today-topics{margin:0 22px 20px}}
/* 주요일정: 하루 대표 일정 1개 */
#calendar-mini{border-top:1px solid var(--line)}
.sched-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.sched-row:hover{background:#faf8ff}
.sched-date{font-size:12px;font-weight:700;color:var(--purple);white-space:nowrap}
.sched-date small{display:inline-block;margin-left:4px;font-size:9px;background:var(--purple);color:#fff;border-radius:4px;padding:1px 4px;vertical-align:1px}
.sched-row.is-today{background:#fbfaff}
.sched-main{display:flex;align-items:center;gap:7px;min-width:0}
.sched-main b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sched-main small{font-size:11px;color:var(--muted);white-space:nowrap}
.sched-none{font-size:13px;color:#b3aebb}
.kind-chip{flex-shrink:0;font-size:10px;font-weight:700;border-radius:4px;padding:2px 6px;background:#f1f1f4;color:#6b6b78}
.kind-up{background:#e8f6f0;color:#16886a}.kind-down{background:#fbeef0;color:#ce5266}.kind-info{background:#ebf1fd;color:#3b6fd8}.kind-eco{background:#f1f1f4;color:#6b6b78}
.calendar-panel .panel-note{padding:12px 16px}
/* 주요일정 전체 보기 상세 */
.sched-detail{padding:16px 2px;border-bottom:1px solid #eeebf2}
.sched-detail-head{display:flex;align-items:center;gap:8px}
.sched-detail-head h4{margin:0;font-size:15px;flex:1;min-width:0}
.sched-detail-head time{font-size:11px;color:var(--muted);white-space:nowrap}
.sched-detail ul{margin:10px 0 8px;padding-left:18px;font-size:13px;line-height:1.75;color:#5f5d6b}
.sched-detail .source{font-size:12px}

/* 핫이슈 글 (2026-10-18 에대표 수정본) */
.article-date{display:block;font-size:12px;color:var(--muted);margin-top:-6px}
.hero-fig{margin:20px 0 6px}.hero-fig img,.article-copy .top10 img{display:block;width:100%;height:auto;border-radius:10px}
.article-copy .top10{margin:16px 0 8px}
.article-copy h2{font-size:19px;margin:30px 0 10px;color:var(--ink)}
.article-copy p{margin:0 0 16px}
.article-copy .article-disclaimer{font-size:12px!important;line-height:1.8!important;color:#898290!important;border-top:1px solid var(--line);margin-top:26px;padding-top:18px}
@media(min-width:700px){.hot-article{max-width:640px;margin-left:auto;margin-right:auto}}
.hot-article .article-heading h1{font-size:22px;letter-spacing:-.8px;word-break:keep-all;white-space:normal}

/* 주요일정 전체보기 (2026-10-18 에대표 약식 시안 반영): 코인=한 줄·누르면 상세, 경제=전부 한 줄씩 */
.kind-info{background:#e3edff;color:#2f66d6}
.sched-detail,.sched-detail-head{display:none}
.ev-coin{border-bottom:1px solid #eeebf2}
.ev-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:13px 2px;min-height:46px}
.ev-title{flex:1;min-width:0;font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.ev-row time{flex-shrink:0;font-size:11px;color:var(--muted)}
.ev-chev{flex-shrink:0;width:7px;height:7px;border-right:2px solid #a9a3b6;border-bottom:2px solid #a9a3b6;transform:rotate(45deg);margin:-3px 4px 0 2px;transition:transform .15s}
.ev-row[aria-expanded="true"] .ev-chev{transform:rotate(-135deg);margin-top:3px}
.ev-detail{padding:0 2px 14px}
.ev-detail ul{margin:0;padding-left:30px;font-size:13px;line-height:1.75;color:#5f5d6b}
.ev-eco{padding:13px 2px 8px;border-bottom:1px solid #eeebf2}
.ev-eco-head{display:flex;align-items:center;gap:8px;min-height:30px}
.eco-lines{list-style:none;margin:6px 0 4px;padding:0 0 0 2px}
.eco-lines li{display:flex;align-items:baseline;gap:10px;font-size:13px;line-height:1.5;padding:5px 0 5px 12px;color:#5f5d6b;position:relative}
.eco-lines li::before{content:"";position:absolute;left:0;top:13px;width:4px;height:4px;border-radius:50%;background:#9c98a8}
.eco-lines li>span,.eco-lines:not(.eco-week) li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eco-text{flex:1;min-width:0}
.eco-lines time{flex-shrink:0;font-size:11px;color:var(--muted)}

/* 핫이슈 글 사진 크게 보기 */
.hero-fig img,.article-copy .top10 img{cursor:zoom-in}
.hero-fig::after,.article-copy .top10::after{content:"사진을 누르면 크게 볼 수 있어요";display:block;text-align:right;font-size:11px;color:var(--muted);margin-top:6px}
#lightbox{position:fixed;inset:0;z-index:100;background:rgba(10,9,18,.94);display:flex;flex-direction:column}
#lightbox[hidden]{display:none}
.lb-close{position:absolute;top:12px;right:12px;z-index:2;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:20px;display:grid;place-items:center}
.lb-scroll{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;-webkit-overflow-scrolling:touch;padding:56px 0 44px}
.lb-scroll img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;cursor:zoom-in;border-radius:4px}
#lightbox.zoomed .lb-scroll{display:block;text-align:left}
#lightbox.zoomed .lb-scroll img{max-width:none;max-height:none;width:230%;cursor:zoom-out;margin:0}
.lb-hint{position:absolute;left:0;right:0;bottom:12px;margin:0;text-align:center;font-size:11px;color:rgba(255,255,255,.65);pointer-events:none}

/* 시황체크 본문 새 양식 (2026-10-18 에대표 시안 반영) */
.mk-stance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:6px 0 4px}
.mk-stance .st{border-radius:9px;overflow:hidden;text-align:center;padding-bottom:8px;border:1px solid #e8e7ee}
.mk-stance .st1{--h:#aad1d0;--b:#e4eeed}.mk-stance .st2{--h:#e7d2a1;--b:#f5ecda}.mk-stance .st3{--h:#a6c7e0;--b:#e0eaf4}.mk-stance .st4{--h:#c3c3c3;--b:#e9e9e9}
.mk-stance .st{background:var(--b)}
.mk-stance .st-h{background:var(--h);font-size:11px;font-weight:700;color:#3b3b44;padding:4px 0}
.mk-stance svg.ic{display:block;height:22px;width:auto;margin:8px auto 4px}
.mk-stance b{display:block;font-size:11px;line-height:1.3;margin:0 4px;color:#25252f;word-break:keep-all}
.mk-stance span{display:block;font-size:9px;line-height:1.4;color:#5d5d68;margin:4px 3px 0;word-break:keep-all}
.mk-sec>h2{font-size:22px;margin:30px 0 8px;letter-spacing:-.5px;scroll-margin-top:110px}
.mk-sec .pts{margin-top:4px}
.mk-sec .pts p a{color:#6d52e7;text-decoration:underline;text-underline-offset:3px}
.mk-sec .tr.one{grid-template-columns:1fr}
.mk-verdict{background:#f3f0fb;color:#7255c2!important;padding:9px 12px;border-radius:6px}
.mk-sec .cur span{display:block}
.mk .investment-note{font-size:12px;color:#99909c;border-top:1px solid #ece9f1;margin-top:26px;padding-top:18px}
.mk .investment-note{white-space:nowrap;font-size:clamp(9px,calc((100vw - 44px)/29),12px)!important;letter-spacing:-.2px}

/* 관리자(본인만) */
.admin-only{display:none}
body.is-admin .admin-only{display:block}
.ad-form label{display:block;margin-top:16px;font-size:12px;color:#666;font-weight:700}
.ad-in,.ad-ta{display:block;width:100%;margin-top:6px;border:1px solid #dddde7;border-radius:8px;padding:11px 12px;font:inherit;font-size:15px;color:var(--ink);background:#fff}
.ad-ta{line-height:1.7;resize:vertical}
.ad-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ad-sec{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fcfbff}
.ad-sec-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--purple);margin-bottom:6px}
.ad-del{font-size:11px;color:#ce5266;padding:6px 0}
.ad-note{font-size:11px;color:var(--muted);line-height:1.6;margin:6px 0 0}
.ad-add{display:block;width:100%;margin-top:14px;border:1px dashed #b9aef0;border-radius:10px;padding:13px;color:var(--purple);font-weight:700}
.ad-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}
.ad-save{background:var(--purple);color:#fff;border-radius:9px;padding:13px 26px;font-weight:700;font-size:15px}
.ad-save:disabled{opacity:.5}
.ad-prev,.ad-reset{border:1px solid var(--line);border-radius:9px;padding:12px 16px;font-size:13px;color:#555}
.ad-reset{color:#ce5266}
.ad-h2{font-size:15px;margin:22px 0 4px}
.ad-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:15px 2px;border-bottom:1px solid var(--line)}
.ad-row strong{font-size:14.5px;min-width:0}.ad-row span{font-size:11px;color:var(--muted);white-space:nowrap}.ad-row em{color:var(--purple);font-style:normal;font-weight:700}
.ad-fmt{display:flex;flex-wrap:wrap;gap:8px;align-items:center;position:sticky;top:0;z-index:5;background:#faf8ff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:8px 0 4px}
.ad-fmt span{width:100%;font-size:11px;color:var(--muted)}
.ad-fmt button{border:1px solid #d9d2f3;background:#fff;border-radius:7px;padding:8px 16px;font-size:13px}
.ad-photos{display:grid;grid-template-columns:1fr;gap:14px;margin-top:18px}
.ad-photo{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fcfbff}
.ad-photo-label{display:block;font-size:12px;font-weight:700;color:#666;margin-bottom:8px}
.ad-photo-img{display:block;width:100%;max-height:200px;object-fit:contain;background:#f1eff8;border-radius:8px}
.ad-photo-btns{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.ad-file{display:inline-block;background:var(--purple);color:#fff;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer}
.ad-photo-reset{border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-size:12px;color:#555}
.ad-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.ad-login{max-width:420px}
.ev-links{display:flex;flex-wrap:wrap;gap:0 16px;margin:0 0 0 30px;font-size:13px;line-height:1.75}
.ev-link{display:inline-block;color:var(--purple);font-size:13px;font-weight:400;line-height:1.75;padding:2px 0;text-decoration:none}
.ev-link:hover{opacity:.7}
