*{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{position:absolute;bottom:40px;left:50%;transform:translate(-50%);background-color:#000000d9;padding:20px 30px;border:1px solid rgba(255,255,255,.2);border-radius:4px;max-width:600px;text-align:center;transition:opacity .3s ease}#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%}@media (max-width: 768px){.loading-content h1{font-size:2rem}#instructions-panel{top:10px;right:10px;padding:15px;max-width:200px}#painting-info{bottom:20px;max-width:90%;padding:15px 20px}}
