:root { 
    --cltv-max-width: 800px;
    --cltv-category-color: #ffffff;
    --cltv-channel-color: #dddddd;
    --cltv-category-bg-color: #333333;
    --cltv-channel-bg-color: #222222;
}
.cltv-container { max-width: var(--cltv-max-width); margin: 20px auto; font-family: sans-serif; }
.cltv-search { width: 100%; padding: 12px; margin-bottom: 5px; box-sizing: border-box; border: 1px solid #ddd; border-radius: 4px; }
.cltv-channel-list { border: 1px solid #444; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #555 #2b2b2b; }
.cltv-channel-list::-webkit-scrollbar { width: 8px; }
.cltv-channel-list::-webkit-scrollbar-track { background: #2b2b2b; }
.cltv-channel-list::-webkit-scrollbar-thumb { background: #555; border-radius: 4px; }
.cltv-list-item { display: flex; align-items: center; padding: 12px; cursor: pointer; border-top: 1px solid #444; background-color: var(--cltv-category-bg-color); color: var(--cltv-category-color); }
.cltv-list-item:first-child { border-top: none; }
.cltv-icon { width: 24px; height: 24px; margin-right: 10px; display: inline-flex; align-items: center; justify-content: center; object-fit: contain; flex-shrink: 0; }
.cltv-category-name { flex-grow: 1; }
.cltv-toggle-button { font-size: 20px; transition: transform 0.2s; }
.cltv-sublist { background-color: var(--cltv-channel-bg-color); display: none; list-style: disc; margin: 0; padding: 10px 10px 10px 40px; }
.cltv-sublist li { color: var(--cltv-channel-color); }
.cltv-container.toggle-plus-minus .cltv-toggle-button::before { content: '+'; }
.cltv-container.toggle-plus-minus .cltv-list-item.is-active .cltv-toggle-button::before { content: '−'; }
.cltv-container.toggle-arrow .cltv-toggle-button::before { content: '▶'; font-size: 14px; }
.cltv-container.toggle-arrow .cltv-list-item.is-active .cltv-toggle-button { transform: rotate(90deg); }
.cltv-container.icon-right .cltv-list-item { flex-direction: row-reverse; }
.cltv-container.icon-right .cltv-icon { margin-right: 0; margin-left: 10px; }