Files
fizzy/app/assets/stylesheets/popup.css
T
2025-04-09 11:50:05 -05:00

85 lines
1.7 KiB
CSS

@layer components {
.popup {
--panel-border-radius: 0.5em;
--panel-padding: 0.4em 0.5em 0.5em;
--panel-size: auto;
inline-size: auto;
inset: 0 auto auto 0;
min-inline-size: 20ch;
max-inline-size: 40ch;
position: absolute;
z-index: 2;
&[open] {
display: flex;
}
}
.popup__item {
--btn-background: var(--color-subtle-light);
--btn-border-radius: 0.3em;
--btn-border-size: 0;
--btn-font-weight: 500;
--btn-padding: var(--inline-space-half) var(--inline-space-half) var(--inline-space-half) var(--inline-space);
--hover-size: 0;
--outline-color: transparent;
justify-content: start;
&::after {
border-radius: var(--btn-border-radius);
border: var(--btn-border-size) solid var(--btn-border-color, var(--color-subtle));
content: "";
display: block;
inline-size: calc(100% - var(--btn-padding) * 2);
block-size: calc(100% - var(--btn-padding) * 2);
}
@media (any-hover: hover) {
&:where(:not(:active):hover) {
--btn-background: var(--color-selected);
}
}
&:has(input:checked) {
--btn-background: var(--color-selected);
--btn-color: var(--color-ink);
img {
filter: invert(0);
&.checked {
display: block;
}
}
@media (prefers-color-scheme: dark) {
img {
filter: invert(1);
}
}
@media (any-hover: hover) {
&:where(:not(:active):hover) {
--btn-background: var(--color-selected);
}
}
}
img.checked {
block-size: 1em;
inline-size: 1em;
}
}
.popup__list {
row-gap: 2px;
}
.popup__title {
font-weight: 800;
}
}