:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}html,body{overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background:#f4f7f6;margin:0;color:#333;padding-bottom:80px}.container{max-width:1200px;margin:0 auto;padding:15px;width:100%}.app-header{text-align:center;margin-bottom:25px}h1{color:#2c3e50;font-size:1.8rem;margin-bottom:10px}.instructions{background:#eef2f3;padding:12px;border-radius:8px;font-size:.95rem;line-height:1.5;color:#555;display:inline-block;max-width:600px}h2{border-bottom:2px solid #ddd;padding-bottom:10px;margin-top:0;color:#444;font-size:1.4rem}.gallery-section{margin-bottom:40px}.loading-msg,.error-msg{text-align:center;padding:40px;font-size:1.2rem;font-style:italic;color:#7f8c8d}.error-msg{color:#c0392b;font-weight:700}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.painting-card{background:#fff;border:1px solid #e1e1e1;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column}.img-wrapper{position:relative;height:200px;overflow:hidden;background:#eee;cursor:pointer}.painting-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.zoom-hint{position:absolute;bottom:0;width:100%;background:#00000080;color:#fff;font-size:.7rem;text-align:center;padding:3px;opacity:0;transition:opacity .2s}.img-wrapper:hover .zoom-hint{opacity:1}.card-info{padding:10px;flex-grow:1;display:flex;flex-direction:column;justify-content:space-between}.card-info h3{margin:0 0 8px;font-size:1rem;line-height:1.2;cursor:pointer}.btn-add,.btn-added{width:100%;padding:8px;border:none;border-radius:4px;font-weight:600;font-size:.9rem;cursor:pointer;margin-top:auto}.btn-add{background:#3498db;color:#fff}.btn-added{background:#2ecc71;color:#fff;cursor:default}.ranking-section{background:#fff8e1;padding:20px;border-radius:12px;border:2px dashed #f1c40f;margin-bottom:40px}.ranking-list{max-width:600px;margin:0 auto}.hint{text-align:center;color:#7f8c8d;font-style:italic;font-size:.9rem;margin-bottom:15px}.submission-section{background:#34495e;color:#fff;padding:25px;border-radius:12px;text-align:center}.submission-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:15px}.submission-form input{padding:12px;font-size:1rem;width:100%;max-width:300px;border:none;border-radius:4px}.submit-btn{padding:12px 30px;font-size:1rem;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700;width:100%;max-width:200px}.fab{position:fixed;bottom:20px;right:20px;background:#2c3e50;color:#fff;border:none;border-radius:50px;padding:15px 25px;font-size:1rem;font-weight:700;box-shadow:0 4px 15px #0000004d;z-index:100;cursor:pointer;animation:popIn .3s ease-out}@keyframes popIn{0%{transform:scale(0)}to{transform:scale(1)}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:#fff;width:100%;max-width:600px;border-radius:8px;position:relative;overflow:hidden;max-height:90vh;display:flex;flex-direction:column}.close-modal{position:absolute;top:10px;right:10px;background:#0000001a;border:none;font-size:2rem;line-height:1;cursor:pointer;width:40px;height:40px;border-radius:50%;z-index:10}.modal-body{display:flex;flex-direction:column;overflow-y:auto}.modal-img-container{background:#000;display:flex;justify-content:center;width:100%}.modal-img-container img{max-width:100%;max-height:50vh;object-fit:contain}.modal-details{padding:20px}.modal-details h2{margin-top:0;border:none}.modal-btn{margin-top:15px;padding:12px;font-size:1rem}.btn-move-up{background-color:#3498db;color:#fff;border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;margin-right:10px;transition:background .2s;flex-shrink:0}.btn-move-up:hover{background-color:#2980b9}.btn-move-up:active{transform:translateY(-2px)}.success-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#2c3e50;color:#fff;display:flex;justify-content:center;align-items:center;text-align:center;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-content{padding:20px}.success-content h1{font-size:3rem;margin-bottom:10px;color:#2ecc71}.success-content p{font-size:1.2rem;margin-bottom:20px}.success-check{font-size:5rem;color:#2ecc71;line-height:1;margin:20px 0}.subtext{font-size:1rem;color:#bdc3c7}
