Files
brk/website/styles/components.css
2026-02-11 12:22:32 +01:00

522 lines
9.6 KiB
CSS

nav {
margin-top: -0.125rem;
user-select: none;
-webkit-user-select: none;
button::after {
color: var(--off-color);
content: "→";
align-self: baseline;
font-size: 75%;
margin-left: 0.25rem;
margin-bottom: 0.25rem;
line-height: 1;
}
li[data-highlight] {
> details > summary,
> a {
color: var(--color);
}
> details > summary > small {
opacity: 1;
}
> a::after,
> details:not([open]) > summary::after {
color: var(--orange) !important;
content: "";
background-color: var(--orange);
width: 0.375rem;
height: 0.375rem;
border-radius: 9999px;
display: inline-block;
margin-bottom: 0.125rem;
margin-left: 0.375rem;
}
}
> ul > li {
text-transform: uppercase;
& + * {
margin-top: 1.25rem;
}
> details,
> label {
font-size: var(--font-size-base);
line-height: var(--line-height-base);
ul {
margin-left: 0.25rem;
}
}
a,
button,
summary {
padding: 0.25rem 0;
}
ul {
color: var(--off-color);
overflow: hidden;
li {
text-transform: lowercase;
display: block;
position: relative;
padding-left: 0.75rem;
border-left: 1px;
/*border-style: dotted !important;*/
}
}
}
}
#share-div {
font-size: var(--font-size-sm);
line-height: var(--line-height-sm);
padding: 1.5rem;
backdrop-filter: blur(12px);
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
display: flex;
z-index: 999;
justify-content: center;
align-items: center;
> #share-content-div {
display: flex;
flex-direction: column;
width: 100%;
max-width: 10rem;
background-color: var(--white);
padding: 1rem;
box-shadow: 0 0 2rem 1rem var(--border-color);
border-radius: 1px;
a {
color-scheme: light;
margin-top: 0.5rem;
display: block;
font-style: italic;
color: var(--black);
}
img {
image-rendering: pixelated;
}
}
}
search {
text-transform: uppercase;
gap: 1rem;
ul {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
}
.shadow-top {
position: absolute;
background-image: linear-gradient(
to top,
transparent,
var(--background-color)
);
height: var(--main-padding);
top: 0;
left: 0;
right: 0;
z-index: 10;
pointer-events: none;
}
.shadow-bottom {
position: absolute;
background-image: linear-gradient(
to bottom,
transparent,
var(--background-color) 90%,
var(--background-color)
);
height: 21rem;
bottom: 0;
left: 0;
right: 0;
z-index: 10;
pointer-events: none;
}
.shadow-left {
position: absolute;
background-image: linear-gradient(
to left,
transparent,
var(--background-color)
);
width: var(--main-padding);
left: 0;
top: 0;
bottom: 0;
z-index: 50;
pointer-events: none;
}
.shadow-right {
position: absolute;
background-image: linear-gradient(
to right,
transparent,
var(--background-color)
);
width: var(--main-padding);
right: 0;
top: 0;
bottom: 0;
z-index: 30;
pointer-events: none;
}
fieldset {
display: flex;
align-items: center;
gap: 0.5rem;
&[data-size="sm"] {
font-size: var(--font-size-sm);
line-height: var(--line-height-sm);
}
&[data-size="xs"] {
font-size: var(--font-size-xs);
line-height: var(--line-height-xs);
font-weight: 450;
}
> div.field {
text-transform: lowercase;
display: flex;
align-items: center;
gap: 1rem;
> legend,
> div {
flex-shrink: 0;
}
> hr {
min-width: 2rem;
fieldset[data-size="sm"] & {
min-width: 1.5rem;
}
fieldset[data-size="xs"] & {
min-width: 1rem;
}
}
label {
padding: 0.5rem;
margin: -0.5rem;
}
> div {
display: flex;
gap: 1.5rem;
fieldset[data-size="xs"] & {
gap: 1rem;
}
}
}
}
#chart > fieldset {
text-transform: lowercase;
flex-shrink: 0;
display: flex;
align-items: center;
margin: -0.5rem var(--negative-main-padding);
padding: 0.75rem var(--main-padding);
overflow-x: auto;
min-width: 0;
font-size: var(--font-size-sm);
line-height: var(--line-height-sm);
scrollbar-width: thin;
}
.chart {
display: flex;
flex-direction: column;
min-height: 0;
flex: 1;
legend {
position: absolute;
top: 0;
left: 0;
right: 0;
z-index: 20;
font-size: var(--font-size-xs);
line-height: var(--line-height-xs);
text-transform: lowercase;
pointer-events: none;
&::before,
&::after {
content: "";
position: absolute;
top: 0;
bottom: 0;
width: var(--main-padding);
z-index: 1;
pointer-events: none;
}
&::before {
left: 0;
background-image: linear-gradient(
to left,
transparent,
var(--background-color)
);
}
&::after {
right: 0;
background-image: linear-gradient(
to right,
transparent,
var(--background-color)
);
}
> div {
display: flex;
align-items: center;
gap: 0.75rem;
overflow-x: auto;
scrollbar-width: thin;
padding: 0 var(--main-padding);
padding-top: 0.25rem;
padding-bottom: 0.75rem;
pointer-events: auto;
> div:has(> select) {
> select {
width: auto;
background: none;
}
small {
flex-shrink: 0;
}
}
> div:last-child {
display: flex;
align-items: center;
gap: 1rem;
flex-shrink: 0;
}
> div:last-child > div {
flex: 0;
height: 100%;
display: flex;
align-items: center;
> label {
margin: -0.375rem 0;
color: var(--color);
> span {
display: flex !important;
}
&:has(input:not(:checked)) {
color: var(--off-color);
> span.main > span.name {
text-decoration-thickness: 1.5px;
text-decoration-color: var(--color);
text-decoration-line: line-through;
}
&:hover {
* {
color: var(--off-color) !important;
}
> span.main > span.name {
text-decoration-color: var(--orange) !important;
}
}
}
}
> a {
padding-left: 0.375rem;
padding-right: 0.375rem;
margin-left: -0.375rem;
margin-right: -0.375rem;
margin-top: 0.1rem;
}
}
}
}
> div {
min-height: 0;
height: 100%;
margin-right: var(--negative-main-padding);
margin-left: var(--negative-main-padding);
div:has(> select) {
display: flex;
flex-shrink: 0;
gap: 0.375rem;
}
table > tr:first-child {
position: relative;
&::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: var(--main-padding);
background-image: linear-gradient(
to bottom,
var(--background-color),
transparent
);
z-index: 10;
pointer-events: none;
}
}
table > tr:last-child {
position: relative;
> td {
border-top: 1px;
}
}
.scale-selector {
position: absolute;
bottom: 0;
left: 0;
right: 0;
z-index: 10;
display: flex;
flex-direction: column;
pointer-events: none;
&::before {
content: "";
width: 100%;
height: 2rem;
background-image: linear-gradient(
to bottom,
transparent,
var(--background-color)
);
}
> div:has(label) {
display: flex;
font-size: var(--font-size-xs);
gap: 0.25rem;
background-color: var(--background-color);
align-content: center;
align-items: center;
text-transform: uppercase;
padding-left: 0.625rem;
padding-top: 0.125rem;
padding-bottom: 0.25rem;
label {
margin: -0.25rem;
padding: 0.25rem;
}
}
> fieldset {
pointer-events: auto;
background-color: var(--background-color);
width: 100%;
justify-content: center;
padding-bottom: 0.25rem;
font-size: var(--font-size-xs);
line-height: var(--line-height-xs);
}
}
.index-selector {
position: absolute;
left: 0;
top: 0;
bottom: 0;
z-index: 10;
display: flex;
align-items: center;
pointer-events: auto;
font-size: var(--font-size-xs);
line-height: var(--line-height-xs);
text-transform: uppercase;
> div {
background-color: var(--background-color);
padding-left: var(--main-padding);
padding-right: 0.25rem;
height: 100%;
margin-top: 1px;
display: flex;
align-items: center;
> select {
width: auto;
background: none;
}
}
&::after {
content: "";
height: 100%;
margin-top: 1px;
width: var(--main-padding);
background-image: linear-gradient(
to right,
var(--background-color),
transparent
);
}
}
button.capture {
position: absolute;
top: 0.5rem;
right: 0.5rem;
z-index: 10;
font-size: var(--font-size-xs);
line-height: var(--line-height-xs);
color: var(--off-color);
}
}
}