1@layer reset {
2 *, *::before, *::after { box-sizing: border-box; border-radius: 0; }
3 html { -webkit-text-size-adjust: 100%; }
4 body, h1, h2, h3, h4, p, ul, ol, dl, dd, figure, pre { margin: 0; }
5 ul, ol { padding: 0; list-style: none; }
6 table { border-collapse: collapse; border-spacing: 0; }
7 th, td { padding: 0; text-align: left; font-weight: inherit; }
8 button, input, select { font: inherit; color: inherit; letter-spacing: inherit; }
9 button { background: none; border: 0; padding: 0; cursor: pointer; text-align: inherit; }
10 input { background: transparent; border: 0; border-radius: 0; }
11 summary { cursor: pointer; }
12 dialog { color: inherit; border: 0; padding: 0; max-width: none; max-height: none; }
13 img { max-width: 100%; }
14}
15
16@layer base {
17 html { background: var(--paper); scrollbar-width: thin; scrollbar-color: var(--rule) transparent; }
18 body {
19 min-height: 100dvh;
20 display: grid;
21 grid-template-rows: auto auto 1fr auto;
22 font: var(--fs) / var(--lh) var(--font);
23 color: var(--ink);
24 background: var(--paper);
25 font-variant-ligatures: none;
26 tab-size: 4;
27 }
28 h1, h2, h3, h4 { font-size: inherit; font-weight: bold; }
29 b, strong { font-weight: bold; }
30 em, i { font-style: normal; text-decoration: underline; text-underline-offset: 3px; }
31 small { font-size: var(--fs-s); }
32 code, pre, kbd, samp { font: inherit; }
33 a { color: inherit; text-decoration: underline; text-decoration-color: var(--rule); text-underline-offset: 3px; }
34 a:hover { text-decoration-color: currentColor; }
35 hr { border: 0; border-top: 1px solid var(--rule); margin: var(--lh) 0; }
36 ::selection { background: var(--ink); color: var(--paper); }
37
38 :focus { outline: none; }
39 :focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; }
40
41 [hidden] { display: none !important; }
42
43 .skip {
44 position: absolute; left: 0; top: 0; z-index: 30; padding: 0 1ch;
45 background: var(--ink); color: var(--paper);
46 transform: translateY(-100%);
47 }
48 .skip:focus { transform: none; }
49
50 main { padding: 0 var(--pad) var(--lh); min-width: 0; }
51
52 @media (prefers-reduced-motion: no-preference) {
53 a, button, tr, li, summary { transition: background-color 90ms linear, opacity 90ms linear; }
54 }
55}
56
57@layer utilities {
58 .dim { color: var(--ink-dim); }
59 .mute { color: var(--ink-mute); }
60 .nowrap { white-space: nowrap; }
61 .num { text-align: right; font-variant-numeric: tabular-nums; }
62 .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
63 .rule { border-top: 1px solid var(--rule); }
64}