@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    font-family: 'Pretendard', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    background-color: #f3f4f6; /* 회색 배경으로 앱 뷰포트를 중앙에 돋보이게 */
    display: flex;
    justify-content: center;
}

/* Mobile App Wrapper (핵심) */
#app-container {
    width: 100%;
    max-width: 480px; /* iPhone Pro Max 너비와 근사 */
    margin: 0 auto;
    background-color: #ffffff;
    min-height: 100vh;
    position: relative;
    box-shadow: 0 0 40px rgba(0,0,0,0.1);
    overflow-x: hidden; /* 가로 스크롤 완전 방지 */
}

/* Fixed Header Constraint */
.mobile-fixed-header {
    position: fixed;
    top: 0;
    width: 100%;
    max-width: 480px;
    z-index: 50;
    transition: background-color 0.3s, border-color 0.3s;
}

/* FAB button constraint */
.mobile-fab {
    position: fixed;
    bottom: 1.5rem;
    right: 50%;
    transform: translateX(216px); /* 480/2 = 240, - 24 (margin) */
    z-index: 50;
}
@media (max-width: 480px) {
    .mobile-fab {
        right: 1.5rem;
        transform: none;
    }
}

.accordion-content {
    transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
    max-height: 0;
    overflow: hidden;
    padding: 0 1rem;
}
.accordion-content.open {
    max-height: 500px;
    padding: 1rem;
}

/* Hide scrollbar for Tab Menus */
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}
.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
