448 lines
9.3 KiB
CSS
448 lines
9.3 KiB
CSS
@charset "UTF-8";
|
|
|
|
/* Styles for PEPs */
|
|
|
|
/*
|
|
* `initial` works like undefined variables, so `var(initial, x)` will resolve to `x`.
|
|
* A space means an empty value, so `var( , x) y` will resolve to `y`.
|
|
*/
|
|
@media (prefers-color-scheme: dark) {
|
|
:root {
|
|
--light: ;
|
|
--dark: initial;
|
|
}
|
|
}
|
|
|
|
@media (prefers-color-scheme: light) {
|
|
:root {
|
|
--dark: ;
|
|
--light: initial;
|
|
}
|
|
}
|
|
|
|
:root[data-colour_scheme="dark"] {
|
|
--light: ;
|
|
--dark: initial;
|
|
}
|
|
|
|
:root[data-colour_scheme="light"] {
|
|
--dark: ;
|
|
--light: initial;
|
|
}
|
|
|
|
/* Set master colours */
|
|
:root {
|
|
--colour-background: var(--light, white) var(--dark, #111);
|
|
--colour-background-accent-strong: var(--light, #ccc) var(--dark, #444);
|
|
--colour-background-accent-medium: var(--light, #ddd) var(--dark, #333);
|
|
--colour-background-accent-light: var(--light, #eee) var(--dark, #222);
|
|
--colour-text: var(--light, #333) var(--dark, #ccc);
|
|
--colour-text-strong: var(--light, #222) var(--dark, #ddd);
|
|
--colour-links: var(--light, #069) var(--dark, #8bf);
|
|
--colour-links-light: var(--light, #057) var(--dark, #acf);
|
|
--colour-scrollbar: var(--light, #ccc) var(--dark, #333);
|
|
--colour-rule-strong: var(--light, #888) var(--dark, #777);
|
|
--colour-rule-light: var(--light, #ddd) var(--dark, #222);
|
|
--colour-inline-code-bg: var(--light, #eee) var(--dark, #333);
|
|
--colour-inline-code-text: var(--light, #222) var(--dark, #ccc);
|
|
--colour-error: var(--light, #faa) var(--dark, #800);
|
|
--colour-warning: var(--light, #fca) var(--dark, #840);
|
|
--colour-caution: var(--light, #ffa) var(--dark, #550);
|
|
--colour-attention: var(--light, #bdf) var(--dark, #045);
|
|
--colour-tip: var(--light, #bfc) var(--dark, #041);
|
|
}
|
|
|
|
img.invert-in-dark-mode {
|
|
filter: var(--dark, invert(1) hue-rotate(.5turn));
|
|
}
|
|
|
|
/* Set master rules */
|
|
* {box-sizing: border-box}
|
|
:root {color-scheme: light dark}
|
|
html {
|
|
overflow-y: scroll;
|
|
line-height: 1.5;
|
|
font-size: 1rem;
|
|
font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
|
|
}
|
|
body {
|
|
margin: 0;
|
|
color: var(--colour-text);
|
|
background-color: var(--colour-background);
|
|
}
|
|
section#pep-page-section {
|
|
padding: 0.25rem;
|
|
}
|
|
|
|
/* Header rules */
|
|
h1 {
|
|
font-size: 2rem;
|
|
font-weight: bold;
|
|
}
|
|
h2 {
|
|
font-size: 1.6rem;
|
|
font-weight: bold;
|
|
}
|
|
h3 {
|
|
font-size: 1.4rem;
|
|
font-weight: normal;
|
|
}
|
|
h4 {
|
|
font-size: 1.2rem;
|
|
font-weight: normal;
|
|
}
|
|
h5,
|
|
h6 {
|
|
font-size: 1rem;
|
|
font-weight: bold;
|
|
}
|
|
|
|
/* Anchor link rules */
|
|
a,
|
|
a:active,
|
|
a:visited {
|
|
color: var(--colour-links);
|
|
display: inline;
|
|
overflow-wrap: anywhere;
|
|
text-decoration-color: var(--colour-background-accent-strong);
|
|
}
|
|
a:hover,
|
|
a:focus {
|
|
text-decoration-color: var(--colour-rule-strong);
|
|
}
|
|
|
|
/* Blockquote rules */
|
|
blockquote {
|
|
font-style: italic;
|
|
border-left: 1px solid var(--colour-rule-strong);
|
|
padding: .5rem 1rem;
|
|
}
|
|
blockquote em {
|
|
font-style: normal;
|
|
}
|
|
|
|
cite {
|
|
font-style: italic;
|
|
}
|
|
|
|
/* Code rules (code literals and Pygments highlighting blocks) */
|
|
code,
|
|
pre {
|
|
font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;
|
|
font-size: 0.875rem;
|
|
-webkit-hyphens: none;
|
|
hyphens: none;
|
|
}
|
|
code {
|
|
overflow-wrap: anywhere;
|
|
}
|
|
code.literal {
|
|
background-color: var(--colour-inline-code-bg);
|
|
color: var(--colour-inline-code-text);
|
|
font-size: .8em;
|
|
padding: 1px 2px 1px;
|
|
}
|
|
pre {
|
|
overflow-x: auto;
|
|
padding: .5rem .75rem;
|
|
white-space: pre;
|
|
}
|
|
|
|
.good pre {
|
|
border-left: 3px solid rgba(74, 182, 93, 1);
|
|
}
|
|
.bad pre {
|
|
border-left: 3px solid rgb(244, 76, 78);
|
|
}
|
|
.maybe pre {
|
|
border-left: 3px solid rgb(244, 227, 76);
|
|
}
|
|
|
|
/* Contents rules */
|
|
details > summary {
|
|
cursor: pointer;
|
|
font-size: 1.6rem;
|
|
font-weight: bold;
|
|
margin-bottom: 1em;
|
|
}
|
|
details > summary:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
/* Definition list rules */
|
|
dl dt {
|
|
font-weight: bold;
|
|
}
|
|
dl dd {
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
/* Horizontal rule rule */
|
|
hr {
|
|
border: 0;
|
|
border-top: 1px solid var(--colour-rule-light);
|
|
}
|
|
/* Image rules */
|
|
img {
|
|
max-width: 100%;
|
|
}
|
|
a img {
|
|
display: block;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
/* List rules */
|
|
ol.loweralpha {list-style: lower-alpha}
|
|
ol.upperalpha {list-style: upper-alpha}
|
|
ol.lowerroman {list-style: lower-roman}
|
|
ol.upperroman {list-style: upper-roman}
|
|
|
|
/* Maths rules */
|
|
sub,
|
|
sup {
|
|
font-size: .75em;
|
|
line-height: 0;
|
|
position: relative;
|
|
vertical-align: baseline;
|
|
}
|
|
sup {top: -0.5em}
|
|
sub {bottom: -0.25em}
|
|
|
|
/* Table rules */
|
|
div.table-wrapper {
|
|
overflow-x: auto;
|
|
}
|
|
table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
border: 1px solid var(--colour-background-accent-strong);
|
|
}
|
|
table caption {
|
|
margin: 1rem 0 .75rem;
|
|
}
|
|
table thead tr {
|
|
background-color: var(--colour-background-accent-medium);
|
|
color: var(--colour-text-strong);
|
|
}
|
|
table tbody tr {
|
|
border-top: 1px solid var(--colour-background-accent-strong);
|
|
}
|
|
table th,
|
|
table td {
|
|
text-align: left;
|
|
padding: 0.25rem 0.5rem 0.2rem;
|
|
}
|
|
table.pep-zero-table tr td:nth-child(1),
|
|
table.pep-zero-table tr td:nth-child(2) {
|
|
white-space: nowrap;
|
|
}
|
|
table th + th,
|
|
table td + td {
|
|
border-left: 1px solid var(--colour-background-accent-strong);
|
|
}
|
|
/* Common column widths for PEP status tables */
|
|
table.pep-zero-table tr td:nth-child(1) {
|
|
width: 5%;
|
|
}
|
|
table.pep-zero-table tr td:nth-child(2) {
|
|
width: 7%;
|
|
}
|
|
table.pep-zero-table tr td:nth-child(3),
|
|
table.pep-zero-table tr td:nth-child(4){
|
|
width: 41%;
|
|
}
|
|
table.pep-zero-table tr td:nth-child(5) {
|
|
width: 6%;
|
|
}
|
|
/* Authors & Sponsors table */
|
|
#authors-owners table td,
|
|
#authors-owners table th {
|
|
width: 50%;
|
|
}
|
|
|
|
/* Breadcrumbs rules */
|
|
section#pep-page-section > header {
|
|
border-bottom: 1px solid var(--colour-rule-light);
|
|
}
|
|
section#pep-page-section > header > h1 {
|
|
font-size: 1.1rem;
|
|
margin: 0;
|
|
display: inline-block;
|
|
padding-right: .6rem;
|
|
border-right: 1px solid var(--colour-rule-strong);
|
|
}
|
|
ul.breadcrumbs {
|
|
margin: 0;
|
|
padding: .5rem 0 .5rem .4rem;
|
|
list-style: none;
|
|
display: inline-block;
|
|
}
|
|
ul.breadcrumbs li {
|
|
display: inline;
|
|
}
|
|
ul.breadcrumbs a {
|
|
text-decoration: none;
|
|
}
|
|
|
|
/* Dark mode toggle rules */
|
|
#colour-scheme-cycler {
|
|
background: transparent;
|
|
border: none;
|
|
padding: 0;
|
|
cursor: pointer;
|
|
width: 1.2rem;
|
|
height: 1.2rem;
|
|
float: right;
|
|
transform: translate(0, 50%);
|
|
}
|
|
#colour-scheme-cycler svg {
|
|
color: var(--colour-rule-strong);
|
|
height: 1.2rem;
|
|
width: 1.2rem;
|
|
display: none;
|
|
}
|
|
:root[data-colour_scheme="auto"] #colour-scheme-cycler svg.colour-scheme-icon-when-auto {display: initial}
|
|
:root[data-colour_scheme="dark"] #colour-scheme-cycler svg.colour-scheme-icon-when-dark {display: initial}
|
|
:root[data-colour_scheme="light"] #colour-scheme-cycler svg.colour-scheme-icon-when-light {display: initial}
|
|
|
|
/* Admonitions rules */
|
|
div.admonition {
|
|
background-color: var(--colour-background-accent-medium);
|
|
margin-bottom: 1rem;
|
|
margin-top: 1rem;
|
|
padding: 0.5rem 0.75rem;
|
|
}
|
|
div.admonition a {
|
|
color: var(--colour-links-light);
|
|
}
|
|
|
|
div.danger,
|
|
div.error {
|
|
background-color: var(--colour-error);
|
|
}
|
|
div.warning {
|
|
background-color: var(--colour-warning);
|
|
}
|
|
div.attention,
|
|
div.caution {
|
|
background-color: var(--colour-caution);
|
|
}
|
|
div.important {
|
|
background-color: var(--colour-attention);
|
|
}
|
|
div.hint,
|
|
div.tip {
|
|
background-color: var(--colour-tip);
|
|
}
|
|
|
|
p.admonition-title {
|
|
font-weight: bold;
|
|
}
|
|
|
|
/* PEP Header / references rules */
|
|
dl.rfc2822,
|
|
dl.footnote {
|
|
display: grid;
|
|
grid-template-columns: fit-content(30%) auto;
|
|
width: 100%;
|
|
}
|
|
dl.footnote {
|
|
border-top: 1px solid var(--colour-rule-strong);
|
|
line-height: 1.875;
|
|
}
|
|
dl.rfc2822 > dt,
|
|
dl.rfc2822 > dd {
|
|
padding: .1rem .3rem .1rem;
|
|
}
|
|
dl.footnote > dt,
|
|
dl.footnote > dd {
|
|
padding: .25rem .5rem .2rem;
|
|
border-bottom: 1px solid var(--colour-rule-strong);
|
|
}
|
|
dl.rfc2822 > dt {
|
|
text-align: right;
|
|
}
|
|
dl.footnote > dt {
|
|
font-weight: normal;
|
|
border-right: 1px solid var(--colour-background);
|
|
}
|
|
dl.rfc2822 > dd,
|
|
dl.footnote > dd {
|
|
margin: 0;
|
|
}
|
|
|
|
/* Sidebar formatting */
|
|
#pep-sidebar {
|
|
overflow-y: auto;
|
|
position: sticky;
|
|
top: 0;
|
|
height: 100vh;
|
|
}
|
|
#pep-sidebar > h2 {
|
|
font-size: 1.4rem;
|
|
}
|
|
#contents ol,
|
|
#contents ul,
|
|
#pep-sidebar ol,
|
|
#pep-sidebar ul {
|
|
padding: 0;
|
|
margin: 0 0 0 1.5rem;
|
|
}
|
|
#pep-sidebar ul {
|
|
font-size: .9rem;
|
|
margin-left: 1rem;
|
|
}
|
|
#pep-sidebar ul a {
|
|
text-decoration: none;
|
|
}
|
|
#source {
|
|
padding-bottom: 2rem;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.reference.external > strong {
|
|
font-weight: normal; /* Fix strong links for :pep: and :rfc: roles */
|
|
}
|
|
|
|
.visually-hidden {
|
|
position: absolute !important;
|
|
width: 1px !important;
|
|
height: 1px !important;
|
|
padding: 0 !important;
|
|
margin: -1px !important;
|
|
overflow: hidden !important;
|
|
clip-path: polygon(0px 0px, 0px 0px,0px 0px, 0px 0px) !important;
|
|
white-space: nowrap !important;
|
|
border: 0 !important;
|
|
}
|
|
|
|
/* Sticky banners */
|
|
/* Default styles, sticky for larger screens */
|
|
.sticky-banner {
|
|
top: 0;
|
|
position: sticky;
|
|
z-index: 1;
|
|
}
|
|
|
|
/* Override for smaller screens, non-sticky */
|
|
@media (max-width: 600px) {
|
|
.sticky-banner {
|
|
position: static;
|
|
padding: 5px;
|
|
font-size: 12px;
|
|
}
|
|
}
|
|
|
|
.close-button {
|
|
cursor: pointer;
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
padding: 0.5em;
|
|
font-size: 1.5em;
|
|
border: none;
|
|
background: transparent;
|
|
color: inherit;
|
|
margin-top: 0;
|
|
}
|