body { font-family: Arial, sans-serif; text-align: center; margin: 0; padding: 0; background-color: #f0f0f0; color: #333; font-size: 1em; line-height: 1.6; } .container { max-width: 800px; margin: 20px auto; padding: 20px; background-color: #fff; font-size: 1.25em; box-shadow: 0 0 10px rgba(0,0,0,0.1); } #predictionContent { display: none; /* Initially hidden */ } h1, h2, h3 { text-align: center; color: #d76324; } p { margin-bottom: 1em; } a { color: #d76324; } /* Input group for label and input */ .input-group { margin-bottom: 20px; } label { display: block; margin-bottom: 8px; font-weight: bold; color: #555; } input[type="password"] { width: calc(100% - 20px); /* Account for padding */ padding: 12px 10px; border: 2px solid #ced4da; /* Light grey border, can be adjusted for new palette */ border-radius: 8px; font-size: 1em; margin: 20px auto; box-sizing: border-box; /* Include padding and border in element's total width and height */ } /* Button styling */ button { background-color: #959595; color: white; padding: 14px 25px; border: none; border-radius: 8px; font-size: 1.1em; cursor: pointer; transition: background-color 0.3s ease, transform 0.2s ease; } button:hover { background-color: #7A7A7A; /* Darker grey on hover */ } /* Error message styling */ .message { margin-top: 20px; font-weight: bold; color: #dc3545; /* Red for error messages */ } /* Styling for the loading screen */ #loadingScreen { display: none; /* Initially hidden */ min-height: 200px; justify-content: center; align-items: center; flex-direction: column; gap: 20px; } /* Basic spinner animation on the loading screen*/ .spinner { border: 8px solid rgba(0, 0, 0, 0.1); border-top: 8px solid #d76324; /* Spinner color matching heading */ border-radius: 50%; width: 60px; height: 60px; animation: spin 1s linear infinite; margin-top: 20px; margin-bottom: 20px; display: flex; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Responsive adjustments */ @media (max-width: 600px) { .container { padding: 25px; } h1, #loadingScreen h2 { font-size: 1.8em; } button { padding: 12px 20px; font-size: 1em; } input[type="password"] { padding: 10px 8px; } .spinner { width: 40px; height: 40px; border-width: 6px; } } /* --- Box Styling --- */ .interaction-box { text-align: center; margin: 80px 0; /* Vertical spacing between boxes and content */ padding: 40px 20px; background-color: #e9e9e9; /* Grey box */ border-radius: 8px; font-size: 1.5em; font-weight: bold; color: #555; min-height: 100px; display: flex; align-items: center; justify-content: center; user-select: none; -webkit-user-select: none; /* For Safari */ -moz-user-select: none; /* For Firefox */ touch-action: pan-y; /* Allow vertical scrolling, prevent horizontal or zoom on touch */ position: relative; } /* --- White Gaps --- */ .white-gap { height: 500px; background-color: #fff; margin: 0; padding: 0; } /* --- Generic Content / Filler --- */ .generic-content { margin-top: 50px; margin-bottom: 50px; padding: 20px; background-color: #f8f8f8; font-size: 1em; border-radius: 5px; text-align: center; }