/* Soft Mint 댓글 행 — 라운지 상세와 동일 계층 */
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-list {
    display: flex;
    flex-direction: column;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-list.has-items > .moment-v2-social-comment + .moment-v2-social-comment {
    border-top: 1px solid color-mix(in srgb, var(--line) 65%, transparent);
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 0;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment:first-child {
    padding-top: 2px;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment:last-child {
    padding-bottom: 4px;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment__avatar {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    margin-top: 1px;
    border-radius: 9999px;
    background: var(--avatar-fallback-bg);
    border: 0;
    color: var(--avatar-fallback-fg);
    box-shadow: var(--avatar-shadow);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--avatar-fallback-font);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    overflow: hidden;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment__avatar--emoji {
    font-size: 16px;
    font-weight: 400;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment__main {
    flex: 1 1 auto;
    min-width: 0;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment__meta {
    min-width: 0;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment__nick {
    border: 0;
    background: transparent;
    padding: 0;
    font-size: 13px;
    font-weight: 700;
    color: var(--ink);
    cursor: pointer;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment__nick:hover {
    color: var(--green-deep);
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment__time {
    font-size: 11px;
    font-weight: 500;
    color: var(--muted);
    font-variant-numeric: tabular-nums;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment__delete {
    flex-shrink: 0;
    border: 0;
    background: transparent;
    padding: 2px 4px;
    font-size: 11px;
    font-weight: 700;
    color: var(--muted);
    cursor: pointer;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment__delete:hover {
    color: var(--danger);
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comment__body {
    margin: 6px 0 0;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--ink-2);
    white-space: pre-wrap;
    word-break: break-word;
}

/* 빈 댓글 안내 — 입력창 위 Paper 톤 */
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-empty {
    flex: 0 0 auto;
    min-height: 7.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem 1rem;
    pointer-events: none;
    border-top: 1px solid color-mix(in srgb, var(--line) 55%, transparent);
    background: var(--page);
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-empty.hidden {
    display: none !important;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-empty-inner {
    margin: 0;
    max-width: 18rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}
/* 연속기록·출석 등과 같이 배경 없는 네이티브 컬러 이모지 */
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-empty-emoji {
    display: block;
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Twemoji Mozilla", sans-serif;
    font-size: 1.75rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    user-select: none;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-empty-text {
    margin: 0;
    font-family: 'Pretendard', sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: -0.01em;
    line-height: 1.5;
    color: var(--muted);
}

body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-more {
    color: var(--muted);
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-more:hover {
    color: var(--ink);
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-input-wrap:not(.hidden) {
    flex: 0 0 auto;
    border-top: 1px solid color-mix(in srgb, var(--line) 65%, transparent);
    background: var(--card);
    padding: 10px 14px 12px;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-input-wrap.hidden {
    display: none !important;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-composer {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-input-avatar {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    margin-bottom: 4px;
    border-radius: 9999px;
    background: var(--avatar-fallback-bg);
    border: 0;
    color: var(--avatar-fallback-fg);
    box-shadow: var(--avatar-shadow);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--avatar-fallback-font);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    overflow: hidden;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-input-shell {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: flex-end;
    min-height: 2.5rem;
    box-sizing: border-box;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--page);
    transition: border-color 120ms ease, box-shadow 120ms ease;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-input-shell:focus-within {
    border-color: var(--green-mute);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--green-soft) 80%, transparent);
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-input {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 2.5rem !important;
    height: auto !important;
    max-height: 11rem;
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    padding: 10px 3rem 10px 14px !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    resize: none;
    background: transparent !important;
    color: var(--ink) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    word-break: break-word;
    white-space: pre-wrap;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-input::placeholder {
    color: var(--muted);
    opacity: 0.85;
}

body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-send {
    position: absolute;
    right: 6px;
    bottom: 6px;
    top: auto;
    transform: none;
    height: 2.1rem;
    width: 2.1rem;
    border-radius: 9999px;
    border: 0;
    background: var(--cta-mint-grad);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--cta-mint-shadow);
    cursor: pointer;
    transition: transform 120ms ease, opacity 120ms ease, filter 120ms ease;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-send.hidden {
    display: none !important;
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-send:disabled {
    opacity: 0.35;
    cursor: default;
    filter: grayscale(0.15);
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-send:hover:not(:disabled) {
    filter: brightness(1.03);
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-send:active:not(:disabled) {
    transform: scale(0.96);
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-send.is-pressed:not(:disabled) {
    transform: scale(0.95);
}
body > .moment-v2-social-comments-panel.moment-v2-social-comments-panel--sheet-in-body .moment-v2-social-comments-input-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 소셜 아이콘: 채워진 상태에서 드롭/내부 그림자 제거 */
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .post-like-btn.post-social-state-on .timeline-meal-photo-moment-social-icon,
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .post-comment-btn.post-social-state-on .timeline-meal-photo-moment-social-icon,
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .post-bookmark-btn.post-social-state-on .timeline-meal-photo-moment-social-icon {
    filter: none !important;
}
/* primary 휠 푸터: body 하위 포털 — .bottom-nav(z-50) 아래, fixed는 캡션 요소 */
#moment-v2-fixed-caption-layer {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    z-index: var(--z-caption-layer);
    overflow: visible;
    pointer-events: none;
    background: transparent;
    box-sizing: border-box;
}
#moment-v2-fixed-caption-layer .moment-v2-dock-portal-inner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    width: 100%;
    max-width: min(28rem, 100% - 0.5rem);
    margin: 0 auto;
    min-height: 0;
    pointer-events: none;
    box-sizing: border-box;
    display: block;
    z-index: 0;
}
/* 포털로 올린 푸터 — 인플로 `.moment-v2-wheel-stage--split-caption .moment-v2-caption-footer`와 동일 톤(휠/기록/소셜은 기존 블록 규칙 그대로) */
#moment-v2-fixed-caption-layer .moment-v2-caption--dock-fixed {
    position: fixed;
    left: 50% !important;
    transform: translate3d(-50%, 0, 0) !important;
    top: auto !important;
    bottom: var(--moment-v2-wheel-footer-bottom) !important;
    z-index: 1;
    width: var(--meal-wheel-caption-inner-w, min(100% - 0.5rem, 28rem)) !important;
    max-width: min(100% - 0.5rem, 28rem) !important;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    overflow: visible;
    max-height: none;
    pointer-events: none;
}
#galleryContainer.moment-feed-layout-v2 .mv2-cap-inflow-hidden {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    overflow: hidden !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none !important;
    flex: 0 0 0 !important;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-dock-slab {
    width: 100%;
    flex: 0 0 auto;
    min-height: 0;
    box-sizing: border-box;
    transition: none;
}
/* 세로 피드 스크롤 중: 블러 배경 페인트 생략(GPU 부하 완화), 스크롤 멈추면 복구 */
html.mv2-feed-scrolling .moment-v2-hpost-bg-img,
html.mv2-feed-scrolling .moment-v2-v-unit-bg-img {
    filter: none !important;
    opacity: 0.35;
}
/* 사진 비율(1:1·3:4·4:3)과 무관하게: 카드 높이는 콘텐츠에 맞춤 — min-height로 짧은 비율 아래 빈 띠(블록 내 여백) 생기지 않음 */
#galleryContainer.moment-feed-layout-v2 .moment-v2-wheel-center-stack {
    flex: 0 0 auto;
    min-height: 0;
}
/* 사진·캐러셀: 타이틀(#mainAppHeader) 하단에서 20px 아래에 상단을 맞춤(스냅 카드 상단=헤더 직하 일 때) */
#galleryView:not(.hidden) #galleryContainer.moment-feed-layout-v2 .instagram-post[data-moment-card-layout='2'] .moment-v2-wheel-center-stack {
    padding-top: var(--moment-v2-photo-below-header-gap, 20px);
}
#moment-v2-fixed-caption-layer > .moment-feed-v2-scope {
    min-height: 0;
    width: 100%;
    max-width: 100%;
    pointer-events: none;
    box-sizing: border-box;
}
/* 화면2: 댓글 영역 — 사진·휠 스택 하단에 겹쳐 토글(이전 `toggleCommentInput` + 목록) */
#galleryContainer.moment-feed-layout-v2 .moment-v2-media-wrap {
    position: relative;
    width: 100%;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-dockable-comment.comment-section.comment-input-open {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: var(--z-feed-comment-open);
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 0.5rem 0.75rem 0.75rem !important;
    border: none;
    border-radius: 0 0 0.5rem 0.5rem;
    background: #fff;
    box-shadow: 0 -4px 18px rgba(15, 23, 42, 0.12);
    max-height: min(42vh, 300px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: block !important;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-dockable-comment .post-comments-list {
    max-height: min(24vh, 200px) !important;
}
/* 화면2 인라인: 사진 위 닉/미트볼/소셜(팝업 #timelineMealPhotosOverlay와 동일 대비) */
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photos-carousel-badge {
    font-family: 'Pretendard', sans-serif !important;
    font-weight: 600 !important;
    border: none !important;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-chrome {
    pointer-events: none;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-chrome-chip {
    box-shadow: 0 1px 8px rgba(15, 23, 42, 0.2);
    box-sizing: border-box;
    min-height: calc(2rem + 4px);
    height: calc(2rem + 4px);
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-avatar {
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.92) !important;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-nick {
    font-family: '나눔손글씨 가람연꽃', 'Nanum Garam Yeonkot', 'Nanum Pen Script', cursive;
    font-weight: 700;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-btn {
    box-sizing: border-box;
    border: none !important;
    background-color: transparent !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-btn:active {
    background-color: transparent !important;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-row {
    gap: 0;
    align-items: center;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-meatball-btn {
    box-sizing: border-box;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-row .post-bookmark-btn {
    margin-right: 10px;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-hit {
    box-sizing: border-box;
    min-width: calc(2rem * 1.25);
    width: calc(2rem * 1.25);
    max-width: min(100%, 12rem);
    padding: 0;
    overflow: visible;
    transition: width 0.18s ease, min-width 0.18s ease, padding 0.18s ease;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-icon-slot {
    flex: 0 0 calc(2rem * 1.25);
    width: calc(2rem * 1.25);
    min-width: calc(2rem * 1.25);
    height: calc(2rem * 1.25);
    box-sizing: border-box;
}
#galleryContainer.moment-feed-layout-v2
    .moment-feed-v2-scope
    .timeline-meal-photo-moment-social-row
    .post-like-btn,
#galleryContainer.moment-feed-layout-v2
    .moment-feed-v2-scope
    .timeline-meal-photo-moment-social-row
    .post-comment-btn,
#galleryContainer.moment-feed-layout-v2
    .moment-feed-v2-scope
    .timeline-meal-photo-moment-social-row
    .post-bookmark-btn {
    min-height: calc(2rem * 1.25);
}
#galleryContainer.moment-feed-layout-v2
    .moment-feed-v2-scope
    .timeline-meal-photo-moment-social-row
    .post-bookmark-btn {
    width: calc(2rem * 1.25);
    height: calc(2rem * 1.25);
    min-width: calc(2rem * 1.25);
    flex-shrink: 0;
}
#galleryContainer.moment-feed-layout-v2
    .moment-feed-v2-scope
    .timeline-meal-photo-moment-social-row
    .post-comment-btn:not(.timeline-meal-photo-moment-social-hit) {
    width: calc(2rem * 1.25);
    height: calc(2rem * 1.25);
    min-width: calc(2rem * 1.25);
    flex-shrink: 0;
}
#galleryContainer.moment-feed-layout-v2
    .moment-feed-v2-scope
    .post-like-btn.timeline-meal-photo-moment-social-hit:has(.post-like-count:not(:empty)) {
    width: auto;
    min-width: calc(2rem * 1.25);
    padding-left: 0;
    padding-right: calc(0.125rem * 1.25);
    gap: calc(0.125rem * 1.25);
    justify-content: flex-start;
}
#galleryContainer.moment-feed-layout-v2
    .moment-feed-v2-scope
    .post-like-btn.timeline-meal-photo-moment-social-hit:has(.post-like-count:not(:empty))
    .timeline-meal-photo-moment-social-icon-slot {
    flex: 0 0 calc(1.5rem * 1.25);
    width: calc(1.5rem * 1.25);
    min-width: calc(1.5rem * 1.25);
    justify-content: flex-end;
    padding-right: 0;
}
#galleryContainer.moment-feed-layout-v2
    .moment-feed-v2-scope
    .post-comment-btn.timeline-meal-photo-moment-social-hit:has(.post-comment-count:not(:empty)) {
    width: auto;
    min-width: calc(2rem * 1.25);
    padding-left: 0;
    padding-right: calc(0.125rem * 1.25);
    gap: calc(0.125rem * 1.25);
    justify-content: flex-start;
}
#galleryContainer.moment-feed-layout-v2
    .moment-feed-v2-scope
    .post-comment-btn.timeline-meal-photo-moment-social-hit:has(.post-comment-count:not(:empty))
    .timeline-meal-photo-moment-social-icon-slot {
    flex: 0 0 calc(1.5rem * 1.25);
    width: calc(1.5rem * 1.25);
    min-width: calc(1.5rem * 1.25);
    justify-content: flex-end;
    padding-right: 0;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-icon-stack {
    position: relative;
    display: grid;
    place-items: center;
    align-content: center;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    font-size: calc(17px * 1.25);
    line-height: 1;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-icon-stack > i,
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-icon-stack > svg {
    grid-area: 1 / 1;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: inherit;
    line-height: 1;
    width: 1em;
    height: 1em;
    min-width: 1em;
    min-height: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-icon-stack > .timeline-meal-photo-moment-social-icon-fill {
    position: relative;
    z-index: 0;
    opacity: 0;
    pointer-events: none;
    filter: none;
    transition: opacity 0.15s ease;
    /* Lucide: 채움 레이어는 fill로 표시 */
    fill: currentColor;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-icon-stack > i.timeline-meal-photo-moment-social-icon,
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-icon-stack > svg.timeline-meal-photo-moment-social-icon {
    position: relative;
    z-index: 1;
    font-size: inherit;
    fill: none;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-icon-stack > i::before {
    display: block;
    line-height: 1;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .post-like-btn.post-social-state-on .post-like-fill {
    opacity: 0.7;
    color: #ef4444;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .post-comment-btn.post-social-state-on .post-comment-fill {
    opacity: 0.7;
    color: #facc15;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .post-bookmark-btn.post-social-state-on .post-bookmark-fill {
    opacity: 0.7;
    color: #ffffff;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-icon {
    display: inline-block;
    -webkit-text-stroke: 0;
    paint-order: normal;
    filter: drop-shadow(0 1px 2px rgba(15, 23, 42, 0.62)) drop-shadow(0 0 1px rgba(15, 23, 42, 0.48));
    font-size: calc(17px * 1.25);
    line-height: 1;
    color: rgba(255, 255, 255, 0.95);
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-meatball-icon {
    display: inline-block;
    -webkit-text-stroke: 0 transparent;
    paint-order: normal;
    color: rgba(255, 255, 255, 0.95);
    font-size: calc(17px * 0.7);
    line-height: 1;
    filter: drop-shadow(0 1px 2px rgba(15, 23, 42, 0.62)) drop-shadow(0 0 1px rgba(15, 23, 42, 0.48));
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-count {
    font-size: calc(0.75rem * 1.25);
    font-weight: 700;
    line-height: 1;
    min-width: 0.65rem;
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 2px rgba(15, 23, 42, 0.45);
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-social-count:empty {
    display: none;
    width: 0;
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photos-carousel-badge .carousel-badge-num {
    font-size: 1rem;
    line-height: 1;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photos-carousel-badge .carousel-badge-sep {
    font-size: 0.5625rem;
    opacity: 0.9;
    padding: 0 0.1em;
    font-family: inherit;
    font-weight: 400;
}

/* 모먼트 시안 v2: 메뉴 캔버스는 --page-deep, 카드만 화이트 */
body[data-main-tab='gallery'] {
    --app-page-bg: var(--page-deep, #faf6f2);
    background-color: var(--page-deep, #faf6f2) !important;
}
body[data-main-tab='gallery'] #mainApp,
body[data-main-tab='gallery'] #galleryView {
    background-color: var(--page-deep, #faf6f2) !important;
}
#galleryContainer.moment-feed-layout-v2 {
    background: var(--page-deep, #faf6f2) !important;
}
#galleryContainer.moment-feed-layout-v2 #galleryPostsInsertPoint {
    gap: 14px;
    padding: 14px 14px calc(100px + var(--safe-bottom, 0px)) !important;
}
#galleryContainer.moment-feed-layout-v2
    .instagram-post.moment-v2-gallery-post-shell[data-moment-card-layout='2']
    .moment-feed-v2-scope[data-moment-v2-root] {
    overflow: hidden;
    border: 1px solid var(--line, #d0c6ba);
    border-radius: 18px;
    background: var(--card, #ffffff);
    box-shadow:
        0 1px 0 rgba(43, 40, 37, 0.06),
        0 6px 18px rgba(43, 40, 37, 0.07) !important;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-v-unit-bg-wrap,
#galleryContainer.moment-feed-layout-v2 .moment-v2-hpost-bg-wrap {
    display: none !important;
}
/* 내부 라운드 제거 — 카드(18px)+overflow:hidden만 적용 (시안) */
#galleryContainer.moment-feed-layout-v2 .moment-v2-hpost-ambient {
    border-radius: 0;
    background: transparent;
}
#galleryView:not(.hidden) #galleryContainer.moment-feed-layout-v2
    .instagram-post[data-moment-card-layout='2'] .moment-v2-wheel-center-stack {
    padding-top: 0;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-photo-surface {
    border-radius: 0 !important;
    box-shadow: none !important;
    background-color: #e2e8f0 !important;
    --tw-ring-color: transparent !important;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-photo-wrap,
#galleryContainer.moment-feed-layout-v2 .moment-v2-photo-shell {
    background: #e2e8f0;
}
/* 시안 v2: 휠 날짜 라벨(YYYY:MM:DD)·사진 위 레거시 오버레이 숨김 — 본문 메타/소셜만 */
#galleryContainer.moment-feed-layout-v2 .moment-v2-wheel-caption-row,
#moment-v2-fixed-caption-layer .moment-v2-wheel-caption-row,
#galleryContainer.moment-feed-layout-v2 .moment-v2-wheel-strip,
#moment-v2-fixed-caption-layer .moment-v2-wheel-strip,
#galleryContainer.moment-feed-layout-v2 .moment-v2-caption-footer .meal-photo-wheel-col,
#moment-v2-fixed-caption-layer .moment-v2-caption-footer .meal-photo-wheel-col,
#galleryContainer.moment-feed-layout-v2 .moment-v2-caption-footer [data-moment-v2-wheel-strip],
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photos-wheelbar-inner,
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope [data-moment-v2-chrome-top-wrap],
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope .timeline-meal-photo-moment-chrome,
#galleryContainer.moment-feed-layout-v2 .moment-v2-v-unit [data-moment-v2-author-comment-band],
#galleryContainer.moment-feed-layout-v2 .moment-v2-v-unit [data-moment-v2-author-unit] {
    display: none !important;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-photo-shell [data-meal-photo-social-bubble],
#galleryContainer.moment-feed-layout-v2 .moment-v2-v-photo-clip [data-meal-photo-social-bubble] {
    display: none !important;
}
/* 베스트 공유: '이번 주 베스트' 칩·하단 초록 그라데이션 미사용 */
#galleryContainer.moment-feed-layout-v2 .moment-v2-v-unit-stack {
    border-radius: 0 !important;
    background: transparent;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-wheel-caption-row.timeline-meal-photo-menu-bar {
    min-height: 0;
    gap: 4px;
    padding: 14px 16px 4px;
    border: 0 !important;
    background: #ffffff !important;
    color: var(--ink-2, #4f4841) !important;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-wheel-caption-row [data-wheel-menu-caption] {
    width: 100%;
    margin-left: 0;
    align-self: stretch;
    align-items: flex-start;
    color: var(--ink, #241f1c) !important;
    -webkit-text-fill-color: var(--ink, #241f1c);
    text-align: left;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-wheel-caption-row [data-wheel-menu-caption]
    .moment-v2-wheel-anim-strip--menu {
    width: 100%;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-wheel-caption-row [data-wheel-menu-caption]
    .moment-v2-wheel-menu-anim-line {
    text-align: left;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-wheel-caption-row .timeline-meal-photos-wheelbar-inner {
    color: var(--muted, #7a7268);
    font-family: 'Pretendard', sans-serif;
    font-size: 13px;
    font-weight: 500;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-wheel-caption-row .meal-photo-wheel-sep--colon {
    color: #cbd5e1;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-author-comment-band {
    margin: 0;
    padding: 4px 16px 12px;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #64748b !important;
    box-shadow: none;
    backdrop-filter: none;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-author-comment-body {
    color: #64748b !important;
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    line-height: 1.5;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-social-below-photo {
    position: static !important;
    width: 100%;
    /* 영역 높이 ≈ 이전(1.38·패딩10)의 ~80%: 패딩 축소 + 버튼 1.25 */
    padding: 4px 0 0 !important;
    border-top: 1px solid var(--line, #d0c6ba);
    background: transparent !important;
    min-height: 0;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-social-below-photo
    .timeline-meal-photo-moment-social-row {
    min-height: calc(2rem * 1.25);
    align-items: center;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-social-below-photo
    .timeline-meal-photo-moment-social-icon,
#galleryContainer.moment-feed-layout-v2 .moment-v2-social-below-photo
    .timeline-meal-photo-moment-social-icon-stack {
    color: #64748b !important;
    filter: none;
    font-size: calc(17px * 1.25);
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-social-below-photo
    .timeline-meal-photo-moment-social-count {
    color: #64748b;
    text-shadow: none;
    font-size: calc(0.75rem * 1.25);
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-social-below-photo
    .timeline-meal-photo-moment-social-row .post-bookmark-btn {
    margin-right: 0;
    margin-left: auto;
}
#galleryContainer.moment-feed-layout-v2 .moment-v2-social-below-photo
    .timeline-meal-photo-moment-social-icon.lucide,
#galleryContainer.moment-feed-layout-v2 .moment-v2-social-below-photo
    .timeline-meal-photo-moment-social-icon svg {
    width: 1em;
    height: 1em;
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope
    .post-bookmark-btn.post-social-state-on .post-bookmark-fill {
    color: var(--green, #3cb889);
}
#galleryContainer.moment-feed-layout-v2 .moment-feed-v2-scope
    .post-like-btn.post-social-state-on .post-like-fill {
    color: #e11d48;
}
#galleryContainer.moment-feed-layout-v2 .timeline-meal-photo-moment-chrome-chip {
    border-color: rgba(255, 255, 255, 0.72);
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.12);
}
#galleryContainer.moment-feed-layout-v2 .timeline-meal-photos-carousel-badge {
    background: rgba(15, 23, 42, 0.55) !important;
    color: #ffffff !important;
    text-shadow: none;
    border-radius: 9999px;
    font-weight: 600;
}

/* 모먼트 탭: 헤더는 검색+알림만 — 인라인 흔적 필터 패널 숨김 (검색은 모달) */
body[data-main-tab='gallery'] #galleryTraceFilterPanel {
    display: none !important;
}
body[data-main-tab='gallery'] #galleryTraceFilterPanel.gallery-trace-panel:not(.hidden) {
    display: none !important;
}
body[data-main-tab='gallery'] #galleryTraceFilterPanel .gallery-trace-btn {
    width: 32px;
    height: 32px;
    border-radius: 9999px;
}
body[data-main-tab='gallery'] #headerAppTitle {
    font-size: 26px;
}

/* 모먼트 전체화면 휠: 동일한 밝은 사진 일기 톤 */
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photos-overlay-backdrop {
    background: rgba(247, 248, 246, 0.96) !important;
    backdrop-filter: blur(18px);
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photos-vslide {
    border-color: transparent !important;
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photo-aspect-slot {
    border-radius: 18px !important;
    background: #eef1ed !important;
    box-shadow: 0 8px 30px rgba(15, 23, 42, 0.1);
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photo-moment-chrome-chip {
    border-color: rgba(255, 255, 255, 0.75);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.12);
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photos-caption-footer {
    overflow: hidden;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.07);
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photos-slide-caption-inner {
    border-color: transparent !important;
    background: #ffffff !important;
    color: #64748b !important;
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    [data-wheel-menu-caption] {
    color: #1f2937 !important;
    -webkit-text-fill-color: #1f2937;
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .meal-photo-wheel-sep {
    color: #cbd5e1 !important;
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photos-overlay-comment-band {
    border-color: #f1f5f9 !important;
    background: #ffffff !important;
    color: #64748b !important;
    backdrop-filter: none;
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photo-social-below {
    position: static !important;
    width: 100%;
    padding: 6px 12px;
    border-top: 1px solid #f1f5f9;
    background: #ffffff;
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photo-social-below .timeline-meal-photo-moment-social-row {
    width: 100%;
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photo-social-below .post-bookmark-btn {
    margin-left: auto;
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photo-social-below .timeline-meal-photo-moment-social-icon {
    color: #64748b !important;
    filter: none;
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photo-social-below .timeline-meal-photo-moment-social-count {
    color: #64748b;
    text-shadow: none;
}
#timelineMealPhotosOverlay.timeline-meal-photos-overlay--moment-feed:not(.hidden)
    .timeline-meal-photos-carousel-badge {
    background: rgba(255, 255, 255, 0.84) !important;
    color: #475569 !important;
    text-shadow: none;
}
/* 기록 등록 모달: 포커스 — entry-sheet 디자인 토큰과 통일 */
#entryModal #modalScrollArea input[type="text"]:focus,
#entryModal #modalScrollArea input[type="text"]:focus-visible,
#entryModal #modalScrollArea textarea:focus,
#entryModal #modalScrollArea textarea:focus-visible {
    background-color: var(--entry-input-bg-focus, #fff);
    border-color: var(--entry-accent, #3cb889);
    box-shadow: 0 0 0 3px var(--entry-accent-ring, rgb(16 185 129 / 0.18));
}
#entryModal #modalScrollArea #deliveryVendorInput:focus,
#entryModal #modalScrollArea #deliveryVendorInput:focus-visible {
    background-color: var(--entry-input-bg-focus, #fff);
}
/* 캡쳐 3종세트 모달: 좌우 여백 확보(좁은 기기에서 캐릭터·입력창 잘림 방지), 가로 스크롤 방지 */
#bestShareModal,
#insightShareModal,
#dailySharePreviewModal,
.capture-share-modal {
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow-x: hidden;
}
.capture-share-modal > div {
    max-width: min(448px, calc(100vw - 24px));
    box-sizing: border-box;
}
/* 인사이트 공유 모달: 좁은 기기에서 제목·미리보기 잘림 방지 */
#insightShareModal .border-b h2 {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#insightSharePreview {
    min-width: 0;
}

.sticker-badge { 
    background: rgba(255,255,255,0.12); 
    backdrop-filter: blur(8px); 
    border-radius: 1rem; 
    padding: 10px 14px; 
    display: flex; 
    align-items: center; 
    gap: 10px; 
    margin-top: 14px; 
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
}
/* 식사기록·간식기록 박스 중간 구분선: 흰색 */
.sticker-badge-divider {
    width: 1px;
    background: #ffffff;
    margin: 0;
    align-self: stretch;
    flex-shrink: 0;
}
/* 인사이트 박스 내 식사/간식 기록: 외부 초록 박스와 동일 배경, 기간 영역과 동일 보더 */
#dashboardView .sticker-badge {
    background: var(--green);
    backdrop-filter: none;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 6px;
    box-shadow: none;
}
.date-section-header { 
    position: relative; 
    background: transparent; 
    padding: 2px 2px 8px; 
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
/* 밀로그: 모먼트와 동일 — body/#mainApp까지 page-deep (네비 숨김 시 하단이 흰색으로 비치지 않음) */
body[data-main-tab='timeline'] {
    --app-page-bg: var(--page-deep, #faf6f2);
    background-color: var(--page-deep, #faf6f2) !important;
}
body[data-main-tab='timeline'] #mainApp {
    background-color: var(--page-deep, #faf6f2) !important;
}
body[data-main-tab='timeline'] .date-section-header {
    padding: 2px 2px 8px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
body[data-main-tab='timeline'] .date-section-header h3 {
    color: var(--muted, #7a7268);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
}
body[data-main-tab='timeline'] .date-section-header__actions {
    gap: 6px;
}
body[data-main-tab='timeline'] .timeline-view-picker,
body[data-main-tab='timeline'] .date-section-header__share-btn {
    border-color: rgba(226, 232, 240, 0.9);
    border-radius: 10px;
    box-shadow: none;
}
body[data-main-tab='timeline'] .timeline-view-picker {
    --tvp-scale: 1;
    min-width: 58px;
}
.date-section-header__actions {
    display: inline-flex;
    align-items: center;
    gap: calc(0.375rem * 1.3);
    margin-left: auto;
    flex-shrink: 0;
}
.date-section-header__action-btn {
    height: 2.5rem;
    box-sizing: border-box;
}
.date-section-header__share-btn,
.date-section-header__share-btn.date-section-header__action-btn,
body[data-main-tab='timeline'] .date-section-header__share-btn,
body[data-main-tab='timeline'] .date-section-header__share-btn.date-section-header__action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    gap: 0.25rem;
    /* 뷰 피커보다 낮고 넓게 */
    height: 2.125rem !important;
    min-height: 2.125rem !important;
    max-height: 2.125rem;
    padding: 0 0.8rem;
    min-width: 5rem;
    border-radius: 0.625rem;
    border-width: 1px;
    border-style: solid;
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    transition: opacity 0.15s;
    box-sizing: border-box;
    color: var(--green-deep, #2d9f74);
}
.date-section-header__share-btn:active {
    opacity: 0.7;
}
.date-section-header__share-btn--default {
    background: #ffffff;
    border-color: #e2e8f0;
    color: var(--green-deep);
}
/* 공유됨: 흰 배경 유지 + check + 진한 보더 (솔리드 초록 지양) */
.date-section-header__share-btn--shared {
    background: #ffffff;
    border-color: var(--green-deep, #2d9f74);
    border-width: 1.5px;
    color: var(--green-deep, #2d9f74);
    box-shadow: none;
}
.date-section-header__share-btn--shared i,
.date-section-header__share-btn--shared svg {
    color: var(--green-deep, #2d9f74);
    stroke: currentColor;
}
/* 트래커 월 라벨과 구분 — 피드 날짜는 시안 date-label 톤(실기기에서 약간 키움) */
.date-section-header h3 {
    color: var(--muted, #7a7268);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
}
.date-section-header h3.date-section-header__date--weekend {
    color: #fb7185;
}
/* 타임라인 헤더 — 식사/간식 보기 피커 (첨부 디자인) */
.timeline-view-picker {
    --tvp-scale: 1.3;
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    height: 2.5rem;
    min-width: calc(3.35rem * var(--tvp-scale));
    padding: 0 calc(0.25rem * var(--tvp-scale));
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.625rem;
    box-sizing: border-box;
    cursor: pointer;
}
.timeline-view-picker:focus-within {
    outline: 2px solid rgba(16, 185, 129, 0.45);
    outline-offset: 1px;
}
.timeline-view-picker__select {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    font-size: 0.6875rem;
    line-height: 1.2;
}
.timeline-view-picker__select option {
    font-size: 0.6875rem;
    line-height: 1.3;
}
.timeline-view-picker__visual {
    display: inline-flex;
    align-items: center;
    gap: calc(0.3125rem * var(--tvp-scale));
    width: 100%;
    height: 100%;
    padding-inline: calc(0.125rem * (var(--tvp-scale) - 1));
    box-sizing: border-box;
    pointer-events: none;
}
.timeline-view-picker__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: calc(0.875rem * var(--tvp-scale));
    color: #94a3b8;
    font-size: calc(0.75rem * var(--tvp-scale));
    line-height: 1;
}
.timeline-view-picker__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: calc(0.0625rem * var(--tvp-scale));
    min-width: 0;
}
.timeline-view-picker__category {
    font-size: 0.625rem;
    font-weight: 400;
    line-height: 1.2;
    color: #64748b;
    white-space: nowrap;
}
.timeline-view-picker__value-row {
    display: inline-flex;
    align-items: center;
    gap: calc(0.125rem * var(--tvp-scale));
    min-width: 0;
}
.timeline-view-picker__value {
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1.2;
    color: #000000;
    white-space: nowrap;
}
.timeline-view-picker__chevron {
    flex-shrink: 0;
    color: #000000;
    font-size: calc(0.5rem * var(--tvp-scale));
    line-height: 1;
    margin-inline-start: calc(0.0625rem * (var(--tvp-scale) - 1));
}
/* 타임라인 — 날짜 묶음은 DOM 용도만(시안처럼 별도 컨테이너 면 없음) */
#timelineContainer.ui-stack-lg > * + * {
    margin-top: 0;
}
#timelineContainer > .timeline-date-card {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
}
#timelineContainer > .timeline-date-card:first-child {
    margin-top: 0;
}
#timelineContainer > .timeline-date-card .date-section-header {
    margin-bottom: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}
#timelineContainer > .timeline-date-card > *:last-child {
    margin-bottom: 0 !important;
}
/* 시안 feed: page-deep 메뉴 캔버스 + 좌우 패딩 위에 카드가 바로 올림 */
#timelineView {
    padding-left: 0 !important;
    padding-right: 0 !important;
    background-color: var(--page-deep, #faf6f2) !important;
}
/* 일간: 카드 아래 빈 배경도 히트 영역으로 남겨 가로 스와이프가 끊기지 않게 함 */
#timelineView.timeline-view-mode-page:not(.hidden) {
    min-height: calc(100dvh - var(--safe-top, 28px) - 80px - var(--safe-bottom, 48px) - 9.75rem);
}
#timelineContainer {
    /* 네비 클리어런스는 body padding-bottom이 담당 — 컨테이너는 콘텐츠 간격만 */
    padding: 8px 14px 12px;
    background: transparent;
    box-sizing: border-box;
    /* 카드 사이·패딩 빈 공간에서도 가로 제스처가 브라우저 pan-x로 소모되지 않게 */
    touch-action: pan-y;
}
/* 밀로그 진입: 좌우 스와이프 가능함을 알려주는 한 번의 작은 너지 */
@keyframes mealog-timeline-swipe-hint {
    0%   { transform: translate3d(0, 0, 0); }
    35%  { transform: translate3d(-18px, 0, 0); }
    100% { transform: translate3d(0, 0, 0); }
}
#timelineContainer.timeline-container--swipe-hint {
    animation: mealog-timeline-swipe-hint 520ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}
@media (prefers-reduced-motion: reduce) {
    #timelineContainer.timeline-container--swipe-hint {
        animation: none;
    }
}
/* 일간 보기: 가로 스와이프는 JS가 처리, 세로 스크롤만 브라우저에 위임 */
#timelineView.timeline-view-mode-page {
    overflow-x: hidden;
}
#timelineView.timeline-view-mode-page,
#timelineView.timeline-view-mode-page .card,
#timelineView.timeline-view-mode-page .date-section-header {
    touch-action: pan-y;
}
#timelineContainer .card {
    border-radius: 18px !important;
}

