.demo-box {
    border: 2px solid #e9ecef;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    background-color: #f8f9fa;
}
.demo-element {
    padding: 15px;
    margin: 10px 0;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    transition: all 0.3s ease;
}
.ref-visualization {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0;
    padding: 15px;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    border-radius: 8px;
}
.component-box {
    padding: 15px;
    border: 2px solid #007bff;
    border-radius: 8px;
    background: white;
    position: relative;
}
.ref-arrow {
    font-size: 24px;
    margin: 0 10px;
    color: #28a745;
}
.dom-element {
    padding: 15px;
    border: 2px solid #28a745;
    border-radius: 8px;
    background: white;
}
.code-tabs {
    margin-bottom: 15px;
}
.code-tab {
    padding: 8px 16px;
    background: #e9ecef;
    border: none;
    border-radius: 4px 4px 0 0;
    margin-right: 5px;
    cursor: pointer;
    transition: background 0.3s;
}
.code-tab.active {
    background: #343a40;
    color: white;
}
.tab-content {
    display: none;
}
.tab-content.active {
    display: block;
}
.interactive-demo {
    background-color: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
}
.control-panel {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 15px 0;
}
