body { background-color: #e6ccff; font-family: Arial, sans-serif; color: #333; margin: 0; padding: 0; } #timer { font-size: 48px; text-align: center; padding: 20px; background-color: #fff; border: 2px solid #666; margin: 0; } /* Roast phase backgrounds */ #timer.initial-phase { background-color: #ffffff; /* white before Charge */ } #timer.charge-phase { background-color: #e6ffe6; /* pale green after Charge */ } #timer.yellow-phase { background-color: #fffdd0; /* light yellow after Yellow */ } /* Dynamic muddy yellow-brown transition (0–40% dev) */ #timer.dev-phase { transition: background-color 0.5s ease; } #create-plan { padding: 20px; text-align: center; } #create-plan input { width: 80%; padding: 10px; font-size: 18px; } #create-plan button { margin-top: 10px; padding: 10px 20px; font-size: 18px; } #controls { display: flex; flex-direction: column; align-items: center; padding: 20px; } .button-group { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 10px; } .button-group button:not(.nav-btn) { font-size: 20px; border: 2px solid #666; background-color: #fff; color: #333; border-radius: 10px; cursor: pointer; } .button-group .nav-btn { padding: 15px 25px; font-size: 20px; border: 2px solid #666; background-color: #E8E; color: #333; border-radius: 10px; cursor: pointer; } .button-group button:active { background-color: #ddd; } #event-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 20px; } #event-buttons button.activated { background-color: #ccc; /* gray to indicate completed step */ color: #333; border: 2px solid #888; } #event-buttons button { padding: 15px 25px; font-size: 20px; border: 2px solid #666; background-color: #afa; color: #333; border-radius: 10px; cursor: pointer; } #event-buttons button:active { background-color: #ddd; } .used-temp { background-color: #ccc !important; color: #333; border: 2px solid #888; cursor: default; } #log-table { width: 100%; border-collapse: collapse; } #log-table table { table-layout: fixed; width: 90%; margin: auto; } #log-table th, #log-table td { border: 1px solid #666; padding: 10px; text-align: center; } #log-table th { background-color: #f0e6ff; } #export-csv { margin: 20px; text-align: center; } #export-csv button { padding: 10px 20px; font-size: 18px; border: 2px solid #666; background-color: #fff; color: #333; border-radius: 10px; cursor: pointer; } #export-csv button:active { background-color: #ddd; } .hidden { display: none; } #temp-buttons { margin: 8px; } #temp-buttons button { text-align: center; width: 3.5em; } #graph-container { position: fixed; /* Centered and float over the screen */ top: 50%; left: 50%; transform: translate(-50%, -50%); /* Aligns perfectly center */ width: 100%; max-width: 800px; height: 400px; justify-content: center; align-items: center; background-color: #fff; border: 1px solid #ccc; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); overflow: hidden; z-index: 1000; /* Ensures it's above other elements */ } .graph-display-flex { display: flex; } canvas { width: 100%; height: 100%; } #close-btn { position: absolute; top: 10px; right: 10px; background-color: #fff; border: 1px solid #ccc; padding: 5px 10px; font-size: 16px; cursor: pointer; z-index: 10; border-radius: 4px; } #close-btn:hover { background-color: #f8f8f8; }