.diy-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 20px 60px; }
.diy-project .specs, .diy-project .diy-notes, .diy-summary, .caveat-note, .lic-note { max-width: 900px; }
.diy-table { width: 100%; border-collapse: collapse; font-size: .92rem; background: var(--card); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.diy-table th, .diy-table td { padding: 8px 8px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.diy-table th { color: var(--muted); font-weight: 600; background: var(--bg-2); cursor: pointer; user-select: none; }
.diy-table th:hover { color: var(--accent); }
td.nw, span.nw { white-space: nowrap; }
.ctag { display: inline-block; font-size: .72rem; padding: 1px 6px; border-radius: 5px; background: var(--chip); color: var(--muted); margin-left: 4px; }
.ctag.est { background: transparent; border: 1px dashed var(--line-2); }
.cbits { margin-top: 6px; font-size: .88rem; color: var(--muted); } .cbits div { margin: 3px 0; } .cbits b { color: var(--text); font-weight: 600; margin-right: 6px; }
@media (max-width: 860px) { .diy-table th:nth-child(2), .diy-table td:nth-child(2), .diy-table th:nth-child(6), .diy-table td:nth-child(6) { display: none; } }
.chip.warn { font-size: .72rem; white-space: nowrap; background: #fff3d6; color: #8a5a00; }
.diy-table td.note { color: #b07a10; font-size: .84rem; min-width: 104px; }
@media (min-width: 1100px) { .diy-table td.note { white-space: nowrap; } }
.caveat-note { color: #b07a10; font-size: .95rem; margin: 6px 0 12px; }
.lic-note { color: var(--muted); font-size: .92rem; margin: 0 0 10px; }
.tscroll { overflow-x: auto; }
.diy-filters { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin: 14px 0; }
.cat-btns { display: flex; flex-wrap: wrap; gap: 6px; }
.cat-btns button { font: inherit; font-size: .88rem; padding: 5px 11px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--card); color: var(--text); cursor: pointer; }
.cat-btns button.on { background: var(--accent); border-color: var(--accent); color: #fff; } .cat-btns button.on .muted { color: #dfe6ff; }
.diy-filters select { font: inherit; padding: 4px 6px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--card); color: var(--text); }
.diy-count { font-size: .85rem; margin: 8px 2px; }
.diy-img { margin: 12px 0; } .diy-img img { max-width: 100%; max-height: 420px; border-radius: 10px; display: block; }
.diy-img figcaption { font-size: .78rem; color: var(--muted); margin-top: 6px; overflow-wrap: anywhere; }
.diy-summary { font-size: 1.05rem; }
.dks { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 4px; }
.dk { font-size: .8rem; padding: 2px 8px; border-radius: 6px; background: var(--chip); } .dk.n { color: var(--muted); text-decoration: line-through; }
.diy-notes li, .diy-rel li { margin: 6px 0; } a.src { font-size: .8rem; white-space: nowrap; }
