*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Courier New',Courier,monospace;background:#f4e8d0;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.05) 2px,rgba(0,0,0,.05) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.05) 2px,rgba(0,0,0,.05) 4px);position:relative}.container{width:100vw;height:100vh;position:relative;overflow:hidden}body:has(.container){overflow:hidden}.container::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;background:url('../img/logo.webp') no-repeat center center;background-size:contain;opacity:.15;pointer-events:none;z-index:0}.container::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center top,transparent 0,transparent 40%,rgba(0,0,0,0.5) 100%);pointer-events:none;z-index:1;transition:opacity .5s ease}.lightbulb-container{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:10}.light-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;height:300px;background:radial-gradient(circle,rgba(255,244,150,0.6) 0,rgba(255,244,150,0.3) 30%,transparent 70%);border-radius:50%;pointer-events:none;transition:all .3s ease}.lightbulb{width:80px;height:auto;position:relative;z-index:11;filter:drop-shadow(0 0 10px rgba(255,244,150,0.8));animation:bulbTurnOn 2s ease forwards}@keyframes bulbTurnOn{0%{filter:brightness(0.15) grayscale(1) drop-shadow(0 0 0 rgba(255,244,150,0))}100%{filter:brightness(1) grayscale(0) drop-shadow(0 0 10px rgba(255,244,150,0.8))}}.annotation-bubble{position:absolute;top:90px;left:50%;margin-left:135px;background:#FFD700;border:4px solid #000;border-radius:3px;padding:12px 18px;z-index:1;pointer-events:none;box-shadow:3px 3px 0 rgba(0,0,0,0.25);transform:rotate(-2deg)}.annotation-bubble::before{content:'';position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:13px solid transparent;border-bottom:13px solid transparent;border-right:16px solid #000}.annotation-bubble::after{content:'';position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:12px solid #FFD700}.annotation-bubble p{font-family:'Courier New',Courier,monospace;font-size:.75rem;font-weight:bold;color:#000;margin:0;text-transform:uppercase;letter-spacing:.5px;line-height:1.2;text-align:center}#world{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.draggable-item{position:absolute;cursor:grab;z-index:3;transition:transform .1s ease}.draggable-item:active{cursor:grabbing;z-index:100}.draggable-item img{max-width:300px;max-height:300px;width:auto;height:auto;border:none;box-shadow:0 8px 16px rgba(0,0,0,0.2);border-radius:8px}.draggable-item .label{position:absolute;bottom:10px;left:10px;transform:rotate(-2deg);background:#fff;padding:5px 15px;border:3px solid #2c1810;border-radius:3px;font-weight:bold;color:#2c1810;text-transform:uppercase;font-size:.9rem;box-shadow:3px 3px 0 rgba(0,0,0,0.2);white-space:nowrap}.draggable-item.simple-item img{max-width:100px;max-height:100px;border:none;box-shadow:none;border-radius:0}.black-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:black;opacity:1;pointer-events:none;z-index:10000;animation:fadeFromBlack 2s ease forwards}@keyframes fadeFromBlack{0%{opacity:1}100%{opacity:0}}.white-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#fffae6;opacity:0;pointer-events:none;z-index:9999;transition:opacity 1s ease-out}.white-overlay.active{opacity:1}.container.flicker .light-glow{animation:lightFlicker .08s ease}.container.flicker::before{animation:vignetteDarken .08s ease}.container.flicker .lightbulb{animation:bulbFlicker .08s ease!important}@keyframes lightFlicker{0%{opacity:1}50%{opacity:.05}100%{opacity:1}}@keyframes vignetteDarken{0%{background:radial-gradient(ellipse at center top,transparent 0,transparent 40%,rgba(0,0,0,0.5) 100%)}50%{background:radial-gradient(ellipse at center top,rgba(0,0,0,0.7) 0,rgba(0,0,0,0.8) 40%,rgba(0,0,0,0.95) 100%)}100%{background:radial-gradient(ellipse at center top,transparent 0,transparent 40%,rgba(0,0,0,0.5) 100%)}}@keyframes bulbFlicker{0%{filter:brightness(1) grayscale(0) drop-shadow(0 0 10px rgba(255,244,150,0.8))}50%{filter:brightness(0.1) grayscale(1) drop-shadow(0 0 0 rgba(255,244,150,0))}100%{filter:brightness(1) grayscale(0) drop-shadow(0 0 10px rgba(255,244,150,0.8))}}.container.brightening::before{opacity:0}.container.brightening .light-glow{width:2000px;height:2000px;background:radial-gradient(circle,rgba(255,244,150,1) 0,rgba(255,244,150,0.8) 50%,rgba(255,255,255,0.9) 100%);transition:all .8s ease-out}.back-button{position:fixed;top:20px;left:20px;padding:8px 15px 8px 12px;background:#fff;border:4px solid #2c1810;border-radius:5px;font-weight:bold;color:#2c1810;text-transform:uppercase;cursor:pointer;box-shadow:4px 4px 0 rgba(0,0,0,0.3);font-size:.85rem;line-height:1.5;z-index:1000;transition:transform .1s ease;display:flex;align-items:center;gap:8px}.back-button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgba(0,0,0,0.3)}.back-button:active{transform:translate(2px,2px);box-shadow:2px 2px 0 rgba(0,0,0,0.3)}.back-button .arrow-left{display:inline-block;transform:scaleX(-1);font-size:1.5rem;line-height:1}@media(max-width:768px){.draggable-item img{max-width:132px;max-height:132px}.draggable-item.simple-item img{max-width:44px;max-height:44px}.lightbulb{width:60px}.annotation-bubble{top:150px;left:50%;margin-left:0;transform:translateX(-50%) rotate(-2deg);padding:8px 12px;font-size:.6rem}.annotation-bubble::before{left:50%;top:-16px;transform:translateX(-50%);border-right:none;border-left:13px solid transparent;border-right:13px solid transparent;border-bottom:16px solid #000;border-top:none}.annotation-bubble::after{left:50%;top:-10px;transform:translateX(-50%);border-right:none;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:12px solid #FFD700;border-top:none}.annotation-bubble p{font-size:.6rem}.container::after{width:250px;height:250px}.draggable-item .label{font-size:.5rem;padding:3px 8px;border-width:2px;bottom:5px;left:5px}}.video-modal{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.95);z-index:10001;justify-content:center;align-items:center}.video-modal.active{display:flex}.video-modal-content{position:relative;width:90%;max-width:1200px;aspect-ratio:16 / 9;background:#000}.video-modal-content iframe{width:100%;height:100%}.video-modal-close{position:absolute;top:10px;right:10px;background:#fff;border:3px solid #2c1810;border-radius:50%;width:50px;height:50px;font-size:28px;font-weight:bold;color:#2c1810;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10002;box-shadow:0 4px 8px rgba(0,0,0,0.5);transition:all .2s ease}.video-modal-close:hover{background:#2c1810;color:#fff;transform:scale(1.1)}.message-modal{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.7);z-index:10001;justify-content:center;align-items:center}.message-modal.active{display:flex}.message-modal-content{position:relative;background:#FFF9E5;border:4px solid #2c1810;border-radius:5px;padding:40px 50px;max-width:500px;box-shadow:8px 8px 0 rgba(0,0,0,0.3);transform:rotate(-1deg);animation:modalAppear .3s ease-out}@keyframes modalAppear{0%{transform:rotate(-1deg) scale(0.7);opacity:0}100%{transform:rotate(-1deg) scale(1);opacity:1}}.message-modal-content p{font-family:'Courier New',Courier,monospace;font-size:1.2rem;font-weight:bold;color:#2c1810;margin:0;text-align:center;line-height:1.4}.message-modal-close{position:absolute;top:10px;right:10px;background:#fff;border:3px solid #2c1810;border-radius:50%;width:40px;height:40px;font-size:24px;font-weight:bold;color:#2c1810;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:3px 3px 0 rgba(0,0,0,0.3);transition:all .2s ease}.message-modal-close:hover{background:#2c1810;color:#fff;transform:scale(1.1)}.message-modal-close:active{transform:scale(0.95)}@media(max-width:768px){.message-modal-content{max-width:85%;padding:50px 20px 30px 20px}.message-modal-content p{font-size:.95rem;line-height:1.5}.message-modal-close{top:8px;right:8px;width:32px;height:32px;font-size:18px;border-width:2px}}:root{--beige-bruguera:#f4e8d0;--marron-bruguera:#2c1810;--amarillo-acento:#FFD700;--rojo-acento:#F44;--azul-acento:#44F;--rosa-acento:#FF6B9D}