docs/styles.css

340 lines
4.9 KiB
CSS

body {
font-family: "Segoe UI", sans-serif;
line-height: 1.35;
max-width: 1000px;
margin: 16px auto;
color: #222;
padding: 0 16px;
}
table {
border-collapse: collapse;
letter-spacing: .02em;
max-width: 100%;
overflow-x: auto;
display: block;
}
table.code {
font-family: monospace;
}
thead {
font-weight: bold;
border-bottom: 2px solid currentColor;
}
svg {
transform: translateZ(0);
}
td {
border: 1px solid #111;
padding: 2px;
min-width: 32px;
}
table:not(.code) td {
padding: 2px 6px;
}
table.code td {
text-align: center;
}
td a {
display: block;
padding: 4px 8px;
}
p {
word-break: break-word;
}
img {
max-width: 100%;
}
code {
vertical-align: middle;
letter-spacing: .02em;
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
background-color: #f9f2f4;
border-radius: 4px;
word-break: break-word;
}
dfn {
border-bottom: 1px dashed currentColor;
cursor: help;
}
td>code {
word-break: normal;
}
code>a {
color: inherit;
}
pre>code, .highlight {
display: block;
word-break: normal;
border-radius: 4px;
background: #f8f8f8;
border: 1px solid #ccc;
padding: 4px;
color: #333;
padding: 9.5px;
line-height: 1.4;
width: min-content;
}
pre>.highlight {
margin-bottom: -16px;
}
.highlight>pre {
margin: 0;
}
pre {
max-width: 100%;
overflow-x: auto;
display: block;
}
summary {
user-select: none;
cursor: pointer;
color: #c7254e;
}
details {
background: #f9f2f4;
border: 1px solid #c7b3b8;
border-radius: 2px;
padding: 4px 8px;
margin: 4px 0;
overflow-x: auto;
max-width: 100%;
}
details code {
background: #fff;
}
table.nav {
padding-right: 1px;
padding-bottom: 1px;
}
table.nav td {
display: inline-block;
margin-right: -1px;
margin-bottom: -1px;
}
.haspara {
position: relative;
}
.haspara:hover .pilcrow {
opacity: 1;
}
.pilcrow {
position: absolute;
right: calc(100%);
padding-right: 24px;
top: .1em;
font-size: .9em;
text-decoration: none;
opacity: 0;
color: #e68aa2;
}
.pilcrow:hover {
opacity: 1;
color: #c7254e;
}
footer {
border-top: 1px solid #0005;
width: 100%;
text-align: center;
margin-top: 32px;
padding-top: 8px;
}
footer>*:first-child {
float: left;
}
footer>*:last-child {
float: right;
}
.part {
text-decoration: underline dotted;
text-underline-offset: 2px;
position: relative;
display: inline;
cursor: help;
background-color: #fff;
}
.part span {
display: block;
}
.part>span {
display: none;
position: absolute;
left: 0;
width: 100%;
top: 100%;
margin: 4px;
border: 1px solid currentColor;
padding: 8px;
background-color: inherit;
}
.part>span>span:nth-child(2n - 1) {
font-weight: 600;
}
.part>span>span:nth-child(2n) {
margin-left: 1rem;
}
.part:hover>span, .part:focus>span, .part>span:hover {
display: block;
}
figure>figcaption:first-child {
margin-bottom: 8px;
}
span.mark {
outline: 1px solid #c7254e;
}
.client {
color: #f5417d;
}
.server {
color: #4171f5;
}
mark {
background-color: unset;
color: unset;
font-family: monospace;
font-size: 1.2em;
text-decoration: underline;
text-underline-offset: 1px;
}
.toggle-root {
cursor: pointer;
position: relative;
}
.toggle-root.closed {
user-select: none;
}
.toggle-root::before {
opacity: .5;
content: "";
display: block;
border: 4px solid currentColor;
border-left-color: transparent;
border-top-color: transparent;
position: absolute;
left: -18px;
top: 50%;
transform: translateY(-50%) rotate(45deg);
transition: transform 100ms ease-out, opacity 100ms ease-out;
}
.toggle-root:hover::before {
opacity: 1;
}
.toggle-root.closed::before {
transform: translateY(-50%) rotate(-45deg);
}
.toggle-section {
opacity: 1;
height: auto;
transition: opacity 50ms ease-out;
overflow: visible;
}
.toggle-section.closed {
opacity: 0;
overflow: hidden;
height: 0;
}
@keyframes height0 {
from {
height: auto;
}
to {
height: 0;
}
}
@media (prefers-color-scheme: dark) {
body {
background-color: #000;
color: #fff;
}
footer {
border-top: 1px solid #fff5;
}
td {
border: 1px solid #777;
}
code {
background-color: #221115;
}
.part {
background-color: #000;
}
.highlight, img:not(.graphic) {
filter: invert(1);
}
a, a:visited {
text-decoration: none;
color: #f5417d
}
a:hover {
color: #dc3264
}
details {
background: #1c0d11;
border-color: #3b2b2f;
}
details code {
background: #000;
}
}