:root { --primary: #003366; --secondary: #eaf2ff; --accent: #ffb347; --danger: #ff4d4f; --radius: 1.1em; --shadow: 0 2px 16px rgba(0, 51, 102, 0.10); --font: "Segoe UI", Arial, sans-serif; } body { min-height: 100vh; background: linear-gradient(120deg, #eaf2ff 0%, #4f8cff 60%, #003366 100%); background-size: 200% 200%; animation: bgMove 12s ease-in-out infinite alternate; font-family: var(--font); margin: 0; display: flex; flex-direction: column; align-items: center; } @keyframes bgMove { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } } h1 { font-size: 2.3rem; margin-top: 2.2rem; margin-bottom: 1.2rem; color: var(--primary); font-weight: 900; text-align: center; letter-spacing: 1.5px; text-shadow: 0 2px 12px #4f8cff33, 0 0 2px #ffb34777; user-select: none; transition: text-shadow 0.3s; border-bottom: 3px solid var(--accent); padding-bottom: 0.3em; background: none; } #error, #message { text-align: center; margin-top: 0.5rem; font-weight: 500; } #error { color: var(--danger); } #message { color: var(--primary); } form, .card { border-radius: var(--radius); box-shadow: var(--shadow); background: #fff; padding: 2.2em 1.7em; margin: 1.5em 0; width: 100%; max-width: 440px; display: flex; flex-direction: column; gap: 1.3em; border: 2.5px solid var(--primary); animation: cardFadeIn 0.7s cubic-bezier(.68,-0.55,.27,1.55); transition: box-shadow 0.2s, transform 0.2s, border 0.2s; } .card:hover, form:hover { box-shadow: 0 12px 40px #00336633; border-color: var(--accent); transform: scale(1.01) translateY(-2px); } input, select { font-size: 1.1em; padding: 1em 1.1em; border-radius: 0.9em; border: 2px solid #dbeafe; background: #f8fbff; transition: border 0.2s, box-shadow 0.2s; box-shadow: 0 2px 12px #4f8cff11; } input:focus, select:focus { border-color: var(--primary); background: #eaf2ff; box-shadow: 0 2px 16px #4f8cff44; } input { font-size: 1rem; transition: border 0.2s; } button { padding: 1em; border-radius: 0.9em; border: none; background: linear-gradient(90deg, var(--primary) 60%, #4f8cff 100%); color: #fff; font-weight: bold; font-size: 1.15em; cursor: pointer; box-shadow: 0 2px 12px #4f8cff22; transition: background 0.2s, transform 0.1s, box-shadow 0.2s; letter-spacing: 0.5px; } button:hover, button:focus { background: linear-gradient(90deg, #4f8cff 60%, var(--primary) 100%); transform: scale(1.04); box-shadow: 0 4px 18px #00336633; } /* Controles de filtros y orden */ #controls { display: flex; flex-wrap: wrap; gap: 1em; margin-bottom: 1em; justify-content: center; align-items: center; background: #f8fbff; border-radius: 1em; box-shadow: 0 2px 12px #4f8cff11; padding: 1em 1.2em; max-width: 700px; width: 100%; } #controls label { font-weight: bold; color: var(--primary); margin-right: 0.5em; } #controls select, #controls input[type="text"] { min-width: 120px; font-size: 1em; padding: 0.7em 1em; border-radius: 0.7em; border: 1.5px solid #dbeafe; background: #fff; transition: border 0.2s, box-shadow 0.2s; box-shadow: 0 1px 6px #4f8cff11; } #controls select:focus, #controls input[type="text"]:focus { border-color: var(--primary); background: #eaf2ff; box-shadow: 0 2px 12px #4f8cff22; } ul#notes-list { list-style: none; margin: 0; padding: 0; width: 100%; max-width: 25pc; } ul#notes-list li { background: #f0f4ff; box-shadow: 0 .010416667in .1875pc rgba(79, 140, 255, .06); border-radius: var(--radius); display: flex; flex-direction: column; gap: 0.2rem; padding: 1rem; margin-bottom: 0.7rem; } ul#notes-list li span { font-size: 0.95em; color: #888; } @keyframes cardFadeIn { from { opacity: 0; transform: translateY(30px) scale(0.97);} to { opacity: 1; transform: translateY(0) scale(1);} } .card { max-width: 700px; width: 100%; margin: 1.5em auto; padding: 2em 1.5em; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 1rem; animation: cardFadeIn 0.5s cubic-bezier(.68,-0.55,.27,1.55); transition: box-shadow 0.2s, transform 0.2s; } .card:hover { box-shadow: 0 8px 32px #4f8cff33; transform: translateY(-2px) scale(1.01); } /* Delete button con animación */ .delete-btn { color: var(--danger); font-size: 1.2em; transition: color 0.2s, background 0.2s, transform 0.2s; border-radius: 50%; padding: 0.2em 0.4em; } .delete-btn:hover { color: #fff; background: var(--danger); transform: scale(1.18) rotate(8deg); } /* MODAL centrado y animado */ .modal { position: fixed; z-index: 9999; left: 0; top: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.35); display: flex; align-items: center; justify-content: center; animation: modalFadeIn 0.3s; transition: background 0.3s; } @keyframes modalFadeIn { from { opacity: 0; } to { opacity: 1; } } .modal-content { background: #fff; border-radius: 2em; box-shadow: 0 16px 48px rgba(0,0,0,0.18); padding: 2.5em 2.5em 2em 2.5em; min-width: 370px; max-width: 98vw; animation: modalPop 0.35s cubic-bezier(.68,-0.55,.27,1.55); position: relative; display: flex; flex-direction: column; align-items: center; transition: box-shadow 0.2s, transform 0.2s; } @keyframes modalPop { from { transform: scale(0.8) translateY(60px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } } .close-btn { position: absolute; right: 1em; top: 1em; font-size: 1.7em; color: #888; cursor: pointer; transition: color 0.2s; } .close-btn:hover { color: var(--danger); } /* MODAL de confirmación de borrado */ #delete-modal .modal-content { border: 2.5px solid var(--accent); background: #fff; border-radius: 1.5em; box-shadow: 0 12px 40px #00336633; padding: 2em 2em 1.5em 2em; min-width: 320px; max-width: 95vw; animation: modalPopDelete 0.5s cubic-bezier(.68,-0.55,.27,1.55); position: relative; display: flex; flex-direction: column; align-items: center; transition: box-shadow 0.2s, transform 0.2s, border 0.2s; } @keyframes modalPopDelete { from { transform: scale(0.7) rotate(-8deg); opacity: 0; } to { transform: scale(1) rotate(0); opacity: 1; } } #delete-modal .modal-content .confirm { background: var(--danger); color: #fff; } #delete-modal .modal-content .confirm:hover { background: #b91c1c; transform: scale(1.04); } #delete-modal .modal-content .cancel { background: #eaf2ff; color: var(--primary); } #delete-modal .modal-content .cancel:hover { background: #dbeafe; transform: scale(1.04); } /* Enlaces */ a { color: #ffb347; text-decoration: none; font-weight: bold; font-size: 1.08em; margin-top: 1.2em; transition: color 0.2s, text-shadow 0.2s; text-shadow: 0 1px 6px #4f8cff22; display: inline-block; } a:hover, a:focus { color: #003366; text-decoration: underline; text-shadow: 0 2px 12px #4f8cff33; } /* Responsive */ @media (max-width: 700px) { .card, form { max-width: 98vw; padding: 1.2em 0.5em; } h1 { font-size: 2rem; margin-top: 1.2rem; } .modal-content { min-width: 90vw; padding: 1.2em 0.5em; } #controls { flex-direction: column; align-items: stretch; gap: 0.7em; padding: 0.7em 0.3em; max-width: 98vw; } #controls label { margin-bottom: 0.2em; margin-right: 0; } #controls select, #controls input[type="text"] { width: 100%; min-width: 0; font-size: 1em; } }