/* ========================================
   TIK-TOK-FEED.CSS - TikTok Style Video Feed
   ======================================== */

/* Feed Container */
.video-feed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #000;
    z-index: 2000;
    display: none;
    overflow: hidden;
}

.video-feed.active {
    display: block;
}

.video-feed-wrapper {
    position: relative;
    width: 100%;
    height: 100vh;
    background: #000;
    overflow: hidden;
}

/* Scroll Container */
.video-feed-scroll-container {
    position: relative;
    width: 100%;
    height: 100vh;
    scroll-snap-type: y mandatory;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
}

.video-feed-scroll-container::-webkit-scrollbar {
    display: none;
}

/* Video Feed Items */
.video-feed-item {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    overflow: hidden;
    background: #000;
    transition: opacity 0.3s ease;
}

.video-feed-item.current {
    z-index: 10;
}

.video-feed-item.loading {
    opacity: 0.7;
}

.video-feed-item.loading::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255, 255, 255, 0.1) 50%, 
        transparent 100%);
    background-size: 200% 100%;
    animation: shimmer 2s infinite;
    z-index: 1;
}

@keyframes shimmer {
    0% { background-position: -200% center; }
    100% { background-position: 200% center; }
}

/* Video Player */
.feed-video-player {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
    z-index: 1;
}

.feed-video-player:focus {
    outline: none;
}

/* Video Overlay */
.feed-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 60px 20px 30px;
    background: linear-gradient(to top, 
        rgba(0, 0, 0, 0.9) 0%,
        rgba(0, 0, 0, 0.5) 50%,
        transparent 100%);
    z-index: 2;
    color: white;
    pointer-events: none;
}

/* Feed Info */
.feed-info {
    max-width: 70%;
    margin-bottom: 20px;
    pointer-events: auto;
}

.feed-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.feed-description {
    font-size: 0.95rem;
    opacity: 0.9;
    margin-bottom: 12px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.feed-meta {
    font-size: 0.85rem;
    opacity: 0.8;
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.feed-username {
    display: flex;
    align-items: center;
    gap: 4px;
}

.feed-username::before {
    content: '@';
    opacity: 0.7;
}

.feed-views {
    display: flex;
    align-items: center;
    gap: 4px;
}

.feed-views i {
    font-size: 0.8rem;
}

/* Feed Actions */
.feed-actions {
    position: absolute;
    right: 20px;
    bottom: 100px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    z-index: 3;
    pointer-events: auto;
}

.feed-action-btn {
    background: rgba(0, 0, 0, 0.5);
    border: none;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-size: 1.2rem;
    gap: 2px;
    padding: 8px 0;
}

.feed-action-btn span {
    font-size: 0.7rem;
    font-weight: 500;
    line-height: 1;
}

.feed-action-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.1);
}

.feed-action-btn:active {
    transform: scale(0.95);
}

.feed-action-btn.liked {
    color: #ff3b5c;
}

.feed-action-btn.liked i {
    animation: likePop 0.3s ease;
}

@keyframes likePop {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

/* Feed Header */
.feed-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
    background: linear-gradient(to bottom, 
        rgba(0, 0, 0, 0.7) 0%,
        transparent 100%);
    pointer-events: none;
}

.feed-header button {
    pointer-events: auto;
}

.feed-controls {
    display: flex;
    gap: 12px;
}

.close-feed {
    background: rgba(0, 0, 0, 0.5);
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-size: 1.2rem;
}

.close-feed:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.1);
}

/* Side Controls (Desktop) */
.side-controls {
    position: fixed;
    right: 20px;
    bottom: 150px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    z-index: 5;
    pointer-events: none;
}

.side-controls button {
    pointer-events: auto;
}

.side-control-btn {
    background: rgba(0, 0, 0, 0.5);
    border: none;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-size: 1.2rem;
}

.side-control-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.1);
}

.side-control-btn:active {
    transform: scale(0.95);
}

/* Progress Bar */
.video-progress-wrapper {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 4;
}

.video-progress-bar {
    position: relative;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.2);
}

.video-progress-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: linear-gradient(90deg, #FF0050, #00F2FE);
    width: 0%;
    transition: width 0.1s linear;
    z-index: 2;
}

.video-progress-buffer {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: rgba(255, 255, 255, 0.1);
    width: 0%;
    transition: width 0.3s ease;
    z-index: 1;
}

/* Quality Selector */
.quality-selector {
    position: absolute;
    top: 80px;
    right: 20px;
    background: rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 12px;
    padding: 8px;
    color: white;
    font-size: 0.9rem;
    z-index: 20;
    min-width: 150px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.quality-option {
    padding: 10px 16px;
    cursor: pointer;
    border-radius: 8px;
    transition: background 0.2s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.quality-option:hover {
    background: rgba(255, 255, 255, 0.1);
}

.quality-option.active {
    color: #FF0050;
}

.quality-option.active::before {
    content: '?';
    font-weight: bold;
}

/* Comments Panel */
.comments-panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 400px;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 30;
    display: flex;
    flex-direction: column;
    color: white;
}

.comments-panel.active {
    transform: translateX(0);
}

.comments-header {
    padding: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}

.comments-header h3 {
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0;
}

.close-comments {
    background: none;
    border: none;
    color: white;
    font-size: 1.2rem;
    cursor: pointer;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.close-comments:hover {
    background: rgba(255, 255, 255, 0.1);
}

.comments-list {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.comment-item {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.comment-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--gradient);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-weight: 600;
}

.comment-content {
    flex: 1;
}

.comment-author {
    font-weight: 600;
    font-size: 0.95rem;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.comment-time {
    font-size: 0.75rem;
    opacity: 0.6;
    font-weight: normal;
}

.comment-text {
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 8px;
    word-break: break-word;
}

.comment-actions {
    display: flex;
    gap: 16px;
    font-size: 0.8rem;
    opacity: 0.7;
}

.comment-actions button {
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 0;
}

.comment-actions button:hover {
    opacity: 1;
    color: #FF0050;
}

.comment-input {
    padding: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

.comment-input input {
    flex: 1;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    border-radius: 24px;
    padding: 12px 16px;
    color: white;
    font-size: 0.95rem;
}

.comment-input input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.comment-input input:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.15);
}

.comment-input button {
    background: linear-gradient(135deg, #FF0050, #00F2FE);
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    color: white;
    cursor: pointer;
    transition: transform 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.comment-input button:hover {
    transform: scale(1.1);
}

.comment-input button:active {
    transform: scale(0.95);
}

/* Loading States */
.feed-loading-indicator {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: white;
    padding: 12px 24px;
    border-radius: 40px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.95rem;
}

/* Offline Message */
.offline-message {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: white;
    padding: 12px 24px;
    border-radius: 40px;
    z-index: 100;
    display: flex;
    align-items: center;
    gap: 12px;
    border-left: 4px solid #FF9500;
}

.offline-content {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* End of Feed Message */
.end-of-feed-message {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    z-index: 10;
}

.end-message-content {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 20px;
    padding: 30px;
    max-width: 300px;
}

.end-message-content i {
    font-size: 3rem;
    color: #00F2FE;
    margin-bottom: 16px;
}

.end-message-content h3 {
    font-size: 1.3rem;
    margin-bottom: 8px;
}

.end-message-content p {
    opacity: 0.8;
    margin-bottom: 20px;
}

/* Double Tap Heart Animation */
.double-tap-heart {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    color: white;
    font-size: 100px;
    text-shadow: 0 0 30px rgba(255, 0, 80, 0.5);
    z-index: 20;
    pointer-events: none;
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.double-tap-heart.active {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    animation: heartBeat 0.5s ease;
}

@keyframes heartBeat {
    0% { transform: translate(-50%, -50%) scale(0); opacity: 0; }
    15% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
    30% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    45% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
    60% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(0); opacity: 0; }
}

/* Volume Slider */
.volume-slider-container {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%) rotate(270deg);
    transform-origin: center;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 16px 8px;
    border-radius: 30px;
    z-index: 15;
    display: none;
}

.volume-slider-container.show {
    display: block;
    animation: fadeIn 0.2s ease;
}

.volume-slider {
    width: 100px;
    height: 4px;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
    outline: none;
    transform: rotate(180deg);
}

.volume-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: linear-gradient(135deg, #FF0050, #00F2FE);
    cursor: pointer;
    transition: transform 0.2s;
}

.volume-slider::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}

/* Network Indicator */
.network-indicator {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: white;
    padding: 8px 16px;
    border-radius: 30px;
    font-size: 0.85rem;
    z-index: 15;
    display: none; /* empty state must not render a dark top-centre pill */
    align-items: center;
    gap: 8px;
}

.network-indicator.wifi,
.network-indicator.slow,
.network-indicator.offline { display: flex; }

.network-indicator.wifi::before {
    content: '??';
}

.network-indicator.slow::before {
    content: '??';
    color: #FF9500;
}

.network-indicator.offline::before {
    content: '??';
    color: #FF3B30;
}

/* Battery Saver Indicator */
.battery-saver-indicator {
    position: absolute;
    top: 20px;
    right: 80px;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #4CD964;
    padding: 8px 16px;
    border-radius: 30px;
    font-size: 0.85rem;
    z-index: 15;
    display: flex;
    align-items: center;
    gap: 8px;
}

.battery-saver-indicator::before {
    content: '??';
}

/* Playback Speed Indicator */
.playback-speed-indicator {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: white;
    padding: 12px 24px;
    border-radius: 40px;
    font-size: 1rem;
    z-index: 20;
    display: none;
}

.playback-speed-indicator.show {
    display: block;
    animation: fadeIn 0.2s ease;
}

/* Swipe Hint */
.swipe-hint {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-size: 0.85rem;
    opacity: 0.7;
    animation: swipeHint 2s infinite;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    padding: 8px 16px;
    border-radius: 30px;
}

@keyframes swipeHint {
    0%, 100% { transform: translateX(-50%) translateY(0); opacity: 0.7; }
    50% { transform: translateX(-50%) translateY(-10px); opacity: 1; }
}

/* Sound Wave Animation */
.sound-wave {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    height: 20px;
    margin-left: 8px;
}

.sound-wave-bar {
    width: 2px;
    background: white;
    animation: soundWave 1s infinite ease-in-out;
}

.sound-wave-bar:nth-child(1) { animation-delay: 0s; }
.sound-wave-bar:nth-child(2) { animation-delay: 0.1s; }
.sound-wave-bar:nth-child(3) { animation-delay: 0.2s; }
.sound-wave-bar:nth-child(4) { animation-delay: 0.3s; }
.sound-wave-bar:nth-child(5) { animation-delay: 0.4s; }

@keyframes soundWave {
    0%, 100% { height: 5px; }
    50% { height: 15px; }
}

/* Autoplay Prompt */
.autoplay-prompt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    z-index: 20;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 20px;
    padding: 30px;
    max-width: 280px;
}

.autoplay-prompt i {
    font-size: 3rem;
    color: #00F2FE;
    margin-bottom: 16px;
}

.autoplay-prompt h3 {
    font-size: 1.2rem;
    margin-bottom: 8px;
}

.autoplay-prompt p {
    opacity: 0.8;
    margin-bottom: 20px;
    font-size: 0.95rem;
}

/* Responsive Design */
@media (max-width: 768px) {
    .feed-info {
        max-width: 60%;
    }

    .feed-title {
        font-size: 1rem;
    }

    .feed-description {
        font-size: 0.85rem;
    }

    .feed-meta {
        font-size: 0.75rem;
        gap: 12px;
    }

    .feed-actions {
        right: 12px;
        bottom: 80px;
        gap: 16px;
    }

    .feed-action-btn {
        width: 44px;
        height: 44px;
        font-size: 1.1rem;
    }

    .feed-action-btn span {
        font-size: 0.65rem;
    }

    .side-controls {
        display: none;
    }

    .comments-panel {
        width: 100%;
    }

    .volume-slider-container {
        right: 10px;
    }

    .volume-slider {
        width: 80px;
    }

    .close-feed {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 480px) {
    .feed-info {
        max-width: 100%;
        padding-right: 60px;
    }

    .feed-actions {
        right: 8px;
        bottom: 70px;
        gap: 12px;
    }

    .feed-action-btn {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }

    .feed-action-btn span {
        font-size: 0.6rem;
    }

    .feed-overlay {
        padding: 50px 15px 20px;
    }

    .swipe-hint {
        bottom: 20px;
        font-size: 0.75rem;
        padding: 6px 12px;
    }

    .comment-input {
        padding: 15px;
    }

    .comment-input input {
        padding: 10px 14px;
        font-size: 0.9rem;
    }

    .comment-input button {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }
}

/* iOS Safe Area Support */
@supports (padding: max(0px)) {
    .feed-overlay {
        padding-bottom: max(30px, env(safe-area-inset-bottom));
    }

    .feed-actions {
        bottom: max(100px, env(safe-area-inset-bottom) + 70px);
    }

    .close-feed {
        top: max(20px, env(safe-area-inset-top));
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .video-feed-scroll-container {
        scroll-behavior: auto;
    }

    .video-feed-item,
    .feed-action-btn,
    .double-tap-heart,
    .swipe-hint {
        animation: none;
        transition: none;
    }
}

/* Focus styles */
.feed-action-btn:focus-visible,
.close-feed:focus-visible,
.comment-input button:focus-visible {
    outline: 2px solid #00F2FE;
    outline-offset: 2px;
}


/* Print Styles */
@media print {
    .video-feed {
        display: none !important;
    }
}
/* Fix for hidden elements */
.video-feed.active {
    display: block !important;
}

.video-feed {
    display: none;
}

/* Ensure video player is visible */
.feed-video-player {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
}

/* Ensure overlay is above video */
.feed-overlay {
    z-index: 10;
}

.feed-actions {
    z-index: 20;
}

/* Fix for message containers */
.end-of-feed-message,
.no-videos-message,
.feed-error-message {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    text-align: center;
    color: white;
}

/* Feed interaction stabilization - 2026-07-28 */
.video-feed-scroll-container {
    height: 100dvh;
    scrollbar-width: none;
    touch-action: pan-y;
    scroll-snap-type: y mandatory;
}

.video-feed-item {
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 100dvh;
    min-height: 100dvh;
    will-change: transform;
    contain: layout paint style;
}

.feed-video-player {
    object-fit: contain;
}

.comments-panel {
    display: none;
    top: 50%;
    bottom: auto;
    right: 18px;
    width: min(420px, calc(100vw - 36px));
    height: min(72vh, 680px);
    max-height: calc(100dvh - 36px);
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 18px 60px rgba(0,0,0,.5);
    transform: translate(110%, -50%);
    overflow: hidden;
}

.comments-panel.active {
    display: flex;
    transform: translate(0, -50%);
}

.comments-list {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 768px) {
    .comments-panel {
        top: auto;
        right: 8px;
        left: 8px;
        bottom: max(8px, env(safe-area-inset-bottom));
        width: auto;
        height: min(62dvh, 560px);
        max-height: 68dvh;
        border-radius: 20px 20px 14px 14px;
        transform: translateY(calc(100% + 24px));
    }

    .comments-panel.active {
        transform: translateY(0);
    }

    .comments-header { padding: 14px 16px; }
    .comments-list { padding: 14px 16px; }
    .comment-input { padding: 12px 14px max(12px, env(safe-area-inset-bottom)); }
}


/* Playback/cancel hardening - latest feed patch */
.feed-header {
    position: fixed !important;
    top: env(safe-area-inset-top, 0) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2147483000 !important;
    pointer-events: none !important;
}
.feed-header .close-feed,
.feed-header .feed-controls,
.feed-header button {
    pointer-events: auto !important;
}
.close-feed {
    position: relative !important;
    z-index: 2147483001 !important;
    opacity: 1 !important;
    visibility: visible !important;
    flex: 0 0 44px;
}
.video-repairing::after {
    content: 'Preparing video for playback…';
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    z-index: 80;
    color: #fff;
    padding: 12px 18px;
    border-radius: 999px;
    background: rgba(0,0,0,.75);
    backdrop-filter: blur(8px);
}
@media (max-width: 768px) {
    .feed-header { padding: calc(10px + env(safe-area-inset-top, 0px)) 12px 10px !important; }
    .close-feed { width: 42px !important; height: 42px !important; }
}


/* 2026-07-29 feed navigation/audio correction */
.video-feed-scroll-container {
    height: 100%;
    max-height: 100vh;
    touch-action: pan-y;
    pointer-events: auto;
}
.video-feed-item {
    position: relative;
    transform: none !important;
    flex: 0 0 100vh;
}
#feed-volume {
    pointer-events: auto;
    position: relative;
    z-index: 12;
}
#feed-volume.muted i {
    opacity: 0.9;
}


/* 2026-07-29 hard feed navigation fallback */
.video-feed-wrapper {
    height: 100dvh !important;
    overflow: hidden !important;
}
.video-feed-scroll-container {
    display: block !important;
    position: relative !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scroll-snap-type: y mandatory !important;
    touch-action: pan-y !important;
}
.video-feed-item {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    transform: none !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
}


/* Feed creator follow control */
.feed-follow-btn {
    appearance: none;
    border: 1px solid rgba(255,255,255,.9);
    background: rgba(139, 92, 246, .92);
    color: #fff;
    border-radius: 999px;
    padding: 5px 12px;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    pointer-events: auto;
}
.feed-follow-btn.following { background: rgba(20, 24, 35, .72); }
.feed-follow-btn:disabled { opacity: .6; cursor: wait; }


/* Airdrop-points tip action */
.tip-btn i { color: #ffd54a; }
.tip-btn:disabled { opacity: .55; cursor: wait; transform: none; }


.feed-upload-fab { position:absolute; left:auto; right:18px; bottom:18px; z-index:80; width:52px; height:52px; border:0; border-radius:50%; box-shadow:0 6px 20px rgba(0,0,0,.35); font-size:1.45rem; display:flex; align-items:center; justify-content:center; }
@media (min-width:1025px) { .feed-upload-fab { left:28px; right:auto; } }


/* 20260731 feed ad rotation */
.feed-ad-item { background:#0d1424; display:grid; place-items:center; padding:clamp(18px,5vw,56px); }
.feed-ad-media { position:absolute; inset:0; }
.feed-ad-media img { width:100%; height:100%; object-fit:cover; opacity:.72; }
.feed-ad-copy { position:relative; z-index:2; width:min(92%,560px); padding:24px; border-radius:20px; background:rgba(5,10,20,.78); color:#fff; backdrop-filter:blur(12px); }
.feed-ad-label { font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; opacity:.75; }
.feed-ad-cta { display:inline-flex; margin-top:14px; padding:11px 18px; border-radius:999px; background:var(--gradient,#8b5cf6); color:#fff; text-decoration:none; }
.feed-return-ad { position:absolute; inset:12% 6%; z-index:80; background:#111a2c; color:#fff; border-radius:22px; overflow:hidden; box-shadow:0 20px 60px #000b; display:grid; grid-template-rows:minmax(140px,1fr) auto; }
.feed-return-ad img { width:100%; height:100%; object-fit:cover; }
.feed-return-ad > div { padding:20px; }
.feed-return-ad-close { position:absolute; top:10px; right:10px; z-index:2; width:42px; height:42px; border:0; border-radius:50%; background:#000b; color:#fff; font-size:28px; }

/* ========================================
   20260815 FEED LIFECYCLE AUTHORITY
   ======================================== */
.video-feed-scroll-container {
    scrollbar-width: none;
    touch-action: pan-y;
    overscroll-behavior-y: contain;
    scroll-padding: 0;
}
.video-feed-item {
    background-color: #000;
    background-repeat: no-repeat;
}
.feed-description-wrap { max-width: 100%; }
.feed-description-wrap.is-collapsible .feed-description { -webkit-line-clamp: 2; }
.feed-description-wrap.expanded .feed-description {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
    max-height: min(42vh, 320px);
    overflow-y: auto;
}
.feed-description-toggle {
    border: 0;
    padding: 2px 0;
    background: transparent;
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    opacity: .92;
}
.quality-option {
    width: 100%;
    border: 0;
    background: transparent;
    color: #fff;
    text-align: left;
}
.quality-option[disabled] { opacity: .35; cursor: not-allowed; }
.quality-option.active::before { content: '✓'; }
.comment-like-btn.liked { color: #ff2d55; opacity: 1; }
.comment-like-btn:disabled { opacity: .55; cursor: wait; }
.feed-ad-cta {
    border: 0;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
}
.feed-ad-cta:disabled { opacity: .6; cursor: wait; }


/* Build 141: on phones/tablets the feed IS Home and lives below the fixed navbar. */
@media (max-width: 1024px) {
    .video-feed.mobile-home-surface {
        position: fixed !important;
        top: calc(70px + env(safe-area-inset-top, 0px)) !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        z-index: 900 !important; /* navbar is 1000 */
        background: #000 !important;
    }

    .video-feed.mobile-home-surface .video-feed-wrapper,
    .video-feed.mobile-home-surface .video-feed-scroll-container {
        height: 100% !important;
        min-height: 0 !important;
    }

    .video-feed.mobile-home-surface .video-feed-item {
        min-height: 100% !important;
        height: 100% !important;
    }

    .video-feed.mobile-home-surface .close-feed {
        display: none !important;
    }

    .video-feed.mobile-home-surface .feed-header {
        top: 0 !important;
        padding-top: 10px !important;
    }
}


/* Build 142: feed Home header belongs to the feed viewport below the navbar. */
@media (max-width: 1024px) {
    .video-feed.mobile-home-surface .feed-header {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 30 !important;
        padding: 10px 12px !important;
    }
    .video-feed.mobile-home-surface .feed-controls {
        margin-left: auto;
        max-width: calc(100vw - 24px);
    }
    .video-feed.mobile-home-surface .feed-controls .btn {
        min-width: 42px;
        min-height: 42px;
    }
    .video-feed.mobile-home-surface .video-feed-scroll-container {
        scroll-behavior: auto !important;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-y;
    }
}

/* Build 155: current creator avatar on every feed card. */
.feed-creator-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    overflow: hidden;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.18);
    border: 1px solid rgba(255,255,255,0.35);
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
}

.feed-creator-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.feed-username { align-self: center; }

/* Build 156: creator profile entry + two-line expandable descriptions. */
.feed-description-wrap .feed-description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    cursor: pointer;
}
.feed-description-wrap.expanded {
    position: relative;
    z-index: 95;
}
.feed-description-wrap.expanded .feed-description {
    display: block;
    -webkit-line-clamp: unset;
    overflow-y: auto;
    max-height: min(42vh, 320px);
    padding: 8px 10px;
    margin: -8px -10px 0;
    border-radius: 10px;
    background: rgba(0,0,0,.72);
}
.feed-description-toggle { display: none !important; }
.feed-creator-avatar,
.feed-username {
    border: 0;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
}
.feed-creator-avatar { background: rgba(255,255,255,0.18); }
.feed-username { background: transparent; text-align: left; }

/* Ads lifecycle: one unified display system. These rules replace the prior ad
   overrides; they intentionally reuse the feed item's own viewport dimensions. */
.feed-ad-item {
    position:absolute;
    inset:0 auto auto 0;
    width:100%;
    height:100dvh;
    min-height:100dvh;
    padding:0;
    overflow:hidden;
    isolation:isolate;
    background:#05070d;
    cursor:pointer;
}
.feed-ad-media {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
    overflow:hidden;
    background:#05070d;
}
.feed-ad-media > img,
.feed-ad-media > video {
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    object-fit:cover;
    background:#05070d;
}
.feed-ad-copy {
    position:absolute;
    left:50%;
    bottom:max(28px,env(safe-area-inset-bottom));
    transform:translateX(-50%);
    z-index:4;
    width:min(92%,620px);
    padding:22px 24px;
    border-radius:22px;
    background:rgba(5,10,20,.82);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    box-shadow:0 18px 55px rgba(0,0,0,.34);
    backdrop-filter:blur(14px);
    pointer-events:none;
}
.feed-ad-label { font-size:.76rem; text-transform:uppercase; letter-spacing:.14em; opacity:.76; }
.feed-ad-copy h3 { margin:6px 0 8px; font-size:clamp(1.45rem,4vw,2.1rem); line-height:1.08; }
.feed-ad-copy p { margin:0; opacity:.88; line-height:1.5; }
.feed-ad-countdown {
    position:absolute;
    top:max(16px,env(safe-area-inset-top));
    left:50%;
    transform:translateX(-50%);
    z-index:20;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:9px 15px;
    border-radius:999px;
    background:rgba(6,9,18,.78);
    border:1px solid rgba(255,255,255,.28);
    color:#fff;
    box-shadow:0 10px 32px rgba(0,0,0,.32);
    backdrop-filter:blur(12px);
    pointer-events:none;
}
.feed-ad-countdown-label { font-size:.78rem; font-weight:750; opacity:.84; }
.feed-ad-countdown strong { min-width:1.15em; font-size:1.15rem; line-height:1; text-align:center; }
.feed-ad-countdown-unit { font-size:.78rem; font-weight:800; opacity:.82; }
.feed-ad-countdown-ready { font-size:.8rem; font-weight:850; letter-spacing:.02em; }
.feed-ad-skip {
    position:absolute;
    top:max(14px,env(safe-area-inset-top));
    right:14px;
    z-index:21;
    width:44px;
    height:44px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:50%;
    background:rgba(6,9,18,.78);
    color:#fff;
    font-size:28px;
    line-height:1;
    cursor:pointer;
    backdrop-filter:blur(12px);
}
.feed-ad-skip[hidden], .feed-return-ad-close[hidden] { display:none !important; }
.feed-return-ad video { width:100%; height:100%; object-fit:cover; background:#000; }

.feed-builtin-creative {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:clamp(10px,2vh,18px);
    padding:clamp(72px,11vh,120px) clamp(22px,6vw,84px) clamp(44px,8vh,90px);
    color:#fff;
    text-align:center;
    overflow:hidden;
}
.feed-builtin-creative::before {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 24%,transparent 72%,rgba(0,0,0,.18));
    pointer-events:none;
}
.feed-builtin-creative.premium {
    background:
        radial-gradient(circle at 18% 16%,rgba(255,236,122,.52),transparent 27%),
        radial-gradient(circle at 88% 76%,rgba(255,65,162,.52),transparent 32%),
        linear-gradient(140deg,#24105f 0%,#6d28d9 28%,#c026d3 57%,#f43f5e 78%,#f59e0b 100%);
}
.feed-builtin-creative.airdrop {
    background:
        radial-gradient(circle at 16% 18%,rgba(52,255,214,.46),transparent 28%),
        radial-gradient(circle at 86% 80%,rgba(166,85,255,.50),transparent 32%),
        linear-gradient(140deg,#052e2b 0%,#047857 25%,#0891b2 52%,#2563eb 75%,#6d28d9 100%);
}
.feed-builtin-orb {
    position:absolute;
    width:min(54vw,520px);
    aspect-ratio:1;
    border-radius:50%;
    filter:blur(10px);
    opacity:.28;
    background:rgba(255,255,255,.70);
    box-shadow:0 0 100px rgba(255,255,255,.18);
    pointer-events:none;
}
.feed-builtin-orb.orb-one { top:-24%; right:-12%; }
.feed-builtin-orb.orb-two { bottom:-28%; left:-14%; opacity:.18; }
.feed-builtin-brand,
.feed-builtin-kicker,
.feed-builtin-headline,
.feed-builtin-subline,
.feed-builtin-benefits,
.feed-builtin-action { position:relative; z-index:2; }
.feed-builtin-brand {
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 13px 8px 9px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:999px;
    background:rgba(12,9,30,.20);
    font-size:.88rem;
    font-weight:850;
    backdrop-filter:blur(10px);
}
.feed-builtin-brand-mark {
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.22);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
.feed-builtin-kicker {
    margin-top:clamp(4px,1vh,10px);
    font-size:clamp(.70rem,1.8vw,.94rem);
    font-weight:900;
    letter-spacing:.18em;
    opacity:.88;
}
.feed-builtin-headline {
    max-width:900px;
    font-size:clamp(2.8rem,8vw,6.8rem);
    line-height:.9;
    font-weight:900;
    letter-spacing:-.045em;
    text-shadow:0 14px 46px rgba(0,0,0,.28);
}
.feed-builtin-headline strong { color:#fff3a6; font-weight:950; }
.feed-builtin-creative.airdrop .feed-builtin-headline strong { color:#9fffe9; }
.feed-builtin-subline {
    max-width:690px;
    font-size:clamp(1rem,2.8vw,1.42rem);
    line-height:1.45;
    font-weight:600;
    opacity:.95;
}
.feed-builtin-benefits {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    max-width:760px;
}
.feed-builtin-benefits span {
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 12px;
    border-radius:999px;
    background:rgba(4,6,18,.20);
    border:1px solid rgba(255,255,255,.22);
    font-size:clamp(.76rem,2vw,.92rem);
    font-weight:750;
    backdrop-filter:blur(8px);
}
.feed-builtin-action {
    margin-top:clamp(4px,1vh,10px);
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:14px 21px;
    border-radius:999px;
    background:#fff;
    color:#25105e;
    font-size:clamp(.9rem,2.2vw,1.05rem);
    font-weight:900;
    box-shadow:0 16px 44px rgba(0,0,0,.24);
}
.feed-builtin-creative.airdrop .feed-builtin-action { color:#075b56; }

@media (max-width:1024px) {
    .video-feed.mobile-home-surface .feed-ad-item {
        width:100% !important;
        max-width:none !important;
        height:100% !important;
        min-height:100% !important;
    }
    .video-feed.mobile-home-surface .feed-ad-media,
    .video-feed.mobile-home-surface .feed-builtin-creative,
    .video-feed.mobile-home-surface .feed-ad-media > img,
    .video-feed.mobile-home-surface .feed-ad-media > video {
        width:100%;
        height:100%;
    }
    .video-feed.mobile-home-surface .feed-ad-media > img,
    .video-feed.mobile-home-surface .feed-ad-media > video { object-fit:cover; }
    .feed-builtin-creative { padding-left:20px; padding-right:20px; }
    .feed-builtin-headline { font-size:clamp(2.65rem,13vw,5.2rem); }
    .feed-builtin-subline { max-width:92%; }
    .feed-ad-copy { width:min(92vw,620px); }
    .feed-ad-countdown { top:12px; }
}
@media (min-width:1025px) {
    .feed-ad-media {
        left:50%;
        right:auto;
        width:min(78vw,1040px);
        height:100%;
        transform:translateX(-50%);
        box-shadow:0 0 80px rgba(0,0,0,.55);
    }
    .feed-ad-media > img,
    .feed-ad-media > video { object-fit:contain; }
    .feed-builtin-creative { width:100%; height:100%; }
    .feed-ad-copy { width:min(70vw,620px); }
}


/* Patch 243: an active feed-ad countdown is a true navigation lock. */
.feed-ad-item.ad-countdown-locked { touch-action: none !important; overscroll-behavior: none !important; }


/* Main feed advertiser whole-card click target */
.feed-ad-item.whole-card-ad,
.feed-return-ad {
    cursor: pointer;
}
.feed-ad-item.whole-card-ad:focus-visible,
.feed-return-ad:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: -6px;
}


/* 20260902 Patch 303: mobile feed handoff + comments composer stacking */
.comments-panel { z-index: 140; }
.feed-upload-fab.comments-obscured { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
@media (max-width: 768px) {
  .comments-panel { z-index: 140; }
  .comment-input { position: relative; z-index: 2; gap: 10px; }
  .comment-input input { min-width: 0; }
  .comment-input #post-comment-btn { flex: 0 0 44px; width: 44px; height: 44px; position: relative; z-index: 3; }
}


/* Patch 349: transparent phone/tablet sorting + quality/audio row. */
.mobile-feed-filters { display: none; }
@media (max-width: 1024px) {
  .video-feed.mobile-home-surface .feed-header { background: linear-gradient(to bottom, rgba(0,0,0,.28) 0%, rgba(0,0,0,.05) 58%, transparent 100%) !important; pointer-events:none; }
  .video-feed.mobile-home-surface .feed-controls { width:100%; max-width:100% !important; margin:0 !important; padding:0 4px; display:flex; align-items:center; justify-content:center; gap:clamp(5px,1.6vw,11px); white-space:nowrap; pointer-events:auto; }
  .video-feed.mobile-home-surface .mobile-feed-filters { display:flex; align-items:center; gap:clamp(6px,2vw,12px); min-width:0; white-space:nowrap; }
  .video-feed.mobile-home-surface .mobile-feed-filter, .video-feed.mobile-home-surface #feed-quality, .video-feed.mobile-home-surface #feed-volume { appearance:none; -webkit-appearance:none; border:0 !important; background:transparent !important; box-shadow:none !important; color:#fff !important; min-width:0 !important; min-height:0 !important; width:auto !important; height:auto !important; margin:0 !important; padding:4px 0 !important; border-radius:0 !important; font-size:clamp(11px,3.2vw,15px); line-height:1.2; font-weight:650; letter-spacing:-.01em; text-shadow:0 1px 4px rgba(0,0,0,.9); flex:0 0 auto; cursor:pointer; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
  .video-feed.mobile-home-surface .mobile-feed-filter.active { font-weight:800; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
  .video-feed.mobile-home-surface .mobile-feed-filter:disabled { opacity:.72; }
  .video-feed.mobile-home-surface #feed-quality, .video-feed.mobile-home-surface #feed-volume { font-size:clamp(17px,5vw,22px); line-height:1; text-decoration:none; }
}
@media (max-width:390px) { .video-feed.mobile-home-surface .feed-controls{gap:5px;padding:0 1px}.video-feed.mobile-home-surface .mobile-feed-filters{gap:6px}.video-feed.mobile-home-surface .mobile-feed-filter{font-size:11px;letter-spacing:-.025em}.video-feed.mobile-home-surface #feed-quality,.video-feed.mobile-home-surface #feed-volume{font-size:18px} }


/* Patch 350: use the available phone/tablet width like a native short-video feed. */
@media (max-width: 1024px) {
    .video-feed.mobile-home-surface .feed-header {
        width: 100% !important;
        box-sizing: border-box !important;
        padding-left: clamp(14px, 4vw, 28px) !important;
        padding-right: clamp(14px, 4vw, 28px) !important;
    }

    .video-feed.mobile-home-surface .feed-controls {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        justify-content: space-between !important;
        gap: 0 !important;
    }

    .video-feed.mobile-home-surface .mobile-feed-filters {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        justify-content: space-evenly !important;
        gap: 0 !important;
    }

    .video-feed.mobile-home-surface .mobile-feed-filter {
        flex: 0 1 auto !important;
        padding-inline: clamp(4px, 1.3vw, 10px) !important;
        font-size: clamp(12px, 3.45vw, 16px) !important;
    }

    .video-feed.mobile-home-surface #feed-quality,
    .video-feed.mobile-home-surface #feed-volume {
        flex: 0 0 clamp(28px, 7vw, 38px) !important;
        width: clamp(28px, 7vw, 38px) !important;
        text-align: center !important;
        padding-inline: 0 !important;
    }
}

@media (max-width: 390px) {
    .video-feed.mobile-home-surface .feed-header {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .video-feed.mobile-home-surface .mobile-feed-filter {
        font-size: 11.5px !important;
        padding-inline: 3px !important;
    }
    .video-feed.mobile-home-surface #feed-quality,
    .video-feed.mobile-home-surface #feed-volume {
        flex-basis: 26px !important;
        width: 26px !important;
        font-size: 18px !important;
    }
}


/* Patch 353: four-filter landing row. Keep labels unboxed and distribute full width. */
@media (max-width: 1024px) {
    .video-feed.mobile-home-surface .mobile-feed-filters {
        flex: 1 1 auto !important;
        display: flex !important;
        justify-content: space-between !important;
        min-width: 0 !important;
    }
    .video-feed.mobile-home-surface .mobile-feed-filter {
        padding-inline: clamp(2px, .75vw, 7px) !important;
        font-size: clamp(11px, 3.05vw, 15px) !important;
        white-space: nowrap !important;
        background: transparent !important;
    }
}
@media (max-width: 390px) {
    .video-feed.mobile-home-surface .mobile-feed-filter {
        font-size: 10.5px !important;
        padding-inline: 2px !important;
    }
}
