/* 슈토커 홈 (js/home-dashboard.js) */
main.home-dash-page #side-menu{display:none!important}
.home-dash{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-top:4px;min-width:0}
.home-dash h2{margin:0;font-size:16px;font-weight:700;color:var(--fz-g2)}
.home-dash header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}
.dash-more{display:inline-flex;align-items:baseline;gap:3px;font-size:12px;color:var(--fz-g7);text-decoration:none;white-space:nowrap}
.dash-more span{display:inline}
.dash-more:hover{color:var(--fz-accent-dark)}
.dash-empty{margin:0;padding:24px 0;text-align:center;color:var(--fz-g8);font-size:13px}

/* 공지 한 줄 */
.dash-notice{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--fz-accent-soft);color:var(--fz-g3);text-decoration:none;font-size:14px;min-width:0}
.dash-notice b{flex:none;padding:2px 7px;background:var(--fz-accent-dark);color:#fff;font-size:11px;font-weight:700}
.dash-notice span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-notice time{flex:none;color:var(--fz-g8);font-size:12px;font-variant-numeric:tabular-nums}
.dash-notice:hover span{color:var(--fz-accent-dark)}

/* 출석 카드 · 오늘의 1·2·3등 — PC 는 두 칸, 모바일은 위아래 */
.dash-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.dash-card{border:1px solid var(--line);padding:18px 18px 16px;display:flex;flex-direction:column;min-width:0}
.dash-attend dl{display:grid;grid-template-columns:repeat(3,1fr);margin:4px 0 16px}
.dash-attend dl div{display:flex;flex-direction:column-reverse;align-items:center;gap:2px}
.dash-attend dl div+div{border-left:1px solid var(--line)}
.dash-attend dt{font-size:11px;color:var(--fz-g7)}
.dash-attend dd{margin:0;font-size:24px;font-weight:700;color:var(--fz-g2);font-variant-numeric:tabular-nums}
.dash-attend dd small{margin-left:2px;font-size:12px;font-weight:500;color:var(--fz-g7)}
.dash-check{margin-top:auto;width:100%;height:36px;font-size:14px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none}
.dash-attend.is-two dl{grid-template-columns:repeat(2,1fr)}
.dash-attend dl{grid-template-columns:repeat(2,1fr);margin-bottom:8px}   /* 로그인: 오늘 · 올해 내 출석 / 비로그인: 오늘 · 어제 — 누적은 아래 한 줄 */
.dash-since{margin:0 0 14px;text-align:center;font-size:12px;color:var(--fz-g8)}
.dash-since b{color:var(--fz-g5);font-weight:600;font-variant-numeric:tabular-nums}
.dash-check:disabled{opacity:.5;cursor:default}

/* 다운로드 스크린샷 */
.dash-shots ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px}
.dash-shots li a{display:flex;flex-direction:column;gap:6px;color:inherit;text-decoration:none;min-width:0}
.dash-shot{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--fz-gf2)}
.dash-shot img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}
.dash-shots li a:hover img{transform:scale(1.04)}
.dash-shot-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--fz-g8);font-variant-numeric:tabular-nums}
.dash-shot-meta em{font-style:normal;color:var(--fz-accent-dark);font-weight:600}
.dash-shot-meta i{font-style:normal;margin-left:auto}
.dash-shots strong{font-size:13px;font-weight:600;line-height:1.45;color:var(--fz-g2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dash-shots li a:hover strong{color:var(--fz-accent-dark)}
@media(prefers-reduced-motion:reduce){.dash-shot img{transition:none}.dash-shots li a:hover img{transform:none}}

/* 토크박스 최근 글 */
.dash-talk ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}   /* 맨 윗줄도 다른 줄처럼 연하게 */
.dash-talk li a{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line);color:var(--fz-g3);text-decoration:none;font-size:14px;min-width:0}
.dash-talk em{flex:none;min-width:34px;font-style:normal;font-size:12px;color:var(--fz-g7);font-weight:600}
.dash-talk span{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}   /* 댓글 수가 제목 바로 옆에 붙게 — 날짜만 오른쪽 끝 */
.dash-talk i{flex:none;font-style:normal;font-size:12px;color:var(--fz-accent-dark)}
.dash-talk time{flex:none;width:40px;margin-left:auto;text-align:right;font-size:12px;color:var(--fz-g8);font-variant-numeric:tabular-nums}
.dash-talk li a:hover span{color:var(--fz-accent-dark)}

@media(max-width:900px){
.dash-shots ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
.home-dash{gap:24px}   /* 좌우 여백은 main(16px) 하나 — 머리 여백과 같게 */
.dash-shots ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
.dash-notice{font-size:13px;padding:11px 12px}
.dash-talk li a{font-size:13px;gap:8px}
}
/* 오늘의 1·2·3등 — 가로 막대 (막대 길이 1등 100% · 2등 82% · 3등 66%) */
.dash-podium{--gold:#e8b931;--silver:#a9b4c6;--bronze:#d08a5a}
.dash-podium ol{list-style:none;margin:auto 0 0;padding:0;display:grid;gap:9px}
.dash-podium li{display:block}   /* 시간 칸 없앰 (2026-10-20) — 막대만 */
.podium-bar{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px 0 0;color:#fff;box-sizing:border-box;min-width:0;overflow:hidden}
.podium-bar em{flex:none;width:30px;height:100%;display:grid;place-items:center;background:rgba(0,0,0,.14);font-style:normal;font-size:16px;font-weight:800}
.podium-who{flex:1;min-width:0;display:inline-flex;align-items:center;gap:5px;font-size:13px}
.podium-who b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.podium-bar small{flex:none;font-size:11px;font-weight:700;opacity:.95}
.dash-podium time{font-size:11px;color:var(--fz-g8);font-variant-numeric:tabular-nums;text-align:right}
.rank-1 .podium-bar{width:100%;background:var(--gold)}
.rank-2 .podium-bar{width:82%;background:var(--silver)}
.rank-3 .podium-bar{width:66%;background:var(--bronze)}
.dash-podium li.is-empty .podium-bar{opacity:.35}
@media(max-width:760px){
.dash-row{grid-template-columns:minmax(0,1fr);gap:14px}
.rank-2 .podium-bar{width:90%}.rank-3 .podium-bar{width:80%}
}
