236 lines
4.5 KiB
CSS
236 lines
4.5 KiB
CSS
:root {
|
|
--theme-color--blue: oklch(69.14% 0.174 245.01);
|
|
--theme-color--orange: oklch(70.22% 0.2 45.1);
|
|
--theme-color--magenta: oklch(61.8% 0.19 354.64);
|
|
--theme-color--green: oklch(71.53% 0.175 155.352);
|
|
--theme-color--violet: oklch(56.13% 0.244 297.99);
|
|
--theme-color--white: oklch(100% 0 0);
|
|
--theme-color--black: oklch(0 0 0);
|
|
}
|
|
|
|
.books {
|
|
inline-size: 100%;
|
|
}
|
|
|
|
.book {
|
|
--cover-height: auto;
|
|
--space: clamp(2ch, 10%, 6ch);
|
|
|
|
container-type: unset;
|
|
column-gap: calc(var(--space) / 2);
|
|
display: grid;
|
|
grid-template-columns: minmax(25%, 20dvw) 1fr;
|
|
inline-size: 100%;
|
|
padding-inline: var(--space);
|
|
|
|
@media (max-width: 70ch) {
|
|
grid-template-columns: 1fr;
|
|
padding-inline: var(--inline-space);
|
|
}
|
|
}
|
|
|
|
.book-access {
|
|
&:has(.book-access__switch:checked) {
|
|
.book-access__reader {
|
|
background-color: var(--color-link);
|
|
cursor: not-allowed;
|
|
pointer-events: none;
|
|
|
|
img {
|
|
filter: invert(1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.book__cover {
|
|
background-color: var(--color-bg);
|
|
border-radius: 0.3em;
|
|
box-shadow: 0 0 0 1px var(--color-subtle-dark);
|
|
margin: auto;
|
|
transition: background 300ms ease;
|
|
|
|
@media (min-width: 70ch) {
|
|
max-block-size: var(--cover-height, 75vh);
|
|
}
|
|
|
|
.theme--black &,
|
|
:has(#book_theme_black:checked) & {
|
|
background: url(covers/cover-black.png) no-repeat center;
|
|
background-size: cover;
|
|
}
|
|
|
|
.theme--blue &,
|
|
:has(#book_theme_blue:checked) & {
|
|
background: url(covers/cover-blue.png) no-repeat center;
|
|
background-size: cover;
|
|
}
|
|
|
|
.theme--green &,
|
|
:has(#book_theme_green:checked) & {
|
|
background: url(covers/cover-green.png) no-repeat center;
|
|
background-size: cover;
|
|
}
|
|
|
|
.theme--orange &,
|
|
:has(#book_theme_orange:checked) & {
|
|
background: url(covers/cover-orange.png) no-repeat center;
|
|
background-size: cover;
|
|
}
|
|
|
|
.theme--magenta &,
|
|
:has(#book_theme_magenta:checked) & {
|
|
background: url(covers/cover-magenta.png) no-repeat center;
|
|
background-size: cover;
|
|
}
|
|
|
|
.theme--violet &,
|
|
:has(#book_theme_violet:checked) &{
|
|
background: url(covers/cover-violet.png) no-repeat center;
|
|
background-size: cover;
|
|
}
|
|
|
|
.theme--white &,
|
|
:has(#book_theme_white:checked) & {
|
|
background: url(covers/cover-white.png) no-repeat center;
|
|
background-size: cover;
|
|
}
|
|
}
|
|
|
|
.btn--circle:has(#book_theme_white:checked) {
|
|
img.checked {
|
|
filter: invert(0);
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
img.checked {
|
|
filter: invert(0);
|
|
}
|
|
}
|
|
}
|
|
|
|
.book__cover--add {
|
|
inset: auto 50% calc(var(--block-space) * -1) auto;
|
|
margin-inline-end: calc(var(--btn-size) * -0.5);
|
|
position: absolute;
|
|
z-index: 1;
|
|
}
|
|
|
|
.book__cover-wrapper {
|
|
color: var(--color-always-white);
|
|
display: inline-grid;
|
|
margin: auto;
|
|
place-items: start;
|
|
|
|
> * {
|
|
grid-area: 1 / 1;
|
|
}
|
|
|
|
@media (max-width: 70ch) {
|
|
.book & {
|
|
font-size: 3em;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 150ch) {
|
|
.book & {
|
|
font-size: 1.5em;
|
|
}
|
|
}
|
|
|
|
.theme--white & .book__title {
|
|
color: var(--color-always-black);
|
|
}
|
|
}
|
|
|
|
.book__cover--remove {
|
|
margin-block-start: calc(var(--block-space) * -1);
|
|
z-index: 0;
|
|
}
|
|
|
|
.book__form {
|
|
@media (max-width: 70ch) {
|
|
flex-direction: column;
|
|
}
|
|
}
|
|
|
|
.book__nav {
|
|
font-size: var(--font-medium-responsive);
|
|
margin: var(--block-space-double) auto var(--block-space);
|
|
|
|
.btn {
|
|
max-inline-size: 50ch;
|
|
}
|
|
}
|
|
|
|
.book__navbar {
|
|
.btn--placeholder {
|
|
display: none;
|
|
}
|
|
|
|
&:has(.btn.fullscreen):has(.btn.settings) {
|
|
.placeholder-start {
|
|
display: inline-flex;
|
|
}
|
|
}
|
|
|
|
&:not(:has(.btn.fullscreen)):not(:has(.btn.settings)) {
|
|
.placeholder-end {
|
|
display: inline-flex;
|
|
}
|
|
}
|
|
}
|
|
|
|
.book__sidebar {
|
|
inset-block-start: var(--block-space);
|
|
position: sticky;
|
|
z-index: 1;
|
|
}
|
|
|
|
.book__title {
|
|
font-weight: 750;
|
|
}
|
|
|
|
.book__toolbar {
|
|
inset-block-start: 0;
|
|
z-index: 1;
|
|
}
|
|
|
|
/* Bookmarks */
|
|
.bookmark {
|
|
--icon-size: 1.5em;
|
|
|
|
display: block;
|
|
inset: var(--progress, 0) calc(var(--icon-size) / 4) auto calc(var(--icon-size) * -0.5);
|
|
margin-block-start: calc(var(--icon-size) * -0.5);
|
|
position: absolute;
|
|
|
|
.bookmark__icon {
|
|
display: flex;
|
|
flex-grow: 1;
|
|
|
|
svg {
|
|
block-size: var(--icon-size);
|
|
flex-shrink: 0;
|
|
inline-size: var(--icon-size);
|
|
}
|
|
|
|
&::after {
|
|
border-block-end: 0.07em dashed var(--color-marker);
|
|
content: "";
|
|
display: flex;
|
|
flex-grow: 1;
|
|
margin: auto;
|
|
}
|
|
}
|
|
}
|
|
|
|
.bookmark__link {
|
|
border-radius: 0.3em;
|
|
color: var(--color-link);
|
|
content: "";
|
|
inset: 0;
|
|
position: absolute;
|
|
z-index: 1;
|
|
}
|