* { padding: 0; margin: 0; box-sizing: border-box; font-family: "Inter", sans-serif; } :root { font-size: clamp(1rem, 1.2vmax, 1.2rem); } html, body { height: 100%; } body { --accent-color: #3d5afe; --secondary-color: #ffac2e; --text-color: 20, 20, 20; --foreground-color: 252, 253, 255; --background-color: 241, 243, 248; --danger-color: rgb(255, 75, 75); --green: #1cad59; --yellow: rgb(220, 165, 0); color: rgba(var(--text-color), 1); background-color: rgba(var(--background-color), 1); } body[data-theme=dark] { --accent-color: #6d83ff; --secondary-color: #d60739; --text-color: 220, 220, 220; --foreground-color: 27, 28, 29; --background-color: 21, 22, 22; --danger-color: rgb(255, 106, 106); --green: #00e676; --yellow: rgb(255, 213, 5); } p, strong { font-size: 0.9rem; max-width: 65ch; line-height: 1.7; color: rgba(var(--text-color), 0.9); } .icon { width: 1.2rem; height: 1.2rem; fill: rgba(var(--text-color), 0.9); } .flex { display: flex; } .align-items-center { align-items: center; } header { padding: 1.5rem 1rem; justify-content: space-between; } main { display: grid; gap: 1rem; padding: 1.5rem max(1rem, 6vw); grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); } .app { display: flex; flex-direction: column; padding: max(1.5rem, 3vw); background-color: rgba(var(--foreground-color), 1); border-radius: 0.5rem; gap: 1rem; } .app__icon { display: flex; justify-content: center; align-items: center; width: 5rem; height: 5rem; border-radius: 0.5rem; background-color: rgba(var(--background-color), 1); margin-bottom: 1rem; } .app__icon .icon { width: 3rem; height: 3rem; fill: rgba(var(--text-color), 0.9); } .app li { list-style: none; font-size: 0.9rem; color: rgba(var(--text-color), 0.8); margin-bottom: 0.8rem; line-height: 1.5; } .app a:not([class]) { display: flex; align-items: center; text-decoration: none; color: var(--accent-color); font-weight: 500; } .app a:not([class]):hover { text-decoration: underline; } .app a:not([class]) .icon { margin-left: 0.3rem; width: 1em; height: 1em; fill: var(--accent-color); } .ext-link { display: flex; gap: 0.5rem; align-items: center; text-decoration: none; background-color: var(--accent-color); padding: 0.5rem 1rem; border-radius: 0.5rem; color: rgba(var(--foreground-color), 1); font-weight: 500; align-self: flex-start; margin-top: auto; transition: color 0.2s, background-color 0.2s; } .ext-link .icon { fill: rgba(var(--foreground-color), 1); transition: fill 0.2s; } .ext-link:hover { color: var(--accent-color); background-color: rgba(var(--foreground-color), 1); box-shadow: 0 0 0 0.1rem var(--accent-color) inset; } .ext-link:hover .icon { fill: var(--accent-color); } @media screen and (min-width: 768px) { main { padding: 1.5rem 8vw; } }