/* Loading Screen */
        .loading-screen {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            background: #f7f9fb;
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 9999;
            transition: opacity 0.8s ease, visibility 0.8s ease;
        }

        .loading-screen.hidden {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }

        .loading-watches {
            margin: 0;
        }

        /* Hero Section - Full Screen Tree */
        .hero-section {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            z-index: 0;
            transition: filter 0.3s ease;
        }

        .hero-section.blur-light {
            filter: blur(3px);
        }

        .hero-section.blur-medium {
            filter: blur(8px);
        }

        .hero-section .fractal-tree {
            width: 100%;
            height: 100%;
            max-width: none;
            margin: 0;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .hero-section #treeCanvas {
            border-radius: 0;
            box-shadow: none;
            background: #ffffff;
            width: 100vw;
            height: 100vh;
            max-width: 100vw;
            cursor: pointer;
            position: relative;
            z-index: 1;
        }

        /* Content Wrapper */
        .content-wrapper {
            position: relative;
            z-index: 1;
            margin-top: 100vh;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            min-height: 100vh;
            padding-top: 60px;
            padding-bottom: 60px;
        }

        @media (max-width: 768px) {
            .content-wrapper {
                padding-top: 40px;
                padding-bottom: 40px;
            }
        }

        .logo-container {
            position: relative;
        }

        .fractal-tree {
            width: 100%;
            max-width: 500px;
            margin: 0 auto;
            display: flex;
            justify-content: center;
        }

        #treeCanvas {
            border-radius: 8px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            background: #ffffff;
            width: 100%;
            height: auto;
            max-width: 100%;
            cursor: pointer;
        }

        @media (max-width: 768px) {
            .fractal-tree {
                max-width: 350px;
            }
        }
        
        /* Fullscreen mode styles */
        body.fullscreen {
            margin: 0;
            padding: 0;
            overflow: hidden;
            background: #ffffff;
        }
        
        body.fullscreen .container {
            display: none;
        }
        
        .fullscreen-tree {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 1000;
            background: #ffffff;
        }
        
        .fullscreen-tree #treeCanvas {
            border-radius: 0;
            box-shadow: none;
        }
        
        /* Exit button */
        .exit-button {
            position: fixed;
            top: 30px;
            right: 30px;
            background: rgba(0, 0, 0, 0.1);
            border: 2px solid #333;
            border-radius: 50%;
            width: 60px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            font-size: 28px;
            font-weight: bold;
            color: #333;
            z-index: 1001;
            transition: all 0.3s ease;
        }
        
        .exit-button:hover {
            background: rgba(0, 0, 0, 0.2);
            transform: scale(1.1);
        }

        /* Control panel toggle button */
        .control-toggle {
            position: absolute;
            top: 10px;
            left: 10px;
            background: rgba(255, 255, 255, 0.9);
            border: 1px solid #ddd;
            border-radius: 4px;
            width: 30px;
            height: 30px;
            cursor: pointer;
            z-index: 1001;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 16px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
        }

        .control-toggle:hover {
            background: rgba(240, 240, 240, 0.9);
        }

        /* Fullscreen button */
        .fullscreen-button {
            position: absolute;
            top: 10px;
            right: 10px;
            background: rgba(255, 255, 255, 0.9);
            border: 1px solid #ddd;
            border-radius: 4px;
            width: 30px;
            height: 30px;
            cursor: pointer;
            z-index: 1001;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 16px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
        }

        .fullscreen-button:hover {
            background: rgba(240, 240, 240, 0.9);
        }

        /* Control panel */
        .control-panel {
            position: absolute;
            top: 50px;
            left: 10px;
            background: rgba(255, 255, 255, 0.95);
            border: 1px solid #ddd;
            border-radius: 6px;
            padding: 8px;
            display: none;
            flex-direction: column;
            gap: 6px;
            z-index: 1000;
            font-family: 'JetBrains Mono', monospace;
            font-size: 10px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
            max-width: 140px;
        }
        
        /* Mobile responsive control panel */
        @media (max-width: 768px) {
            .control-panel {
                font-size: 7px;
                padding: 4px;
                gap: 2px;
                max-width: 80px;
                left: 10px;
                right: auto;
                flex-direction: row;
                flex-wrap: wrap;
                max-height: 120px;
                overflow-y: auto;
                scrollbar-width: none; /* Firefox */
                -ms-overflow-style: none; /* Internet Explorer 10+ */
            }
            
            .control-panel::-webkit-scrollbar {
                display: none; /* WebKit */
            }
            
            .control-group {
                gap: 1px;
                width: 36px;
                flex-shrink: 0;
            }
            
            .control-group label {
                font-size: 6px;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }
            
            .toggle-button {
                padding: 2px 3px;
                font-size: 6px;
                border-radius: 2px;
            }
            
            .range-input {
                width: 35px;
                height: 12px;
            }
        }

        .control-panel.visible {
            display: flex;
        }

        .control-group {
            display: flex;
            flex-direction: column;
            gap: 3px;
        }

        .control-group label {
            font-weight: 500;
            color: #333;
            font-size: 9px;
        }

        .toggle-button {
            background: #f0f0f0;
            border: 1px solid #ccc;
            border-radius: 3px;
            padding: 4px 6px;
            cursor: pointer;
            transition: all 0.2s ease;
            text-align: center;
            font-family: inherit;
            font-size: 9px;
        }

        .toggle-button:hover {
            background: #e0e0e0;
        }

        .toggle-button.active {
            background: #333;
            color: white;
        }

        .range-input {
            width: 80px;
            height: 16px;
        }

        /* Watch container above canvas */
        .watch-container {
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(6px);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 12px;
            padding: 24px;
            margin-bottom: 20px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 40px;
            width: 100%;
            max-width: 900px;
            margin-left: auto;
            margin-right: auto;
        }

        /* Pocket Watch Component */
        .pocket-watch {
            position: relative;
            width: 120px;
            height: 120px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .pocket-watch:hover {
            transform: scale(1.05);
        }

        .watch-case {
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background: linear-gradient(135deg, #f8f8f8 0%, #e8e8e8 50%, #d8d8d8 100%);
            border: 3px solid #333;
            position: relative;
            box-shadow: 
                inset 0 2px 4px rgba(255,255,255,0.8),
                inset 0 -2px 4px rgba(0,0,0,0.2),
                0 4px 8px rgba(0,0,0,0.3);
        }

        .watch-face {
            position: absolute;
            top: 6px;
            left: 6px;
            width: calc(100% - 12px);
            height: calc(100% - 12px);
            border-radius: 50%;
            background: #2a2a2a;
            border: 1px solid #555;
            overflow: hidden;
        }

        .clock-numbers {
            position: absolute;
            width: 100%;
            height: 100%;
            font-family: 'JetBrains Mono', monospace;
            font-size: 12px;
            font-weight: 500;
            color: #e0e0e0;
        }

        .clock-number {
            position: absolute;
            width: 18px;
            height: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            transform-origin: center;
            color: #e0e0e0;
        }

        .roman-numeral {
            font-family: 'Times New Roman', serif;
            font-weight: bold;
            font-size: 14px;
        }

        .minute-marker {
            position: absolute;
            width: 2px;
            height: 8px;
            background: #e0e0e0;
            border-radius: 1px;
            transform-origin: center center;
        }

        .clock-hands {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        .hand {
            position: absolute;
            background: #e0e0e0;
            transform-origin: bottom center;
            border-radius: 1px;
        }

        .pocket-watch-2 .hand {
            transition: transform 0.1s ease-out;
        }

        .hour-hand {
            width: 3px;
            height: 28px;
            top: -28px;
            left: -1.5px;
        }

        .minute-hand {
            width: 2px;
            height: 36px;
            top: -36px;
            left: -1px;
        }

        .second-hand {
            width: 1px;
            height: 38px;
            top: -38px;
            left: -0.5px;
            background: #d32f2f;
        }

        .center-dot {
            position: absolute;
            width: 6px;
            height: 6px;
            background: #e0e0e0;
            border-radius: 50%;
            top: -3px;
            left: -3px;
        }

        .moon-subdial {
            position: absolute;
            left: 20px;
            top: 50%;
            transform: translateY(-50%);
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background: #f0f0f0;
            border: 1.5px solid #999;
            overflow: hidden;
        }

        .moon-shadow {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #333;
            border-radius: 50%;
            transition: all 0.5s ease;
        }

        .watch-info {
            position: absolute;
            top: 130px;
            left: 0;
            background: rgba(255, 255, 255, 0.95);
            border: 1px solid #ddd;
            border-radius: 6px;
            padding: 10px 14px;
            font-family: 'JetBrains Mono', monospace;
            font-size: 13px;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
            min-width: 140px;
        }

        .pocket-watch:hover .watch-info {
            opacity: 1;
            visibility: visible;
        }

        .crown {
            position: absolute;
            top: -3px;
            right: -8px;
            width: 12px;
            height: 18px;
            background: linear-gradient(90deg, #d8d8d8, #c0c0c0);
            border: 1.5px solid #999;
            border-radius: 3px;
        }

        .chain-attachment {
            position: absolute;
            top: -12px;
            left: 50%;
            transform: translateX(-50%);
            width: 9px;
            height: 9px;
            background: #999;
            border-radius: 50%;
        }

        .watch-icon {
            position: absolute;
            left: -45px;
            top: 50%;
            transform: translateY(-50%);
            width: 30px;
            height: 30px;
            z-index: 20;
        }

        .watch-icon img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            filter: drop-shadow(0 0 5px rgba(255, 255, 255, 1)) 
                    drop-shadow(0 0 10px rgba(255, 255, 255, 0.6));
        }

        /* Second Pocket Watch Component */
        .pocket-watch-2 {
            position: relative;
            width: 120px;
            height: 120px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .pocket-watch-2:hover {
            transform: scale(1.05);
        }

        .pocket-watch-2 .watch-info {
            position: absolute;
            top: 130px;
            left: 0;
            background: rgba(255, 255, 255, 0.95);
            border: 1px solid #ddd;
            border-radius: 6px;
            padding: 10px 14px;
            font-family: 'JetBrains Mono', monospace;
            font-size: 13px;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
            min-width: 140px;
        }

        .pocket-watch-2:hover .watch-info {
            opacity: 1;
            visibility: visible;
        }

        /* Third Pocket Watch Component (Stopped at 12:00) */
        .pocket-watch-3 {
            position: relative;
            width: 120px;
            height: 120px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .pocket-watch-3:hover {
            transform: scale(1.05);
        }

        .pocket-watch-3 .watch-info {
            position: absolute;
            top: 130px;
            left: 0;
            background: rgba(255, 255, 255, 0.95);
            border: 1px solid #ddd;
            border-radius: 6px;
            padding: 10px 14px;
            font-family: 'JetBrains Mono', monospace;
            font-size: 13px;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
            min-width: 140px;
        }

        .pocket-watch-3:hover .watch-info {
            opacity: 1;
            visibility: visible;
        }

        @media (max-width: 768px) {
            .watch-container {
                gap: 20px;
                padding: 15px;
            }

            .pocket-watch {
                width: 90px;
                height: 90px;
            }

            .pocket-watch-2 {
                width: 90px;
                height: 90px;
            }

            .pocket-watch-2 .watch-info {
                font-size: 11px;
                padding: 8px 10px;
                min-width: 120px;
                top: 100px;
            }

            .pocket-watch-3 {
                width: 90px;
                height: 90px;
            }

            .pocket-watch-3 .watch-info {
                font-size: 11px;
                padding: 8px 10px;
                min-width: 120px;
                top: 100px;
            }
            
            .watch-info {
                font-size: 11px;
                padding: 8px 10px;
                min-width: 120px;
                top: 100px;
            }

            .clock-numbers {
                font-size: 9px;
            }

            .clock-number {
                width: 14px;
                height: 14px;
            }

            .hour-hand {
                width: 2.5px;
                height: 21px;
                top: -21px;
                left: -1.25px;
            }

            .minute-hand {
                width: 1.5px;
                height: 27px;
                top: -27px;
                left: -0.75px;
            }

            .second-hand {
                height: 29px;
                top: -29px;
            }

            .moon-subdial {
                width: 18px;
                height: 18px;
                bottom: 9px;
            }

            .center-dot {
                width: 5px;
                height: 5px;
                top: -2.5px;
                left: -2.5px;
            }

            .crown {
                width: 9px;
                height: 14px;
                top: -2px;
                right: -6px;
            }

            .chain-attachment {
                width: 7px;
                height: 7px;
                top: -9px;
            }
        }
