.carousel{margin-top:28px;position:relative;}
.carousel-slides{position:relative;overflow:hidden;border:1px solid var(--bd);border-radius:16px;background:var(--sf);min-height:320px;}
.carousel-slide{display:none;padding:28px;opacity:0;transition:opacity .4s ease;}
.carousel-slide.active{display:block;opacity:1;}
.slide-label{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:16px;}
.carousel-tabs{display:flex;gap:2px;background:rgba(255,255,255,0.03);border:1px solid var(--bd);border-radius:12px;padding:4px;overflow:hidden;}
.tab{flex:1;padding:10px 16px;font-size:12px;font-weight:600;letter-spacing:0.3px;color:var(--faint);background:transparent;border:none;border-radius:9px;cursor:pointer;transition:all .3s;font-family:inherit;}
.tab.active{background:rgba(255,255,255,0.07);color:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.3);}
.tab:hover:not(.active){color:var(--dim);background:rgba(255,255,255,0.03);}
.graph-visual{height:420px;position:relative;overflow:hidden;}
.carousel-tabs{margin-bottom:16px;margin-top:0;}
.ds-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.ds-heading{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:12px;}
.ds-item{display:flex;justify-content:space-between;padding:8px 12px;border:1px solid var(--bd);border-radius:8px;margin-bottom:6px;font-size:12px;}
.ds-name{color:var(--dim);}.ds-count{color:var(--faint);font-size:11px;}
.ds-insight{padding:10px 12px;border:1px solid var(--bd);border-radius:8px;margin-bottom:8px;font-size:12px;color:var(--dim);line-height:1.5;}
.ds-tag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:2px 8px;border-radius:4px;margin-right:8px;}
.ds-tag.pattern{background:rgba(108,92,231,0.15);color:#a29bfe;}
.ds-tag.entity{background:rgba(0,206,201,0.15);color:#00cec9;}
.ds-tag.trend{background:rgba(255,165,2,0.15);color:#ffa502;}
.ds-tag.precedent{background:rgba(255,255,255,0.06);color:var(--dim);}
.g-node{position:absolute;padding:8px 14px;border-radius:10px;font-size:11px;font-weight:600;border:1px solid;transition:all .6s cubic-bezier(.16,1,.3,1);opacity:0;transform:scale(0.5);}
.g-node.on{opacity:1;transform:scale(1);}
.g-node.primary{background:rgba(108,92,231,0.12);border-color:rgba(108,92,231,0.3);color:#a29bfe;}
.g-node.secondary{background:rgba(0,206,201,0.1);border-color:rgba(0,206,201,0.25);color:#00cec9;}
.g-node.tertiary{background:rgba(255,255,255,0.04);border-color:var(--bd);color:var(--dim);}
.g-edge{position:absolute;height:1px;transform-origin:left center;opacity:0;transition:opacity .8s .3s;}
.g-edge.on{opacity:.35;}
.g-edge .g-line{width:100%;height:1px;background:linear-gradient(90deg,var(--accent),var(--teal));}
.sec-icon{margin-bottom:10px;color:var(--teal);opacity:.8;}
