/* ================================================================
   themes.css — 8가지 비주얼 스타일. 모두 같은 DOM을 재해석한다.
   공통 DOM: #masthead(.mast-eyebrow/.mast-title/.mast-sub/#q/#chips)
            section.cat > .cathead(.emo/h2/.cnt) + .grid > .card
            .card > .c-idx .c-name .c-one .c-open-label .c-gh
   ================================================================ */

/* default content baselines (overridden per theme) */
.mast-eyebrow{ display:none; }
.c-open-label{ display:none; }
.card .c-name{ word-break:break-word; }

/* ════════════════════════════════════════════════════════════════
   1) TERMINAL — 인광 터미널, 모노스페이스 디렉터리 리스트
   ════════════════════════════════════════════════════════════════ */
body[data-theme="terminal"]{
  background:#080b08; color:#86efac;
  font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;
  font-size:13.5px; letter-spacing:.01em;
}
body[data-theme="terminal"] #masthead{ background:#080b08; border-bottom:1px dashed #1f3b27; }
body[data-theme="terminal"] .mast-eyebrow{ display:block; color:#3f7d52; font-size:12px; margin-bottom:6px; }
body[data-theme="terminal"] .mast-eyebrow::before{ content:"user@trendshift:~/repos$ ls -la"; }
body[data-theme="terminal"] .mast-title{ font-size:22px; font-weight:700; color:#bbf7d0; margin:0 0 4px; }
body[data-theme="terminal"] .mast-title::before{ content:"# "; color:#3f7d52; }
body[data-theme="terminal"] .mast-sub{ color:#4d8f63; font-size:12px; margin:0; }
body[data-theme="terminal"] .mast-sub b{ color:#86efac; font-weight:700; }
body[data-theme="terminal"] #q{ margin-top:14px; background:#0c130c; color:#bbf7d0; caret-color:#86efac;
  border:1px solid #1f3b27; border-radius:0; padding:9px 12px; font-family:inherit; font-size:13px; }
body[data-theme="terminal"] #q::placeholder{ color:#3f7d52; }
body[data-theme="terminal"] #q:focus{ border-color:#4ade80; box-shadow:0 0 0 1px #14361d; }
body[data-theme="terminal"] .chip{ color:#5aa873; border:1px solid #1f3b27; background:#0c130c;
  padding:4px 9px; font-size:11.5px; border-radius:0; }
body[data-theme="terminal"] .chip:hover{ color:#080b08; background:#86efac; border-color:#86efac; }
body[data-theme="terminal"] .chip-n{ color:#3f7d52; margin-left:6px; }
body[data-theme="terminal"] .chip:hover .chip-n{ color:#14361d; }
body[data-theme="terminal"] section.cat{ margin-top:30px; }
body[data-theme="terminal"] .cathead{ display:flex; align-items:center; gap:8px; color:#bbf7d0; margin-bottom:6px; }
body[data-theme="terminal"] .cathead .emo{ font-size:14px; filter:grayscale(.3); }
body[data-theme="terminal"] .cathead h2{ font-size:14px; font-weight:700; margin:0; text-transform:lowercase; }
body[data-theme="terminal"] .cathead h2::before{ content:"./"; color:#3f7d52; }
body[data-theme="terminal"] .cathead .cnt{ color:#3f7d52; font-size:12px; }
body[data-theme="terminal"] .cathead::after{ content:""; flex:1; border-top:1px dashed #1f3b27; }
body[data-theme="terminal"] .grid{ grid-template-columns:1fr; gap:0; }
body[data-theme="terminal"] .card{ flex-direction:row; align-items:baseline; gap:10px;
  padding:5px 8px; border-bottom:1px solid #11221512; }
body[data-theme="terminal"] .card:hover{ background:#0e1a0f; }
body[data-theme="terminal"] .card:hover .c-name{ color:#080b08; background:#86efac; }
body[data-theme="terminal"] .c-idx{ color:#2f6342; font-size:12px; min-width:24px; }
body[data-theme="terminal"] .c-name{ color:#bbf7d0; font-weight:700; flex:none; padding:0 2px; }
body[data-theme="terminal"] .c-one{ color:#5aa873; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12.5px; }
body[data-theme="terminal"] .c-one::before{ content:"— "; color:#2f6342; }
body[data-theme="terminal"] .c-gh{ color:#3f7d52; font-size:11px; flex:none; }
body[data-theme="terminal"] .c-gh:hover{ color:#4ade80; text-decoration:underline; }
body[data-theme="terminal"] .cnt-empty{ color:#3f7d52; padding:8px; }
body[data-theme="terminal"] mark{ background:#fde047; color:#080b08; }
body[data-theme="terminal"] #foot{ color:#3f7d52; border-top:1px dashed #1f3b27; padding:22px 26px 60px; font-size:11.5px; }

/* ════════════════════════════════════════════════════════════════
   2) SWISS FAMILY — 같은 DNA(화이트·헬베티카·붉은 악센트), 5가지 형태
      · swiss          그리드        (균일 셀 그리드)
      · swiss-bento    벤토 모자이크 (크기 다른 블록 + 검정 피처 타일)
      · swiss-time     타임라인      (세로 척추 + 다이아 눈금)
      · swiss-big      빅 타입       (초대형 이름 가로 행)
      · swiss-shelf    가로 선반     (카테고리별 가로 스크롤 랙)
   ════════════════════════════════════════════════════════════════ */
/* ---- shared Swiss DNA (모든 swiss* 변형) ---- */
body[data-theme^="swiss"]{
  background:#ffffff; color:#0a0a0a;
  font-family:"Archivo",Helvetica,Arial,sans-serif;
}
body[data-theme^="swiss"] #masthead{ background:#fff; border-bottom:2px solid #0a0a0a; }
body[data-theme^="swiss"] .mast-inner{ padding-top:14px; padding-bottom:12px; }
body[data-theme^="swiss"] .mast-eyebrow{ display:block; font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:#e2231a; margin-bottom:7px; }
body[data-theme="swiss"] .mast-eyebrow::before{ content:"INDEX / 2026 — 그리드"; }
body[data-theme="swiss-bento"] .mast-eyebrow::before{ content:"INDEX / 2026 — 벤토 모자이크"; }
body[data-theme="swiss-time"] .mast-eyebrow::before{ content:"INDEX / 2026 — 타임라인"; }
body[data-theme="swiss-big"] .mast-eyebrow::before{ content:"INDEX / 2026 — 빅 타입"; }
body[data-theme="swiss-shelf"] .mast-eyebrow::before{ content:"INDEX / 2026 — 가로 선반"; }
body[data-theme^="swiss"] .mast-title{ font-size:46px; font-weight:800; letter-spacing:-.03em; line-height:1.1; margin:0 0 10px; }
body[data-theme^="swiss"] .mast-sub{ font-size:13px; color:#5a5a5a; margin:0; font-weight:500; }
body[data-theme^="swiss"] .mast-sub b{ color:#0a0a0a; }
body[data-theme^="swiss"] #q{ margin-top:11px; border:none; border-bottom:2px solid #0a0a0a; border-radius:0; padding:6px 2px; font-size:15px; font-weight:500; background:transparent; }
body[data-theme^="swiss"] #q::placeholder{ color:#b0b0b0; }
body[data-theme^="swiss"] #q:focus{ border-color:#e2231a; }
body[data-theme^="swiss"] .chip{ font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:#0a0a0a; border:1px solid #d4d4d4; padding:4px 9px; border-radius:0; }
body[data-theme^="swiss"] .chip:hover{ background:#0a0a0a; color:#fff; border-color:#0a0a0a; }
body[data-theme^="swiss"] .chip-emo{ display:none; }
body[data-theme^="swiss"] .chip-n{ color:#e2231a; margin-left:7px; font-weight:700; }
body[data-theme^="swiss"] .chip:hover .chip-n{ color:#fff; }
body[data-theme^="swiss"] section.cat{ margin-top:54px; }
body[data-theme^="swiss"] .cathead{ display:grid; grid-template-columns:auto 1fr auto; align-items:end; gap:14px; border-bottom:1px solid #0a0a0a; padding-bottom:8px; margin-bottom:22px; }
body[data-theme^="swiss"] .cathead .emo{ display:none; }
body[data-theme^="swiss"] .cathead h2{ font-size:19px; font-weight:800; letter-spacing:-.01em; text-transform:uppercase; margin:0; }
body[data-theme^="swiss"] .cathead .cnt{ font-size:12px; font-weight:600; color:#999; font-variant-numeric:tabular-nums; }
body[data-theme^="swiss"] .cnt-empty{ color:#999; padding:14px; font-size:13px; }
body[data-theme^="swiss"] mark{ background:#fde047; }
body[data-theme^="swiss"] #foot{ border-top:2px solid #0a0a0a; padding:26px; margin-top:40px; font-size:12px; color:#888; font-weight:500; }
/* shared Swiss sub-group header */
body[data-theme^="swiss"] .sub{ margin-top:26px; }
body[data-theme^="swiss"] .sub:first-of-type{ margin-top:4px; }
body[data-theme^="swiss"] .subhead{ align-items:start; gap:11px; border-bottom:1px solid #e2231a; padding-bottom:7px; margin-bottom:16px; }
body[data-theme^="swiss"] .sub-mark{ font-size:10px; font-weight:700; color:#e2231a; opacity:1; letter-spacing:.05em; line-height:1.7; }
body[data-theme^="swiss"] .subhead h3{ font-size:13px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#0a0a0a; line-height:1.3; }
body[data-theme^="swiss"] .sub-desc{ color:#7a7a7a; opacity:1; font-size:12.5px; }
body[data-theme^="swiss"] .sub-n{ font-size:11px; font-weight:600; color:#b0b0b0; opacity:1; line-height:1.7; }
/* shared Swiss card tags + 설명/쓸 때 */
body[data-theme^="swiss"] .c-tags{ margin-top:10px; }
body[data-theme^="swiss"] .tag{ opacity:1; color:#5a5a5a; border:1px solid #dcdcdc; padding:2px 7px; text-transform:uppercase; letter-spacing:.03em; }
body[data-theme^="swiss"] .tag:hover{ border-color:#e2231a; color:#e2231a; }
body[data-theme^="swiss"] .tag.on{ border-color:#e2231a; color:#e2231a; background:#fdeeec; font-weight:700; }
body[data-theme^="swiss"] .c-use-inline{ color:inherit; opacity:1; }
/* 레포 이름 = GitHub 링크, 호버 시 안내 노출 */
body[data-theme^="swiss"] .c-name{ color:#0a0a0a; }
body[data-theme^="swiss"] .c-name-gh{ font-size:10px; font-weight:700; color:#e2231a; margin-left:8px; letter-spacing:.03em; text-transform:uppercase; }
body[data-theme^="swiss"] .c-name:hover .c-name-text{ color:#e2231a; }
/* 설명+쓸 때 한 줄을 최대 줄 수로 제한해 카드 높이 폭주 방지 */
body[data-theme^="swiss"] .c-one{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; overflow:hidden; }
body[data-theme="swiss-time"] .c-one{ -webkit-line-clamp:2; line-clamp:2; }
body[data-theme="swiss-bento"] .c-one{ -webkit-line-clamp:3; line-clamp:3; }
body[data-theme="swiss-bento"] .card:nth-child(7n+1) .c-one{ -webkit-line-clamp:4; line-clamp:4; }
body[data-theme="swiss-big"] .c-one{ -webkit-line-clamp:2; line-clamp:2; }
body[data-theme^="swiss"] .c-meta .c-gh{ position:static; top:auto; right:auto; }
/* big type: keep minimal — drop tags & 쓸 때 */
body[data-theme="swiss-big"] .c-tags, body[data-theme="swiss-big"] .c-use-inline{ display:none; }
/* bento: tags at bottom, drop 쓸 때; light colors on black feature tile */
body[data-theme="swiss-bento"] .c-use-inline{ display:none; }
body[data-theme="swiss-bento"] .card > .c-tags{ order:4; margin-top:10px; }
body[data-theme="swiss-bento"] .card:nth-child(7n+1) .tag{ color:#cfcfcf; border-color:#4a4a4a; }
/* shared Swiss favorite + interest controls */
body[data-theme^="swiss"] .c-meta{ margin-top:auto; padding-top:12px; border-top:1px solid #eee; }
body[data-theme^="swiss"] .c-fav{ color:#cdcdcd; opacity:1; }
body[data-theme^="swiss"] .c-fav:hover{ color:#f5a623; }
body[data-theme^="swiss"] .c-fav.on{ color:#f5a623; }
body[data-theme^="swiss"] .c-interest .ilabel{ color:#555; }
body[data-theme^="swiss"] .c-interest .star{ color:#cdcdcd; opacity:1; }
body[data-theme^="swiss"] .c-interest .star:hover{ color:#f5b84e; }
/* 호버 미리보기: 올린 별까지 채워 보이기 */
body[data-theme^="swiss"] .c-interest[data-hover] .star{ color:#cdcdcd; }
body[data-theme^="swiss"] .c-interest[data-hover="1"] .star:nth-child(2),
body[data-theme^="swiss"] .c-interest[data-hover="2"] .star:nth-child(-n+3),
body[data-theme^="swiss"] .c-interest[data-hover="3"] .star:nth-child(-n+4),
body[data-theme^="swiss"] .c-interest[data-hover="4"] .star:nth-child(-n+5),
body[data-theme^="swiss"] .c-interest[data-hover="5"] .star:nth-child(-n+6){ color:#f5a623; }
/* 즐겨찾기 칩 + 관심도 필터 바 */
body[data-theme^="swiss"] .chip-fav.on{ background:#0a0a0a; color:#fff; border-color:#0a0a0a; }
body[data-theme^="swiss"] .chip-fav.on .chip-n{ color:#fff; }
body[data-theme^="swiss"] #filter-bar{ margin-top:13px; }
body[data-theme^="swiss"] .fb-label{ font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#0a0a0a; opacity:1; }
body[data-theme^="swiss"] .fstar{ color:#d6d6d6; opacity:1; font-size:16px; }
body[data-theme^="swiss"] .fstar:hover{ color:#f5b84e; }
/* card marker when favorited — soft warm tint (gold 별과 통일) */
body[data-theme^="swiss"] .card.is-fav{ background:#fffdf4; }
body[data-theme^="swiss"] .card.is-fav:hover{ background:#fff8e6; }
/* big type: keep ultra-minimal — hide controls */
body[data-theme="swiss-big"] .c-meta{ display:none; }
body[data-theme="swiss-big"] .c-top{ display:none; }
body[data-theme="swiss-big"] .card.is-fav{ background:#fffdf4; }
/* bento: place controls last; light colors on black feature tile */
body[data-theme="swiss-bento"] .card > .c-meta{ order:5; margin-top:auto; }
body[data-theme="swiss-bento"] .card:nth-child(7n+1) .c-meta{ border-top-color:#3a3a3a; }
body[data-theme="swiss-bento"] .card:nth-child(7n+1) .c-fav{ color:#777; }
body[data-theme="swiss-bento"] .card:nth-child(7n+1) .c-gh{ color:#9a9a9a; }
body[data-theme="swiss-bento"] .card:nth-child(7n+1) .c-interest .ilabel{ color:#999; }
body[data-theme="swiss-bento"] .card:nth-child(7n+1) .c-interest .star{ color:#555; }

/* ---- 2a. swiss · GRID (균일 셀) ---- */
body[data-theme="swiss"] .grid{ grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:0; border-left:1px solid #e6e6e6; }
body[data-theme="swiss"] .card{ flex-direction:column; gap:0; padding:16px 18px 20px; border-right:1px solid #e6e6e6; border-bottom:1px solid #e6e6e6; }
body[data-theme="swiss"] .card:hover{ background:#fafafa; }
body[data-theme="swiss"] .c-idx{ font-size:11px; font-weight:700; color:#e2231a; letter-spacing:.05em; margin-bottom:10px; font-variant-numeric:tabular-nums; }
body[data-theme="swiss"] .c-name{ font-size:16px; font-weight:700; letter-spacing:-.01em; line-height:1.2; }
body[data-theme="swiss"] .c-one{ font-size:13px; color:#5a5a5a; line-height:1.45; margin-top:7px; font-weight:400; }
body[data-theme="swiss"] .c-open-label{ display:block; margin-top:14px; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#0a0a0a; }
body[data-theme="swiss"] .card:hover .c-open-label{ color:#e2231a; }
body[data-theme="swiss"] .c-gh{ position:absolute; top:16px; right:16px; z-index:2; font-size:10.5px; font-weight:600; color:#b0b0b0; letter-spacing:.03em; }
body[data-theme="swiss"] .c-gh:hover{ color:#0a0a0a; }

/* ---- 2b. swiss-bento · MOSAIC (크기 다른 블록) ---- */
body[data-theme="swiss-bento"] .grid{ grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); grid-auto-flow:dense; gap:10px; }
body[data-theme="swiss-bento"] .card{ flex-direction:column; justify-content:space-between; gap:10px; padding:15px 16px 16px; border:1.5px solid #0a0a0a; min-height:130px; }
body[data-theme="swiss-bento"] .card:hover{ background:#fafafa; }
body[data-theme="swiss-bento"] .card:nth-child(7n+1){ grid-column:span 2; background:#0a0a0a; color:#fff; }
body[data-theme="swiss-bento"] .card:nth-child(7n+1):hover{ background:#1b1b1b; }
body[data-theme="swiss-bento"] .card:nth-child(7n+5){ grid-column:span 2; }
body[data-theme="swiss-bento"] .c-idx{ font-size:11px; font-weight:700; color:#e2231a; letter-spacing:.05em; font-variant-numeric:tabular-nums; }
body[data-theme="swiss-bento"] .c-name{ font-size:16px; font-weight:800; letter-spacing:-.01em; line-height:1.15; }
body[data-theme="swiss-bento"] .card:nth-child(7n+1) .c-name{ font-size:23px; }
body[data-theme="swiss-bento"] .c-one{ font-size:12.5px; color:#5a5a5a; line-height:1.4; margin-top:6px; }
body[data-theme="swiss-bento"] .card:nth-child(7n+1) .c-one{ color:#c4c4c4; font-size:14px; }
body[data-theme="swiss-bento"] .c-open-label{ display:none; }
body[data-theme="swiss-bento"] .c-gh{ position:absolute; top:13px; right:14px; z-index:2; font-size:10px; font-weight:600; color:#b0b0b0; }
body[data-theme="swiss-bento"] .card:nth-child(7n+1) .c-gh{ color:#777; }
body[data-theme="swiss-bento"] .c-gh:hover{ color:#e2231a; }
/* keep name/idx/one above the stretched link, stacked */
body[data-theme="swiss-bento"] .card > .c-idx{ order:1; }
body[data-theme="swiss-bento"] .card > .c-name{ order:2; }
body[data-theme="swiss-bento"] .card > .c-one{ order:3; margin-top:6px; flex:1; }

/* ---- 2c. swiss-time · TIMELINE SPINE (세로 척추) ---- */
body[data-theme="swiss-time"] .grid{ display:block; position:relative; margin-left:62px; padding-left:30px; border-left:2px solid #0a0a0a; }
body[data-theme="swiss-time"] .card{ display:block; position:relative; padding:14px 0 16px; border-bottom:1px solid #ededed; }
body[data-theme="swiss-time"] .card::before{ content:""; position:absolute; left:-37px; top:19px; width:9px; height:9px; background:#e2231a; transform:rotate(45deg); }
body[data-theme="swiss-time"] .card:hover::before{ background:#0a0a0a; }
body[data-theme="swiss-time"] .card:hover .c-name{ color:#e2231a; }
body[data-theme="swiss-time"] .c-idx{ position:absolute; left:-92px; top:14px; width:48px; text-align:right; font-size:13px; font-weight:700; color:#e2231a; font-variant-numeric:tabular-nums; }
body[data-theme="swiss-time"] .c-name{ font-size:16px; font-weight:700; letter-spacing:-.01em; line-height:1.2; }
body[data-theme="swiss-time"] .c-one{ display:block; font-size:13px; color:#5a5a5a; line-height:1.45; margin-top:5px; max-width:60ch; }
body[data-theme="swiss-time"] .c-open-label{ display:none; }
body[data-theme="swiss-time"] .c-gh{ position:absolute; top:14px; right:0; z-index:2; font-size:10.5px; font-weight:600; color:#b0b0b0; }
body[data-theme="swiss-time"] .c-gh:hover{ color:#0a0a0a; }

/* ---- 2d. swiss-big · BIG TYPE ROWS (초대형 이름) ---- */
body[data-theme="swiss-big"] .grid{ display:block; border-top:2px solid #0a0a0a; }
body[data-theme="swiss-big"] .card{ display:flex; align-items:center; gap:22px; padding:16px 0; border-bottom:1px solid #d4d4d4; }
body[data-theme="swiss-big"] .card:hover .c-name{ color:#e2231a; }
body[data-theme="swiss-big"] .c-idx{ flex:none; width:42px; font-size:14px; font-weight:700; color:#e2231a; font-variant-numeric:tabular-nums; align-self:flex-start; padding-top:10px; }
body[data-theme="swiss-big"] .c-name{ flex:none; font-size:clamp(26px,4.4vw,52px); font-weight:800; letter-spacing:-.035em; line-height:1; }
body[data-theme="swiss-big"] .c-one{ flex:1; min-width:0; margin-left:auto; text-align:right; font-size:13px; color:#5a5a5a; line-height:1.4; max-width:32ch; align-self:flex-end; padding-bottom:6px; }
body[data-theme="swiss-big"] .c-open-label{ display:none; }
body[data-theme="swiss-big"] .c-gh{ display:none; }
@media (max-width:720px){
  body[data-theme="swiss-big"] .card{ flex-wrap:wrap; gap:6px 16px; }
  body[data-theme="swiss-big"] .c-one{ flex:1 0 100%; text-align:left; margin-left:64px; max-width:none; padding-bottom:0; }
}

/* ---- 2e. swiss-shelf · HORIZONTAL RACK (가로 스크롤) ---- */
body[data-theme="swiss-shelf"] .grid{ display:flex; gap:0; overflow-x:auto; overflow-y:hidden; border-left:1px solid #e6e6e6; border-top:1px solid #e6e6e6; scroll-snap-type:x proximity; }
body[data-theme="swiss-shelf"] .grid::-webkit-scrollbar{ height:9px; }
body[data-theme="swiss-shelf"] .grid::-webkit-scrollbar-track{ background:#f2f2f2; }
body[data-theme="swiss-shelf"] .grid::-webkit-scrollbar-thumb{ background:#0a0a0a; }
body[data-theme="swiss-shelf"] .card{ flex:0 0 248px; flex-direction:column; gap:0; padding:16px 18px 20px; border-right:1px solid #e6e6e6; border-bottom:1px solid #e6e6e6; scroll-snap-align:start; min-height:158px; }
body[data-theme="swiss-shelf"] .card:hover{ background:#fafafa; }
body[data-theme="swiss-shelf"] .c-idx{ font-size:11px; font-weight:700; color:#e2231a; letter-spacing:.05em; margin-bottom:10px; font-variant-numeric:tabular-nums; }
body[data-theme="swiss-shelf"] .c-name{ font-size:16px; font-weight:700; letter-spacing:-.01em; line-height:1.2; }
body[data-theme="swiss-shelf"] .c-one{ font-size:12.5px; color:#5a5a5a; line-height:1.45; margin-top:7px; }
body[data-theme="swiss-shelf"] .c-open-label{ display:block; margin-top:14px; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#0a0a0a; }
body[data-theme="swiss-shelf"] .card:hover .c-open-label{ color:#e2231a; }
body[data-theme="swiss-shelf"] .c-gh{ position:absolute; top:16px; right:16px; z-index:2; font-size:10.5px; font-weight:600; color:#b0b0b0; }
body[data-theme="swiss-shelf"] .c-gh:hover{ color:#0a0a0a; }

/* ════════════════════════════════════════════════════════════════
   3) EDITORIAL — 따뜻한 매거진, 세리프, 다단
   ════════════════════════════════════════════════════════════════ */
body[data-theme="editorial"]{
  background:#f6f2e9; color:#26211a;
  font-family:"Newsreader",Georgia,"Times New Roman",serif;
}
body[data-theme="editorial"] #masthead{ background:rgba(246,242,233,.95); backdrop-filter:blur(8px); border-bottom:1px solid #ddd3c0; }
body[data-theme="editorial"] .mast-eyebrow{ display:block; font-family:"Space Grotesk",sans-serif; font-size:11px;
  font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#9a3b2c; margin-bottom:10px; }
body[data-theme="editorial"] .mast-eyebrow::before{ content:"— 큐레이션 인덱스 —"; }
body[data-theme="editorial"] .mast-title{ font-size:44px; font-weight:500; letter-spacing:-.02em; line-height:1; margin:0 0 8px; }
body[data-theme="editorial"] .mast-sub{ font-family:"Space Grotesk",sans-serif; font-size:13px; color:#7a6f5c; margin:0; }
body[data-theme="editorial"] .mast-sub b{ color:#9a3b2c; }
body[data-theme="editorial"] #q{ margin-top:18px; background:#fffdf8; border:1px solid #ddd3c0; border-radius:3px;
  padding:11px 14px; font-family:"Newsreader",serif; font-size:16px; color:#26211a; }
body[data-theme="editorial"] #q::placeholder{ color:#a89c86; font-style:italic; }
body[data-theme="editorial"] #q:focus{ border-color:#9a3b2c; }
body[data-theme="editorial"] .chip{ font-family:"Space Grotesk",sans-serif; font-size:12px; color:#5a5142;
  border:1px solid #ddd3c0; background:#fffdf8; padding:5px 12px; border-radius:999px; }
body[data-theme="editorial"] .chip:hover{ border-color:#9a3b2c; color:#9a3b2c; }
body[data-theme="editorial"] .chip-n{ color:#a89c86; margin-left:6px; }
body[data-theme="editorial"] section.cat{ margin-top:46px; }
body[data-theme="editorial"] .cathead{ display:flex; align-items:baseline; gap:12px;
  border-bottom:2px solid #26211a; padding-bottom:8px; margin-bottom:20px; }
body[data-theme="editorial"] .cathead .emo{ font-size:18px; }
body[data-theme="editorial"] .cathead h2{ font-size:26px; font-weight:500; font-style:italic; letter-spacing:-.01em; margin:0; }
body[data-theme="editorial"] .cathead .cnt{ font-family:"Space Grotesk",sans-serif; font-size:12px; color:#9a8b72; margin-left:auto; letter-spacing:.05em; }
body[data-theme="editorial"] .grid{ grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1px; background:#e4dac7; border:1px solid #e4dac7; }
body[data-theme="editorial"] .card{ flex-direction:column; gap:0; padding:18px 20px 20px; background:#fbf8f1; }
body[data-theme="editorial"] .card:hover{ background:#fffdf8; }
body[data-theme="editorial"] .c-idx{ font-family:"Space Grotesk",sans-serif; font-size:11px; color:#9a3b2c;
  font-weight:600; letter-spacing:.08em; margin-bottom:8px; }
body[data-theme="editorial"] .c-name{ font-size:21px; font-weight:600; line-height:1.15; letter-spacing:-.01em; }
body[data-theme="editorial"] .c-one{ font-size:15px; font-style:italic; color:#5a5142; line-height:1.5; margin-top:8px; }
body[data-theme="editorial"] .c-open-label{ display:block; font-family:"Space Grotesk",sans-serif; margin-top:14px;
  font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#9a3b2c; }
body[data-theme="editorial"] .c-gh{ position:absolute; bottom:18px; right:20px; z-index:2;
  font-family:"Space Grotesk",sans-serif; font-size:11px; color:#a89c86; }
body[data-theme="editorial"] .c-gh:hover{ color:#9a3b2c; }
body[data-theme="editorial"] .cnt-empty{ color:#9a8b72; padding:14px; font-style:italic; }
body[data-theme="editorial"] mark{ background:#f3d9a0; }
body[data-theme="editorial"] #foot{ border-top:1px solid #ddd3c0; padding:28px 26px 60px; margin-top:36px;
  font-family:"Space Grotesk",sans-serif; font-size:12px; color:#9a8b72; }

/* ════════════════════════════════════════════════════════════════
   4) AURORA — 다크 글래스모피즘, 보랏빛 그라디언트 + 네온 악센트
   ════════════════════════════════════════════════════════════════ */
body[data-theme="aurora"]{
  color:#e7e5f0; font-family:"Space Grotesk",-apple-system,sans-serif;
  background:#0b0a1a;
  background-image:
    radial-gradient(60% 50% at 12% 0%, rgba(124,58,237,.32), transparent 60%),
    radial-gradient(50% 45% at 92% 8%, rgba(236,72,153,.22), transparent 60%),
    radial-gradient(55% 50% at 70% 100%, rgba(56,189,248,.16), transparent 60%);
  background-attachment:fixed;
}
body[data-theme="aurora"] #masthead{ background:rgba(11,10,26,.72); backdrop-filter:blur(18px); border-bottom:1px solid rgba(255,255,255,.08); }
body[data-theme="aurora"] .mast-eyebrow{ display:block; font-size:11px; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:#a78bfa; margin-bottom:10px; }
body[data-theme="aurora"] .mast-eyebrow::before{ content:"✦ CURATED INDEX"; }
body[data-theme="aurora"] .mast-title{ font-size:40px; font-weight:700; letter-spacing:-.02em; margin:0 0 8px;
  background:linear-gradient(92deg,#fff,#c4b5fd 60%,#f0abfc); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
body[data-theme="aurora"] .mast-sub{ font-size:13px; color:#9893b8; margin:0; }
body[data-theme="aurora"] .mast-sub b{ color:#c4b5fd; }
body[data-theme="aurora"] #q{ margin-top:18px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
  border-radius:12px; padding:12px 15px; font-family:inherit; font-size:14px; color:#e7e5f0; }
body[data-theme="aurora"] #q::placeholder{ color:#6f6a8c; }
body[data-theme="aurora"] #q:focus{ border-color:#a78bfa; box-shadow:0 0 0 4px rgba(167,139,250,.15); }
body[data-theme="aurora"] .chip{ font-size:12px; color:#c4c0db; background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12); padding:6px 13px; border-radius:999px; }
body[data-theme="aurora"] .chip:hover{ background:rgba(167,139,250,.18); border-color:rgba(167,139,250,.5); color:#fff; }
body[data-theme="aurora"] .chip-n{ color:#8a84a8; margin-left:7px; }
body[data-theme="aurora"] section.cat{ margin-top:42px; }
body[data-theme="aurora"] .cathead{ display:flex; align-items:center; gap:11px; margin-bottom:18px; }
body[data-theme="aurora"] .cathead .emo{ font-size:18px; }
body[data-theme="aurora"] .cathead h2{ font-size:19px; font-weight:600; margin:0;
  color:var(--cat-accent); filter:brightness(1.9) saturate(1.2); }
body[data-theme="aurora"] .cathead .cnt{ font-size:12px; color:#7a749a; margin-left:auto; }
body[data-theme="aurora"] .grid{ grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:14px; }
body[data-theme="aurora"] .card{ flex-direction:column; gap:0; padding:18px 19px;
  background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.1); border-radius:16px;
  backdrop-filter:blur(10px); transition:transform .15s, border-color .15s, background .15s; overflow:hidden; }
body[data-theme="aurora"] .card::before{ content:""; position:absolute; inset:0 auto auto 0; width:3px; height:100%;
  background:var(--cat-accent); filter:brightness(1.7) saturate(1.3); opacity:.85; }
body[data-theme="aurora"] .card:hover{ transform:translateY(-3px); background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.22); box-shadow:0 14px 40px rgba(0,0,0,.4); }
body[data-theme="aurora"] .c-idx{ font-size:11px; color:#7a749a; font-weight:600; letter-spacing:.06em; margin-bottom:8px; }
body[data-theme="aurora"] .c-name{ font-size:16px; font-weight:600; letter-spacing:-.01em; color:#f4f2fb; }
body[data-theme="aurora"] .c-one{ font-size:13px; color:#a9a4c4; line-height:1.5; margin-top:7px; }
body[data-theme="aurora"] .c-open-label{ display:block; margin-top:13px; font-size:11px; font-weight:600;
  letter-spacing:.04em; color:#c4b5fd; }
body[data-theme="aurora"] .c-gh{ position:absolute; top:16px; right:17px; z-index:2; font-size:11px; color:#7a749a; }
body[data-theme="aurora"] .c-gh:hover{ color:#c4b5fd; }
body[data-theme="aurora"] .cnt-empty{ color:#7a749a; padding:14px; }
body[data-theme="aurora"] mark{ background:#a78bfa; color:#0b0a1a; }
body[data-theme="aurora"] #foot{ border-top:1px solid rgba(255,255,255,.08); padding:28px 26px 60px; margin-top:36px; font-size:12px; color:#7a749a; }

/* ════════════════════════════════════════════════════════════════
   5) BLUEPRINT — 제도 도면, 네이비 그리드 + 시안 라인
   ════════════════════════════════════════════════════════════════ */
body[data-theme="blueprint"]{
  color:#cfeefb; font-family:"Space Grotesk",sans-serif;
  background:#0a2236;
  background-image:linear-gradient(rgba(125,211,252,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(125,211,252,.07) 1px,transparent 1px);
  background-size:26px 26px; background-attachment:fixed;
}
body[data-theme="blueprint"] #masthead{ background:rgba(10,34,54,.9); backdrop-filter:blur(6px); border-bottom:1px solid rgba(125,211,252,.3); }
body[data-theme="blueprint"] .mast-eyebrow{ display:block; font-family:"JetBrains Mono",monospace; font-size:11px;
  letter-spacing:.18em; color:#67e8f9; margin-bottom:8px; }
body[data-theme="blueprint"] .mast-eyebrow::before{ content:"DWG. No. TS-2026 / REV.06"; }
body[data-theme="blueprint"] .mast-title{ font-size:38px; font-weight:700; letter-spacing:.01em; text-transform:uppercase; margin:0 0 6px; color:#eaf8ff; }
body[data-theme="blueprint"] .mast-sub{ font-family:"JetBrains Mono",monospace; font-size:12px; color:#6aa6c4; margin:0; }
body[data-theme="blueprint"] .mast-sub b{ color:#67e8f9; }
body[data-theme="blueprint"] #q{ margin-top:16px; background:rgba(125,211,252,.06); border:1px solid rgba(125,211,252,.35);
  border-radius:0; padding:10px 13px; font-family:"JetBrains Mono",monospace; font-size:13px; color:#eaf8ff; }
body[data-theme="blueprint"] #q::placeholder{ color:#5688a3; }
body[data-theme="blueprint"] #q:focus{ border-color:#67e8f9; box-shadow:0 0 0 1px rgba(103,232,249,.3); }
body[data-theme="blueprint"] .chip{ font-family:"JetBrains Mono",monospace; font-size:11px; color:#9fd4ea;
  border:1px solid rgba(125,211,252,.3); background:transparent; padding:5px 10px; border-radius:0; }
body[data-theme="blueprint"] .chip:hover{ background:#67e8f9; color:#0a2236; border-color:#67e8f9; }
body[data-theme="blueprint"] .chip-emo{ display:none; }
body[data-theme="blueprint"] .chip-n{ color:#5a93b0; margin-left:6px; }
body[data-theme="blueprint"] section.cat{ margin-top:40px; }
body[data-theme="blueprint"] .cathead{ display:flex; align-items:center; gap:10px; margin-bottom:16px;
  border-bottom:1px solid rgba(125,211,252,.3); padding-bottom:7px; }
body[data-theme="blueprint"] .cathead .emo{ display:none; }
body[data-theme="blueprint"] .cathead h2{ font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; margin:0; color:#67e8f9; }
body[data-theme="blueprint"] .cathead h2::before{ content:"[ "; color:#4d7e98; }
body[data-theme="blueprint"] .cathead h2::after{ content:" ]"; color:#4d7e98; }
body[data-theme="blueprint"] .cathead .cnt{ font-family:"JetBrains Mono",monospace; font-size:12px; color:#5a93b0; margin-left:auto; }
body[data-theme="blueprint"] .grid{ grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; }
body[data-theme="blueprint"] .card{ flex-direction:column; gap:0; padding:16px 17px;
  background:rgba(125,211,252,.04); border:1px solid rgba(125,211,252,.3); border-radius:0; }
body[data-theme="blueprint"] .card::before,
body[data-theme="blueprint"] .card::after{ content:""; position:absolute; width:7px; height:7px;
  border:1px solid #67e8f9; pointer-events:none; }
body[data-theme="blueprint"] .card::before{ top:-1px; left:-1px; border-right:none; border-bottom:none; }
body[data-theme="blueprint"] .card::after{ bottom:-1px; right:-1px; border-left:none; border-top:none; }
body[data-theme="blueprint"] .card:hover{ background:rgba(103,232,249,.1); border-color:#67e8f9; }
body[data-theme="blueprint"] .c-idx{ font-family:"JetBrains Mono",monospace; font-size:11px; color:#67e8f9; letter-spacing:.05em; margin-bottom:9px; }
body[data-theme="blueprint"] .c-name{ font-size:16px; font-weight:700; letter-spacing:-.005em; color:#eaf8ff; }
body[data-theme="blueprint"] .c-one{ font-size:12.5px; color:#8fbdd4; line-height:1.5; margin-top:7px; }
body[data-theme="blueprint"] .c-open-label{ display:block; font-family:"JetBrains Mono",monospace; margin-top:13px;
  font-size:10.5px; letter-spacing:.05em; color:#67e8f9; }
body[data-theme="blueprint"] .c-open-label::before{ content:"▸ "; }
body[data-theme="blueprint"] .c-gh{ position:absolute; top:14px; right:15px; z-index:2;
  font-family:"JetBrains Mono",monospace; font-size:10.5px; color:#5a93b0; }
body[data-theme="blueprint"] .c-gh:hover{ color:#67e8f9; }
body[data-theme="blueprint"] .cnt-empty{ font-family:"JetBrains Mono",monospace; color:#5a93b0; padding:14px; }
body[data-theme="blueprint"] mark{ background:#67e8f9; color:#0a2236; }
body[data-theme="blueprint"] #foot{ border-top:1px solid rgba(125,211,252,.3); padding:26px; margin-top:36px;
  font-family:"JetBrains Mono",monospace; font-size:11.5px; color:#5a93b0; }

/* ════════════════════════════════════════════════════════════════
   6) NEOPOP — 네오브루탈리즘, 굵은 검정 테두리 + 하드 섀도
   ════════════════════════════════════════════════════════════════ */
body[data-theme="neopop"]{
  background:#fff7e6; color:#15120c;
  font-family:"Archivo",-apple-system,sans-serif;
  background-image:radial-gradient(#e9dcc0 1.4px, transparent 1.4px); background-size:18px 18px;
}
body[data-theme="neopop"] #masthead{ background:#fff7e6; border-bottom:3px solid #15120c; }
body[data-theme="neopop"] .mast-eyebrow{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:.04em;
  text-transform:uppercase; color:#fff7e6; background:#15120c; padding:4px 10px; margin-bottom:12px;
  box-shadow:3px 3px 0 #ff5c8a; }
body[data-theme="neopop"] .mast-eyebrow::before{ content:"📈 트렌드시프트 인덱스"; }
body[data-theme="neopop"] .mast-title{ font-family:"Archivo Black",sans-serif; font-size:48px; font-weight:900;
  letter-spacing:-.02em; line-height:.94; margin:0 0 10px; }
body[data-theme="neopop"] .mast-sub{ font-size:13px; font-weight:600; color:#5e5440; margin:0; }
body[data-theme="neopop"] .mast-sub b{ color:#15120c; }
body[data-theme="neopop"] #q{ margin-top:18px; background:#fff; border:2.5px solid #15120c; border-radius:0;
  padding:11px 14px; font-family:inherit; font-weight:600; font-size:14px; color:#15120c; box-shadow:4px 4px 0 #15120c; }
body[data-theme="neopop"] #q::placeholder{ color:#a99c7e; }
body[data-theme="neopop"] #q:focus{ box-shadow:4px 4px 0 #ff5c8a; }
body[data-theme="neopop"] .chip{ font-size:12px; font-weight:700; color:#15120c; background:#fff;
  border:2px solid #15120c; padding:5px 11px; border-radius:0; box-shadow:2px 2px 0 #15120c; }
body[data-theme="neopop"] .chip:hover{ background:#ffd93d; box-shadow:2px 2px 0 #ff5c8a; transform:translate(-1px,-1px); }
body[data-theme="neopop"] .chip-n{ margin-left:6px; color:#9a8c6e; }
body[data-theme="neopop"] section.cat{ margin-top:44px; }
body[data-theme="neopop"] .cathead{ display:inline-flex; align-items:center; gap:9px; margin-bottom:18px;
  background:var(--cat-accent); border:2.5px solid #15120c; padding:7px 14px; box-shadow:4px 4px 0 #15120c; }
body[data-theme="neopop"] .cathead .emo{ font-size:17px; }
body[data-theme="neopop"] .cathead h2{ font-family:"Archivo Black",sans-serif; font-size:16px; font-weight:900;
  letter-spacing:-.01em; margin:0; color:#fff; mix-blend-mode:normal; }
body[data-theme="neopop"] .cathead .cnt{ font-size:12px; font-weight:800; color:#fff; background:rgba(0,0,0,.28); padding:1px 8px; }
body[data-theme="neopop"] .grid{ grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; }
body[data-theme="neopop"] .card{ flex-direction:column; gap:0; padding:16px 17px 18px; background:#fff;
  border:2.5px solid #15120c; border-radius:0; box-shadow:5px 5px 0 #15120c;
  transition:transform .12s, box-shadow .12s; }
body[data-theme="neopop"] .card:hover{ transform:translate(-2px,-2px); box-shadow:7px 7px 0 var(--cat-accent); }
body[data-theme="neopop"] .c-idx{ font-size:11px; font-weight:800; color:#fff; background:#15120c;
  display:inline-block; padding:2px 7px; margin-bottom:10px; align-self:flex-start; }
body[data-theme="neopop"] .c-name{ font-size:17px; font-weight:800; letter-spacing:-.01em; line-height:1.15; }
body[data-theme="neopop"] .c-one{ font-size:13px; font-weight:500; color:#4a4232; line-height:1.45; margin-top:7px; }
body[data-theme="neopop"] .c-open-label{ display:inline-block; margin-top:14px; font-size:11px; font-weight:800;
  letter-spacing:.02em; text-transform:uppercase; color:#15120c; border-bottom:2.5px solid var(--cat-accent); padding-bottom:1px; }
body[data-theme="neopop"] .c-gh{ position:absolute; top:14px; right:15px; z-index:2; font-size:11px; font-weight:700; color:#a99c7e; }
body[data-theme="neopop"] .c-gh:hover{ color:#15120c; }
body[data-theme="neopop"] .cnt-empty{ font-weight:600; color:#9a8c6e; padding:14px; }
body[data-theme="neopop"] mark{ background:#ffd93d; }
body[data-theme="neopop"] #foot{ border-top:3px solid #15120c; padding:26px; margin-top:40px; font-size:12px; font-weight:600; color:#5e5440; }

/* ════════════════════════════════════════════════════════════════
   7) CATALOG — 도서관 카드 목록, 크림 종이 + 타자기
   ════════════════════════════════════════════════════════════════ */
body[data-theme="catalog"]{
  background:#e8e0d0; color:#3a3022;
  font-family:"JetBrains Mono",ui-monospace,monospace;
  background-image:linear-gradient(135deg, #ece4d4, #ddd2bd);
  background-attachment:fixed;
}
body[data-theme="catalog"] #masthead{ background:rgba(232,224,208,.94); backdrop-filter:blur(6px); border-bottom:1px solid #b8a888; }
body[data-theme="catalog"] .mast-eyebrow{ display:block; font-size:11px; letter-spacing:.16em; color:#8a6d3b; margin-bottom:8px; }
body[data-theme="catalog"] .mast-eyebrow::before{ content:"▦ CARD CATALOG · DRAWER 01–10"; }
body[data-theme="catalog"] .mast-title{ font-family:"Newsreader",Georgia,serif; font-size:40px; font-weight:500; letter-spacing:-.01em; margin:0 0 8px; color:#2e2619; }
body[data-theme="catalog"] .mast-sub{ font-size:12px; color:#7a6a4e; margin:0; }
body[data-theme="catalog"] .mast-sub b{ color:#5a4a2e; }
body[data-theme="catalog"] #q{ margin-top:16px; background:#f6f0e2; border:1px solid #b8a888; border-radius:2px;
  padding:10px 13px; font-family:inherit; font-size:13px; color:#3a3022; }
body[data-theme="catalog"] #q::placeholder{ color:#a89876; }
body[data-theme="catalog"] #q:focus{ border-color:#8a6d3b; }
body[data-theme="catalog"] .chip{ font-size:11px; color:#5a4a2e; border:1px solid #b8a888; background:#f6f0e2; padding:4px 10px; border-radius:2px; }
body[data-theme="catalog"] .chip:hover{ background:#8a6d3b; color:#f6f0e2; border-color:#8a6d3b; }
body[data-theme="catalog"] .chip-n{ color:#a89876; margin-left:6px; }
body[data-theme="catalog"] section.cat{ margin-top:40px; }
body[data-theme="catalog"] .cathead{ display:flex; align-items:center; gap:10px; margin-bottom:16px; }
body[data-theme="catalog"] .cathead .emo{ font-size:15px; }
body[data-theme="catalog"] .cathead h2{ font-family:"Newsreader",serif; font-size:22px; font-weight:600; font-style:italic; margin:0; color:#2e2619; }
body[data-theme="catalog"] .cathead .cnt{ font-size:11px; color:#9a8866; margin-left:auto; letter-spacing:.05em; }
body[data-theme="catalog"] .cathead::after{ content:""; position:absolute; }
body[data-theme="catalog"] .grid{ grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:13px; }
body[data-theme="catalog"] .card{ flex-direction:column; gap:0; padding:0 0 14px; background:#fbf6ea;
  border:1px solid #c8b896; border-radius:2px; box-shadow:0 1px 3px rgba(80,60,30,.14); overflow:hidden; }
body[data-theme="catalog"] .card::before{ content:""; display:block; height:30px; border-bottom:2px solid #c0392b;
  background:repeating-linear-gradient(#fbf6ea,#fbf6ea 14px,#e8dec8 14px,#e8dec8 15px); margin-bottom:12px; opacity:.7; }
body[data-theme="catalog"] .card:hover{ box-shadow:0 4px 14px rgba(80,60,30,.22); transform:translateY(-2px); transition:.13s; }
body[data-theme="catalog"] .c-idx{ position:absolute; top:7px; left:14px; z-index:2; font-size:11px; color:#8a6d3b; letter-spacing:.08em; }
body[data-theme="catalog"] .c-idx::before{ content:"No. "; color:#b09766; }
body[data-theme="catalog"] .c-name{ font-family:"Newsreader",serif; font-size:19px; font-weight:600; line-height:1.2; padding:0 16px; color:#2e2619; }
body[data-theme="catalog"] .c-one{ font-size:12px; color:#6a5a3e; line-height:1.5; margin-top:7px; padding:0 16px; }
body[data-theme="catalog"] .c-open-label{ display:block; margin-top:12px; padding:0 16px; font-size:10.5px; letter-spacing:.04em; color:#8a6d3b; }
body[data-theme="catalog"] .c-open-label::before{ content:"↪ "; }
body[data-theme="catalog"] .c-gh{ position:absolute; top:7px; right:14px; z-index:2; font-size:10px; color:#a89876; }
body[data-theme="catalog"] .c-gh:hover{ color:#8a6d3b; }
body[data-theme="catalog"] .cnt-empty{ color:#9a8866; padding:14px; }
body[data-theme="catalog"] mark{ background:#f3d9a0; }
body[data-theme="catalog"] #foot{ border-top:1px solid #b8a888; padding:26px; margin-top:36px; font-size:11px; color:#9a8866; }

/* ════════════════════════════════════════════════════════════════
   8) MONO — 모노크롬 브루탈리즘, 흑백 격자 + 초대형 타이포
   ════════════════════════════════════════════════════════════════ */
body[data-theme="mono"]{
  background:#fafafa; color:#000;
  font-family:"Archivo",Helvetica,Arial,sans-serif;
}
body[data-theme="mono"] #masthead{ background:#000; color:#fff; border-bottom:none; }
body[data-theme="mono"] .mast-eyebrow{ display:block; font-family:"JetBrains Mono",monospace; font-size:11px;
  letter-spacing:.2em; color:#999; margin-bottom:14px; }
body[data-theme="mono"] .mast-eyebrow::before{ content:"// 185 REPOSITORIES — 10 SETS"; }
body[data-theme="mono"] .mast-title{ font-family:"Archivo Black",sans-serif; font-size:54px; font-weight:900;
  letter-spacing:-.035em; line-height:.9; margin:0 0 12px; color:#fff; text-transform:uppercase; }
body[data-theme="mono"] .mast-sub{ font-family:"JetBrains Mono",monospace; font-size:12px; color:#aaa; margin:0; }
body[data-theme="mono"] .mast-sub b{ color:#fff; }
body[data-theme="mono"] #q{ margin-top:18px; background:#000; border:2px solid #fff; border-radius:0;
  padding:11px 14px; font-family:"JetBrains Mono",monospace; font-size:13px; color:#fff; }
body[data-theme="mono"] #q::placeholder{ color:#777; }
body[data-theme="mono"] #q:focus{ background:#fff; color:#000; }
body[data-theme="mono"] #q:focus::placeholder{ color:#999; }
body[data-theme="mono"] .chip{ font-family:"JetBrains Mono",monospace; font-size:11px; color:#fff; background:#000;
  border:1px solid #fff; padding:5px 10px; border-radius:0; }
body[data-theme="mono"] .chip:hover{ background:#fff; color:#000; }
body[data-theme="mono"] .chip-emo{ display:none; }
body[data-theme="mono"] .chip-n{ margin-left:7px; opacity:.6; }
body[data-theme="mono"] main#cats{ padding-top:0; }
body[data-theme="mono"] section.cat{ margin-top:0; border-bottom:2px solid #000; padding:34px 0 38px; }
body[data-theme="mono"] .cathead{ display:flex; align-items:baseline; gap:12px; margin-bottom:20px; }
body[data-theme="mono"] .cathead .emo{ display:none; }
body[data-theme="mono"] .cathead h2{ font-family:"Archivo Black",sans-serif; font-size:30px; font-weight:900;
  letter-spacing:-.025em; text-transform:uppercase; margin:0; line-height:.95; }
body[data-theme="mono"] .cathead .cnt{ font-family:"JetBrains Mono",monospace; font-size:13px; color:#000; margin-left:auto;
  border:1.5px solid #000; padding:2px 9px; font-variant-numeric:tabular-nums; }
body[data-theme="mono"] .grid{ grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:0; border:2px solid #000; }
body[data-theme="mono"] .card{ flex-direction:column; gap:0; padding:15px 16px 18px;
  border-right:1.5px solid #000; border-bottom:1.5px solid #000; background:#fafafa; }
body[data-theme="mono"] .card:hover{ background:#000; color:#fff; }
body[data-theme="mono"] .c-idx{ font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:700; margin-bottom:11px; letter-spacing:.05em; }
body[data-theme="mono"] .c-name{ font-size:17px; font-weight:800; letter-spacing:-.02em; line-height:1.12; }
body[data-theme="mono"] .c-one{ font-size:12.5px; color:#444; line-height:1.45; margin-top:7px; }
body[data-theme="mono"] .card:hover .c-one{ color:#bbb; }
body[data-theme="mono"] .c-open-label{ display:block; font-family:"JetBrains Mono",monospace; margin-top:13px;
  font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
body[data-theme="mono"] .c-open-label::before{ content:"[ "; }
body[data-theme="mono"] .c-open-label::after{ content:" ]"; }
body[data-theme="mono"] .c-gh{ position:absolute; top:14px; right:15px; z-index:2; font-family:"JetBrains Mono",monospace; font-size:10px; color:#999; }
body[data-theme="mono"] .card:hover .c-gh{ color:#fff; }
body[data-theme="mono"] .c-gh:hover{ text-decoration:underline; }
body[data-theme="mono"] .cnt-empty{ font-family:"JetBrains Mono",monospace; padding:14px; color:#888; }
body[data-theme="mono"] mark{ background:#000; color:#fff; }
body[data-theme="mono"] .card:hover mark{ background:#fff; color:#000; }
body[data-theme="mono"] #foot{ border-top:none; background:#000; color:#fff; padding:30px 26px 70px; margin-top:0;
  font-family:"JetBrains Mono",monospace; font-size:11.5px; }
body[data-theme="mono"] #foot{ max-width:none; }
body[data-theme="mono"] .foot-inner{ max-width:1240px; margin:0 auto; }
