:root { --bg-color: #f4f1eb; --text-color: #4a4a4a; --accent-color: #6f4e37; --accent-light: #a08a7b; --card-bg: #ffffff; --border-color: #e0e0e0; } body { font-family: 'Poppins', sans-serif; background-color: var(--bg-color); color: var(--text-color); display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; } .container { width: 100%; max-width: 420px; padding: 2rem; text-align: center; } header h1 { font-size: 2rem; color: var(--accent-color); font-weight: 600; margin-bottom: 0.25rem; } header p { font-size: 1rem; color: var(--accent-light); margin-top: 0; } .step-card { background-color: var(--card-bg); border-radius: 15px; padding: 2rem; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05); display: none; /* Hidden by default */ } .step-card.active { display: block; } #setup h2 { margin-top: 0; font-weight: 400; color: var(--accent-color); } .recipe-overview { list-style: none; padding: 0; margin: 1.5rem 0; text-align: left; } .recipe-overview li { padding: 0.5rem 0; border-bottom: 1px solid var(--border-color); } .recipe-overview li:last-child { border-bottom: none; } .recipe-overview strong { color: var(--accent-color); } .tip { font-size: 0.9rem; color: var(--accent-light); background-color: var(--bg-color); padding: 0.75rem; border-radius: 8px; } .btn { background-color: var(--accent-color); color: white; border: none; padding: 0.8rem 1.5rem; border-radius: 8px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: background-color 0.3s, transform 0.2s; width: 100%; margin-top: 1rem; } .btn:hover { background-color: #5a3f2e; transform: translateY(-2px); } .btn-secondary { background-color: transparent; color: var(--accent-light); border: 1px solid var(--border-color); } .btn-secondary:hover { background-color: var(--bg-color); color: var(--accent-color); } .btn-pause { background-color: #f39c12; color: white; } .btn-pause:hover { background-color: #e67e22; } .btn-pause.paused { background-color: #27ae60; } .btn-pause.paused:hover { background-color: #229954; } #brewing-process { display: none; /* Initially hidden */ } .timer-container { position: relative; margin: 0 auto 2rem; width: 200px; height: 200px; } .progress-ring__circle { transform-origin: center; transform: rotate(-90deg); stroke: var(--accent-color); transition: stroke-dashoffset 0.5s; } .progress-ring__bg { stroke: var(--border-color); } .timer-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; } #timer-display { font-size: 3rem; font-weight: 600; color: var(--accent-color); } #total-water { font-size: 1.2rem; color: var(--accent-light); } .instructions h2 { font-size: 1.5rem; font-weight: 400; color: var(--accent-color); margin-bottom: 0.5rem; } .instructions p { font-size: 1rem; line-height: 1.6; margin-top: 0; } .controls { margin-top: 2rem; } @media (max-width: 480px) { .container { padding: 1rem; } .step-card { padding: 1.5rem; } }