gallery/style/shiny/single.css

274 lines
4.6 KiB
CSS

@import url(base.css);
@import url(nsfw-warning.css);
@import url(pkmn.css);
:root {
--image-width: 1000px;
--border-thickness: 2px;
}
body {
display: grid;
min-height: 100vh;
}
.page {
max-width: var(--image-width);
align-self: center;
}
#mainfig {
margin: 1em auto;
width: min-content;
position: relative;
overflow: hidden;
border: var(--border-thickness) solid var(--border-col);
box-shadow: var(--text-shadow);
background: hsl(340, 45%, 65%);
}
#mainfig:focus-within {
box-shadow: var(--focus-box);
}
#mainimg, #mainlink {
display: block;
}
#cw {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
background: linear-gradient(to bottom,
hsl(330deg, 20%, 46%),
hsl(345deg, 40%, 17%));
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
#cw-text {
font-size: 200%;
font-weight: 700;
color: hsl(330deg, 100%, 90%);
text-shadow: none;
transform: rotate(-15deg);
background: hsl(330deg, 40%, 16%);
padding: 0.35em 1em;
border-radius: var(--button-radius);
}
#cw-text b { font-weight: 900; }
#cw-text::before {
content: 'cw: ';
font-weight: 600;
}
@supports (filter: opacity(65%) blur(50px)) {
#cw ~ * {
filter: opacity(65%) blur(50px);
}
#cw {
/* it doesn't matter if this is unsupported because
* either way the thing will be hidden */
mix-blend-mode: multiply;
}
}
#date { text-transform: lowercase; }
#info {
display: grid;
grid-template-columns: 1fr 5fr;
grid-column-gap: 1em;
align-items: baseline;
}
@media not speech {
.info-section {
display: contents;
}
}
#info figure {
margin: 0.25em auto;
}
#info figure img {
max-width: 100%;
border: var(--border-thickness) solid var(--border-col);
box-shadow: var(--text-shadow);
}
#info .floating {
float: right;
margin-left: 0.8em;
max-width: 40%;
}
#info .floating.left {
float: left;
}
#info .shaped {
/* maybe one day... */
/* shape-outside: attr(src url); */
shape-margin: 1em;
margin-right: -1em;
filter: drop-shadow(5px 5px 8px #0006);
}
#info h2 {
text-align: right;
}
#info h2, #info ul, #info ol, #info p, #info dl, #info details {
margin: 0.35em 0;
}
#info details > * {
margin-left: 0;
}
#updates dl, dl.inline {
display: grid;
grid-template-columns: max-content auto;
grid-gap: 1em;
align-items: baseline;
}
:is(#updates, .inline) dt {
font-size: 100%;
font-weight: 700;
grid-area: auto / 1;
}
:is(#updates, .inline) dd {
grid-area: auto / 2;
}
#updates .q {
font-weight: 500;
}
.updated {
font-size: 90%;
font-style: italic;
}
footer {
text-align: center;
margin-top: 1em;
}
@media (pointer: coarse) {
footer {
font-size: 150%;
}
}
#alts {
margin: 1.5em 0;
text-align: center;
display: grid;
grid-gap: 0.5em;
grid-template-columns: minmax(auto, 10em) auto minmax(auto, 10em);
}
#alts.cat :is(h3, ul) { margin: 0; }
#alts section {
display: contents;
}
#alts h3 {
font-weight: 600;
display: inline;
padding-right: 0.5em;
text-align: right;
grid-area: auto / 1 / auto / auto;
}
#alts ul {
display: inline flex;
grid-area: auto / 2 / auto / auto;
}
.cat ul { justify-content: start; }
#skipAllDiv {
align-self: start;
justify-content: end;
grid-area: 1 / 3 / auto / auto;
}
#tags ul, #links ul {
padding: 0;
display: flex;
flex-flow: wrap row;
}
#tags li, #links li {
display: inline;
margin-right: 0.75em;
white-space: nowrap;
}
.chost, .toot {
--avatar-size: 4em;
display: grid;
grid-template: 'avatar user' 1lh
'avatar post' auto / var(--avatar-size) 1fr;
grid-gap: 5px 15px;
margin: 0;
}
:is(.chost, .toot) .user {
grid-area: user;
font-weight: 800;
}
:is(.chost, .toot) :is(.user a, a.user) {
font-weight: 800;
text-decoration: none;
}
:is(.chost, .toot) .username {
margin-left: 1em;
font-size: 90%;
font-weight: 500;
}
:is(.chost, .toot) .post { grid-area: post; }
:is(.chost, .toot) .avatar { grid-area: avatar; }
:is(.chost, .toot) :is(.avatar img, img.avatar) {
height: var(--avatar-size); width: var(--avatar-size);
border-radius: 1000em;
}
.chost .squircle {
mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTAwIDBDMjAgMCAwIDIwIDAgMTAwczIwIDEwMCAxMDAgMTAwIDEwMC0yMCAxMDAtMTAwUzE4MCAwIDEwMCAweiIvPjwvc3ZnPg==);
mask-size: contain;
mask-repeat: no-repeat;
mask-position: center;
border-radius: 0;
}
:is(.chost, .toot) h1 {
margin: 0 0 0.5em;
font-size: 150%;
font-weight: 700;
}
:is(.chost, .toot) + :is(.chost, .toot) { margin-top: 1.5em; }