/* Reference forum layout, scoped to the board index (not the thread feed). */
.iscwo-board-index {
  --board-accent: #009688;
  --board-bg: #fff;
  --board-heading: #fafafa;
  --board-border: #eee;
  --board-text: #333;
  --board-muted: #666;
  /* Outer width, spacing and background come from the theme's #main container. */
  color: var(--board-text);
  padding-top: 20px;
}
/* Native outer container owns the width; nested Discuz wraps fill it. */
.iscwo-board-index > .wp { width: auto; max-width: 100%; box-sizing: border-box; }
.iscwo-board-index #pt a { color: var(--board-muted); }
.iscwo-board-index #chart { display: none; }
.iscwo-board-index #ct > .mn { float: none; width: 100%; }
.iscwo-board-index #ct.ct2 { display: flex; gap: 20px; align-items: flex-start; }
.iscwo-board-index #ct.ct2 > .mn { flex: 1; min-width: 0; width: auto; }
.iscwo-board-index #ct.ct2 > .sd { float: none; flex-shrink: 0; }
.iscwo-board-index .fl { border: 0; background: transparent; }
.iscwo-board-index .fl > .bm {
  margin: 0;
  padding: 0;
  border: 1px solid var(--board-border);
  border-radius: 0;
  background: var(--board-bg);
  box-shadow: none;
  overflow: hidden;
}
.iscwo-board-index .fl .bm_h {
  height: 31px;
  margin: 0;
  padding: 0 10px;
  line-height: 31px;
  background: var(--board-heading);
  border: 0;
  border-bottom: 1px solid var(--board-border);
  border-radius: 0;
}
.iscwo-board-index .fl .bm_h h2,
.iscwo-board-index .fl .bm_h h4 { margin: 0; font-size: 14px; font-weight: 700; }
.iscwo-board-index .fl .bm_h h2 a,
.iscwo-board-index .fl .bm_h h4 a { color: var(--board-accent); }
.iscwo-board-index .fl .bm_h .o img { margin-top: 15px; }
.iscwo-board-index .fl .bm_c { padding: 0 10px; }
.iscwo-board-index .fl_tb { width: 100%; table-layout: fixed; border-collapse: collapse; }
.iscwo-board-index .fl_tb td { padding: 10px 0; line-height: 26px; border-top: 0; vertical-align: middle; }
.iscwo-board-index .fl_row td { border-top: 0; }
.iscwo-board-index .fl_tb td.fl_g { padding: 10px 0; border-radius: 0; vertical-align: top; }
.iscwo-board-index .fl_tb td.fl_g:hover { background: var(--board-heading); }
.iscwo-board-index .fl_icn,
.iscwo-board-index .fl_icn_g { width: 68px !important; min-height: 68px; margin-right: 12px; padding-right: 12px !important; padding-left: 0 !important; }
.iscwo-board-index .fl_icn_g { float: left; }
.iscwo-board-index .fl_icn img,
.iscwo-board-index .fl_icn_g img { width: 68px !important; height: auto; object-fit: contain; border-radius: 0; }
.iscwo-board-index .fl_g dl { margin-left: 80px !important; padding-left: 0; }
.iscwo-board-index .fl_g dt,
.iscwo-board-index .fl_tb td h2 { height: auto; margin: 0; line-height: 26px; font-size: 14px; font-weight: 400; display: block; }
.iscwo-board-index .fl_g dt a,
.iscwo-board-index .fl_tb td h2 a { color: var(--board-text); }
.iscwo-board-index .fl_g dd { height: auto; min-height: 22px; line-height: 22px; font-size: 14px; display: block; }
.iscwo-board-index .fl_g dd,
.iscwo-board-index .fl_g dd a,
.iscwo-board-index .fl_tb td .xg2,
.iscwo-board-index .fl_by cite { color: var(--board-muted); }
.iscwo-board-index .fl_i { width: 100px; text-align: right; font-size: 12px; }
.iscwo-board-index .fl_by { width: 240px; }
.iscwo-board-index .fl_by div { width: auto; margin-left: 0; padding-left: 0; }
.iscwo-board-index .fl_by a,
.iscwo-board-index .fl_i .xi2 { color: var(--board-text); }
.iscwo-board-index .fl a:hover { color: var(--board-accent); }
.iscwo-board-index .fl .xi1 { color: #ff6b35; }
body.iscwo-dark .iscwo-board-index {
  --board-bg: var(--dz-bgf, #191d20);
  --board-heading: var(--dz-bgc, #222629);
  --board-border: var(--dz-borderb, #30363b);
  --board-text: var(--dz-fa, #ddd);
  --board-muted: var(--dz-fc, #929ba4);
}
@media (max-width: 900px) {
  .iscwo-board-index .fl_by { width: 190px; }
  .iscwo-board-index .fl_i { width: 90px; }
  .iscwo-board-index #ct.ct2 { display: block; }
  .iscwo-board-index #ct.ct2 > .sd { width: 100%; margin-top: 20px; }
}
@media (max-width: 640px) {
  .iscwo-board-index .fl .bm_c { padding: 0 12px; }
  .iscwo-board-index .fl_tb td.fl_g { display: block; width: 100% !important; box-sizing: border-box; min-height: 110px; padding: 18px 0; }
  .iscwo-board-index .fl_by,
  .iscwo-board-index .fl_i { display: none; }
  .iscwo-board-index .fl .bm_h { padding: 0 12px; }
}

/* Compact original board rows and a native keyboard-accessible collapse switch. */
.iscwo-board-index .fl_by cite { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; line-height: 22px; }
.iscwo-board-index .fl .bm_h .o { width: 40px; }
.iscwo-board-index .iscwo-category-toggle { position: relative; display: block; width: 40px; height: 20px; margin-top: 5px; padding: 0; border: 2px solid #ff4081; border-radius: 14px; background: transparent; cursor: pointer; box-sizing: border-box; }
.iscwo-board-index .iscwo-category-toggle img { display: none; }
.iscwo-board-index .iscwo-category-toggle span { position: absolute; top: 2px; right: 2px; width: 12px; height: 12px; background: #ff4081; border-radius: 50%; transition: transform .15s; }
.iscwo-board-index .iscwo-category-toggle[aria-expanded="false"] span { transform: translateX(-20px); }
.iscwo-board-index .iscwo-category-toggle:focus-visible { outline: 2px solid var(--board-accent); outline-offset: 3px; }
.iscwo-board-index .fl_icn_g { position: relative; }
.iscwo-board-index .iscwo-board-today { position: absolute; right: 10px; top: -4px; min-width: 14px; padding: 0 4px; border-radius: 8px; background: #ff4081; color: #fff; font-size: 11px; line-height: 16px; text-align: center; }
.iscwo-board-index .iscwo-board-description { color: var(--board-muted); }
@media (min-width: 901px) and (max-width: 1100px) { .iscwo-board-index .fl_by { width: 210px; } }
@media (max-width: 640px) { .iscwo-board-index .fl_g dt, .iscwo-board-index .fl_g dd { font-size: 13px; } }

.iscwo-board-index .bm:not(.flg) .fl_tb td .xg2 { margin: 3px 0 0; line-height: 20px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; font-size: 12px; }

/* Separate latest-title metadata and keep a useful summary on narrow screens. */
.iscwo-board-index .fl_by div > a { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 24px; }
.iscwo-board-index .fl_tb td.fl_i { padding-right: 12px; white-space: nowrap; }
.iscwo-board-index .fl_tb td.fl_by { padding-left: 24px; }
@media (min-width: 641px) and (max-width: 1100px) {
  .iscwo-board-index .fl_tb td.fl_by { width: 190px; padding-left: 16px; }
  .iscwo-board-index .fl_i { width: 70px; }
}
@media (max-width: 640px) {
  .iscwo-board-index .bm:not(.flg) .fl_tb tr:has(> .fl_i) { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 12px; padding: 14px 0; }
  .iscwo-board-index .bm:not(.flg) .fl_tb tr:has(> .fl_i) > td { display: block; width: auto; min-width: 0; padding: 0; }
  .iscwo-board-index .bm:not(.flg) .fl_tb tr:has(> .fl_i) > .fl_icn { grid-column: 1; grid-row: 1 / span 3; width: 56px!important; min-height: 56px; padding: 0!important; }
  .iscwo-board-index .bm:not(.flg) .fl_tb .fl_icn img { width: 56px!important; max-width: 100%; }
  .iscwo-board-index .bm:not(.flg) .fl_tb tr:has(> .fl_i) > td:not(.fl_icn) { grid-column: 2; }
  .iscwo-board-index .bm:not(.flg) .fl_tb .fl_i { text-align: left; color: var(--board-muted); font-size: 12px; line-height: 22px; }
  .iscwo-board-index .bm:not(.flg) .fl_tb .fl_by { font-size: 12px; padding-top: 3px; }
  .iscwo-board-index .bm:not(.flg) .fl_tb .fl_by cite { line-height: 20px; }
}

/* Reference proportions: spacious description, compact count, two-line activity. */
@media (min-width: 641px) {
  .iscwo-board-index .bm:not(.flg) .fl_tb td { padding-top: 22px; padding-bottom: 22px; }
  .iscwo-board-index .bm:not(.flg) .fl_tb td.fl_icn { width: 68px!important; padding-right: 18px!important; }
  .iscwo-board-index .bm:not(.flg) .fl_tb td h2 { font-weight: 600; }
  .iscwo-board-index .bm:not(.flg) .fl_tb td.fl_by { font-size: 12px; }
}
.iscwo-board-index .fl_by cite { font-style: normal; }

/* Subforums are secondary navigation beneath the board description. */
.iscwo-board-index .fl_tb td .iscwo-board-subforums { margin: 2px 0 0; font-size: 12px; line-height: 20px; font-weight: 400; color: #666; overflow-wrap: anywhere; }
.iscwo-board-index .iscwo-board-subforums-label { color: #767676; }
.iscwo-board-index .fl_tb td .iscwo-board-subforums a { color: #666; font-size: inherit; font-weight: 400; }
body.iscwo-dark .iscwo-board-index .fl_tb td .iscwo-board-subforums,
body.iscwo-dark .iscwo-board-index .fl_tb td .iscwo-board-subforums a { color: #b0b8c1!important; }
body.iscwo-dark .iscwo-board-index .iscwo-board-subforums-label { color: #9aa4af!important; }
.iscwo-board-index .fl_tb td .iscwo-board-subforums a:hover,
.iscwo-board-index .fl_tb td .iscwo-board-subforums a:focus-visible { color: #008579; text-decoration: underline; }
body.iscwo-dark .iscwo-board-index .fl_tb td .iscwo-board-subforums a:hover,
body.iscwo-dark .iscwo-board-index .fl_tb td .iscwo-board-subforums a:focus-visible { color: #71d8c9!important; }

/* Multi-column forum cells: align text with the icon and separate activity. */
.iscwo-board-index .fl_tb td.iscwo-board-forum { box-sizing: border-box; padding: 16px 14px; }
.iscwo-board-index .iscwo-board-forum .fl_icn_g { width: 96px!important; min-height: 96px; padding: 0!important; margin: 0 16px 0 0; }
.iscwo-board-index .iscwo-board-forum .fl_icn_g img { width: 96px!important; height: 96px!important; max-height: none!important; object-fit: contain; max-width: 100%; }
.iscwo-board-index .iscwo-board-forum dl { margin: 0 0 0 112px!important; min-width: 0; }
.iscwo-board-index .iscwo-board-forum dt { font-weight: 600; margin-bottom: 3px; overflow-wrap: anywhere; }
.iscwo-board-index .iscwo-board-forum dd { min-height: 0; margin: 0; font-size: 12px; line-height: 21px; overflow-wrap: anywhere; }
.iscwo-board-index .iscwo-board-forum dd em + em { margin-left: 8px; }
.iscwo-board-index .iscwo-board-forum .iscwo-board-description { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 3px; }
.iscwo-board-index .iscwo-board-forum dd.iscwo-board-latest { display: flex; align-items: baseline; gap: 6px; margin-top: 3px; padding-top: 0; border: 0; min-width: 0; }
.iscwo-board-index .iscwo-board-forum .iscwo-board-latest > a { display: block; flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.iscwo-board-index .iscwo-board-forum .iscwo-board-latest cite { display: block; flex: 0 1 auto; min-width: 0; color: var(--board-muted); font-size: 12px; font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 640px) {
  .iscwo-board-index .fl_tb td.iscwo-board-forum { min-height: 0; padding: 18px 0; }
}
