:root { /* background */ --axiom-color-background: #fff; --axiom-color-background-secondary: #e2e2e2; /* text */ --axiom-font-family-sans: sans; --axiom-font-family-serif: serif; /* color */ --axiom-color: #373c44; --axiom-color-title: #2d3138; --axiom-color-muted: #646b79; --axiom-color-link-fg: #0172ad; --axiom-color-link-bg: #fff; --axiom-color-selection: #029ae840; /* elements */ --axiom-body-margin: 5vw; --axiom-color-border: #cfd5e2; --axiom-border: 1px solid var(--axiom-color-border); --axiom-padding: 1rem; --axiom-border-radius: 0.4rem; /* icons */ --axiom-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); --axiom-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E"); } @media (prefers-color-scheme: dark) { :root { /* Dark colors */ } } body { --axiom-body-font-family: var(--axiom-font-family-sans); --axiom-body-color: var(--axiom-color); --axiom-body-text-align: left; --axiom-body-max-width: 40rem; --axiom-body-line-height: 1.5rem; font-family: var(--axiom-body-font-family); color: var(--axiom-body-color); text-align: var(--axiom-body-text-align); line-height: var(--axiom-body-line-height); height: 100vh; width: 56rem; max-width: 90vw; margin: 0 var(--axiom-body-margin); } main { padding: var(--axiom-padding) 0; } ::selection { background-color: var(--axiom-color-selection); } h1, h2, h3, h4, h5, h6 { --axiom-title-font-family: var(--axiom-font-family-sans); --axiom-title-text-align: left; --axiom-title-color: var(--axiom-color-title); font-family: var(--axiom-title-font-family); color: var(--axiom-title-color); text-align: var(--axiom-title-text-align); } a { text-decoration: none; color: var(--axiom-color-link-fg); } header { padding: var(--axiom-padding) 0; } nav { display: flex; justify-content: space-between; align-items: center; } nav ul { padding: 0; display: flex; justify-content: space-between; list-style: none; } nav ul li { padding-right: var(--axiom-padding); } .overflow-auto { overflow: auto; } .body-width { width: calc(100vw - (var(--axiom-body-margin) * 2)); overflow-x: auto; } form { display: flex; flex-direction: column; } form div { display: flex; justify-content: space-between; align-items: center; } input, button, select { font-size: 1.1rem; margin: calc(var(--axiom-padding) * .5) 0; padding: var(--axiom-padding); border: var(--axiom-border); border-radius: var(--axiom-border-radius); background-color: #00000002; } button { background-color: var(--axiom-color-link-fg); color: var(--axiom-color-link-bg); cursor: pointer; } button.outline { background-color: #0000; color: var(--axiom-color-link-fg); } [type="checkbox"][role="switch"] { font-size: inherit; appearance: none; margin: 0.2em 0; padding: 1em; cursor: pointer; position: relative; width: 3.8em; height: 100%; border: var(--axiom-border); border-radius: 2em; outline: none; background-color: #ccc; transition: background .2s; } [type="checkbox"][role="switch"]::after { content: ''; position: absolute; top: 0.97em; left: 28%; transform: translate(-50%, -50%); border-radius: 50%; height: 1.55em; width: 1.55em; background-color: #fff; transition: left .2s; } [type="checkbox"][role="switch"]:checked { background-color: var(--axiom-color-link-fg); border-color: var(--axiom-color-link-fg); } [type="checkbox"][role="switch"]:checked::after { left: 72%; } footer { padding: var(--axiom-padding) 0; } details { padding: calc(var(--axiom-padding) * .5) 0; } details summary { font-size: 1.1rem; list-style-type: none; cursor: pointer; } details summary::after { width: 1rem; height: 1rem; float: right; transform: rotate(-90deg); background-image: var(--axiom-icon-chevron); background-size: 1rem auto; background-repeat: no-repeat; content: ""; } details[open] summary::after { transform: rotate(0deg); } table { width: 100%; margin: var(--axiom-padding) 0; border-collapse: collapse; table-layout: auto; } tbody tr:nth-child(odd) { background: #00000002; } th, td { font-size: 0.8rem; padding: 0.1rem 0.4rem; white-space: nowrap; border-bottom: var(--axiom-border); } th > input, td > input { all: unset; font-weight: normal; } dialog[open] { display: flex; z-index: 999; position: fixed; inset: 0; align-items: center; justify-content: center; width: inherit; min-width: 100%; height: inherit; min-height: 100%; padding: 0; border: 0; backdrop-filter: blur(0.375rem); background-color: #00000008; } dialog > article { padding: var(--axiom-padding); width: 85%; height: 80vh; max-width: 40rem; overflow-y: auto; border: var(--axiom-border); border-radius: var(--axiom-border-radius); background-color: var(--axiom-color-background); } dialog > article > header { padding: calc(var(--axiom-padding) * 0.5) 0; } dialog > article > header :is(a, button)[rel="prev"] { display: block; float: right; width: 2.5rem; height: 2.5rem; border: var(--axiom-border); border-radius: var(--axiom-border-radius); background-image: var(--axiom-icon-close); background-position: center; background-size: auto 1rem; background-repeat: no-repeat; background-color: transparent; }