--- /dev/null
+h1, h2, h3, h4, h5, h6 {
+ font-weight: bold;
+}
+
+h1 {
+ font-size: 2.2em;
+ line-height: 1.3em;
+ margin-top: 0;
+ margin-bottom: 0.5em;
+}
+
+h2 {
+ font-size: 1.5em;
+ line-height: 1.4em;
+}
+
+h3 {
+ font-size: 1.2em;
+ line-height: 1em;
+}
+
+h4, h5, h6 {
+ font-size: 1.1em;
+ line-height: 1.3em;
+}
+
+p {
+ font-size: 1.2em;
+ line-height: 1.5em;
+}
+
+.subhead {
+ font-weight: normal;
+}
+
+.subhead, .subheading {
+ font-size: 1.5em;
+ line-height: 1em;
+ font-weight: normal;
+ color: rgba(27, 27, 27, 0.65);
+}
+
+.metadata {
+ margin-top: -0.75em;
+ margin-bottom: 1.45em;
+}
+
+.metadata * {
+ font-size: 1em !important;
+ font-weight: normal !important;
+ font-style: normal !important;
+ display: inline !important;
+ margin: 0;
+}
+
+.metadata :matches(.byline, .date) {
+ display: inline !important;
+}
+
+.metadata :matches(ul, ol, li) {
+ list-style-type: none;
+ -webkit-padding-start: 0;
+}
+
+.title+.metadata {
+ margin-top: -0.75em;
+}
+
+.subhead+.metadata {
+ margin-top: -0.7em;
+}
+
+a {
+ text-decoration: underline;
+ text-decoration-color: inherit;
+}
+
+a[href] {
+ color: #4C54D2;
+}
+
+#article {
+ text-rendering: optimizeLegibility;
+ font-family: "Georgia", "Times New Roman", Times, serif;
+ user-select: unset;
+}
+
+#article * {
+ /* Scale down anything larger than our view. Max-width maintains aspect ratios on images. */
+ max-width: 680;
+}
+
+#article img {
+ /* By default, images are centered on their own line. */
+ margin-bottom: 0.5em;
+ display: block;
+ width: 100%;
+ height: auto;
+}
+
+#article img.reader-image-tiny {
+ display: inline;
+ margin: 0;
+}
+
+#article .leading-image, figure, .auxiliary {
+ margin-bottom: 1.15em;
+}
+
+#article .leading-image img {
+ margin: auto;
+ display: block;
+ clear: both;
+}
+
+#article .leading-image .credit {
+ margin: 0;
+}
+
+#article .leading-image, #article figure {
+ font-size: 0.85em;
+ line-height: 1.4em;
+}
+
+body.watch #article .leading-image, body.watch #article figure {
+ font-size: 0.8125rem;
+}
+
+#article .leading-image :matches(.caption, .credit), #article figcaption {
+ margin-top: 0.8em;
+ width: 100%;
+}
+
+#article figcaption>* {
+ margin-top: 0.25em;
+ margin-bottom: 0.25em;
+}
+
+#article :matches(.leading-image, figure) p {
+ margin-top: 0.4em;
+ margin-bottom: 0.4em;
+}
+
+#article .leading-image .credit+.caption {
+ margin-top: 0.1em;
+}
+
+#article .auxiliary {
+ display: block;
+ clear: both;
+ font-size: 0.75em;
+ line-height: 1.4em;
+ text-align: start;
+}
+
+#article .pullquote {
+ font-size: 1.42em;
+ line-height: 1.38em;
+ font-weight: 300;
+ font-style: italic;
+}
+
+#article .pullquote:not(.float) {
+ margin-top: 1em;
+ margin-bottom: 1em;
+ -webkit-margin-start: 1em;
+ max-width: calc(100% - 1em);
+}
+
+#article .auxiliary>*:not(img) {
+ -webkit-margin-start: 0;
+}
+
+#article .auxiliary.float img, #article .auxiliary>*:first-child:not(img) {
+ margin: 0;
+}
+
+
+article {
+ text-align: start;
+ word-wrap: break-word;
+ hyphens: auto;
+}
+
+article.rtl {
+ direction: rtl;
+}
+
+
+/* If the element immediately after an image is inline, it might bump up against the image. */
+
+#article .auxiliary img+* {
+ display: block;
+}
+
+#article .auxiliary figcaption {
+ font-size: 100%;
+}
+
+#article .auxiliary * {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+body:not(.watch) #article .float.left {
+ float: left;
+ margin-right: 20px;
+}
+
+body:not(.watch) #article .float.right {
+ float: right;
+ margin-left: 20px;
+}
+
+body.watch #article .float {
+ width: auto !important;
+}
+
+#article .clear {
+ clear: both;
+}
+
+#article ul.list-style-type-none, #article ol.list-style-type-none, #article .list-style-type-none>li {
+ list-style-type: none;
+ -webkit-padding-start: 0;
+}
+
+#article .list-style-type-none.code-block code {
+ white-space: pre-wrap;
+}
+
+#article div.scrollable {
+ overflow-x: scroll;
+ word-wrap: normal;
+}
+
+#article div.scrollable table {
+ max-width: none;
+}
+
+#article-summary {
+ font-size: 1.5em;
+ line-height: 1.4em;
+ color: #495057;
+}
+
+#article .leading-image, #article figure, #article .auxiliary:not(.pullquote) {
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+#article .leading-image, #article figure, #article .auxiliary, #article .pullquote {
+ color: rgba(0, 0, 0, 0.65);
+}
+
+figure {
+ margin: 0;
+}
+
+figure img {
+ width: 100%;
+}
+
+body:not(.watch) figure:not(.float) {
+ margin-top: 1.4em;
+ margin-bottom: 1.4em;
+}
+
+hr {
+ position: relative;
+ display: block;
+ width: 100%;
+ margin: 2.5em 0 3.5em;
+ padding: 0;
+ background: rgba(0, 0, 0, 0.2);
+ height: 1px;
+ border: 0;
+}
+
+pre {
+ font-family: "Lucida Console", Courier, monospace;
+ font-size: 0.87em;
+ line-height: 1.45em;
+}
+
+blockquote, q {
+ color: rgba(0, 0, 0, 0.65);
+}
+
+blockquote:not(.pullquote) {
+ margin-left: 2px;
+ margin-right: 6px;
+ padding-left: 16px;
+}
+
+blockquote:not(.simple):not(.pullquote) {
+ border-left: 3px solid rgba(0, 0, 0, 0.1);
+}
+
+q.pullquote {
+ display: block;
+}
+
+.pullquote q::before, .pullquote q::after, q.pullquote::before, q.pullquote::after {
+ content: "";
+}
+
+/* Collapse excess whitespace. */
+
+article p>p:empty, article div>p:empty, article p>div:empty, article div>div:empty, article p+br, article img+br {
+ display: none;
+}
+
+article table {
+ font-size: 0.9em;
+ text-align: start;
+ word-wrap: break-word;
+ border-collapse: collapse;
+}
+
+article table td, article table th {
+ padding: 0.25em 0.5em;
+ border: 1px solid rgb(216, 216, 216);
+}
+
+.delimiter {
+ margin-left: 0.45em;
+ margin-right: 0.45em;
+ margin-top: 0.07em;
+ padding: 0;
+}
+
+.metadata.singleline .delimiter::after {
+ content: "•";
+}
+
+.metadata:not(.singleline) .delimiter {
+ content: "";
+ display: block !important;
+}
+
+article table th {
+ background-color: rgba(0, 0, 0, 0.025);
+}
+
+article sup, article sub {
+ line-height: 1;
+ font-size: 0.75em;
+}
+
+.hidden {
+ display: none;
+}
+
+@media screen {
+ body {
+ margin: 0;
+ padding: 0;
+ overflow-x: hidden;
+ -webkit-text-size-adjust: none;
+ }
+ body.mac {
+ background-color: transparent;
+ }
+ #article {
+ pointer-events: auto;
+ overflow: visible;
+ }
+ #article:focus {
+ outline: none;
+ }
+ #article {
+ margin-left: auto;
+ margin-right: auto;
+ padding-top: 35px;
+ padding-bottom: 35px;
+ position: relative;
+ border-top: 1px solid rgba(0, 0, 0, 0.2);
+ }
+ body article {
+ padding: 0 4px;
+ }
+ #article {
+ margin-top: 0;
+ border-top: none;
+ padding-top: 32px;
+ }
+ #article:last-of-type {
+ padding-bottom: 45px;
+ }
+ article video {
+ width: 100%;
+ height: auto;
+ position: relative;
+ }
+}
+
+#article .extendsBeyondTextColumn {
+ max-width: none;
+}
+
+.iframe-wrapper {
+ background-color: black;
+ max-width: none;
+ text-align: center;
+}
+
+iframe {
+ border: 0;
+}
+
+@media only screen and (min-width: 780px) {
+ #article {
+ max-width: 800px;
+ margin: 0 auto;
+ }
+ /* Readable margins. */
+ /* body #article {
+ max-width: 83.2ex;
+ } */
+}
+
+/* Use slightly smaller page padding when vertically constrained. */
+
+@media screen and (max-height: 700px) {
+ #article {
+ padding-top: 32px;
+ padding-bottom: 32px;
+ }
+}
+
+/* Basic dark theme */
+
+@media (prefers-color-scheme: dark) {
+ body {
+ background-color: #1E2029;
+ color: #F0F2FF;
+ }
+
+ #article .leading-image, #article figure, #article .auxiliary, #article .pullquote {
+ color: #C2C4CF;
+ }
+
+ hr {
+ background: #3B3E4F;
+ }
+
+ blockquote, q {
+ color: #C2C4CF;
+ }
+
+ blockquote:not(.simple):not(.pullquote) {
+ border-left: 3px solid #3B3E4F;
+ }
+
+ article table td, article table th {
+ padding: 0.25em 0.5em;
+ border: 1px solid #3B3E4F;
+ }
+
+ article table th {
+ background-color: #5E6175;
+ }
+
+ #article {
+ border-top: 1px solid #3B3E4F;
+ }
+
+ #article-summary {
+ color: #C2C4CF;
+ }
+
+ a[href] {
+ color: #737ADE;
+ }
+}