html {
background: rgb(var(--color-brown));
color: rgb(var(--color-white));
scrollbar-color: rgb(var(--color-yellow)) rgb(var(--color-brown));
}
body {
font-family: var(--font-family-1);
font-size: var(--font-size-3);
font-weight: 400;
font-synthesis: none;
line-height: var(--line-height-2);
min-block-size: 100svb;
}
attic-app {
display: flex;
flex-direction: column;
justify-content: start;
min-block-size: 100svb;
& > :is(header, footer, main) {
display: grid;
grid-template-columns:
[full-start]
1fr
[margin-start]
var(--app-margin)
[main-start]
minmax(260px, calc((900 / 16) * 1rem))
[main-end]
var(--app-margin)
[margin-end]
1fr
[full-end];
& > * {
grid-column: main;
}
}
& > header {
padding-block: 30px;
& > nav {
column-gap: 20px;
display: flex;
flex-wrap: wrap;
row-gap: 10px;
& a {
display: block;
&[aria-current] {
&:not(:hover) {
color: rgb(var(--color-light-yellow));
}
}
}
}
}
& > footer {
color: rgb(var(--color-white) / 0.7);
margin-block-start: auto;
padding-block: 60px 30px;
& a {
color: currentColor;
}
& p small {
column-gap: 10px;
display: flex;
flex-wrap: wrap;
}
}
& > main {
row-gap: 30px;
}
}
:focus-visible {
outline: 4px solid magenta;
outline-offset: 2px;
}
:is(a[href], button) {
&:hover {
anchor-name: --pointer;
}
}
:where(body:not(:has(a[href]:hover, button:hover))) {
& :focus-visible {
anchor-name: --pointer;
}
}
dialog {
inline-size: 100%;
max-block-size: 100vb;
margin-inline: 0;
overscroll-behavior: contain;
padding-block: 10px;
& > form {
inline-size: calc(100vi - 20px);
margin-inline: auto;
}
@media (width >= 600px) {
padding-block: 30px;
& > form {
inline-size: min(min(100%, 900px), calc(100vi - (2 * var(--app-margin))));
}
}
& [command="close"] {
inset-block-start: 20px;
inset-inline-end: 0;
position: absolute;
z-index: 1;
&::before {
content: "×" / "";
}
}
&::backdrop {
background: rgb(var(--color-brown) / 0.5);
backdrop-filter: blur(5px);
}
}