body{margin:0;display:flex;min-width:320px;min-height:100vh;background-color:var(--background-color);justify-content:center;width:100%}@media (max-width: 768px){body{place-items:start}}:root{--primary-color: #ff69b4;--primary-rgb: 255, 105, 180;--secondary-color: #ff9ecd;--hover-color: #ff4da6;--shadow-color: rgba(255, 105, 180, .2);--text-color: #333;--border-color: #ffb6c1}#root{max-width:1280px;display:flex;justify-content:center;width:100%;text-align:center;background-color:var(--background-color)}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.app-container{min-height:100vh;background-color:var(--background-color);padding:1rem;width:100%}header{text-align:center;margin-bottom:2rem}h1{color:var(--primary-color);font-size:3rem;font-weight:700;text-shadow:2px 2px var(--shadow-color)}main{display:flex}body{background-color:var(--background-color)}@media (max-width: 768px){.app-container{padding:.5rem}main{width:100%;padding:.5rem;border-radius:10px}h1{font-size:2rem}}.calendar{background-color:#fff;border-radius:10px;padding:1rem;width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;color:var(--primary-color)}.calendar-header h2{font-size:1.8rem;color:var(--text);margin:0 1rem}.calendar-header button{background-color:var(--primary-light);border:none;border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);font-size:1.2rem;cursor:pointer;color:var(--text);min-width:3rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-top:1rem}.calendar-day-header{text-align:center;font-weight:500;color:var(--text-light);padding:var(--spacing-sm);font-size:1.2rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;border:2px solid var(--border-color);transition:all .2s ease;color:var(--text-color);font-size:1.2rem;min-height:3rem}.calendar-day.empty{border:none;cursor:default;background:none}.calendar-day.has-data{background-color:var(--primary-color);color:#fff}.calendar-day.submitted{background-color:var(--primary-light);color:#fff}.calendar-day:hover{background-color:#ffb5a7;color:#fff}.calendar-day.selected{background-color:#ff9a8b;color:#fff}.weekday-header{text-align:center;color:var(--text-color);font-weight:500}@media (min-width: 768px){.calendar{padding:2rem}.calendar-day{min-height:4.5rem;font-size:1.4rem}.calendar-day-header{font-size:1.4rem}}@media (max-width: 480px){.calendar{padding:.5rem}.calendar-header h2{font-size:1.4rem}.calendar-day{min-height:2.5rem;font-size:1rem}.calendar-day-header{font-size:.9rem;padding:.25rem}.calendar-grid{gap:.25rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:2.5rem;border-radius:20px;max-width:700px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0000001a;position:relative}.modal-content h2{text-align:center;color:var(--primary-color);font-size:1.8rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px dashed var(--primary-color)}.form-group{margin-bottom:2rem;background:#fffc;padding:1.5rem;border-radius:15px;box-shadow:0 4px 6px #0000000d;transition:transform .2s ease;animation:fadeIn .3s ease-out forwards}.form-group label{display:block;margin-bottom:1rem;font-weight:700;color:var(--primary-color);font-size:1.1rem;position:relative;padding-left:1.5rem}.form-group label:before{content:"✿";position:absolute;left:0;bottom:0;color:var(--primary-color)}.radio-group,.multi-select-group{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.5rem}.radio-button,.multi-select-button{padding:.7rem 1.2rem;border:2px solid var(--primary-color);border-radius:25px;background:#fff;cursor:pointer;transition:all .2s;font-size:.95rem}.radio-button:hover,.multi-select-button:hover{transform:scale(1.05);box-shadow:0 3px 8px #0000001a}.radio-button.selected,.multi-select-button.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:scale(1.05)}textarea{width:100%;min-height:80px;padding:1rem;border:2px solid var(--primary-color);border-radius:15px;resize:vertical;font-size:.95rem;transition:border-color .2s}textarea:focus{outline:none;border-color:var(--hover-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.journal-textarea{min-height:120px}input[type=text]{width:90%;display:flex;padding:.8rem 1rem;border:2px solid var(--primary-color);border-radius:12px;font-size:.95rem;transition:all .2s;margin-bottom:.8rem}input[type=text]:focus{outline:none;border-color:var(--hover-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.other-input-group{margin-top:.5rem}.other-input{background-color:#fff;border:2px solid var(--primary-color);padding:.8rem 1rem;border-radius:12px;font-size:.95rem;margin-top:.5rem}.form-actions{display:flex;gap:1rem;justify-content:center;margin-top:2.5rem}.form-actions button{padding:.8rem 2rem;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s;border:none}.form-actions button[type=submit]{background:var(--primary-color);color:#fff}.form-actions button[type=button]{background:var(--secondary-color);color:#fff}.form-actions button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--primary-color);transition:transform .2s}.close-button:hover{transform:rotate(90deg)}.form-group:nth-child(2){animation-delay:.1s}.form-group:nth-child(3){animation-delay:.2s}.form-group:nth-child(4){animation-delay:.3s}.form-group:nth-child(5){animation-delay:.4s}:root{--primary-color: #ff9a8b;--primary-light: #ffd4cc;--accent-color: #98d8d6;--background-color: #fff0ed;--hover-color: #ffb5a7;--border-color: #e8e8e8;--shadow-color: rgba(255, 154, 139, .2);--text-color: #4a4a4a;--text-light: #ff9a8b;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--border-radius: 8px}body{font-family:Poppins,sans-serif;margin:0;padding:0}
