/* ###### Semantic Pact CSS ###### */ /* ----- Selection ----- */ ::selection { color: #fff; background-color: #000; text-shadow: 0 0 currentColor; } ::-webkit-selection { color: #fff; background-color: #000; text-shadow: 0 0 currentColor; } ::-moz-selection { color: #fff; background-color: #000; text-shadow: 0 0 currentColor; } /* ----- Colors ----- */ :root { color-scheme: light dark; --active-background-alternate: #cce1ff; --background-bolder: #fff; --background-rgb: 254, 254, 254; --background: rgba(var(--background-rgb), 1); --border-darker: rgba(var(--foreground-rgb), 0.2); --border-darkest: rgba(var(--foreground-rgb), 0.3); --border-lighter: rgba(var(--foreground-rgb), 0.08); --button-background: #fff; --danger-background-lighter: #fff5f5; --danger-background: #fcd2cf; --danger: #8f0000; --fade: rgba(var(--foreground-rgb), 0.75); --focus-within-background: #f0ecf9; --foreground-rgb: 0, 0, 0; --foreground: rgba(var(--foreground-rgb), 0.95); --hover-background-alternate: #ebf3ff; --hover-background: rgba(var(--foreground-rgb), 0.06); --link: #0149bc; --shadow: #00000060; --spoiler: #444; --success-background: #d5f3c4; --success: #1d3c0c; --table-even-background: rgba(var(--foreground-rgb), 0.04); --table-odd-background: rgba(var(--foreground-rgb), 0.02); --warning-background: #ffe699; --warning: #332600; --widget-background: rgba(var(--foreground-rgb), 0.02); } @media (prefers-color-scheme: dark) { :root { --active-background-alternate: #425a8a; --background-bolder: #0d0d0d; --background-rgb: 17, 17, 17; --background: rgba(var(--background-rgb), 1); --border-darker: #555; --border-darkest: #999; --border-lighter: #262626; --button-background: #333; --danger-background-lighter: #1b0404; --danger-background: #4f1c1c; --danger: #ff9494; --fade: rgba(var(--foreground-rgb), 0.75); --focus-within-background: #291933; --foreground-rgb: 221, 221, 221; --foreground: rgba(var(--foreground-rgb), 1); --hover-background-alternate: #1c263a; --hover-background: rgba(var(--foreground-rgb), 0.08); --link: #a3c3ff; --shadow: #000; --spoiler: #aaa; --success-background: #2d3e0f; --success: #d5f3c4; --table-even-background: rgba(var(--foreground-rgb), 0.06); --table-odd-background: rgba(var(--foreground-rgb), 0.02); --warning-background: #a89700; --warning: #000; --widget-background: rgba(var(--foreground-rgb), 0.02); } img { filter: brightness(75%); } code-block pre, code-block header { filter: invert(90%); } } /* ----- Pseudo ----- */ *, ::before, ::after { box-sizing: border-box; } ::before, ::after { text-decoration: inherit; vertical-align: inherit; } :target::before { content: ""; display: block; height: 4rem; margin-top: -4rem; visibility: hidden; } :not(#main):target micro-summary, :not(#main):target micro-summary:hover { background-color: transparent; border-radius: 0.5rem; outline-offset: -6px; outline: 2px dashed #ccc; outline: 2px dashed var(--border-darker); } :focus:not(html):not(body):not(svg) { outline: 0.15rem solid; outline-offset: -0.15rem; text-decoration: none; } :focus a, :focus:not(html):not(body):not(pre):not(svg):not(button):not(input):not(video) { background-color: #ffe699; background-color: var(--warning-background); color: #111; color: var(--warning); } :hover:not(a):not(s):not(img):not(summary):not(nav):not(abbr):not(form):not(code):not(mark):not(td):not(tab-bar):not(tab-bar nav):not(blockquote p) { border-radius: 0.5rem; } /* ----- Skip link ----- */ skip-link a { position: absolute; left: -9999em; } skip-link a:focus { z-index: 200; position: fixed; left: 50%; transform: translate(-50%, 0); top: 0.5rem; padding: 0.75rem; border-radius: 0.5rem; } /* ----- Typography ----- */ h1, h2, h3 { font-size: 100%; margin: 0; } p, ul, dd, ol, figure, blockquote { margin: 0; } p:not(:last-child), ol:not(:last-child), ul:not(:last-child), dl:not(:last-child), table:not(:last-child), figure:not(:last-child), code-block:not(:last-child), blockquote:not(:last-child) { margin-bottom: 0.75rem; } dl { margin: 0 0 0 1rem; } dt { font-weight: 700; } dt:not(:first-child) { margin-top: 0.5rem; } footer, figcaption { color: #444; color: var(--fade); font-size: 85%; margin: 0.5rem 0; text-align: center; } sup { vertical-align: super; font-size: 85%; } sub { vertical-align: sub; font-size: 85%; } sup, sub { display: inline-block; } mark { background: linear-gradient( to bottom, transparent 10%, #ffe699 10%, #ffe699 90%, transparent 90% ); background: linear-gradient( to bottom, transparent 10%, var(--warning-background) 10%, var(--warning-background) 90%, transparent 90% ); color: #332600; color: var(--warning); } ins { background: linear-gradient( to bottom, transparent 10%, #d5f3c4 10%, #d5f3c4 90%, transparent 90% ); background: linear-gradient( to bottom, transparent 10%, var(--success-background) 10%, var(--success-background) 90%, transparent 90% ); color: #1d3c0c; color: var(--success); text-decoration: none; } del { background: linear-gradient( to bottom, transparent 10%, #fcd2cf 10%, #fcd2cf 90%, transparent 90% ); background: linear-gradient( to bottom, transparent 10%, var(--danger-background) 10%, var(--danger-background) 90%, transparent 90% ); color: #8f0000; color: var(--danger); } s { background: linear-gradient( to bottom, transparent 10%, #444 10%, #444 90%, transparent 90% ); background: linear-gradient( to bottom, transparent 10%, var(--spoiler) 10%, var(--spoiler) 90%, transparent 90% ); color: transparent; text-decoration: none; } input[type="checkbox"]:checked + s { background: inherit; color: inherit; } input[type="checkbox"] { -webkit-appearance: none; appearance: none; background-color: transparent; border-radius: 0.5rem; border: 1px solid; border-color: inherit; height: 1.25rem; margin: 0 0.25rem; vertical-align: middle; vertical-align: text-bottom; width: 1.25rem; } input[type="checkbox"]:checked { color: inherit; } input[type="checkbox"]:checked:after { content: "\2714"; display: flex; align-items: center; justify-content: center; font-weight: 700; height: 100%; width: 100%; } blockquote { color: #444; color: var(--fade); } blockquote p { padding-left: 1rem; margin-left: 1rem; border-left: 2px solid; border-color: #eee; border-color: var(--border-darker); } blockquote footer { text-align: right; font-size: 100%; } video { border-radius: 0.5rem; background-color: #000; box-shadow: 0 0 3px #00000060; box-shadow: 0 0 3px var(--shadow); } video:hover { box-shadow: 0 0 14px #00000060; box-shadow: 0 0 14px var(--shadow); } video[data-orientation="portrait"] { width: 50%; } video-container { display: block; text-align: center; } kbd { background-color: #eee; border-radius: 0.25rem; border: 1px solid #b4b4b4; box-shadow: 0 1px 1px #737373, 0 2px 0 0 #f2f2f2 inset; color: #333; display: inline-block; font-size: 0.85em; font-weight: 700; line-height: 1; padding: 2px 4px; white-space: nowrap; } /* ----- Elements ----- */ html { font-size: 95%; line-height: 1.5; word-break: break-word; text-rendering: optimizeSpeed; margin-left: calc(100vw - 100%); margin-right: 0; } html, samp, blockquote span { font-family: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } blockquote p { font-family: Charter, Georgia, "Book Antiqua", serif; font-size: 110%; } pre, kbd, code, svg text { font-family: "Fira Code", "Lucida Console", "Andale Mono", "Roboto Mono", "Ubuntu Monospace", "Noto Mono", "Oxygen Mono", "Liberation Mono", monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; } body, button, input, select, textarea { margin: 0; } ol { counter-reset: ol; padding-left: 3.5rem; } ol li { overflow-wrap: break-word; word-break: break-word; list-style: none; } ol li:before { border-radius: 100%; border: 1px solid; content: counter(ol); counter-increment: ol; margin-left: -2rem; font-size: 85%; padding: 0 0.35rem; position: absolute; } ol li + li { margin-top: 0.5rem; } main { min-height: 100%; } main, details, code-block, diagram-container { display: block; } summary { display: list-item; } cite { font-style: normal; } ul { list-style: none; padding-left: 0; } nav ol, nav ul { display: inline-block; padding: 0; } footer a, figcaption a { color: inherit; } q a { color: inherit; } q:before { content: "\201C"; } q:after { content: "\201D"; } object { width: 100%; border: 2px solid #ccc; border: 2px solid var(--border-darker); min-height: 16rem; border-radius: 0.5rem; display: flex; align-items: center; text-align: center; } object p { margin: 1rem; } details, micro-metadata-menu context-control label { cursor: pointer; } a { color: #0149bc; color: var(--link); text-decoration: underline; text-underline-offset: 0.05rem; } a:hover { color: #111; color: var(--foreground); } a:hover, micro-metadata-menu:hover span, micro-metadata-view a:hover span, micro-metadata-draft a:hover span, micro-metadata-handle a:hover span { text-decoration-thickness: 0.15rem !important; text-decoration-color: inherit !important; } a[data-internal] { text-decoration-color: #aaa; text-decoration-thickness: 0.15rem; } column-left nav { position: sticky; position: -webkit-sticky; align-self: flex-start; top: 0.5rem; text-align: right; } column-left nav a { align-items: center; color: inherit; color: var(--foreground); display: flex; flex-wrap: wrap; justify-content: flex-end; padding: 0.5rem; text-decoration: none; border-radius: 0.5rem; } column-left nav li { margin-bottom: 0.25rem; } column-left nav li:hover a { background-color: #eee; background-color: var(--hover-background); border-radius: 0.5rem; } column-left nav li:hover svg { fill: #cce1ff; fill: var(--active-background-alternate); } column-left nav a span { padding: 0 1rem; } column-left nav a svg { height: 1.5795rem; width: 1.5795rem; } abbr[title] { border-bottom: 1px dashed; text-decoration: none; } abbr[title]:hover { border-bottom: 2px dashed; } input[type="checkbox"]:checked ~ abbr[title]::after { content: " (" attr(title) ")"; } samp { font-variant: all-small-caps; letter-spacing: 0.05rem; } b, strong { font-weight: 700; } small { font-size: 80%; opacity: 0.85; } audio, canvas, iframe, img, svg, video { vertical-align: middle; } video, audio { width: 100%; } audio { margin: 0.75rem 0; } figure { text-align: center; } iframe { width: 1px; min-width: 100%; border: 2px solid #ccc; border: 2px solid var(--border-darker); background-color: #fefefe; border-radius: 0.5rem !important; min-height: 16rem; } self-embed iframe { min-height: 11rem; max-height: 11rem; } img { height: auto; max-width: 100%; border: 1px solid; border-color: #ccc; border-color: var(--border-darker); border-radius: 0.5rem; object-fit: cover; display: block; background-color: #fefefe; } img:hover { box-shadow: 0 0 14px #00000060; box-shadow: 0 0 14px var(--shadow); filter: brightness(90%); } img, iframe { user-select: none; } p { line-height: 1.4; } svg { stroke-width: 0.08rem; } svg:not([fill]) { fill: currentColor; } svg:not(:root) { overflow: hidden; } button, input { overflow: visible; } button, select { text-transform: none; } button, [type="reset"], [type="button"], [type="submit"], micro-tags a, micro-expand label, paginator-navigation a, micro-author micro-summary > a { align-items: center; appearance: none; background-color: #fff; background-color: var(--button-background); border-radius: 0.5rem; border: 1px solid #eee; border: 1px solid var(--border-lighter); box-shadow: 0 1px 2px #00000060; box-shadow: 0 1px 2px var(--shadow); color: inherit; cursor: pointer; display: flex; font-size: 100%; height: 1.95rem; padding: 0.125rem 0.5rem; text-decoration: none; } button:hover, [type="reset"]:hover, [type="button"]:hover, [type="submit"]:hover, micro-tags a:hover, micro-expand label:hover, paginator-navigation a:hover, micro-author micro-summary > a:hover { border: 1px solid; border-color: #aaa; border-color: var(--border-darkest); } button svg, paginator-navigation svg, micro-author micro-summary > a svg { height: 1.25rem; width: 1.25rem; margin: 0 0.25rem; } hr { border-top: 1px solid; } /* ----- Tables ----- */ table { border-radius: 0.5rem; border-spacing: 0; border: 1px solid #ccc; border: 1px solid var(--border-darker); padding: 0.5rem 0 0 0; width: 100%; background-color: #fefefe; background-color: var(--background); } th { border-bottom: 1px solid #ccc; border-bottom: 1px solid var(--border-darker); padding: 0 0.5rem 0.5rem 0.5rem; text-align: left; } td { padding: 0.5rem 0 0.5rem 0.5rem; border-right: 1px solid #ccc; border-right: 1px solid var(--border-darker); border-bottom: 1px solid #ccc; border-bottom: 1px solid var(--border-darker); } td:last-child { padding-right: 0.5rem; border-right: none; } tr:last-child td { border-bottom: none; } tbody tr:nth-child(odd) td { background-color: #f3f3f3; background-color: var(--table-odd-background); } tbody tr:nth-child(even) td { background-color: #f9f9f9; background-color: var(--table-even-background); } tbody tr:hover td { background-color: #eee; background-color: var(--hover-background); } tr:last-child td:first-child { border-bottom-left-radius: 0.5rem; } tr:last-child td:last-child { border-bottom-right-radius: 0.5rem; } /* ----- Print ----- */ @media print { a[href^="http"]::after { content: " (" attr(href) ")"; } abbr[title]::after { content: " (" attr(title) ")"; } } /* ----- Base ----- */ body { background-color: #fefefe; background-color: var(--background); color: #111; color: var(--foreground); display: flex; margin: 0 auto; max-width: 1250px; min-height: 100%; overflow-x: hidden; -webkit-text-size-adjust: none; } column-left { display: flex; width: 14.25%; justify-content: flex-end; } column-right { width: 28%; } column-left, column-right { margin: 0.5rem 2rem; } column-middle { flex: 6; max-width: 600px; min-height: 100vh; width: 100%; } micro-card, micro-tags { display: block; } history-archive h1, records-archive h1 { text-align: center; font-weight: 400; font-size: 150%; } micro-tags { margin-bottom: -0.5rem; margin-top: 0.5rem; } micro-tags a { color: #0149bc; color: var(--link); display: inline-block; margin: 0 0.25rem 0.5rem 0; } micro-summary { border-bottom: 1px solid; border-color: #eee; border-color: var(--border-lighter); display: flex; padding: 1rem; position: relative; } micro-summary:hover { background-color: #f5f9ff; background-color: var(--hover-background-alternate); } micro-summary:focus-within { background-color: #f0ecf9; background-color: var(--focus-within-background); } micro-author micro-summary { justify-content: start; align-items: center; border: none; } micro-author micro-thumbnail { flex: none; margin-right: 0.5rem; } micro-author micro-header { flex: 1; min-width: 3rem; margin-right: 0.75rem; } micro-author micro-header h2 { line-height: 1.25rem; } micro-author micro-summary p:not(:last-child) { flex: 4; margin: 0 0.75rem 0 0; color: #444; color: var(--fade); max-width: 20rem; } micro-thumbnail figure { margin: 0 0.75rem 0 0; } micro-thumbnail figure > a { display: block; } micro-thumbnail figure img { border-radius: 100%; min-width: 3.5rem; min-height: 3.5rem; max-width: 3.5rem; max-height: 3.5rem; } micro-content { flex: 8; width: 0; } micro-content ul { list-style-type: "\2012"; padding-left: 2rem; } micro-content li { padding-left: 0.5rem; } micro-content ul li + li { margin-top: 0.25rem; } [data-kind] micro-content h1 a, [data-kind] micro-content h2 a, [data-kind] micro-content h3 a { color: inherit; } micro-content > figure img { border: none; margin: 0 auto; box-shadow: 0 0 3px #00000060; box-shadow: 0 0 3px var(--shadow); } micro-content > figure > a { border-radius: 0.5rem; display: inline-block; } micro-content > figure > a[data-orientation="landscape"] { display: block; } micro-content > figure > a[data-orientation="landscape"] img { width: 100%; max-height: 20rem; } micro-metadata { align-items: center; color: #444; color: var(--fade); display: flex; line-height: 1.4; margin-bottom: 0.5rem; } micro-metadata h2 { display: inline; } micro-metadata header { word-break: break-all; word-break: break-word; } micro-metadata header a { color: inherit; } micro-metadata header > *:not(:last-child) { margin-right: 0.5rem; } micro-metadata header > *:hover { color: #111; color: var(--foreground); } micro-metadata-expiry, micro-metadata-draft em, micro-metadata-wordcount word-limit em { color: #8f0000; color: var(--danger); font-style: normal; } micro-metadata-draft em { font-variant: all-small-caps; } micro-header footer svg, micro-metadata header svg { height: 1rem; width: 1rem; stroke-width: 0.1rem; } micro-metadata-unlisted { font-variant: all-small-caps; } s label, abbr[title], abbr[title] label, micro-metadata-expiry, micro-metadata-readtime, micro-metadata-datetime, micro-metadata-unlisted, micro-metadata-wordcount { cursor: help; } micro-metadata-anchored { display: flex; margin-bottom: 0.25rem; width: 100%; } micro-metadata-anchored > * { margin-right: 0.5rem; display: flex; flex-wrap: wrap; align-items: center; } micro-metadata-anchored svg { margin-right: 0.25rem; } micro-metadata-menu { display: inline-block; position: relative; } micro-metadata-menu context-menu { min-width: 10rem; } micro-metadata-menu context-menu svg { margin-right: 0.25rem; } micro-metadata-menu context-menu a { display: block; padding: 0.5rem 1rem; } micro-metadata-menu context-menu a:hover { background-color: #eee; background-color: var(--hover-background); border-radius: 0.25rem; } [data-kind] micro-content h1 a, [data-kind] micro-content h2 a, [data-kind] micro-content h3 a, micro-metadata-view a, micro-metadata-name a, micro-metadata-draft a, micro-metadata-handle a, micro-metadata a:focus > span, micro-metadata context-menu a, micro-metadata context-menu a span { text-decoration: none; } [data-kind] micro-content h1 a:hover, [data-kind] micro-content h2 a:hover, [data-kind] micro-content h3 a:hover, micro-metadata-menu span, micro-metadata-view a span, micro-metadata-name a:hover, micro-metadata-draft a span, micro-metadata-handle a span { text-decoration: underline; } anchored-pinned svg { fill: #9ed1fa; } anchored-liked svg { fill: #cd5c5c; } micro-header micro-header-banner img { background-color: transparent; border-radius: 0.125rem; height: 12rem; width: 100%; border: none; } micro-header micro-header-picture img { border-radius: 100%; height: 8rem; margin: -4rem 2rem 0 2rem; position: relative; width: 8rem; padding: 0.25rem; } micro-header section { margin: 1rem 2rem 0 2rem; line-height: 1; display: flex; align-items: baseline; } micro-header-title { flex: 1; line-height: 1.25; margin-right: 1rem; } micro-header-description { flex: 6; } micro-header h3 { font-weight: 400; color: #444; color: var(--fade); } micro-header footer, micro-header footer code { color: #444; color: var(--fade); } micro-header footer { margin: 1.25rem 2rem 0.25rem 2rem; text-align: center; font-size: 95%; } micro-header footer p { margin: 0.75rem 0.5rem 0.25em 0; display: inline; } micro-content details[data-disclosure] summary { display: block; margin: 0 -0.25rem 0.5rem -0.25rem; padding: 0.25rem; } micro-content details[data-disclosure] summary:hover { text-shadow: 0 0 currentColor; } micro-content details[data-disclosure] summary:after, micro-content details[data-disclosure][open] summary:after { padding: 0 0.5rem; margin-left: 1ch; border: 2px solid; border-color: #ddd; border-color: var(--border-darker); border-radius: 0.5rem; font-variant: small-caps; } micro-content details[data-disclosure] summary:after { content: "show"; } micro-content details[data-disclosure][open] summary:after { content: "hide"; } micro-content details[data-disclosure] summary::-webkit-details-marker { display: none; } micro-content details[data-disclosure] ~ *:not(micro-tags) { display: none; } micro-content details[data-disclosure][open] ~ * { display: inherit; } micro-thread related-content footer { font-size: 100%; border-bottom: 1px solid; border-color: #ccc; border-color: var(--border-lighter); margin: 0; padding: 0.5rem 0; } tab-bar { display: inline-block; overflow-x: auto; overflow-y: hidden; vertical-align: top; white-space: nowrap; width: 100%; } tab-bar nav { display: flex; justify-content: center; border-bottom: 1px solid; border-color: #ddd; border-color: var(--border-darker); min-width: 450px; } tab-bar nav a { border-left: 1px solid; border-right: 1px solid; border-top-left-radius: 0.5rem; border-top-right-radius: 0.5rem; border-top: 1px solid; border-color: #ddd; border-color: var(--border-darker); color: #444; color: var(--fade); padding: 0.5rem 1rem; margin-top: 0.5rem; position: relative; text-decoration: none; top: 1px; border-bottom: 2px solid var(--background); } tab-bar nav a:not(:last-child) { margin-right: 0.5rem; } tab-bar nav a[data-draft] { color: #8f0000; color: var(--danger); } tab-bar nav a:hover { text-decoration: underline; } column-middle main > nav { align-items: center; background-color: #fefefe; background-color: var(--background); border-bottom: 1px solid; border-color: #eee; border-color: var(--border-lighter); display: flex; position: sticky; position: -webkit-sticky; top: 0; width: 100%; z-index: 100; height: 4rem; } column-middle main > nav section h2, column-middle main > nav section small { margin: 0; } micro-author micro-header h2, micro-author micro-header h3, micro-author micro-header time, column-middle main > nav section h2, column-middle main > nav section small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } column-middle main > nav section { line-height: 1.25; padding: 0 0.5rem; } column-middle main > footer { margin: 1rem 0; } icon-button a { color: inherit; display: flex; justify-content: center; align-items: center; width: 4rem; flex-wrap: wrap; text-decoration: none; height: 100%; padding: 0.5rem 0; } icon-button, icon-navigator { height: 4rem; } icon-button a:hover { background-color: #eee; background-color: var(--hover-background); } icon-button svg { width: 100%; } icon-button p { margin: 0; } code-block pre { border-radius: 0.5rem; border: 1px solid #ccc; border: 1px solid var(--border-darker); display: block; font-size: 95%; margin: 0; overflow-x: auto; overflow-y: hidden; padding: 2.65rem 0 0 0; tab-size: 2; word-break: break-word; white-space: pre; resize: both; position: relative; z-index: 2; } code-block pre code { display: inline-block; min-width: 100%; border-top: 1px solid #ccc; border-top: 1px solid var(--border-darker); padding: 0.75rem; } code-block[data-lines] pre code { padding: 0.1rem 0.75rem; } code-block header { position: relative; top: 1.85rem; margin-top: -1rem; height: 1rem; padding: 0 0.5rem; display: flex; justify-content: space-between; align-items: center; z-index: 3; } code-block header language-label { padding: 0.125rem 1rem; font-variant: all-small-caps; } code-block header language-label a { text-decoration: none; } code-block header language-label a:hover { text-decoration: underline; } paginator-navigation { padding: 1rem 0.25rem 0 0.25rem; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; } paginator-navigation a { margin: 0 0.25rem 0.5rem 0.25rem; font-size: 85%; display: flex; align-items: center; justify-content: center; } web-ring, author-list, following-list, gallery-images { padding-bottom: 1rem; display: block; } web-ring > h1, author-list > h1, following-list > h1, gallery-images > h1 { font-size: 95%; margin: 0.5rem 0 1rem 0; text-align: center; text-transform: uppercase; } gallery-images aside { display: flex; flex-wrap: wrap; justify-content: center; position: relative; } gallery-images a { display: flex; flex-basis: 33.33%; flex-grow: 1; height: 6rem; width: 33.333%; } gallery-images picture, gallery-images picture img { border-radius: 0; width: 100%; height: 100%; } gallery-images picture img:hover { box-shadow: none; } gallery-overlay { background-color: transparent; border-radius: 0.5rem; height: 100%; outline: 4px solid #fefefe; outline: 4px solid var(--background); position: absolute; left: 0; top: 0; width: 100%; z-index: 1; pointer-events: none; border: 1px solid; border-color: #ccc; border-color: var(--border-lighter); } web-ring { border-radius: 1rem; position: sticky; position: -webkit-sticky; top: 1rem; } micro-metadata-anchored a:hover, web-ring a[href^="http"]:hover { text-decoration: underline; } web-ring header { font-weight: 700; } web-ring time, micro-author micro-header time { display: block; color: #444; color: var(--fade); } web-ring time { font-variant: small-caps; } web-ring p, web-ring time { display: inline; } web-ring p:not(:last-child) { margin-bottom: 0; } web-ring-item:not(:last-child) { margin-bottom: 2rem; display: block; } web-ring aside, author-list aside, following-list aside { background-color: #f9f9f9; background-color: var(--widget-background); border-radius: 1rem; } web-ring aside footer, author-list aside footer, following-list aside footer { background-color: #fefefe; background-color: var(--background); } web-ring aside { padding: 1rem; } column-right aside a { text-decoration: none; } author-list aside { display: block; } author-list p { display: none; } search-entry { display: inherit; width: 100%; } search-entry[data-focus], search-entry:focus-within { position: absolute; } search-entry:focus-within form { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } search-entry form { background-color: #fefefe; background-color: var(--background); border-radius: 0.5rem; border: 1px solid; border-color: #ccc; border-color: var(--border-darker); display: inline-flex; margin: 0 1rem; width: 100%; position: relative; } search-entry form button { background-color: transparent; border: none; box-shadow: none; cursor: pointer; display: block; padding: 0; border-radius: 0; border-top-right-radius: 0.5rem; border-bottom-right-radius: 0.5rem; min-width: 4rem; max-width: 4rem; height: 2.85rem; line-height: 1; } search-entry form input { -webkit-appearance: none; background-color: #fefefe; background-color: var(--background); border-bottom-left-radius: 0.5rem; border-top-left-radius: 0.5rem; border: none; font-size: 100%; line-height: 1.5; padding-left: 1rem; padding-right: 1rem; width: 100%; color: inherit; } search-entry form button svg { stroke-width: 0.1rem; } search-entry form input:focus { outline: none; background-color: #fefefe !important; background-color: var(--background) !important; } search-entry ul { position: absolute; background-color: inherit; padding-top: 2.9rem; border: 1px solid #ccc; border: 1px solid var(--border-darker); border-radius: 0.5rem; z-index: -1; margin-right: 1rem; margin-left: -0.05rem; width: 100.3%; box-shadow: 0 4px 6px #00000060; box-shadow: 0 4px 6px var(--shadow); } search-entry ul li a span { font-weight: 400; } search-entry ul li a { font-weight: 700; color: inherit; text-decoration: none; display: block; padding: 0.25rem 0.75rem; } search-entry ul li:first-child a { background-color: #ebf3ff; background-color: var(--hover-background-alternate); } search-entry ul li:only-child a, search-entry ul li:last-child a:hover { border-bottom-right-radius: 0.5rem; border-bottom-left-radius: 0.5rem; } search-entry ul li a:hover { background-color: #eee; background-color: var(--hover-background); } item-list { font-size: 100%; } item-list h1 { padding: 1rem; } item-list ul { padding: 0 0.5rem 0 0.5rem; } item-list li:hover { background-color: #eee; background-color: var(--hover-background); } item-list li:hover span:last-child { text-decoration: underline; } item-list li > a, records-archive li { display: flex; text-decoration: none; align-items: baseline; margin: 0.25rem 0; padding: 0.5rem; } item-list span:first-child { flex: 1; text-transform: uppercase; } item-list span:nth-child(2) { flex: 3; margin: 0 0.5rem; } item-list span:last-child { flex: 1; text-align: right; } item-list span:first-child, item-list span:last-child { color: #444; color: var(--fade); } item-list a:focus span:first-child, item-list a:focus span:last-child { color: inherit; } source-files footer { padding: 0 1rem; } source-files li a { padding: 0.25rem 0.5rem; } source-files item-list a span:first-child { flex: 3; } source-files item-list a span:nth-child(2) { flex: 4; } context-menu { background-color: #fff; background-color: var(--background-bolder); border: 1px solid; border-color: #eee; border-color: var(--border-lighter); border-radius: 0.5rem; box-shadow: 0 0 1rem -0.5rem #00000060; box-shadow: 0 0 1rem -0.5rem var(--shadow); min-width: 6.25rem; position: absolute; z-index: 99; visibility: hidden; opacity: 0; } context-menu[right] { right: 0; } context-menu[left] { left: 0; } context-menu[anchor] { left: -125%; top: 0; } context-menu[left], context-menu[right] { top: 1rem; } context-profile p a { text-decoration: underline; } context-profile aside p { color: #444; color: var(--fade); margin: 0; } context-profile div { display: flex; align-items: center; margin-bottom: 0.5rem; } context-profile aside:nth-child(2) { line-height: 1.25; } context-profile context-menu { color: #111; color: var(--foreground); display: block; padding: 1rem; text-align: left; max-width: 20rem; transition-delay: 0.3s; } micro-card figure:hover context-menu, input[type="checkbox"]:checked + context-menu { margin-right: 1rem; opacity: 1; visibility: visible; } diagram-container svg { border: 2px solid; border-radius: 0.5rem; border-color: #ccc; border-color: var(--border-darker); margin: 0.5rem 0; background-color: #fefefe; background-color: var(--background); } reaction-tip { text-decoration: underline; -webkit-text-decoration-style: wavy; text-decoration-style: wavy; text-decoration-thickness: 0.05rem; cursor: pointer; position: relative; display: inline-block; } reaction-tip:hover { text-decoration-thickness: 0.1rem; } reaction-tip:hover img { opacity: 1; visibility: visible; width: 100%; } reaction-tip img { position: absolute; z-index: 99; visibility: hidden; opacity: 0; max-height: 80px; object-fit: cover; bottom: 100%; left: 50%; transform: translateX(-50%); max-width: fit-content; border: none; } main micro-card:first-of-type reaction-tip img { bottom: 0; top: 100%; } link-card { display: flex; border: 1px solid; border-color: #ccc; border-color: var(--border-darker); border-radius: 0.5rem; margin-bottom: 0.75rem; } link-card a img { min-width: 5rem; max-width: 5rem; border: none; } link-card > a { border-right: 1px solid; border-color: #ccc; border-color: var(--border-darker); display: flex; align-items: center; padding: 1rem; } link-card article { padding: 1rem; width: 100%; } link-card article a { word-break: break-all; display: block; } /* ----- Attributes ----- */ [tabindex="-1"]:focus { outline: none; } [hidden] { display: none; } [data-invisible] { visibility: hidden; } [data-hover] { text-decoration: none; } [draft] { background-color: #fff5f5; background-color: var(--danger-background-lighter); border-color: #fcd2cf; border-color: var(--danger-background); } [disabled] { cursor: not-allowed; border-color: #eee; border-color: var(--border-lighter); color: #444; color: var(--fade); } [role="doc-endnotes"] { margin-bottom: 0.75rem; } [role="doc-endnotes"] hr { border-top: 1px solid #ccc; border-top: 1px solid var(--border-darker); margin-bottom: 0.75rem; opacity: 0.25; } [role="doc-endnotes"] ol { padding-left: 2rem; } [xml-data] micro-thumbnail { display: block; } [xml-data] column-middle nav section { flex-grow: 1; } [xml-data="sitemap"] main section { padding: 1rem; } [xml-data="sitemap"] a { text-decoration: none; } [xml-data="sitemap"] a:hover { text-decoration: underline; } /* ----- Responsive ----- */ @media screen and (max-width: 1220px) { column-left { flex: none; margin: 0.5rem; } column-left nav a { flex-direction: column-reverse; justify-content: center; white-space: nowrap; overflow: hidden; } column-left nav a span { padding-top: 0.5rem; } } @media screen and (max-width: 1055px) { column-left, search-entry, column-middle main > nav section { display: none; } column-middle main > nav { justify-content: space-between; overflow-x: auto; overflow-y: hidden; } column-middle main > nav icon-navigator[hidden] { display: inline; } } @media screen and (max-width: 925px) { column-right { display: none; } column-middle { display: block; max-width: 100%; } column-middle main > nav { position: fixed; box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.2); } micro-card { max-width: 600px; margin: 0 auto; } micro-metadata { line-height: inherit; } micro-header section { display: block; } micro-author micro-header h2, micro-author micro-header h3 { white-space: initial; } micro-author micro-summary { flex-direction: column; text-align: center; border-bottom: 1px solid #eee; border-bottom: 1px solid var(--border-lighter); } micro-author micro-summary micro-header, micro-author micro-summary micro-thumbnail, micro-author micro-summary p:not(:last-child) { flex: auto; margin: 0 0 0.75rem 0; } navigation-separator hr[hidden] { border-color: transparent; display: flex; height: 0; margin: 0; padding-top: 4rem; border: none; } html { margin: 0; } body { display: block; overflow-y: scroll; } tab-bar:active, tab-bar:hover, tab-bar:focus, tab-bar:focus-within, tab-bar:focus-visible, column-middle main > nav:active, column-middle main > nav:hover, column-middle main > nav:focus, column-middle main > nav:focus-within, column-middle main > nav:focus-visible { box-shadow: 1rem -0.2rem 1rem -1rem inset, -1rem -0.2rem 1rem -1rem inset; } } @media screen and (max-width: 460px) { micro-card micro-summary > micro-thumbnail { display: none; } micro-metadata micro-thumbnail[hidden], micro-author micro-card micro-summary > micro-thumbnail { display: block; } } /* ----- Self Frames ----- */ @media (max-height: 12rem) { micro-card { width: 100vw; padding-right: 1rem; } micro-summary { min-height: 14rem; } :not(#main):target micro-summary, :not(#main):target micro-summary:hover { outline: none; } :target::before { display: none; } main > footer, column-middle main > nav, navigation-separator hr[hidden] { display: none; } } /* ----- Animations ----- */ text-animation { height: 0; } text-animation, text-animation span { display: inline-block; } text-animation[rattle], text-animation[default] { animation: tilt-rightward 0.15s infinite, tilt-leftward 0.2s infinite; } text-animation[hang] { animation: tilt-rightward 1.3s infinite, tilt-leftward 1.8s infinite; } text-animation[squeeze] { animation: squeeze 1s infinite; } text-animation[twitch] { animation: quiver 2.25s infinite, quiver 1.45s infinite; } text-animation[tremble] { animation: leftward 0.1s infinite, quiver 0.75s infinite, quiver 1.35s infinite; } text-animation[grow] { animation: maximize 1.4s infinite; } text-animation[shrink] { animation: minimize 1.25s infinite; } text-animation[grow], text-animation[shrink] { transform-origin: right 1rem; } text-animation[distort] span { animation: distort 0.25s infinite, distort 0.55s infinite, distort 0.75s infinite; } text-animation[roll] span { animation: rotateY 2s infinite; animation-delay: calc(0.2s * var(--frame)); } text-animation[flip] span { animation: rotateX 2.35s infinite; animation-delay: calc(0.2s * var(--frame)); } text-animation[twirl] span { animation: rotateZ 3s infinite; animation-delay: calc(0.2s * var(--frame)); } text-animation[wave] span { animation: up 1s infinite; animation-delay: calc(0.1s * var(--frame)); } text-animation[skip] span { animation: skip 1s infinite; animation-delay: calc(0.1s * var(--frame)); } text-animation[jiggle] span { animation: up 0.2s infinite, down 0.3s infinite, leftward 0.25s infinite; animation-delay: calc(0.1s * var(--frame)); } text-animation[float] span { animation: up 1s infinite; } text-animation[hop] span { animation: hop 1s infinite; } text-animation[shake] span { animation: left 0.15s infinite; } text-animation[waggle] span { animation: left 0.5s infinite; } text-animation[jump] span { animation: up 0.15s infinite; } text-animation[vibrate] span { animation: up 0.125s infinite, left 0.15s infinite; } @keyframes rotateY { 0%, 50% { transform: rotateY(360deg); } } @keyframes rotateX { 0%, 50% { transform: rotateX(360deg); } } @keyframes rotateZ { 0%, 50% { transform: rotateZ(360deg); } } @keyframes tilt-rightward { 50% { transform: rotateZ(5deg); } } @keyframes tilt-leftward { 50% { transform: rotateZ(-5deg); } } @keyframes up { 50% { transform: translateY(-0.15rem); } } @keyframes down { 50% { transform: translateY(0.15rem); } } @keyframes left { 50% { transform: translateX(-0.15rem); } } @keyframes leftward { 50% { transform: translateX(-0.05rem); } } @keyframes squeeze { 50% { transform: scale(0.95, 1); } } @keyframes maximize { 0% { transform: scale(1, 1.25); } 10% { transform: scale(1, 1.05); } 20% { transform: scale(1, 1.25); } 30% { transform: scale(1, 1.1); } 40% { transform: scale(1, 1.25); } 50% { transform: none; } } @keyframes minimize { 0% { transform: scale(0.75); } 10% { transform: scale(0.95); } 20% { transform: scale(0.75); } 30% { transform: scale(0.85); } 40% { transform: scale(0.75); } 50% { transform: none; } } @keyframes skip { 0%, 50%, 100% { transform: translateY(0); } 10% { transform: translateY(-0.25rem); } } @keyframes hop { 0%, 30%, 50% { transform: translateY(0); } 10%, 40% { transform: translateY(-0.25rem); } } @keyframes quiver { 5% { transform: translateY(-0.025rem) skewX(-5deg) scale(0.9); } 10% { transform: none; } } @keyframes distort { 20% { text-shadow: 4px 0 var(--background); } 50% { text-shadow: -4px 0 var(--background); } 100% { text-shadow: none; } }