html { height: 100%; font-family: sans-serif; --color-regular-text: white; --color-regular-background: lch(from black calc(l + 10) c h); --color-alter-text: white; --color-alter-background: black; --color-primary-text: black; --color-primary-background: lch(from orange calc(l + 10) c h); @media (prefers-color-scheme: light) { --color-regular-text: black; --color-regular-background: white; --color-alter-text: black; --color-alter-background: lch(from white calc(l - 10) c h); --color-primary-text: black; --color-primary-background: lch(from orange calc(l + 10) c h); } color: var(--color-regular-text); background-color: var(--color-regular-background); --color-active-text: var(--color-regular-text); --color-active-background: var(--color-regular-background); } .background { background-color: var(--color-active-background); } .regular, .alter, .primary { color: var(--color-alter-text); } .regular { --color-active-text: var(--color-regular-text); --color-active-background: var(--color-regular-background); } .alter { --color-active-text: var(--color-alter-text); --color-active-background: var(--color-alter-background); } .primary { --color-active-text: var(--color-primary-text); --color-active-background: var(--color-primary-background); } .positioned { margin: 0; } body { min-height: 100%; height: 1px; display: flex; flex-direction: column; } h1 { font-size: 2em; } h2 { font-size: 1.75em; } h3 { font-size: 1.5em; } h4 { font-size: 1.35em; } h5 { font-size: 1.25em; } h6 { font-size: 1.1em; } button { border: none; border-radius: 5px; color: var(--color-primary-text); background: var(--color-primary-background); padding: 1em 1em; margin: 1em; &:disabled { color: hsl(from var(--color-primary-text) h s calc(l + 25)); background-color: hsl(from var(--color-primary-background) h s calc(l + 25)); } &:hover, &:focus { color: hsl(from var(--color-primary-text) h s calc(l + 10)); background-color: hsl(from var(--color-primary-background) h s calc(l + 10)); } } header.layout { display: flex; align-items: center; >* { padding: 0.5em 0.25em; font-size: 2em; color: inherit; text-decoration: none; margin: 0; &:first-child { padding-left: 0.5em; padding-right: 0.5em; } &:nth-child(2) { padding-left: 0; } &:last-child { padding-right: 0.5em; } } } main.layout { flex-grow: 1; } .session-view { display: flex; flex-direction: column; min-height: 100%; gap: 1em; >* { padding-left: 1rem; padding-right: 1rem; } >:first-child { padding-top: 1rem; } >:last-child { padding-bottom: 1rem; } .session-view-header { display: flex; justify-content: space-between; align-items: center; } >.spacer { flex-grow: 1; } table { font-size: 1.5em; table-layout: fixed; width: 100%; text-align: center; border-spacing: 0; } th:not(:last-child), td:not(:last-child) { border-right: 1px solid var(--color-regular-text); } thead { border-bottom: 1px solid var(--color-regular-text); position: sticky; top: 0; th { border-bottom: 3px double var(--color-regular-text); padding: 0.5em 0; } } tbody { &:not(:last-of-type) tr:last-child td { border-bottom: 1px solid var(--color-regular-text); } min-height: 5px; } } .current-round { display: grid; grid-template-areas: "title title title title" "they-raise current-points current-points we-raise" "they-win they-win we-win we-win"; grid-template-columns: 1fr auto auto 1fr; gap: 1em; position: sticky; bottom: 0; padding: 1em; >h3 { grid-area: title; } >.current-points { grid-area: current-points; align-content: center; font-size: 2em; } >.they-raise { grid-area: they-raise; } >.we-raise { grid-area: we-raise; } >.they-win { grid-area: they-win; } >.we-win { grid-area: we-win; } } .continue { position: sticky; bottom: 0; padding: 1em; button { width: 100%; } }