/* --- Base & Typography --- */ :root { --font-family: 'Nunito', sans-serif; --panel-bg: rgba(255, 255, 255, 0.7); --text-color: #333; --primary-color: #86A8E7; --accent-color: #7FDEB5; --border-radius-lg: 12px; --border-radius-sm: 8px; --shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } body { font-family: var(--font-family); margin: 0; padding: 2rem; box-sizing: border-box; background: #a7d8f0; /* Fallback color */ color: var(--text-color); transition: background 0.5s ease; } h1, h2 { font-weight: 700; margin-top: 0; } h1 { font-size: 2rem; } h2 { font-size: 1.5rem; margin-bottom: 1rem; border-bottom: 1px solid rgba(0,0,0,0.1); padding-bottom: 0.5rem; } /* --- Layout --- */ .app-container { display: flex; gap: 2rem; height: calc(100vh - 4rem); } .panel { padding: 2rem; border-radius: var(--border-radius-lg); box-shadow: var(--shadow); background-color: var(--panel-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: background-color 0.5s ease; z-index: 10; } .task-panel { flex: 1; display: flex; flex-direction: column; } .garden-panel { flex: 2; display: flex; flex-direction: column; } header { margin-bottom: 1.5rem; } /* --- Task Manager --- */ #task-form { display: flex; margin-bottom: 1.5rem; } #task-input { flex-grow: 1; padding: 0.75rem; border: 1px solid #ccc; border-radius: var(--border-radius-sm); font-size: 1rem; } #task-form button { padding: 0.75rem 1.5rem; border: none; background-color: var(--primary-color); color: white; border-radius: var(--border-radius-sm); cursor: pointer; margin-left: 0.5rem; transition: background-color 0.3s; } #task-form button:hover { background-color: #6c94d8; } #task-list { list-style: none; padding: 0; margin: 0; overflow-y: auto; flex-grow: 1; } #task-list li { display: flex; align-items: center; padding: 0.75rem; margin-bottom: 0.5rem; background: rgba(255, 255, 255, 0.5); border-radius: var(--border-radius-sm); transition: all 0.3s; } #task-list li.completed { text-decoration: line-through; opacity: 0.6; } #task-list li input[type="checkbox"] { margin-right: 0.75rem; width: 18px; height: 18px; } #task-list li .delete-btn { margin-left: auto; background: none; border: none; color: #ff6b6b; cursor: pointer; font-size: 1.2rem; opacity: 0.5; transition: opacity 0.3s; } #task-list li:hover .delete-btn { opacity: 1; } /* --- Garden --- */ .garden-panel header { display: flex; justify-content: space-between; align-items: center; } #garden { flex-grow: 1; position: relative; border-radius: var(--border-radius-sm); overflow: hidden; background: transparent; } /* --- Background Scene --- */ .sky { position: absolute; top: 0; left: 0; width: 100%; height: 60%; background: linear-gradient(to bottom, #a7d8f0, #cce7f5); z-index: 1; } .cloud { position: absolute; background: white; border-radius: 50px; opacity: 0.9; } .cloud-1 { top: 15%; left: 10%; width: 120px; height: 40px; } .cloud-2 { top: 25%; right: 15%; width: 150px; height: 50px; } .cloud::before, .cloud::after { content: ''; position: absolute; background: white; border-radius: 50%; } .cloud-1::before { top: -20px; left: 20px; width: 50px; height: 50px; } .cloud-1::after { top: -10px; right: 30px; width: 40px; height: 40px; } .cloud-2::before { top: -30px; left: 30px; width: 70px; height: 70px; } .cloud-2::after { top: -20px; right: 20px; width: 60px; height: 60px; } .hills { position: absolute; bottom: 10%; left: 0; width: 100%; height: 40%; z-index: 2; } .hill { position: absolute; bottom: 0; border-radius: 50% 50% 0 0; } .hill-1 { left: -20%; width: 80%; height: 80%; background: #c5dcb7; } .hill-2 { right: -15%; width: 70%; height: 60%; background: #b3d0a7; } .ground { position: absolute; bottom: 0; left: 0; width: 100%; height: 15%; background: #9fcc93; z-index: 3; } .garden-controls { margin-top: 1rem; text-align: center; } .garden-controls button, .theme-btn { padding: 0.5rem 1rem; border-radius: var(--border-radius-sm); border: 1px solid var(--primary-color); background-color: transparent; color: var(--primary-color); cursor: pointer; margin: 0 0.25rem; transition: all 0.3s; } .garden-controls button:hover, .theme-btn:hover, .theme-btn.active { background-color: var(--primary-color); color: white; } /* --- New Flower Styles --- */ .garden-element { position: absolute; bottom: 5%; transform-origin: bottom center; z-index: 4; transition: transform 0.5s ease-out; } .garden-element.grow { animation: grow-animation 1.5s cubic-bezier(0.68, -0.55, 0.27, 1.55); } .garden-element.shrink { transform: scale(0); } @keyframes grow-animation { from { transform: scale(0); } to { transform: scale(1); } } .flower-daisy { width: 80px; height: 120px; position: relative; } .flower-daisy .stem { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 6px; height: 80px; background: #4a7c4a; border-radius: 3px; } .flower-daisy .leaf { position: absolute; bottom: 20px; width: 30px; height: 25px; background: #6a9a6a; border-radius: 50% 0; } .flower-daisy .leaf.left { left: 0; transform: rotate(20deg); } .flower-daisy .leaf.right { right: 0; transform: rotate(-20deg) scaleX(-1); } .flower-head { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 60px; height: 60px; } .flower-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 20px; height: 20px; background: #ffdd57; border-radius: 50%; z-index: 2; } .petal { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; } .petal div { position: absolute; top: 50%; left: 50%; margin-top: -10px; margin-left: -5px; width: 10px; height: 20px; border-radius: 5px; transform-origin: 50% 100%; } /* Petal Colors */ .petal-pink div { background-color: #ffaccb; } .petal-yellow div { background-color: #fff38a; } .petal-purple div { background-color: #d9abff; } .petal-white div { background-color: #ffffff; } .petal .p1 { transform: rotate(0deg) translateY(-15px); } .petal .p2 { transform: rotate(45deg) translateY(-15px); } .petal .p3 { transform: rotate(90deg) translateY(-15px); } .petal .p4 { transform: rotate(135deg) translateY(-15px); } .petal .p5 { transform: rotate(180deg) translateY(-15px); } .petal .p6 { transform: rotate(225deg) translateY(-15px); } .petal .p7 { transform: rotate(270deg) translateY(-15px); } .petal .p8 { transform: rotate(315deg) translateY(-15px); }