/* -- Cornerstones -- */ :root { --primer-color-base: 255, 255, 255; --primer-color-contrast: 0, 0, 0; --color-base: rgb(var(--primer-color-base)); --color-contrast: rgb(var(--primer-color-contrast)); --padding: 20px; } * { margin: 0; box-sizing: border-box; font-family: 'Courier', sans-serif; font-size: 20px; color: inherit; } ::selection { background-color: var(--color-contrast); color: var(--color-base); } ::placeholder { color: rgba(var(--primer-color-contrast), .5); } body { display: flex; flex-direction: column; align-items: center; color: var(--color-contrast); background-color: var(--color-base); gap: var(--padding); margin: var(--padding) 0; margin-bottom: 30vh; } a:not(p > a) { text-decoration: none; } /* -- Components -- */ input { letter-spacing: 5px; } input, .button { background-color: var(--color-contrast); color: var(--color-base); padding: calc(var(--padding) / 2) calc(var(--padding) * 1.5); text-align: left; display: flex; align-items: center; justify-content: center; gap: var(--padding); height: 3.5em; } input, .button.phantom { background-color: transparent; border: solid 3px var(--color-contrast); color: var(--color-contrast); } img, .button { user-select: none; } .button :not(p) { height: 2em; } .interact::before { content: "tap"; } /* ---- */ .spacer { display: grid; justify-items: center; } body > .spacer { margin: var(--padding) 0; } .spacer div { width: 205px; height: 7px; background-color: var(--color-contrast); transform: rotate(-4deg); } /* -- Content -- */ section { max-width: 600px; margin: var(--padding) calc(var(--padding) * 1.5); display: flex; flex-direction: column; align-items: center; text-align: justify; gap: var(--padding); } section > *, section picture > img { width: 100%; } section#intro { max-width: 250px; text-align: center; } section#contact > div { display: grid; grid-template-rows: repeat(2, 1fr); gap: var(--padding); } section#sky .button img { height: 50%; } section#coffee > img { width: 100px; margin-bottom: calc(var(--padding) * 2); } /* ---- */ .banner { width: 100%; background-color: rgba(var(--primer-color-contrast), .05); text-align: center; padding: calc(var(--padding) / 2) 0; margin: var(--padding) 0; } /* -- Media queries -- */ @media (hover: hover) { .button:hover { background-color: rgba(var(--primer-color-contrast), .75); } .button:active { background-color: rgba(var(--primer-color-contrast), .7); } /* ---- */ .button.phantom:hover { background-color: rgba(var(--primer-color-contrast), .05); } .button.phantom:active { background-color: rgba(var(--primer-color-contrast), .1); } } @media (pointer: fine) { .button { cursor: pointer; } .interact::before { content: "click"; } } @media (prefers-color-scheme: dark) { :root { --primer-color-base: 0, 0, 0; --primer-color-contrast: 255, 255, 255; } section#coffee > img { filter: invert(1); } } @media (max-width: 303px) { section#sky img { display: none; } } @media (min-width: 600px) { section#code { display: grid; grid-template-columns: 1fr 40px 1fr; width: 100%; } section#contact > div { grid-template-rows: 1fr; grid-template-columns: repeat(2, 1fr); } }