*{margin:0;padding:0;box-sizing:border-box}body{font-family:Courier New,monospace;background-color:#000;color:#fff;overflow:hidden}#gallery-canvas{display:block;width:100%;height:100vh}#loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0a0a0a;display:flex;justify-content:center;align-items:center;z-index:1000;transition:opacity .5s ease-out}#loading-screen.fade-out{opacity:0;pointer-events:none}.loading-content{text-align:center;max-width:500px;padding:20px}.loading-content h1{font-size:3rem;margin-bottom:30px;letter-spacing:4px;color:#fff;text-shadow:0 0 20px rgba(255,255,255,.5)}.loading-bar-container{width:100%;height:4px;background-color:#222;margin:20px 0;border-radius:2px;overflow:hidden}.loading-bar{height:100%;width:0%;background:linear-gradient(90deg,#666,#fff);transition:width .3s ease;box-shadow:0 0 10px #ffffff80}#loading-text{margin:15px 0;font-size:.9rem;color:#999}.options-panel{margin-top:30px;padding:20px;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px}.options-panel.hidden{display:none}.options-disclaimer{font-size:.75rem;color:#666;font-style:italic;margin-bottom:15px;line-height:1.5}.option-row{display:flex;align-items:center;justify-content:center;margin:10px 0}.toggle-label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label input{display:none}.toggle-slider{width:44px;height:24px;background-color:#333;border-radius:12px;position:relative;transition:background-color .3s ease;margin-right:12px}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;background-color:#666;border-radius:50%;top:3px;left:3px;transition:all .3s ease}.toggle-label input:checked+.toggle-slider{background-color:#4a9eff}.toggle-label input:checked+.toggle-slider:before{transform:translate(20px);background-color:#fff}.toggle-text{font-size:.9rem;color:#ccc}.start-button{margin-top:30px;padding:15px 50px;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;letter-spacing:2px;color:#fff;background:linear-gradient(180deg,#333,#1a1a1a);border:1px solid #555;border-radius:4px;cursor:pointer;transition:all .3s ease;text-transform:uppercase}.start-button:hover{background:linear-gradient(180deg,#444,#222);border-color:#777;box-shadow:0 0 20px #ffffff1a;transform:scale(1.02)}.start-button:active{transform:scale(.98)}.start-button.hidden{display:none}.instructions{margin-top:30px;padding:20px;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px}.instructions p{margin:5px 0;font-size:.85rem;color:#ccc}.instructions strong{color:#fff}#ui-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}#ui-overlay.hidden{display:none}#crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:4px;background-color:#ffffff80;border-radius:50%;box-shadow:0 0 0 1px #00000080}#instructions-panel{position:absolute;top:20px;right:20px;background-color:#000c;padding:20px;border:1px solid rgba(255,255,255,.2);border-radius:4px;max-width:250px}#instructions-panel.hidden{display:none}#instructions-panel h2{font-size:1.2rem;margin-bottom:15px;color:#fff}#instructions-panel p{margin:8px 0;font-size:.85rem;color:#ccc}#instructions-panel strong{color:#fff;display:inline-block;min-width:80px}#painting-info{display:none!important}#painting-info.hidden{display:none}#painting-title{font-size:1.3rem;margin-bottom:10px;color:#fff;letter-spacing:1px}#painting-description{font-size:.9rem;color:#aaa;line-height:1.5}#minimap-container{position:absolute;top:20px;left:20px;width:180px;height:180px;background-color:#000000b3;border:1px solid rgba(255,255,255,.2);border-radius:4px;overflow:hidden;pointer-events:none}#minimap-container.hidden{display:none}#minimap-canvas{width:100%;height:100%}#mobile-controls{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100;display:none}#mobile-controls.active{display:block}.joystick-base{position:absolute;bottom:60px;width:120px;height:120px;border-radius:50%;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);pointer-events:auto;touch-action:none;opacity:.6;transition:opacity .2s}.joystick-base:active{opacity:.9}.joystick-knob{position:absolute;top:50%;left:50%;width:50px;height:50px;border-radius:50%;background:#fff6;border:2px solid rgba(255,255,255,.6);transform:translate(-50%,-50%);transition:background .1s}.look-joystick:active{opacity:.9}@media (max-width: 1024px) and (hover: none){#crosshair{display:none}}@media (max-width: 768px) and (orientation: portrait){.joystick-base{bottom:40px!important;width:100px!important;height:100px!important}.joystick-base:not(.look-joystick){left:40px!important}.joystick-base.look-joystick{right:40px!important}.joystick-knob{width:40px!important;height:40px!important}#painting-info{max-width:250px;padding:12px 16px}#painting-title{font-size:1rem}#painting-description{font-size:.75rem}#minimap-container{top:10px;left:10px;width:120px;height:120px}}@media (max-width: 1024px) and (orientation: landscape){.joystick-base{bottom:40px!important;width:100px!important;height:100px!important}.joystick-base:not(.look-joystick){left:40px!important}.joystick-base.look-joystick{right:40px!important}.joystick-knob{width:40px!important;height:40px!important}#painting-info{max-width:280px;padding:12px 16px}#instructions-panel{top:10px;right:10px;padding:12px;max-width:180px;font-size:.8rem}}@media (max-width: 768px){.loading-content h1{font-size:2rem}#instructions-panel{top:10px;right:10px;padding:15px;max-width:200px}#painting-info{max-width:260px;padding:12px 16px}}
