Spaces:
Sleeping
Sleeping
/* a11y button */ | |
#has-a11y { | |
margin-right: auto; | |
} | |
#has-a11y-summary { | |
padding: .6ex 1ex; | |
font-weight: 700; | |
} | |
#has-a11y-summary::before{ | |
font-family: 'base-ui'; | |
font-weight: 400; | |
content: '\e900'; | |
} | |
#has-a11y[open] #a11y { | |
--anm: expand 99ms forwards; | |
--tso: bottom; | |
} | |
/* a11y container */ | |
#a11y { | |
display: flex; | |
position: fixed; | |
bottom: calc(1rem + var(--vfoot)); | |
flex-direction: column; | |
margin: 0; | |
border: var(--border); | |
border-radius: 1ex; | |
background: var(--bg); | |
padding: 1rem; | |
max-height: calc(100vh - var(--vhead) - var(--vfoot) - 2rem ); | |
overflow-y: auto; | |
gap: var(--medskip); | |
} | |
/* hide input checkbox */ | |
#a11y input[type=checkbox], | |
#a11y input[type=radio], | |
#bionReadSwitch { | |
position: absolute; | |
top: -100vh; | |
} | |
#a11y select, | |
#a11y input[type=range], | |
#setColorScheme label, | |
#setOpenDyslexic, | |
button { | |
cursor: pointer; | |
} | |
/* range */ | |
label.range { | |
display: flex; | |
flex-direction: row-reverse; | |
} | |
label.range > input { | |
flex: 1; | |
accent-color: var(--ac); | |
} | |
label.range > output { | |
width: 4rem; | |
text-align: center; | |
color: var(--ac); | |
font: 700 var(--large) var(--sf), sans-serif; | |
} | |
#setColorScheme { | |
display: flex; | |
flex-direction: row; | |
align-items: center; | |
margin-bottom: 1ex; | |
} | |
/* lightswitch */ | |
#lightSwitch + label { | |
display: flex; | |
flex-direction: column; | |
align-items: center; | |
border-radius: 0.5ex; | |
padding: 1ex; | |
width: 4rem; | |
font-weight: 700; | |
gap: 1ex; | |
} | |
#lightSwitch:hover + label, | |
#lightSwitch:focus + label, | |
#setContrast > input:hover + label { | |
background: var(--g18s); | |
color: var(--ac); | |
} | |
/* credit to @mrozilla on codepen https://codepen.io/mrozilla/pen/OJJNjRb */ | |
input + label > #lightSwitchIndicator { | |
--ray-size: calc(var(--size) * -0.4); | |
--offset-orthogonal: calc(var(--size) * 0.65); | |
--offset-diagonal: calc(var(--size) * 0.45); | |
--tsf: scale(0.75); | |
--size: 1.414em; | |
display: block; | |
outline: none; | |
border-radius: 999px; | |
box-shadow: inset 0 0 0 var(--size), | |
calc(var(--offset-orthogonal) * -1) 0 0 var(--ray-size), | |
var(--offset-orthogonal) 0 0 var(--ray-size), | |
0 calc(var(--offset-orthogonal) * -1) 0 var(--ray-size), | |
0 var(--offset-orthogonal) 0 var(--ray-size), | |
calc(var(--offset-diagonal) * -1) calc(var(--offset-diagonal) * -1) 0 var(--ray-size), | |
var(--offset-diagonal) var(--offset-diagonal) 0 var(--ray-size), | |
calc(var(--offset-diagonal) * -1) var(--offset-diagonal) 0 var(--ray-size), | |
var(--offset-diagonal) calc(var(--offset-diagonal) * -1) 0 var(--ray-size); | |
width: var(--size); | |
height: var(--size); | |
color: #ffaa00; | |
} | |
input:checked + label > #lightSwitchIndicator { | |
--tsf: scale(1); | |
box-shadow: inset calc(var(--size) * 0.33) calc(var(--size) * -0.25) 0; | |
} | |
/* contrast */ | |
#setContrast { | |
display: flex; | |
position: relative; | |
flex: 1; | |
justify-content: center; | |
margin: 0 0 0 1ex; | |
border: none; | |
border-left: var(--bound); | |
padding: 2.5em 0 0 1ex; | |
} | |
#setContrast legend { | |
position: absolute; | |
top: 0; | |
padding: 1ex; | |
} | |
#setContrast label { | |
-webkit-transition: 99ms; | |
-moz-transition: 99ms; | |
-o-transition: 99ms; | |
transition: 99ms; | |
border-radius: 1rem; | |
padding: 3pt 7pt; | |
font-size: 0.84em ; | |
} | |
#setContrast > input:checked + label { | |
background: var(--fg); | |
color: var(--bg); | |
} | |
#setContrast > input + label::before { | |
font-family:'base-ui'; | |
content: '\e904\a0'; | |
} | |
#setContrast > input:checked + label::before { | |
content: '\e903\a0'; | |
} | |
/* color palette */ | |
#setColorPalette { | |
align-items: baseline; | |
} | |
#setColorPalette > *, | |
#setOpenDyslexic > * { | |
padding: 1ex 0; | |
} | |
#colorPalette { | |
flex: 1; | |
margin-left: 0.5ex; | |
border: unset; | |
border-radius: 1rem; | |
background: var(--bg); | |
padding: 0.5ex 1.25ex; | |
color: var(--fg); | |
font: inherit ; | |
} | |
/* font */ | |
#baselineStretchState::after { | |
font-size: 0.8em; | |
content: '×'; | |
} | |
#fontSizeState::after { | |
font-size: 0.8em; | |
content: 'pt'; | |
} | |
#setOpenDyslexic > label { | |
display: flex; | |
align-items: center; | |
} | |
#OpenDyslexicState { | |
display: flex; | |
margin-left: auto; | |
border-radius: 1em; | |
background: #80808080; | |
width: 2.4em; | |
height: 0.8em; | |
} | |
#OpenDyslexicIndicator { | |
--tst: 0.5s ease-out; | |
position: relative; | |
align-self: center; | |
border: 1pt solid #80808008; | |
border-radius: 1em; | |
box-shadow: var(--box-shadow-focus); | |
background: #fff; | |
padding: 6pt; | |
} | |
#OpenDyslexic:hover + label #OpenDyslexicIndicator, | |
#OpenDyslexic:focus + label #OpenDyslexicIndicator { | |
--anm: grab 3s ease-out 3; | |
} | |
#OpenDyslexic:checked:hover + label #OpenDyslexicIndicator, | |
#OpenDyslexic:checked:focus + label #OpenDyslexicIndicator { | |
--anm: unset; | |
} | |
#OpenDyslexic:checked + label #OpenDyslexicIndicator { | |
left: 1.3em; | |
} | |
@keyframes grab { | |
0%, 10%, 20%, 100% { | |
left: 0; | |
} | |
5%, 15% { | |
left: 3pt; | |
} | |
} | |
@-webkit-keyframes grab { | |
0%, 20%, 40%, 100% { | |
left: 0; | |
} | |
10%, 30% { | |
left: 3pt; | |
} | |
} | |
/* menu */ | |
#a11y-menu { | |
display: inline-flex; | |
align-items: center; | |
margin: 0; | |
padding: 0; | |
width: 100%; | |
gap: 1ex; | |
} | |
#a11y-menu > button { | |
display: inline-flex; | |
flex-direction: column; | |
align-items: center; | |
border: unset; | |
padding: 1ex; | |
} | |
#a11y-menu > .has-aria-label { | |
background: unset; | |
color: var(--fg); | |
} | |
#a11y-menu > .has-aria-label::before { | |
margin: auto; | |
padding: 0.25rem 0.5rem; | |
} | |
#a11y-menu .has-aria-label:after { | |
font-size: 0.7em; | |
} | |
#resetButton::before { | |
font-family: 'base-ui'; | |
content: '\e90f'; | |
} | |
#closeButton::before { | |
font-family: 'base-ui'; | |
content: '\e913'; | |
} | |
#bionReadButton, | |
#saveButton { | |
flex: 1; | |
margin-left: auto; | |
cursor: pointer; | |
} | |
/* bionRead */ | |
b.k { | |
vertical-align: baseline; | |
letter-spacing: var(--bion); | |
color: var(--off); | |
font-weight: 400 ; | |
-webkit-text-stroke: var(--bion) var(--off); | |
font-synthesis: weight; | |
} | |
#useBionRead { | |
display: none; | |
margin: auto; | |
letter-spacing: 0.1em; | |
font-size: var(--footnotesize); | |
} | |
legend, | |
.has-aria-label-top:before, | |
#setColorPalette > label, | |
input + label > span { | |
font-weight: 700; | |
} | |
#setContrast > input + label > span { | |
font-weight: 400; | |
} | |
#bionReadButton > span { | |
font-weight: 400; | |
text-transform: uppercase; | |
} | |
#noScript, | |
#noLocalStorage { | |
margin: auto; | |
border-top: var(--bound); | |
padding-top: 1rem; | |
max-width: 20rem; | |
} | |
@media only screen and (max-width: 640px) { | |
#has-a11y > summary > span { | |
display: none; | |
} | |
} |