﻿        @font-face {
            font-family: 'Exo 2';
            font-style: normal;
            font-weight: 500;
            font-display: swap;
            src: url('/fonts/exo2-v26-latin-ext-500.woff2') format('woff2');
            unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
        }

        @font-face {
            font-family: 'Exo 2';
            font-style: normal;
            font-weight: 500;
            font-display: swap;
            src: url('/fonts/exo2-v26-latin-500.woff2') format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
        }

        body {
            margin: 0;
            padding: 0;
            background: transparent;
        }
        
        .mainwrapper {
            position: relative;
            width: 100%;
            max-width: 720px; /* 4:3 raport pentru 576px inaltime */
            margin: 0 auto;
            background: transparent;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 576px;
            overflow: hidden;
            background: rgba(0, 0, 0, 0);
            box-shadow: 0 0px 0px 0 rgba(0,0,0,0.0);
            border-radius: 1px;
            -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(1px);
            z-index: 1;
            isolation: isolate;
            --cam-live-linx-left: clamp(16px, 2.4vw, 22px);
            --cam-live-linx-bottom: clamp(12px, 2vw, 18px);
            --cam-live-linx-font-size: clamp(38px, 5.6vw, 48px);
            --cam-live-linx-letter-spacing: clamp(4px, 0.7vw, 6px);
            --cam-live-linx-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
        }

        /* Fundal static CSS-only cu text LINX repetitiv (fara JS, fara impact pe fluxul live). */
        .mainwrapper::before {
            content: "";
            position: absolute;
            inset: -220%;
            transform: rotate(-30deg);
            transform-origin: center center;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='150' viewBox='0 0 360 150'%3E%3Ctext x='0' y='60' font-family='Verdana' font-size='30' font-weight='700' fill='%234b5d72' fill-opacity='0.22'%3ELINX%20%20LINX%20%20LINX%3C/text%3E%3Ctext x='0' y='135' font-family='Verdana' font-size='30' font-weight='700' fill='%234b5d72' fill-opacity='0.22'%3ELINX%20%20LINX%20%20LINX%3C/text%3E%3C/svg%3E");
            background-repeat: repeat;
            background-size: 360px 150px;
            pointer-events: none;
            -webkit-user-select: none;
            user-select: none;
            z-index: 0;
            opacity: 1;
        }

        /* Asiguram ca ancora principala are inaltime definita, astfel incat imaginile cu height:100% sa ocupe toti cei 576px. */
        .mainwrapper > a:first-of-type {
            display: flex;
            width: 100%;
            height: 100%;
            justify-content: center;
            align-items: center;
            position: relative;
            z-index: 10;
        }

        #CamPic {
            width: auto;
            height: 100%;
            max-height: 100%;
            background: transparent;
            display: block;
            margin: 0 auto;
            position: relative;
            z-index: 10;
            transition: opacity 0.22s ease-in-out;
        }

        #CamCanvas {
            width: auto;
            height: 100%;
            max-height: 100%;
            background: transparent;
            display: block;
            margin: 0 auto;
            position: relative;
            z-index: 10;
            transition: opacity 0.22s ease-in-out;
        }

        /* Efect de tranzitie pentru loading intarziat */
        .loading-transition {
            position: relative;
            overflow: hidden;
        }

        .loading-transition::before {
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            left: -8%;
            width: 8%;
            background: linear-gradient(
                90deg,
                transparent 0%,
                rgba(255, 255, 255, 0.06) 32%,
                rgba(255, 255, 255, 0.96) 50%,
                rgba(255, 255, 255, 0.06) 68%,
                transparent 100%
            );
            animation: page-flip-shimmer 2s ease-in-out infinite;
            opacity: 0;
            pointer-events: none;
            z-index: 11;
        }

        .loading-transition::after {
            content: 'LINX';
            position: absolute;
            bottom: var(--cam-live-linx-bottom);
            left: var(--cam-live-linx-left);
            width: auto;
            height: auto;
            opacity: 0;
            pointer-events: none;
            z-index: 12;
            
            display: block;
            font-family: 'Exo 2', Arial, Helvetica, sans-serif;
            font-size: var(--cam-live-linx-font-size);
            font-weight: 500;
            color: rgba(255, 255, 255, 0.72);
            letter-spacing: var(--cam-live-linx-letter-spacing);
            text-transform: uppercase;
            text-shadow: var(--cam-live-linx-shadow);
            line-height: 1;
        }

        .loading-transition.active::before {
            opacity: 0.23;
        }

        .loading-transition.active::after {
            opacity: 0.31;
            animation: linx-elegant 2s ease-in-out infinite;
        }

        @keyframes page-flip-shimmer {
            0% {
                transform: translateX(0);
            }
            100% {
                transform: translateX(1400%);
            }
        }

        @keyframes linx-elegant {
            0% {
                opacity: 0.26;
                transform: scale(0.98);
            }
            50% {
                opacity: 0.33;
                transform: scale(1.02);
            }
            100% {
                opacity: 0.26;
                transform: scale(0.98);
            }
        }

        .mainwrapper.loading-state {
            transform-style: flat;
            perspective: none;
        }

        .mainwrapper.loading-state #CamPic,
        .mainwrapper.loading-state #CamCanvas {
            opacity: 0.74;
        }

        .slow-loading-indicator {
            position: absolute;
            bottom: clamp(10px, 1.8vw, 14px);
            left: 50%;
            transform: translateX(-50%);
            background: rgba(0, 0, 0, 0.7);
            color: white;
            padding: 5px 12px;
            border-radius: 15px;
            font-size: 11px;
            font-family: Arial, sans-serif;
            opacity: 0;
            z-index: 20;
            pointer-events: none;
            transition: opacity 0.2s ease-in-out;
        }

        .slow-loading-indicator.visible {
            opacity: 1;
        }

        .linx-promo-overlay {
            position: absolute;
            left: var(--cam-live-linx-left);
            bottom: var(--cam-live-linx-bottom);
            width: auto;
            height: auto;
            z-index: 14;
            opacity: 0;
            visibility: hidden;
            transform: translateY(6px);
        }

        .linx-promo-overlay.visible {
            visibility: visible;
            animation: linx-promo-cycle 2.2s linear 1 both;
        }

        .linx-promo-overlay a {
            display: inline-block;
            text-decoration: none;
            font-family: 'Exo 2', Arial, Helvetica, sans-serif;
            font-size: var(--cam-live-linx-font-size);
            font-weight: 500;
            color: rgba(255, 255, 255, 0.72);
            letter-spacing: var(--cam-live-linx-letter-spacing);
            text-transform: uppercase;
            line-height: 1;
            pointer-events: auto;
            text-shadow: var(--cam-live-linx-shadow);
        }

        @keyframes linx-promo-cycle {
            0% {
                opacity: 0;
                transform: translateY(6px);
            }
            27.27% {
                opacity: 0.62;
                transform: translateY(0);
            }
            72.72% {
                opacity: 0.62;
                transform: translateY(0);
            }
            100% {
                opacity: 0;
                transform: translateY(6px);
            }
        }
        
        .linx {
            position: absolute;
            top: 6px;
            right: 6px;
            left: auto;
            border: 0;
            margin: 0;
            float: none;
            z-index: 2;
            display: block;
            width: 70px;
            height: 37px;
        }
