/* 이루다 IEP 홈 v8 카드 (2026-09-24, 114-v8-home-cards.js) — 광장 자료(인기·새로 올라온·이루다 예시) · 요즘 많이 만드는 수업 · 특수교육 소식 · 한 줄 입력 후보 · 예시 미리보기 창
 * 값은 iepro-v8.css 토큰(.v8 안)만 쓴다. 카드 = 흰 바탕 + 1px 선, 기능 색은 썸네일 옅은 바탕·라벨에만. 터치 44px, 작은 글자 #767676(4.5:1).
 * 시안: docs/design/home_desktop_v8.html 광장 인기 자료(4열 카드) · 요즘 많이 만드는 수업(순위 칩, 7칸) · 특수교육 소식(줄 목록, 5칸), 폰은 카드 가로 넘김.
 * "이루다 예시" 배지: 흰 바탕 + 검정 1px 테두리 + 검정 글자(기능 색과 겹치지 않게, Figma Community "Staff pick"·Notion "Made by Notion" 같은 공식 표시 방식). */
.v8 .v8-hc-plaza[hidden],.v8 .v8-hc-row[hidden],.v8 .v8-hc-trend[hidden],.v8 .v8-hc-news[hidden]{display:none!important}
.v8 .v8-hc-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 12px;flex-wrap:wrap}
.v8 .v8-hc-head-main{display:flex;align-items:baseline;gap:6px 10px;flex-wrap:wrap;min-width:0}
.v8 .v8-hc-sub:empty{display:none}
.v8 .v8-hc-h{margin:0;font-family:var(--v8-serif);font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.02em}
.v8 .v8-hc-head .v8-link{min-height:44px}
.v8 .v8-hc-head .v8-link svg{width:14px;height:14px}
.v8 .v8-hc-foot{margin:0}

/* 광장 자료 */
.v8 .v8-hc-plaza{display:flex;flex-direction:column;gap:20px;min-width:0}
.v8 .v8-hc-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.v8 .v8-hc-card{border:1px solid var(--v8-line-2);border-radius:var(--v8-r-card);overflow:hidden;display:flex;flex-direction:column;background:var(--v8-surface);min-width:0}
.v8 .v8-hc-thumb{height:150px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.v8 .v8-hc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.v8 .v8-hc-thumb-ic{display:flex}
.v8 .v8-hc-thumb-ic svg{width:40px;height:40px}
.v8 .v8-hc-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.v8 .v8-hc-card-title{font-size:16px;font-weight:600;line-height:1.45;color:var(--v8-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v8 a.v8-hc-card-title:hover{text-decoration:underline;text-underline-offset:3px}
.v8 .v8-hc-card-meta{font-size:12px;color:var(--v8-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v8 .v8-hc-card .v8-hc-import{margin-top:auto;min-height:44px;width:100%}
.v8 .v8-hc-card .v8-hc-import svg{width:16px;height:16px}
.v8 .v8-hc-note{margin-top:auto;min-height:44px;display:flex;align-items:center;font-size:13px;color:var(--v8-ink-2)}
.v8 .v8-hc-status:empty{display:none}
.v8 .v8-hc-ex-badge{display:inline-flex;align-items:center;align-self:flex-start;font-size:11px;font-weight:700;line-height:1;padding:4px 9px;border-radius:var(--v8-r-full);border:1px solid var(--v8-ink);background:var(--v8-surface);color:var(--v8-ink);white-space:nowrap}
.v8 .v8-hc-ex-badge--thumb{position:absolute;right:12px;top:12px}

/* 요즘 많이 만드는 수업 · 특수교육 소식 (7:5) */
.v8 .v8-hc-row{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:32px;row-gap:var(--v8-section);align-items:start;min-width:0}
.v8 .v8-hc-row[data-count="1"]{grid-template-columns:minmax(0,1fr)}
.v8 .v8-hc-trend,.v8 .v8-hc-news{display:flex;flex-direction:column;gap:14px;min-width:0}
.v8 .v8-hc-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.v8 .v8-hc-chips li{max-width:100%;min-width:0}
.v8 .v8-hc-chip{min-height:44px;max-width:100%}
.v8 .v8-hc-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v8 .v8-hc-rank{font-size:12px;font-weight:700;color:var(--v8-ink-3);min-width:1ch;flex:none}
.v8 .v8-hc-chips li:nth-child(-n+3) .v8-hc-rank{color:var(--v8-danger)}
.v8 .v8-hc-news-list{list-style:none;margin:0;padding:0}
.v8 .v8-hc-news-row{min-height:52px;border-top:1px solid var(--v8-line);display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--v8-ink)}
.v8 .v8-hc-news-row .v8-badge{flex:none;max-width:9.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v8 .v8-hc-badge-iruda{border-color:var(--fx-iep);color:var(--fx-iep)}
.v8 .v8-hc-news-title{flex:1;min-width:0;font-size:14px;font-weight:500;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v8 a.v8-hc-news-row:hover .v8-hc-news-title{text-decoration:underline;text-underline-offset:3px}
.v8 .v8-hc-news-date{flex:none;font-size:12px;color:var(--v8-ink-3);white-space:nowrap}

/* 한 줄 입력 후보(애매할 때만) */
.v8 .v8-hc-intent{border:1px solid var(--v8-line-2);border-radius:var(--v8-r-card);padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--v8-surface)}
.v8 .v8-hc-intent-lead{margin:0;font-size:14px;color:var(--v8-ink-2)}
.v8 .v8-hc-intent-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v8 button.v8-hc-intent-card{font:inherit;text-align:left;width:100%;cursor:pointer;min-height:76px}
.v8 .v8-hc-intent-foot{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.v8 .v8-hc-intent-foot .v8-btn{min-height:44px}
.v8 .v8-ask[aria-busy="true"] .v8-btn{opacity:.6;cursor:progress}

/* 이루다 예시 미리보기(읽기 전용) — 떠 있는 창이라 아주 옅은 그림자만 */
.v8.v8-hc-dlg{box-sizing:border-box;width:min(1040px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--v8-line-2);border-radius:var(--v8-r-card-lg);background:var(--v8-surface);color:var(--v8-ink);box-shadow:var(--v8-shadow-pop);font-family:var(--v8-sans);overflow:hidden}
.v8.v8-hc-dlg[open]{display:flex;flex-direction:column}
.v8.v8-hc-dlg::backdrop{background:rgba(17,17,17,.45)}
.v8 .v8-hc-dlg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 12px 24px;border-bottom:1px solid var(--v8-line)}
.v8 .v8-hc-dlg-titles{display:flex;flex-direction:column;gap:6px;min-width:0}
.v8 .v8-hc-dlg-title{margin:0;font-family:var(--v8-serif);font-size:22px;font-weight:600;line-height:1.35;letter-spacing:-.02em;overflow-wrap:anywhere}
.v8 .v8-hc-dlg-meta{margin:0}
.v8 .v8-hc-dlg-x{flex:none;width:44px;height:44px;border:0;border-radius:var(--v8-r-btn);background:transparent;color:var(--v8-ink);cursor:pointer;display:flex;align-items:center;justify-content:center}
.v8 .v8-hc-dlg-x:hover{background:var(--v8-soft)}
.v8 .v8-hc-dlg-x svg{width:20px;height:20px}
.v8 .v8-hc-dlg-body{flex:1 1 auto;min-height:0;overflow:auto;background:var(--v8-soft-2);padding:16px 24px}
.v8 .v8-hc-dlg-body[data-kind="ppt"]{overflow:hidden}
.v8 .v8-hc-dlg-body[data-kind="ppt"] iframe{aspect-ratio:16/9;height:auto!important;max-height:calc(100dvh - 260px);border:1px solid var(--v8-line-2)!important;border-radius:14px}
.v8 .v8-hc-dlg-body[data-kind="doc"] iframe{border:1px solid var(--v8-line-2)!important;border-radius:14px}
.v8 .v8-hc-frame{width:100%;height:60vh;border:1px solid var(--v8-line-2);border-radius:14px;background:#FFFFFF}
.v8 .v8-hc-dlg-wait{margin:24px 0;text-align:center}
.v8 .v8-hc-dlg-foot{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;padding:12px 20px 16px 24px;border-top:1px solid var(--v8-line)}
.v8 .v8-hc-dlg-foot:empty{display:none}
.v8 .v8-hc-dlg-nav{display:flex;align-items:center;gap:8px}
.v8 .v8-hc-dlg-nav .v8-btn svg{width:16px;height:16px}
.v8 .v8-hc-dlg-count{min-width:56px;text-align:center;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.v8 .v8-hc-dlg-acts{display:flex;gap:8px;margin-left:auto}
.v8 .v8-hc-dlg-foot .v8-btn{min-height:44px}

@media (max-width:1100px){
  .v8 .v8-hc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v8 .v8-hc-row{grid-template-columns:minmax(0,1fr)}
  .v8 .v8-hc-intent-list{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:599px){
  .v8 .v8-hc-h{font-size:22px}
  .v8 .v8-hc-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:-16px;padding:0 16px 4px 0;-webkit-overflow-scrolling:touch}
  .v8 .v8-hc-card{flex:0 0 220px;scroll-snap-align:start;border-radius:18px}
  .v8 .v8-hc-thumb{height:120px}
  .v8 .v8-hc-news-row{flex-wrap:wrap;row-gap:4px}
  .v8 .v8-hc-news-title{flex-basis:100%;order:3}
  .v8 .v8-hc-news-date{margin-left:auto}
  .v8.v8-hc-dlg{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;border:0}
  .v8 .v8-hc-dlg-head{padding:14px 12px 10px 16px}
  .v8 .v8-hc-dlg-title{font-size:19px}
  .v8 .v8-hc-dlg-body{padding:12px}
  .v8 .v8-hc-dlg-body[data-kind="ppt"]{display:flex}
  .v8 .v8-hc-dlg-body[data-kind="ppt"] iframe{flex:1 1 auto;aspect-ratio:auto;height:auto!important;max-height:none;min-height:0}
  .v8 .v8-hc-dlg-foot{padding:10px 12px calc(12px + env(safe-area-inset-bottom))}
  .v8 .v8-hc-dlg-acts{width:100%}
  .v8 .v8-hc-dlg-acts .v8-btn{flex:1}
  .v8 .v8-hc-dlg-nav{width:100%;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){.v8 .v8-hc-cards{scroll-behavior:auto}}
