/* 화면을 상단 헤더, 좌측 뷰어, 우측 사이드바로 깔끔하게 나눕니다. */
#app-root {
    display: grid;
    grid-template-areas: 
        "header header"
        "viewer sidebar";
    grid-template-rows: 60px 1fr;
    grid-template-columns: 1fr 380px; /* 우측 컨트롤 패널의 너비 고정 */
    height: 100vh;
    width: 100vw;
}

/* 레고 블록들이 들어갈 자리 */
#slot-header { 
    grid-area: header; 
    background: var(--bg-panel); 
    border-bottom: 1px solid var(--border-color); 
}
#slot-viewer { 
    grid-area: viewer; 
    position: relative; 
    background: var(--bg-main);
    overflow: hidden; 
}
#slot-sidebar { 
    grid-area: sidebar; 
    background: var(--bg-panel); 
    border-left: 1px solid var(--border-color);
    overflow-y: auto; /* 패널 안에서만 스크롤 되도록 설정 */
    padding: 20px;
}

.ui-segment-control {
    display: flex;
    background-color: var(--bg-surface); /* 어두운 배경 */
    border-radius: 6px;
    padding: 4px;
    gap: 4px;
    border: 1px solid var(--border-color);
}

.ui-segment-control input[type="radio"] {
    display: none; /* 진짜 라디오 동그라미는 숨김 */
}

.ui-segment-control label {
    flex: 1;
    display: flex !important;              /* 강제 플렉스 박스 */
    justify-content: center !important;    /* 강제 가로 중앙 정렬 */
    align-items: center !important;        /* 강제 세로 중앙 정렬 */
    text-align: center !important;         /* 강제 텍스트 중앙 정렬 */
    padding: 8px 0 !important;             /* 좌우 여백을 0으로 만들어 한쪽으로 쏠림 방지 */
    border-radius: 4px;
    cursor: pointer;
    color: var(--text-secondary);
    font-size: 0.85em;
    font-weight: 600;
    transition: all 0.2s ease;
    margin: 0;
}

/* 선택되었을 때의 스타일 (스크린샷처럼 밝은 보라색 배경에 어두운 글자) */
.ui-segment-control input[type="radio"]:checked + label {
    background-color: var(--accent-primary);
    color: #111; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}