*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#f8f9fa 0%,#e9f5f0 100%);min-height:100vh;color:#2d3748;line-height:1.6;transition:background .3s ease,color .3s ease}body.dark-mode{background:linear-gradient(135deg,#1a202c 0%,#2d3748 100%);color:#e2e8f0}#root{min-height:100vh}.container{max-width:480px;margin:0 auto;padding:20px;min-height:100vh}.header{text-align:center;margin-bottom:30px;padding:20px;background:white;border-radius:20px;box-shadow:0 4px 20px #00000014;transition:background .3s ease,box-shadow .3s ease}.dark-mode .header{background:#2d3748;box-shadow:0 4px 20px #0000004d}.header-top{display:flex;align-items:center;justify-content:center;margin-bottom:16px;position:relative}.app-title{font-size:32px;font-weight:700;color:#2d5016;margin:0;transition:color .3s ease}.dark-mode .app-title{color:#68d391}.header-controls{position:absolute;right:0;display:flex;align-items:center;gap:8px}.info-btn{background:#f7fafc;border:none;border-radius:12px;padding:8px;cursor:pointer;color:#4a5568;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.info-btn:hover{background:#edf2f7;transform:scale(1.05)}.dark-mode .info-btn{background:#4a5568;color:#e2e8f0}.dark-mode .info-btn:hover{background:#718096}.dark-mode-toggle{background:#f7fafc;border:none;border-radius:12px;padding:8px;cursor:pointer;color:#4a5568;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.dark-mode-toggle:hover{background:#edf2f7;transform:scale(1.05)}.dark-mode .dark-mode-toggle{background:#4a5568;color:#e2e8f0}.dark-mode .dark-mode-toggle:hover{background:#718096}.dates{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.date{font-size:14px;color:#68d391;font-weight:500;transition:color .3s ease}.dark-mode .date{color:#9ae6b4}.progress-section{margin-bottom:20px}.progress-text{font-size:16px;font-weight:600;color:#2d5016;margin-bottom:12px;text-align:center;transition:color .3s ease}.dark-mode .progress-text{color:#68d391}.progress-bar{width:100%;height:12px;background:#e2e8f0;border-radius:6px;overflow:hidden;margin-bottom:8px;transition:background .3s ease}.dark-mode .progress-bar{background:#4a5568}.progress-fill{height:100%;background:linear-gradient(90deg,#68d391,#48bb78);border-radius:6px;transition:width .3s ease}.progress-percentage{text-align:center;font-size:14px;color:#4a5568;font-weight:500;transition:color .3s ease}.dark-mode .progress-percentage{color:#a0aec0}.instructions-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.instructions-modal{background:white;border-radius:20px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;transition:background .3s ease}.dark-mode .instructions-modal{background:#2d3748}.instructions-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0;margin-bottom:20px}.instructions-title{font-size:24px;font-weight:700;color:#2d5016;margin:0;transition:color .3s ease}.dark-mode .instructions-title{color:#68d391}.close-btn{background:#f7fafc;border:none;border-radius:12px;padding:8px;cursor:pointer;color:#4a5568;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#edf2f7;transform:scale(1.05)}.dark-mode .close-btn{background:#4a5568;color:#e2e8f0}.dark-mode .close-btn:hover{background:#718096}.instructions-content{padding:0 24px 24px}.welcome-message{text-align:center;margin-bottom:24px}.welcome-message p{font-size:16px;color:#4a5568;line-height:1.6;transition:color .3s ease}.dark-mode .welcome-message p{color:#a0aec0}.features-list{margin-bottom:24px}.feature-item{display:flex;align-items:center;gap:16px;padding:16px;background:#f8f9fa;border-radius:12px;margin-bottom:12px;transition:background .3s ease}.dark-mode .feature-item{background:#4a5568}.feature-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:white;border-radius:10px;transition:background .3s ease}.dark-mode .feature-icon{background:#2d3748}.feature-text{flex:1}.feature-text strong{display:block;font-size:16px;font-weight:600;color:#2d3748;margin-bottom:2px;transition:color .3s ease}.dark-mode .feature-text strong{color:#e2e8f0}.feature-text span{font-size:14px;color:#68d391;font-weight:500;transition:color .3s ease}.dark-mode .feature-text span{color:#9ae6b4}.instructions-steps{margin-bottom:24px}.instructions-steps h3{font-size:18px;font-weight:600;color:#2d5016;margin-bottom:12px;transition:color .3s ease}.dark-mode .instructions-steps h3{color:#68d391}.instructions-steps ol{padding-left:20px}.instructions-steps li{font-size:14px;color:#4a5568;margin-bottom:8px;line-height:1.5;transition:color .3s ease}.dark-mode .instructions-steps li{color:#a0aec0}.get-started-btn{width:100%;padding:16px;background:#68d391;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s ease}.get-started-btn:hover{background:#48bb78}.deeds-section{background:white;border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:0 4px 20px #00000014;transition:background .3s ease,box-shadow .3s ease}.dark-mode .deeds-section{background:#2d3748;box-shadow:0 4px 20px #0000004d}.section-title{font-size:20px;font-weight:600;color:#2d5016;margin-bottom:20px;text-align:center;transition:color .3s ease}.dark-mode .section-title{color:#68d391}.deed-item{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #f7fafc;transition:border-color .3s ease}.dark-mode .deed-item{border-bottom-color:#4a5568}.deed-item:last-child{border-bottom:none}.deed-info{flex:1}.deed-name{font-size:16px;font-weight:500;color:#2d3748;margin-bottom:2px;transition:color .3s ease}.dark-mode .deed-name{color:#e2e8f0}.deed-category{font-size:12px;color:#68d391;font-weight:500;text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.dark-mode .deed-category{color:#9ae6b4}.custom-deed{color:#9f7aea}.dark-mode .custom-deed{color:#d6bcfa}.deed-controls{display:flex;align-items:center}.deed-toggle{position:relative;width:50px;height:26px;background:#e2e8f0;border-radius:13px;cursor:pointer;transition:background .3s ease}.dark-mode .deed-toggle{background:#4a5568}.deed-toggle.active{background:#68d391}.deed-toggle-slider{position:absolute;top:2px;left:2px;width:22px;height:22px;background:white;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px #0000001a}.deed-toggle.active .deed-toggle-slider{transform:translate(24px)}.add-custom-section{background:white;border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:0 4px 20px #00000014;transition:background .3s ease,box-shadow .3s ease}.dark-mode .add-custom-section{background:#2d3748;box-shadow:0 4px 20px #0000004d}.add-custom-form{display:flex;gap:12px;margin-bottom:16px}.custom-input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;outline:none;transition:border-color .3s ease,background .3s ease,color .3s ease;background:white;color:#2d3748}.custom-input:focus{border-color:#68d391}.dark-mode .custom-input{background:#4a5568;border-color:#718096;color:#e2e8f0}.dark-mode .custom-input:focus{border-color:#68d391}.add-btn{padding:12px 20px;background:#68d391;color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:background .3s ease;display:flex;align-items:center;gap:6px}.add-btn:hover{background:#48bb78}.add-btn:disabled{background:#cbd5e0;cursor:not-allowed}.dark-mode .add-btn:disabled{background:#4a5568}.remove-btn{background:#fed7d7;color:#e53e3e;border:none;border-radius:8px;padding:6px 8px;cursor:pointer;font-size:12px;margin-left:12px;transition:background .3s ease}.remove-btn:hover{background:#feb2b2}.dark-mode .remove-btn{background:#742a2a;color:#fc8181}.dark-mode .remove-btn:hover{background:#9c4221}.inspiration-section{background:linear-gradient(135deg,#f0fff4,#e6fffa);border-radius:20px;padding:24px;margin-bottom:20px;border-left:4px solid #68d391;transition:background .3s ease}.dark-mode .inspiration-section{background:linear-gradient(135deg,#1a365d,#2c5282);border-left-color:#68d391}.inspiration-title{font-size:16px;font-weight:600;color:#2d5016;margin-bottom:12px;text-align:center;transition:color .3s ease}.dark-mode .inspiration-title{color:#68d391}.inspiration-text{font-size:15px;color:#2d3748;line-height:1.7;text-align:center;font-style:italic;transition:color .3s ease}.dark-mode .inspiration-text{color:#e2e8f0}.inspiration-source{font-size:13px;color:#68d391;font-weight:600;text-align:center;margin-top:12px;transition:color .3s ease}.dark-mode .inspiration-source{color:#9ae6b4}.stats-section{background:white;border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:0 4px 20px #00000014;transition:background .3s ease,box-shadow .3s ease}.dark-mode .stats-section{background:#2d3748;box-shadow:0 4px 20px #0000004d}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat-item{text-align:center;padding:16px;background:#f8f9fa;border-radius:12px;transition:background .3s ease}.dark-mode .stat-item{background:#4a5568}.stat-number{font-size:24px;font-weight:700;color:#2d5016;margin-bottom:4px;transition:color .3s ease}.dark-mode .stat-number{color:#68d391}.stat-label{font-size:12px;color:#68d391;font-weight:500;text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.dark-mode .stat-label{color:#9ae6b4}.footer{text-align:center;padding:20px;margin-top:30px}.copyright{font-size:12px;color:#68d391;font-weight:500;transition:color .3s ease}.dark-mode .copyright{color:#9ae6b4}.copyright a{color:#2d5016;text-decoration:none;font-weight:600;transition:color .3s ease}.copyright a:hover{color:#48bb78}.dark-mode .copyright a{color:#68d391}.dark-mode .copyright a:hover{color:#9ae6b4}@media (max-width: 480px){.container{padding:16px}.header{padding:16px;margin-bottom:20px}.app-title{font-size:28px}.header-controls{gap:6px}.deeds-section,.add-custom-section,.inspiration-section,.stats-section{padding:20px}.footer{padding:16px;margin-top:20px}.instructions-overlay{padding:16px}.instructions-modal{max-height:95vh}.instructions-header{padding:20px 20px 0}.instructions-content{padding:0 20px 20px}.instructions-title{font-size:20px}}
