diff --git a/app.css b/app.css index 9aa6bd4..bf41235 100644 --- a/app.css +++ b/app.css @@ -9,6 +9,7 @@ --card: #ffffff; --radius: 18px; --shadow: 0 1px 2px rgba(16,24,40,.04), 0 12px 32px -12px rgba(16,24,40,.18); + --shadow-hover: 0 2px 4px rgba(16,24,40,.06), 0 20px 48px -12px rgba(16,24,40,.24); --font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; } * { box-sizing: border-box; } @@ -32,6 +33,11 @@ body { box-shadow: var(--shadow); overflow: hidden; animation: rise .5s cubic-bezier(.2,.7,.2,1) both; + transition: box-shadow .3s ease, transform .3s ease; +} +.card:hover { + box-shadow: var(--shadow-hover); + transform: translateY(-2px); } @keyframes rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } } @media (prefers-reduced-motion: reduce) { .card { animation: none; } } @@ -68,6 +74,7 @@ body { } .row:first-child { border-top: 0; } .row:hover { background: color-mix(in oklab, var(--accent) 6%, transparent); } +.row:active { background: color-mix(in oklab, var(--accent) 10%, transparent); transform: scale(.995); } .row .k { color: var(--muted); font-size: .82rem; font-weight: 600; padding-top: .1rem; } .row .v { font-weight: 500; word-break: break-word; } .row .v a { color: var(--accent); text-decoration: none; border-bottom: 1px solid color-mix(in oklab, var(--accent) 35%, transparent); } @@ -81,7 +88,7 @@ summary { user-select: none; } summary::-webkit-details-marker { display: none; } -summary::before { content: "▸"; transition: transform .15s ease; font-size: .8em; } +summary::before { content: "▸"; transition: transform .2s cubic-bezier(.4,0,.2,1); font-size: .8em; } details[open] summary::before { transform: rotate(90deg); } /* edit form */ @@ -90,11 +97,11 @@ label { display: grid; gap: .3rem; font-size: .78rem; font-weight: 600; color: v input, textarea { font: inherit; color: var(--ink); padding: .6rem .7rem; border: 1px solid var(--line); border-radius: 10px; background: #fcfcfe; - transition: border-color .15s, box-shadow .15s; + transition: border-color .2s ease, box-shadow .2s ease; } input:focus, textarea:focus { outline: none; border-color: var(--accent); - box-shadow: 0 0 0 3px color-mix(in oklab, var(--accent) 22%, transparent); + box-shadow: 0 0 0 3px color-mix(in oklab, var(--accent) 22%, transparent), 0 1px 3px rgba(16,24,40,.08); } textarea { min-height: 4.5rem; resize: vertical; }