* { margin: 0; padding: 0; box-sizing: border-box; } html, body, #app { width: 100%; height: 100%; overflow: hidden; font-family: 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; } .screen { display: none; width: 100%; height: 100%; flex-direction: column; align-items: center; justify-content: center; padding: 20px; background-color: #f5f5f5; } .screen.active { display: flex; } h1 { margin-bottom: 40px; color: #333; } .button-group { display: flex; flex-direction: column; gap: 15px; width: 100%; max-width: 300px; } button { padding: 15px 20px; border: none; border-radius: 8px; background-color: #4285f4; color: white; font-size: 16px; font-weight: 500; cursor: pointer; transition: background-color 0.3s; } button:hover { background-color: #3367d6; } button:active { background-color: #2a56c5; } .image-container { position: relative; width: 100%; height: 80%; margin-bottom: 20px; overflow: hidden; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } #preview-image, #selection-image { width: 100%; height: 100%; object-fit: contain; background-color: #eee; } #selection-box { position: absolute; border: 2px solid #4285f4; pointer-events: none; } .popup { position: absolute; background-color: white; padding: 15px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); z-index: 100; } .popup p { margin-bottom: 10px; } .hidden { display: none; } .loading-screen { display: flex; flex-direction: column; align-items: center; justify-content: center; } .spinner { width: 50px; height: 50px; border: 5px solid rgba(0, 0, 0, 0.1); border-radius: 50%; border-top-color: #4285f4; animation: spin 1s ease-in-out infinite; margin-bottom: 20px; } @keyframes spin { to { transform: rotate(360deg); } } .results-container { width: 100%; height: 100%; position: relative; } #results-iframe { width: 100%; height: calc(100% - 60px); border: none; border-radius: 8px; } #close-results-btn { margin-top: 10px; width: 100%; }