@import url('https://fonts.googleapis.com/css2?family=MS+Sans+Serif&display=swap');
        :root { 
            --window-bg-color: #c0c0c0;
            --border-light: #ffffff;
            --border-dark: #808080;
            --border-darkest: #000000;
        }
        body{font-family:'MS Sans Serif',sans-serif;font-size:12px;color:#000000;-webkit-user-select:none;user-select:none;margin:0;min-height:100vh;display:flex;flex-direction:column;background:#008080 url('https://i.pinimg.com/originals/c7/f4/b7/c7f4b7922cad40cd75fb214a63bec12d.gif') no-repeat center center fixed;background-size:cover;overflow:hidden;}
        .flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:8px}.hidden{display:none !important;}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.p-2{padding:8px}
        .window{background:var(--window-bg-color);border:2px solid;border-color:var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);box-shadow:2px 2px 0 rgba(0,0,0,0.35);position:absolute;min-width:320px;z-index:10; max-width: 380px;}
        .window-content{padding:8px;border-top:1px solid var(--border-dark);border-left:1px solid var(--border-dark);border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);box-shadow:inset 1px 1px 0 var(--border-darkest)}
        .title-bar{background:linear-gradient(to right,#000080,#1084d0);color:#fff;padding:3px 5px;display:flex;justify-content:space-between;align-items:center;cursor:move}
        .title-bar-controls button{background:var(--window-bg-color);border:1px solid;border-color:var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);width:16px;height:14px;padding:0;font-size:10px;line-height:10px;text-align:center;color:#000000 !important;font-weight:bold;}.title-bar-controls button:active{border-color:var(--border-dark) var(--border-light) var(--border-light) var(--border-dark);}
        .btn-retro{background:var(--window-bg-color);border:2px solid;border-color:var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);padding:4px 10px;margin:2px;font-size:14px;color:inherit;cursor:pointer;}.btn-retro:active{border-color:var(--border-dark) var(--border-light) var(--border-light) var(--border-dark);}
        .menu-icon{width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px;object-fit:contain;flex-shrink:0;image-rendering:pixelated;}
        .taskbar{background:var(--window-bg-color);border-top:2px solid var(--border-light);height:30px;position:fixed;bottom:0;width:100%;display:flex;align-items:center;padding:0 4px;z-index:101;box-sizing:border-box;gap:2px;}
        .start-button{background:var(--window-bg-color);border:2px solid;border-color:var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);height:22px;padding:0 6px;display:flex;align-items:center;cursor:pointer;color:#000000 !important;flex-shrink:0;box-sizing:border-box;font-weight:bold;font-size:11px;}.start-button img{width:16px;height:16px;margin-right:4px}
        .start-button.active { border-color:var(--border-dark) var(--border-light) var(--border-light) var(--border-dark); background:#dfdfdf !important; color:#000000 !important; }
        #taskbar-buttons{display:flex;align-items:center;gap:3px;flex:1;height:100%;overflow-x:auto;overflow-y:hidden;padding:0 3px;}
        #taskbar-buttons::-webkit-scrollbar{display:none;}
        .taskbar-item{background:var(--window-bg-color);border:2px solid;border-color:var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);height:22px;min-width:70px;max-width:150px;flex:0 1 140px;padding:0 6px;display:flex;align-items:center;gap:5px;cursor:pointer;font-family:inherit;font-size:11px;color:#000000 !important;box-sizing:border-box;text-align:left;outline:none;white-space:nowrap;overflow:hidden;user-select:none;-webkit-user-select:none;}
        .taskbar-item:active{border-color:var(--border-dark) var(--border-light) var(--border-light) var(--border-dark);}
        .taskbar-item.active{border-color:var(--border-dark) var(--border-light) var(--border-light) var(--border-dark);background:#dfdfdf !important;color:#000000 !important;font-weight:bold;box-shadow:inset 1px 1px 0px #000;}
        .taskbar-item .taskbar-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;color:inherit;}
        .taskbar-item .taskbar-item-icon{width:14px;height:14px;min-width:14px;min-height:14px;object-fit:contain;flex-shrink:0;image-rendering:pixelated;}
        
        /* Itens da barra de tarefas especificamente nos temas de janela escuros (Steel, Obsidian, Midnight) */
        body.window-color-steel .taskbar-item,
        body.window-color-obsidian .taskbar-item,
        body.window-color-midnight .taskbar-item,
        body.window-color-steel .start-button,
        body.window-color-obsidian .start-button,
        body.window-color-midnight .start-button {
            color: #ffffff !important;
            background: var(--window-bg-color);
        }
        body.window-color-steel .taskbar-item.active,
        body.window-color-steel .start-button.active {
            background: #37404a !important;
            color: #ffffff !important;
            box-shadow: inset 1px 1px 0px #1a1f24 !important;
        }
        body.window-color-obsidian .taskbar-item.active,
        body.window-color-obsidian .start-button.active {
            background: #181818 !important;
            color: #ffffff !important;
            box-shadow: inset 1px 1px 0px #000000 !important;
        }
        body.window-color-midnight .taskbar-item.active,
        body.window-color-midnight .start-button.active {
            background: #11151c !important;
            color: #ffffff !important;
            box-shadow: inset 1px 1px 0px #07090c !important;
        }
        /* Itens ativos na barra de tarefas para cada tema de janela claro */
        body.window-color-beige .taskbar-item.active,
        body.window-color-beige .start-button.active {
            background: #e3e3c6 !important;
            color: #000000 !important;
        }
        body.window-color-sage .taskbar-item.active,
        body.window-color-sage .start-button.active {
            background: #9ec89e !important;
            color: #000000 !important;
        }
        body.window-color-slate .taskbar-item.active,
        body.window-color-slate .start-button.active {
            background: #9bb0cc !important;
            color: #000000 !important;
        }
        body.window-color-pink .taskbar-item.active,
        body.window-color-pink .start-button.active {
            background: #f0a8b6 !important;
            color: #000000 !important;
        }
        body.window-color-khaki .taskbar-item.active,
        body.window-color-khaki .start-button.active {
            background: #ded274 !important;
            color: #000000 !important;
        }
        body.window-color-powder-blue .taskbar-item.active,
        body.window-color-powder-blue .start-button.active {
            background: #96cdd4 !important;
            color: #000000 !important;
        }
        body.window-color-lavender .taskbar-item.active,
        body.window-color-lavender .start-button.active {
            background: #d2d2ec !important;
            color: #000000 !important;
        }
        /* Fontes e fundo do select e opções nos temas escuros */
        #toy-object-select option {
            background-color: var(--window-bg-color, #c0c0c0);
            color: inherit;
        }
        body.window-color-steel select, body.window-color-steel select option,
        body.window-color-obsidian select, body.window-color-obsidian select option,
        body.window-color-midnight select, body.window-color-midnight select option,
        body.window-color-steel #toy-object-select, body.window-color-steel #toy-object-select option,
        body.window-color-obsidian #toy-object-select, body.window-color-obsidian #toy-object-select option,
        body.window-color-midnight #toy-object-select, body.window-color-midnight #toy-object-select option {
            background-color: var(--window-bg-color, #2b2b2b) !important;
            color: #ffffff !important;
        }
        .start-menu{background:var(--window-bg-color);border:2px solid;border-color:var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);position:fixed;bottom:32px;left:4px;display:none;z-index:100;width:200px;color:inherit;}
        .start-menu.show {display:block;}
        .start-menu-header{font-weight:bold;padding:8px 10px;border-bottom:1px solid var(--border-dark);margin-bottom:4px}
        .start-menu span{display:flex;align-items:center;padding:4px 10px;gap:8px;cursor:pointer;line-height:1.2;font-size:11px;}.start-menu span:hover{background:#000080;color:#fff}
        .start-menu span .menu-icon{width:16px;height:16px;flex-shrink:0;}
        .clock{background:var(--window-bg-color);border:1px solid;border-color:var(--border-dark) var(--border-light) var(--border-light) var(--border-dark);padding:2px 5px;margin-left:auto;margin-right:8px;font-size:12px}
        .color-swatch{display:inline-block;width:16px;height:16px;margin-right:8px;border:1px solid #000;vertical-align:middle}
        .volume-control{display:flex;align-items:center;gap:8px}
        #volume-slider{width:100px;-webkit-appearance:none;appearance:none;height:5px;background:#808080;outline:none;border:1px solid #000}
        #volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;background:var(--window-bg-color);border:2px solid;border-color:var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);cursor:pointer}
        #thumbnail-container{width:270px;height:180px;border:2px solid;border-color:var(--border-dark) var(--border-light) var(--border-light) var(--border-dark);background-color:#000;overflow:hidden;position:relative;margin-bottom:0px}
        #thumbnail{position:absolute;height:100%;width:auto;left:50%;top:50%;transform:translate(-50%,-50%)}
        #offline-overlay{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:#000080;color:#fff;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px;box-sizing:border-box;z-index:2;font-family:'MS Sans Serif',monospace;border:2px dashed #00ffff;}
        #offline-overlay.active{display:flex;}
        #offline-overlay .retro-offline-title{font-size:13px;font-weight:bold;color:#ffea00;text-shadow:2px 2px #000;margin-bottom:6px;letter-spacing:1px;animation:offline-pulse 1.2s infinite alternate;}
        #offline-overlay .retro-offline-msg{font-size:11px;color:#ffffff;line-height:1.3;margin-bottom:8px;}
        #offline-overlay .retro-offline-badge{background:#c0c0c0;color:#000;border:2px outset #fff;padding:2px 6px;font-size:10px;font-weight:bold;}
        @keyframes offline-pulse{from{opacity:0.8;transform:scale(0.98);}to{opacity:1;transform:scale(1.02);}}
        .desktop-icon-link{text-decoration:none}
        .desktop-icon{position:absolute;top:20px;left:20px;width:80px;text-align:center;cursor:pointer;z-index:1}
        .desktop-icon img{width:32px;height:32px}
        .desktop-icon span{color:white;display:block;margin-top:4px;text-shadow:1px 1px 2px #000}
        #refresh-btn{position:fixed;bottom:40px;right:6px;z-index:102;cursor:pointer}
        #track-title { max-width: 300px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: center; user-select: text; -webkit-user-select: text; line-height: 1.2em;}
        .inset-box { border: 2px solid; border-color:var(--border-dark) var(--border-light) var(--border-light) var(--border-dark); background: var(--window-bg-color); padding: 2px 6px; }
        #track-time { font-family: monospace; font-size: 14px; margin:0 auto; text-align:center; width:280px; }
        .controls-container { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 4px; }
        #history-list { list-style-position: inside; padding-left: 10px; margin: 0; font-size: 11px; max-height: 250px; overflow-y: auto; }
        #history-list li { padding: 4px 2px; border-bottom: 1px solid var(--border-dark); -webkit-user-select: text;}
        #history-list li:last-child { border-bottom: none; }
        #loading-screen { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; z-index: 9999; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #0f0; font-family: monospace; transition: opacity 0.5s ease-out; }
        #loading-screen.hidden { opacity: 0; pointer-events: none; }
        #loading-screen pre { font-size: 10px; text-align: center; line-height: 1; }
        #loading-screen p { animation: blink 1.5s linear infinite; }
        @keyframes blink { 50% { opacity: 0; } }
        .theme-blue .title-bar, .theme-blue .start-menu-header{background:linear-gradient(to right,#000080,#1084d0)}.theme-teal .title-bar, .theme-teal .start-menu-header{background:linear-gradient(to right,#008080,#20b2aa)}.theme-purple .title-bar, .theme-purple .start-menu-header{background:linear-gradient(to right,#400080,#800080)}.theme-black .title-bar, .theme-black .start-menu-header{background:linear-gradient(to right,#000,#444)}.theme-vaporwave .title-bar, .theme-vaporwave .start-menu-header{background:linear-gradient(to right,#ff71ce,#01cdfe)}.theme-sunset .title-bar, .theme-sunset .start-menu-header{background:linear-gradient(to right,#f12711,#f5af19)}.theme-matrix .title-bar, .theme-matrix .start-menu-header{background:linear-gradient(to right,#003b00,#0f0)}.theme-hotline .title-bar, .theme-hotline .start-menu-header{background:linear-gradient(to right,#f72585,#7209b7)}
        .start-menu-header{-webkit-background-clip:text;background-clip:text;color:#fff;}
        body.window-color-beige { --window-bg-color: #f5f5dc; } 
        body.window-color-sage { --window-bg-color: #b2d8b2; } 
        body.window-color-slate { --window-bg-color: #b0c4de; } 
        body.window-color-pink { --window-bg-color: #ffc0cb; } 
        body.window-color-khaki { --window-bg-color: #f0e68c; } 
        body.window-color-powder-blue { --window-bg-color: #b0e0e6; } 
        body.window-color-lavender { --window-bg-color: #e6e6fa; }
        /* Cores escuras com relevo de profundidade e sombra aprimorados */
        body.window-color-steel { --window-bg-color: #556270; --border-light: #7e8d9f; --border-dark: #37404a; --border-darkest: #1a1f24; color: #ffffff; }
        body.window-color-obsidian { --window-bg-color: #2b2b2b; --border-light: #525252; --border-dark: #191919; --border-darkest: #0a0a0a; color: #f0f0f0; }
        body.window-color-midnight { --window-bg-color: #1e2430; --border-light: #3f4a60; --border-dark: #11151c; --border-darkest: #07090c; color: #e6ecf5; }
        body.window-color-steel .window,
        body.window-color-obsidian .window,
        body.window-color-midnight .window {
            border-color: var(--border-light) var(--border-darkest) var(--border-darkest) var(--border-light);
            box-shadow: 2px 2px 0 rgba(0,0,0,0.85);
        }
        body.window-color-steel .window-content,
        body.window-color-obsidian .window-content,
        body.window-color-midnight .window-content {
            border-top-color: var(--border-darkest);
            border-left-color: var(--border-darkest);
            border-right-color: var(--border-light);
            border-bottom-color: var(--border-light);
            box-shadow: inset 1px 1px 0 var(--border-dark);
        }
        body.window-color-steel .title-bar-controls button,
        body.window-color-obsidian .title-bar-controls button,
        body.window-color-midnight .title-bar-controls button {
            color: #ffffff !important;
        }
        
        /* Ajuste do Pet Virtual Retrô */
        #virtual-pet {
            position: fixed;
            z-index: 99;
            pointer-events: auto;
            cursor: grab;
            user-select: none;
            -webkit-user-select: none;
            width: 48px;
            height: 48px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.15s ease;
            filter: drop-shadow(2px 3px 0 rgba(0,0,0,0.5));
        }
        #virtual-pet:active { cursor: grabbing; }
        #virtual-pet img {
            width: 100%;
            height: 100%;
            image-rendering: pixelated;
            image-rendering: -moz-crisp-edges;
            image-rendering: crisp-edges;
            object-fit: contain;
            pointer-events: none;
        }
        #virtual-pet .pet-bubble {
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%);
            background: #ffffcc;
            color: #000;
            border: 1px solid #000;
            padding: 2px 6px;
            font-size: 10px;
            white-space: nowrap;
            box-shadow: 2px 2px 0 #000;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s;
            margin-bottom: 4px;
        }
        #virtual-pet .pet-bubble.show { opacity: 1; }
        #virtual-pet .pet-snack {
            position: absolute;
            bottom: 0px;
            right: -6px;
            font-size: 18px;
            line-height: 1;
            filter: drop-shadow(1px 1px 0 #000);
            pointer-events: none;
            animation: pet-snack-bounce 0.6s infinite alternate;
        }
        @keyframes pet-snack-bounce { from { transform: translateY(0); } to { transform: translateY(-3px); } }
        #patch-notes-window .window-content { max-height: 200px; overflow-y: auto; }
        #about-window { max-width: 320px; }
        .scrollable-content p { margin: 0 0 10px 0; text-align: left; }
        @media (max-width: 768px) {
            body.is-mobile { font-size: 16px; }
            .is-mobile #thumbnail-container { width: 240px; height: 180px; }
            .is-mobile .controls-container { flex-direction: column; width: 100%; }
            .is-mobile .volume-box-mobile { width: 100%; display: flex !important; justify-content: center; }
            .is-mobile #volume-slider { width: 100%; }
        }
        #install-pwa-icon {
            display: none;
            top: 100px;
            left: 20px;
            cursor: pointer;
            filter: grayscale(1);
            opacity: 0.7;
            transition: filter 0.3s, opacity 0.3s;
        }
        #install-pwa-icon.installable {
            filter: grayscale(0);
            opacity: 1;
            cursor: pointer;
        }

        /* ================= RETRO CRT SCANLINES ================= */
        #crt-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            pointer-events: none;
            z-index: 999;
            background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.28) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.04), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.04));
            background-size: 100% 3px, 6px 100%;
            display: none;
        }
        #crt-overlay.active {
            display: block;
        }

        /* ================= RETRO VU METER (LED EQUALIZER) ================= */
        .vu-meter-wrapper {
            width: 270px;
            display: flex;
            align-items: center;
            gap: 4px;
            margin-top: 4px;
            margin-bottom: 4px;
        }
        .vu-meter-container {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 2px;
            height: 22px;
            padding: 2px 4px;
            box-sizing: border-box;
            background: #0a0a0a;
            border: 2px solid;
            border-color: var(--border-dark) var(--border-light) var(--border-light) var(--border-dark);
            box-shadow: inset 1px 1px 2px #000;
        }
        #vu-mode-btn {
            height: 22px;
            min-width: 24px;
            padding: 0 4px;
            font-size: 11px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
        }
        /* Mode 1: Cyber Neon Cyan/Magenta */
        .vu-neon .vu-led.lit-green { background: #00f0ff !important; box-shadow: 0 0 3px #00f0ff !important; }
        .vu-neon .vu-led.lit-yellow { background: #b5179e !important; box-shadow: 0 0 3px #b5179e !important; }
        .vu-neon .vu-led.lit-red { background: #ff007f !important; box-shadow: 0 0 4px #ff007f !important; }

        /* Mode 2: Amber Monochrome Retro Hi-Fi */
        .vu-amber .vu-led.lit-green { background: #ff9e00 !important; box-shadow: 0 0 3px #ff9e00 !important; }
        .vu-amber .vu-led.lit-yellow { background: #ff6d00 !important; box-shadow: 0 0 3px #ff6d00 !important; }
        .vu-amber .vu-led.lit-red { background: #ff3d00 !important; box-shadow: 0 0 4px #ff3d00 !important; }

        /* Mode 3: Matrix Green Phosphor */
        .vu-matrix .vu-led.lit-green { background: #00ff41 !important; box-shadow: 0 0 3px #00ff41 !important; }
        .vu-matrix .vu-led.lit-yellow { background: #39ff14 !important; box-shadow: 0 0 3px #39ff14 !important; }
        .vu-matrix .vu-led.lit-red { background: #76ff03 !important; box-shadow: 0 0 4px #76ff03 !important; }

        /* Mode 4: Sunset / Synthwave Orange & Magenta */
        .vu-sunset .vu-led.lit-green { background: #ffaa00 !important; box-shadow: 0 0 3px #ffaa00 !important; }
        .vu-sunset .vu-led.lit-yellow { background: #ff5400 !important; box-shadow: 0 0 3px #ff5400 !important; }
        .vu-sunset .vu-led.lit-red { background: #9e0059 !important; box-shadow: 0 0 4px #9e0059 !important; }

        /* Mode 5: Vaporwave Pastel Pink & Cyan */
        .vu-vaporwave .vu-led.lit-green { background: #01cdfe !important; box-shadow: 0 0 3px #01cdfe !important; }
        .vu-vaporwave .vu-led.lit-yellow { background: #ff71ce !important; box-shadow: 0 0 3px #ff71ce !important; }
        .vu-vaporwave .vu-led.lit-red { background: #b967ff !important; box-shadow: 0 0 4px #b967ff !important; }
        .vu-bar {
            flex: 1;
            display: flex;
            flex-direction: column-reverse;
            gap: 1px;
            height: 100%;
            padding: 1px 0;
            box-sizing: border-box;
        }
        .vu-led {
            width: 100%;
            height: 2.2px;
            background: #181818;
            border-radius: 0.5px;
            transition: background 0.04s ease;
        }
        .vu-led.lit-green { background: #00ff66; box-shadow: 0 0 3px #00ff66; }
        .vu-led.lit-yellow { background: #ffea00; box-shadow: 0 0 3px #ffea00; }
        .vu-led.lit-red { background: #ff1744; box-shadow: 0 0 4px #ff1744; }

        /* Retro Thumbnail Loading Spinner */
        #thumbnail-loading {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #050510;
            display: none;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            z-index: 1;
            font-family: 'MS Sans Serif', monospace;
            color: #00ffcc;
            font-size: 11px;
            text-shadow: 0 0 4px #00ffcc;
        }
        #thumbnail-loading.active {
            display: flex;
        }
        .thumb-spinner {
            width: 24px;
            height: 24px;
            border: 3px solid #112233;
            border-top: 3px solid #00ffcc;
            border-right: 3px solid #ff0055;
            border-radius: 50%;
            animation: thumb-spin 0.75s linear infinite;
            margin-bottom: 6px;
        }
        @keyframes thumb-spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        /* ================= RETRO CONTEXT MENU (WIN98) ================= */
        #retro-context-menu {
            position: fixed;
            background: var(--window-bg-color);
            border: 2px solid;
            border-color: var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);
            box-shadow: 2px 2px 0 rgba(0,0,0,0.5);
            z-index: 1000;
            display: none;
            min-width: 155px;
            color: inherit;
            padding: 2px;
        }
        .context-menu-item {
            display: flex;
            align-items: center;
            padding: 4px 10px;
            cursor: pointer;
            font-size: 11px;
            gap: 6px;
        }
        .context-menu-item:hover {
            background: #000080;
            color: #ffffff;
        }
        .context-menu-separator {
            height: 1px;
            border-top: 1px solid var(--border-dark);
            border-bottom: 1px solid var(--border-light);
            margin: 2px 0;
        }

        /* Volume Mute Icon */
        #volume-icon-btn {
            cursor: pointer;
            transition: transform 0.1s ease;
        }
        #volume-icon-btn:hover {
            transform: scale(1.1);
        }
        #volume-icon-btn:active {
            transform: scale(0.95);
        }
        .volume-muted {
            opacity: 0.5;
            filter: grayscale(1);
        }

    
        /* Theme hover colors for Start Menu */
        .theme-blue .start-menu span:hover { background: #000080 !important; color: #ffffff !important; }
        .theme-teal .start-menu span:hover { background: #008080 !important; color: #ffffff !important; }
        .theme-purple .start-menu span:hover { background: #5a189a !important; color: #ffffff !important; }
        .theme-black .start-menu span:hover { background: #333333 !important; color: #ffffff !important; }
        .theme-vaporwave .start-menu span:hover { background: #ff71ce !important; color: #000000 !important; }
        .theme-sunset .start-menu span:hover { background: #f12711 !important; color: #ffffff !important; }
        .theme-matrix .start-menu span:hover { background: #00ff41 !important; color: #000000 !important; }
        .theme-hotline .start-menu span:hover { background: #f72585 !important; color: #ffffff !important; }

        /* Retro Desktop Trash Can (top center recycle bin for discarding pets / objects) */
        #desktop-trash-can {
            position: fixed;
            top: -70px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 99999;
            background: var(--window-bg-color);
            border: 2px solid;
            border-color: var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);
            box-shadow: 2px 3px 0 rgba(0,0,0,0.5);
            padding: 4px 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 11px;
            font-weight: bold;
            transition: top 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275), background 0.15s;
            pointer-events: auto;
        }
        #desktop-trash-can.visible {
            top: 10px;
        }
        #desktop-trash-can.hovered {
            background: #ffcccc;
            border-color: #ff0000;
            color: #000000 !important;
        }
        #desktop-trash-can img {
            width: 24px;
            height: 24px;
            image-rendering: pixelated;
        }

        /* Retro Toy Object Styles */
        .toy-object {
            position: fixed;
            z-index: 98;
            cursor: grab;
            user-select: none;
            -webkit-user-select: none;
            display: flex;
            align-items: center;
            justify-content: center;
            filter: drop-shadow(2px 3px 0 rgba(0,0,0,0.45));
        }
        .toy-object:active { cursor: grabbing; }
        .toy-object img {
            width: 100%;
            height: 100%;
            image-rendering: pixelated;
            pointer-events: none;
        }

        /* Door animation for mouse */
        .mouse-pixel-door {
            position: fixed;
            width: 24px;
            height: 36px;
            z-index: 97;
            pointer-events: none;
            animation: door-appear 0.4s ease-out;
        }
        @keyframes door-appear {
            from { transform: scale(0.2); opacity: 0; }
            to { transform: scale(1); opacity: 1; }
        }

        /* Retro VU Meter Canvas (All Visualizer Modes) */
        #vu-canvas {
            display: block;
            width: 100%;
            height: 100%;
            image-rendering: pixelated;
        }
        /* Mode 5: Vaporwave Pastel Pink & Cyan */
        .vu-vaporwave .vu-led.lit-green { background: #01cdfe !important; box-shadow: 0 0 3px #01cdfe !important; }
        .vu-vaporwave .vu-led.lit-yellow { background: #ff71ce !important; box-shadow: 0 0 3px #ff71ce !important; }
        .vu-vaporwave .vu-led.lit-red { background: #b967ff !important; box-shadow: 0 0 4px #b967ff !important; }
        .vu-bar {
            flex: 1;
            display: flex;
            flex-direction: column-reverse;
            gap: 1px;
            height: 100%;
            padding: 1px 0;
            box-sizing: border-box;
        }
        .vu-led {
            width: 100%;
            height: 2.2px;
            background: #181818;
            border-radius: 0.5px;
            transition: background 0.04s ease;
        }
        .vu-led.lit-green { background: #00ff66; box-shadow: 0 0 3px #00ff66; }
        .vu-led.lit-yellow { background: #ffea00; box-shadow: 0 0 3px #ffea00; }
        .vu-led.lit-red { background: #ff1744; box-shadow: 0 0 4px #ff1744; }

        /* Retro Thumbnail Loading Spinner */
        #thumbnail-loading {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #050510;
            display: none;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            z-index: 1;
            font-family: 'MS Sans Serif', monospace;
            color: #00ffcc;
            font-size: 11px;
            text-shadow: 0 0 4px #00ffcc;
        }
        #thumbnail-loading.active {
            display: flex;
        }
        .thumb-spinner {
            width: 24px;
            height: 24px;
            border: 3px solid #112233;
            border-top: 3px solid #00ffcc;
            border-right: 3px solid #ff0055;
            border-radius: 50%;
            animation: thumb-spin 0.75s linear infinite;
            margin-bottom: 6px;
        }
        @keyframes thumb-spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        /* ================= RETRO CONTEXT MENU (WIN98) ================= */
        #retro-context-menu {
            position: fixed;
            background: var(--window-bg-color);
            border: 2px solid;
            border-color: var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);
            box-shadow: 2px 2px 0 rgba(0,0,0,0.5);
            z-index: 1000;
            display: none;
            min-width: 155px;
            color: inherit;
            padding: 2px;
        }
        .context-menu-item {
            display: flex;
            align-items: center;
            padding: 4px 10px;
            cursor: pointer;
            font-size: 11px;
            gap: 6px;
        }
        .context-menu-item:hover {
            background: #000080;
            color: #ffffff;
        }
        .context-menu-separator {
            height: 1px;
            border-top: 1px solid var(--border-dark);
            border-bottom: 1px solid var(--border-light);
            margin: 2px 0;
        }

        /* Volume Mute Icon */
        #volume-icon-btn {
            cursor: pointer;
            transition: transform 0.1s ease;
        }
        #volume-icon-btn:hover {
            transform: scale(1.1);
        }
        #volume-icon-btn:active {
            transform: scale(0.95);
        }
        .volume-muted {
            opacity: 0.5;
            filter: grayscale(1);
        }

    
        /* Theme hover colors for Start Menu */
        .theme-blue .start-menu span:hover { background: #000080 !important; color: #ffffff !important; }
        .theme-teal .start-menu span:hover { background: #008080 !important; color: #ffffff !important; }
        .theme-purple .start-menu span:hover { background: #5a189a !important; color: #ffffff !important; }
        .theme-black .start-menu span:hover { background: #333333 !important; color: #ffffff !important; }
        .theme-vaporwave .start-menu span:hover { background: #ff71ce !important; color: #000000 !important; }
        .theme-sunset .start-menu span:hover { background: #f12711 !important; color: #ffffff !important; }
        .theme-matrix .start-menu span:hover { background: #00ff41 !important; color: #000000 !important; }
        .theme-hotline .start-menu span:hover { background: #f72585 !important; color: #ffffff !important; }

        /* Retro Desktop Trash Can (top center recycle bin for discarding pets / objects) */
        #desktop-trash-can {
            position: fixed;
            top: -70px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 99999;
            background: var(--window-bg-color);
            border: 2px solid;
            border-color: var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);
            box-shadow: 2px 3px 0 rgba(0,0,0,0.5);
            padding: 4px 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 11px;
            font-weight: bold;
            transition: top 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275), background 0.15s;
            pointer-events: auto;
        }
        #desktop-trash-can.visible {
            top: 10px;
        }
        #desktop-trash-can.hovered {
            background: #ffcccc;
            border-color: #ff0000;
            color: #000000 !important;
        }
        #desktop-trash-can img {
            width: 24px;
            height: 24px;
            image-rendering: pixelated;
        }

        /* Retro Boombox Playing Animation */
        .toy-retro-boombox {
            overflow: visible !important;
        }
        .toy-retro-boombox .boombox-visualizer {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
        }
        .toy-retro-boombox.playing-music .boombox-visualizer {
            display: block;
        }
        .toy-retro-boombox.playing-music img {
            animation: boombox-beat 0.52s infinite ease-in-out alternate;
        }
        @keyframes boombox-beat {
            0% { transform: scale(1, 1); }
            100% { transform: scale(1.05, 0.94) translateY(1px); }
        }

        /* Floating musical notes */
        .boombox-notes {
            position: absolute;
            top: -24px;
            left: 0;
            width: 100%;
            height: 30px;
            pointer-events: none;
            z-index: 101;
        }
        .boombox-note {
            position: absolute;
            font-size: 13px;
            user-select: none;
            text-shadow: 1px 1px 0 #000;
            opacity: 0;
        }
        .toy-retro-boombox.playing-music .note-1 {
            left: 8%;
            animation: boombox-float-note 1.8s infinite ease-out;
        }
        .toy-retro-boombox.playing-music .note-2 {
            left: 44%;
            animation: boombox-float-note 1.8s infinite ease-out 0.6s;
        }
        .toy-retro-boombox.playing-music .note-3 {
            left: 78%;
            animation: boombox-float-note 1.8s infinite ease-out 1.2s;
        }
        @keyframes boombox-float-note {
            0% {
                transform: translateY(12px) scale(0.6) rotate(-10deg);
                opacity: 0;
            }
            25% {
                opacity: 1;
            }
            75% {
                opacity: 0.9;
            }
            100% {
                transform: translateY(-28px) scale(1.2) rotate(15deg);
                opacity: 0;
            }
        }

        /* Speaker soundwave rings */
        .boombox-soundwave {
            position: absolute;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            pointer-events: none;
            opacity: 0;
            top: 11px;
        }
        .toy-retro-boombox.playing-music .wave-left {
            left: 3px;
            border: 2px solid #00f0ff;
            box-shadow: 0 0 6px #00f0ff;
            animation: boombox-pulse-wave 0.7s infinite ease-out;
        }
        .toy-retro-boombox.playing-music .wave-right {
            left: 31px;
            border: 2px solid #ff0055;
            box-shadow: 0 0 6px #ff0055;
            animation: boombox-pulse-wave 0.7s infinite ease-out 0.35s;
        }
        @keyframes boombox-pulse-wave {
            0% {
                transform: scale(0.5);
                opacity: 0.9;
            }
            100% {
                transform: scale(1.6);
                opacity: 0;
            }
        }

        #player, #player iframe {
            position: fixed !important;
            bottom: 0 !important;
            right: 0 !important;
            width: 1px !important;
            height: 1px !important;
            opacity: 0.01 !important;
            pointer-events: none !important;
            z-index: -1 !important;
        }

        .mouse-pixel-door {
            position: fixed;
            width: 28px;
            height: 40px;
            z-index: 96;
            pointer-events: none;
            transition: opacity 0.6s ease;
        }

        .mouse-burrow-hole {
            position: fixed;
            width: 44px;
            height: 20px;
            z-index: 96;
            pointer-events: none;
            transition: opacity 0.6s ease;
        }
