mirror of
https://codeberg.org/VnPower/PixivFE
synced 2024-12-06 19:16:23 +01:00
807 lines
14 KiB
CSS
807 lines
14 KiB
CSS
:root {
|
|
--bg: #131516;
|
|
--bg-secondary: #222;
|
|
--fg: #fff;
|
|
--fg-secondary: #aaa;
|
|
--link: #118bee;
|
|
--highlight: #fc365b;
|
|
--border-radius: 5px;
|
|
--line-height: 1.5;
|
|
--active-brightness: 0.85;
|
|
--hover-brightness: 1.2;
|
|
--box-shadow: 2px 2px 10px;
|
|
--color-shadow: #bbbbbb20;
|
|
--font-family: "Roboto", "Open Sans", "Noto Sans", sans-serif, "Noto Sans CJK JP";
|
|
--small-artwork-width: 184px;
|
|
--large-artwork-width: 288px;
|
|
}
|
|
|
|
html {
|
|
font-size: 62.5%;
|
|
}
|
|
|
|
body {
|
|
top: 0;
|
|
margin: 0;
|
|
|
|
background-color: var(--bg);
|
|
color: var(--fg);
|
|
|
|
font-size: 1.8rem;
|
|
font-family: var(--font-family);
|
|
|
|
margin-bottom: 10px;
|
|
margin-left: 5px;
|
|
margin-right: 5px;
|
|
}
|
|
|
|
a {
|
|
color: var(--link);
|
|
text-decoration: none;
|
|
}
|
|
|
|
/* Scrollbars */
|
|
* {
|
|
scrollbar-width: thin;
|
|
/* invalid line */
|
|
/* scrollbar-color: var(--link) auto; */
|
|
}
|
|
|
|
*::-webkit-scrollbar {
|
|
width: 5px;
|
|
height: 5px;
|
|
}
|
|
|
|
*::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
|
|
*::-webkit-scrollbar-thumb {
|
|
background-color: var(--link);
|
|
border-radius: 10px;
|
|
}
|
|
|
|
.special-symbol {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 1.8rem;
|
|
height: 1.8rem;
|
|
font-size: 1.8rem;
|
|
}
|
|
|
|
input,
|
|
label,
|
|
select,
|
|
textarea {
|
|
display: block;
|
|
font-size: inherit;
|
|
max-width: 600px;
|
|
}
|
|
|
|
input[type="checkbox"],
|
|
input[type="radio"] {
|
|
display: inline-block;
|
|
}
|
|
|
|
input[type="checkbox"]+label,
|
|
input[type="radio"]+label {
|
|
display: inline-block;
|
|
font-weight: normal;
|
|
position: relative;
|
|
top: 1px;
|
|
}
|
|
|
|
input[type="range"] {
|
|
padding: 0.4rem 0;
|
|
}
|
|
|
|
input,
|
|
select,
|
|
textarea {
|
|
border: 1px solid var(--bg-secondary);
|
|
border-radius: var(--border-radius);
|
|
margin-bottom: 1rem;
|
|
padding: 0.4rem 0.8rem;
|
|
}
|
|
|
|
input[type="text"],
|
|
textarea {
|
|
width: calc(100% - 1.6rem);
|
|
background-color: var(--bg-secondary);
|
|
color: var(--fg-secondary);
|
|
}
|
|
|
|
input[readonly],
|
|
textarea[readonly] {
|
|
background-color: var(--bg-secondary);
|
|
}
|
|
|
|
label {
|
|
font-weight: bold;
|
|
margin-bottom: 0.2rem;
|
|
}
|
|
|
|
.form-field {
|
|
border: 1px solid var(--bg-secondary);
|
|
border-radius: var(--border-radius);
|
|
box-shadow: var(--box-shadow) var(--color-shadow);
|
|
display: block;
|
|
max-width: 800px;
|
|
min-width: 460px;
|
|
padding: 1.5rem;
|
|
|
|
& header {
|
|
margin: 1.5rem 0;
|
|
padding: 1.5rem 0;
|
|
}
|
|
}
|
|
|
|
a b,
|
|
a em,
|
|
a i,
|
|
a strong,
|
|
button,
|
|
input[type="submit"],
|
|
.switch-button,
|
|
.pagination-button {
|
|
border-radius: var(--border-radius);
|
|
display: inline-block;
|
|
font-size: medium;
|
|
font-weight: bold;
|
|
line-height: var(--line-height);
|
|
margin: 0.5rem 0;
|
|
padding: 0.5rem 1rem;
|
|
}
|
|
|
|
button,
|
|
input[type="submit"],
|
|
.switch-button,
|
|
.pagination-button {
|
|
font-family: var(--font-family);
|
|
}
|
|
|
|
button:active,
|
|
input[type="submit"]:active,
|
|
.switch-button:active,
|
|
.pagination-button:active {
|
|
filter: brightness(var(--active-brightness));
|
|
}
|
|
|
|
button:hover,
|
|
input[type="submit"]:hover,
|
|
.switch-button:hover,
|
|
.pagination-button:hover {
|
|
cursor: pointer;
|
|
filter: brightness(var(--hover-brightness));
|
|
}
|
|
|
|
a b,
|
|
a strong,
|
|
button,
|
|
input[type="submit"],
|
|
.switch-button,
|
|
.pagination-button {
|
|
background-color: var(--link);
|
|
border: 2px solid var(--link);
|
|
color: var(--fg);
|
|
}
|
|
|
|
.hidden {
|
|
display: none;
|
|
}
|
|
|
|
.switch-seperator {
|
|
display: inline-block;
|
|
margin-left: 10px;
|
|
}
|
|
|
|
.pagination {
|
|
text-align: center;
|
|
|
|
& .pagination-button {
|
|
margin-right: 5px;
|
|
}
|
|
|
|
& #highlight {
|
|
filter: brightness(var(--hover-brightness));
|
|
}
|
|
|
|
& #disabled {
|
|
pointer-events: none;
|
|
background-color: var(--bg-secondary);
|
|
filter: brightness(1);
|
|
}
|
|
}
|
|
|
|
nav {
|
|
margin-top: 15px;
|
|
margin-bottom: 15px;
|
|
margin-left: 20px;
|
|
margin-right: 20px;
|
|
|
|
& .navigation-wrapper {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
width: auto;
|
|
|
|
& .navbar-brand {
|
|
display: inline-flex;
|
|
gap: 10px;
|
|
|
|
& span {
|
|
font-weight: bold;
|
|
font-size: 1.3em;
|
|
color: var(--fg);
|
|
}
|
|
}
|
|
|
|
& .navbar-entry {
|
|
& img {
|
|
width: 30px;
|
|
height: 30px;
|
|
}
|
|
}
|
|
|
|
& .search-form {
|
|
& input {
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
& .sidebar-toggler {
|
|
display: none;
|
|
|
|
& &:checked~.sidebar {
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
|
|
& .sidebar-label {
|
|
margin-right: 9px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
& .sidebar {
|
|
background-color: var(--bg);
|
|
position: absolute;
|
|
padding-top: 6px;
|
|
left: 0;
|
|
width: 220px;
|
|
transform: translateX(-220px);
|
|
transition: transform 250ms cubic-bezier(0.23, 1, 0.32, 1);
|
|
z-index: 999;
|
|
|
|
& br {
|
|
align-self: stretch;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
& .sidebar-list {
|
|
list-style-type: none;
|
|
|
|
margin: 0;
|
|
padding: 0;
|
|
|
|
& .sidebar-item {
|
|
display: flex;
|
|
align-items: center;
|
|
list-style: none;
|
|
color: var(--fg);
|
|
font-size: 0.9em;
|
|
text-decoration: none;
|
|
padding: 10px;
|
|
|
|
& &:hover {
|
|
background-color: var(--bg-secondary);
|
|
}
|
|
|
|
& img {
|
|
width: 30px;
|
|
height: 30px;
|
|
margin-left: 1.2rem;
|
|
margin-right: 10px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* & .navbar-shadow { */
|
|
/* width: 100%; */
|
|
/* height: 10px; */
|
|
/* background: repeating-linear-gradient( */
|
|
/* 52.5deg, */
|
|
/* rgba(32, 32, 32, 0.7), */
|
|
/* rgba(32, 32, 32, 0.7) 14px, */
|
|
/* rgba(240, 248, 255, 0) 14px, */
|
|
/* rgba(240, 248, 255, 0) 28px */
|
|
/* ); */
|
|
/* } */
|
|
}
|
|
|
|
@media screen and (max-width: 600px) {
|
|
& nav {
|
|
& .search-form {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
.component-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
|
|
& h2 {
|
|
margin: 0;
|
|
display: inline-block;
|
|
}
|
|
}
|
|
|
|
.container {
|
|
max-width: 1200px;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
}
|
|
|
|
.artwork-container {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit,
|
|
minmax(calc(var(--small-artwork-width) + 15px), 1fr));
|
|
align-items: center;
|
|
justify-items: center;
|
|
}
|
|
|
|
.artwork-container-scroll {
|
|
display: flex;
|
|
overflow: hidden;
|
|
overflow-x: scroll;
|
|
}
|
|
|
|
.artwork-container,
|
|
.artwork-container-scroll {
|
|
& a {
|
|
text-decoration: none;
|
|
color: var(--fg);
|
|
}
|
|
|
|
& .artwork-large {
|
|
& img {
|
|
width: var(--large-artwork-width);
|
|
height: var(--large-artwork-width);
|
|
}
|
|
|
|
& .artwork-title {
|
|
max-width: var(--large-artwork-width);
|
|
}
|
|
|
|
& .artwork-author {
|
|
max-width: var(--large-artwork-width);
|
|
|
|
& a {
|
|
max-width: var(--small-artwork-width);
|
|
}
|
|
}
|
|
}
|
|
|
|
& .artwork-small {
|
|
& img {
|
|
width: var(--small-artwork-width);
|
|
height: var(--small-artwork-width);
|
|
}
|
|
|
|
& .artwork-title {
|
|
max-width: var(--small-artwork-width);
|
|
}
|
|
|
|
& .artwork-author {
|
|
max-width: var(--small-artwork-width);
|
|
|
|
& a {
|
|
max-width: var(--small-artwork-width);
|
|
}
|
|
}
|
|
}
|
|
|
|
& .artwork {
|
|
padding: 5px;
|
|
width: fit-content;
|
|
position: relative;
|
|
|
|
& .artwork-additional {
|
|
position: absolute;
|
|
top: 4px;
|
|
left: 4px;
|
|
right: 4px;
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
padding: 4px 4px 0px;
|
|
pointer-events: none;
|
|
|
|
& .artwork-position {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 50%;
|
|
font-weight: bold;
|
|
width: 40px;
|
|
height: 40px;
|
|
font-size: 16px;
|
|
background-color: rgba(0, 0, 0, 0.32);
|
|
}
|
|
|
|
& .artwork-profanity-label {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 10px;
|
|
border-radius: 20px;
|
|
padding: 0.4rem;
|
|
background-color: var(--highlight);
|
|
color: var(--fg);
|
|
}
|
|
|
|
& .artwork-page-count {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
flex: 0 0 auto;
|
|
box-sizing: border-box;
|
|
height: 20px;
|
|
min-width: 20px;
|
|
color: var(--fg);
|
|
font-weight: bold;
|
|
padding: 0px 6px;
|
|
background: rgba(0, 0, 0, 0.32);
|
|
border-radius: 10px;
|
|
font-size: 10px;
|
|
line-height: 10px;
|
|
|
|
& .boxbox {
|
|
font-size: 9px;
|
|
}
|
|
}
|
|
}
|
|
|
|
& img {
|
|
object-fit: cover;
|
|
object-position: center center;
|
|
border-radius: var(--border-radius);
|
|
}
|
|
|
|
& .artwork-title {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
& a {
|
|
font-size: 14px;
|
|
display: inline;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
line-height: 22px;
|
|
font-weight: bold;
|
|
}
|
|
}
|
|
|
|
& .artwork-author {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
& a {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
& img {
|
|
aspect-ratio: 1/1;
|
|
width: 24px;
|
|
height: 24px;
|
|
object-fit: cover;
|
|
object-position: center top;
|
|
border-radius: 50%;
|
|
margin-right: 5px;
|
|
}
|
|
|
|
& span {
|
|
font-size: 14px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
line-height: 22px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.illust {
|
|
background-color: var(--bg-secondary);
|
|
border-radius: var(--border-radius);
|
|
padding: 5px 15px;
|
|
|
|
& .illust-images {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
|
|
& img {
|
|
margin-top: 15px;
|
|
max-height: 1000px;
|
|
width: auto;
|
|
max-width: 100%;
|
|
}
|
|
}
|
|
|
|
& .illust-attr {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-top: 10px;
|
|
margin-bottom: 10px;
|
|
|
|
& .illust-avatar {
|
|
width: 62px;
|
|
height: 62px;
|
|
border-radius: 50px;
|
|
}
|
|
|
|
& .attr-wrap {
|
|
margin-left: 5px;
|
|
|
|
& .illust-title {
|
|
font-weight: bold;
|
|
}
|
|
|
|
& .illust-author {
|
|
font-size: 0.8em;
|
|
|
|
& a {
|
|
color: var(--fg-secondary);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
& .illust-description {
|
|
font-size: 0.85em;
|
|
}
|
|
|
|
& .illust-tags {
|
|
font-size: 0.9em;
|
|
|
|
& .illust-tag-attr {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
margin-right: 15px;
|
|
|
|
& img {
|
|
aspect-ratio: 1/1;
|
|
width: 18px;
|
|
height: 18px;
|
|
margin-right: 5px;
|
|
}
|
|
}
|
|
|
|
& .illust-tag {
|
|
margin-right: 10px;
|
|
|
|
& #highlight {
|
|
color: var(--highlight);
|
|
}
|
|
|
|
& .illust-tag-name {
|
|
color: var(--link);
|
|
font-weight: bold;
|
|
margin-right: 5px;
|
|
}
|
|
}
|
|
}
|
|
|
|
& .comment {
|
|
display: flex;
|
|
margin-bottom: 10px;
|
|
|
|
& p {
|
|
margin: 0;
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
& .comment-avatar {
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: 50%;
|
|
margin-right: 10px;
|
|
}
|
|
|
|
& .stamp {
|
|
width: 96px;
|
|
height: 96px;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
& .emoji {
|
|
width: 24px;
|
|
height: 24px;
|
|
margin-left: 3px;
|
|
margin-right: 3px;
|
|
}
|
|
}
|
|
|
|
& .illust-other-works {
|
|
& &>a {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
text-decoration: none;
|
|
color: var(--fg);
|
|
|
|
& &>img {
|
|
aspect-ratio: 1/1;
|
|
width: 50px;
|
|
height: 50px;
|
|
border-radius: 50%;
|
|
margin-right: 5px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.background-cover {
|
|
background: repeating-linear-gradient(52.5deg,
|
|
rgba(32, 32, 32, 0.8),
|
|
rgba(32, 32, 32, 0.8) 14px,
|
|
rgba(240, 248, 255, 0) 14px,
|
|
rgba(240, 248, 255, 0) 28px);
|
|
height: 10vw;
|
|
min-height: 100px;
|
|
overflow: hidden;
|
|
padding-top: 10px;
|
|
padding-bottom: 10px;
|
|
|
|
& img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
}
|
|
|
|
#hasbg {
|
|
height: 40vw;
|
|
min-height: 100px;
|
|
max-height: 60vh;
|
|
}
|
|
|
|
.user {
|
|
transform: translateY(-8rem);
|
|
|
|
& .user-avatar {
|
|
margin: auto;
|
|
aspect-ratio: 1/1;
|
|
width: 170px;
|
|
height: 170px;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
& .user-social {
|
|
text-align: center;
|
|
|
|
& img {
|
|
aspect-ratio: 1/1;
|
|
width: 36px;
|
|
height: 36px;
|
|
}
|
|
}
|
|
|
|
& .user-details {
|
|
text-align: center;
|
|
|
|
& h2 {
|
|
margin: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
#calendar {
|
|
width: 100%;
|
|
height: auto;
|
|
}
|
|
|
|
.calendar-weeks,
|
|
.calendar-board {
|
|
max-width: 1000px;
|
|
margin: 0 auto;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 5px;
|
|
}
|
|
|
|
.calendar-weeks div {
|
|
width: 128px;
|
|
text-align: center;
|
|
}
|
|
|
|
.calendar-node {
|
|
width: 128px;
|
|
height: 128px;
|
|
border-radius: 8px;
|
|
background-size: cover;
|
|
background-position: center;
|
|
background-color: var(--bg-secondary);
|
|
position: relative;
|
|
|
|
& span {
|
|
font-size: small;
|
|
color: var(--fg);
|
|
background-color: var(--bg-secondary);
|
|
position: absolute;
|
|
top: 0.3rem;
|
|
left: 0.3rem;
|
|
padding: 0.05rem 0.3rem;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
}
|
|
|
|
@media screen and (max-width: 950px) {
|
|
& .calendar-board {
|
|
justify-content: center;
|
|
}
|
|
|
|
.calendar-weeks,
|
|
& .calendar-node-empty {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.tag-header {
|
|
display: flex;
|
|
|
|
& .tag-thumbnail {
|
|
width: 120px;
|
|
height: 120px;
|
|
border-radius: 5px;
|
|
margin-right: 20px;
|
|
|
|
object-fit: cover;
|
|
object-position: center center;
|
|
}
|
|
|
|
& .tag-details {
|
|
& .main-tag {
|
|
font-size: 1.6rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
.tag-container {
|
|
background-color: var(--bg-secondary);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding-left: 20px;
|
|
padding-right: 20px;
|
|
margin-right: 10px;
|
|
|
|
width: max-content;
|
|
height: 40px;
|
|
margin-bottom: 4px;
|
|
text-align: center;
|
|
font-weight: bold;
|
|
font-size: 1rem;
|
|
border-radius: 4px;
|
|
|
|
& .main {
|
|
font-size: 1.6em;
|
|
}
|
|
|
|
& .sub {
|
|
font-size: 1.2em;
|
|
font-weight: normal;
|
|
}
|
|
} |