* cover all Radixor dictionary languages * add PRIMARY_OUTPUT, ANY_CANDIDATE, and ALL_CANDIDATES policies * measure pairwise over-stemming and under-stemming * add balanced accuracy and complementary quality metrics * compare single-output and multi-output stemmers fairly * improve result validation, reporting, and documentation * move stemming quality tests into the standard test source set * preserve the existing JMH benchmark structure and badge output
208 lines
3.8 KiB
CSS
208 lines
3.8 KiB
CSS
/* Compact technical typography for Radixor */
|
|
|
|
:root {
|
|
--md-text-font: "Inter", "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
|
|
}
|
|
|
|
/* Hide page title only on the landing page */
|
|
.visually-hidden {
|
|
display: none;
|
|
}
|
|
|
|
/* Main article text */
|
|
.md-typeset {
|
|
font-size: 0.78rem;
|
|
line-height: 1.3;
|
|
}
|
|
|
|
/* Paragraph spacing */
|
|
.md-typeset p,
|
|
.md-typeset ul,
|
|
.md-typeset ol,
|
|
.md-typeset dl,
|
|
.md-typeset blockquote {
|
|
margin-top: 0.45em;
|
|
margin-bottom: 0.45em;
|
|
}
|
|
|
|
/* Headings */
|
|
.md-typeset h1 {
|
|
margin: 0 0 0.7rem;
|
|
font-size: 1.8rem;
|
|
line-height: 1.15;
|
|
}
|
|
|
|
.md-typeset h2 {
|
|
margin: 1.2rem 0 0.55rem;
|
|
font-size: 1.3rem;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.md-typeset h3 {
|
|
margin: 1rem 0 0.45rem;
|
|
font-size: 1.05rem;
|
|
line-height: 1.25;
|
|
}
|
|
|
|
.md-typeset h4,
|
|
.md-typeset h5,
|
|
.md-typeset h6 {
|
|
margin: 0.85rem 0 0.35rem;
|
|
line-height: 1.25;
|
|
}
|
|
|
|
/* Lists */
|
|
.md-typeset li {
|
|
margin-bottom: 0.15em;
|
|
}
|
|
|
|
.md-typeset ul,
|
|
.md-typeset ol {
|
|
padding-left: 1.1rem;
|
|
}
|
|
|
|
/* Tables */
|
|
.md-typeset table:not([class]) td,
|
|
.md-typeset table:not([class]) th {
|
|
padding: 0.45rem 0.7rem;
|
|
}
|
|
|
|
/* Publication-quality benchmark tables retain identity columns while scrolling. */
|
|
.quality-table {
|
|
max-width: 100%;
|
|
overflow-x: auto;
|
|
margin: 0.65rem 0 1rem;
|
|
border: 1px solid var(--md-default-fg-color--lightest);
|
|
border-radius: 0.2rem;
|
|
scrollbar-gutter: stable;
|
|
}
|
|
|
|
.quality-table:focus {
|
|
outline: 0.15rem solid var(--md-accent-fg-color);
|
|
outline-offset: 0.1rem;
|
|
}
|
|
|
|
.quality-table::before {
|
|
content: "Scrollable table: Rank, Stemmer, and Output policy remain visible.";
|
|
display: block;
|
|
padding: 0.35rem 0.55rem;
|
|
color: var(--md-default-fg-color--light);
|
|
font-size: 0.68rem;
|
|
}
|
|
|
|
.quality-table .md-typeset__table,
|
|
.quality-table table {
|
|
margin: 0;
|
|
}
|
|
|
|
.quality-table table th:nth-child(1),
|
|
.quality-table table td:nth-child(1),
|
|
.quality-table table th:nth-child(2),
|
|
.quality-table table td:nth-child(2),
|
|
.quality-table table th:nth-child(3),
|
|
.quality-table table td:nth-child(3) {
|
|
position: sticky;
|
|
z-index: 2;
|
|
background: var(--md-default-bg-color);
|
|
background-clip: padding-box;
|
|
}
|
|
|
|
.quality-table table th:nth-child(1),
|
|
.quality-table table td:nth-child(1) {
|
|
left: 0;
|
|
min-width: 2.8rem;
|
|
}
|
|
|
|
.quality-table table th:nth-child(2),
|
|
.quality-table table td:nth-child(2) {
|
|
left: 2.8rem;
|
|
min-width: 13rem;
|
|
white-space: normal;
|
|
}
|
|
|
|
.quality-table table th:nth-child(3),
|
|
.quality-table table td:nth-child(3) {
|
|
left: 15.8rem;
|
|
min-width: 8.5rem;
|
|
box-shadow: 0.2rem 0 0.25rem rgb(0 0 0 / 8%);
|
|
}
|
|
|
|
.quality-details > summary {
|
|
font-weight: 600;
|
|
}
|
|
|
|
@media screen and (max-width: 44.99em) {
|
|
.quality-table table th:nth-child(2),
|
|
.quality-table table td:nth-child(2) {
|
|
min-width: 10rem;
|
|
}
|
|
|
|
.quality-table table th:nth-child(3),
|
|
.quality-table table td:nth-child(3) {
|
|
position: static;
|
|
min-width: 7.5rem;
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
@media print {
|
|
.quality-table {
|
|
overflow: visible;
|
|
border: 0;
|
|
}
|
|
|
|
.quality-table::before {
|
|
display: none;
|
|
}
|
|
|
|
.quality-table table th,
|
|
.quality-table table td {
|
|
position: static !important;
|
|
}
|
|
|
|
.quality-details:not([open]) > *:not(summary) {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
/* Code blocks */
|
|
.md-typeset pre > code {
|
|
font-size: 0.72rem;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
/* Inline code */
|
|
.md-typeset code {
|
|
font-size: 0.72rem;
|
|
}
|
|
|
|
/* Navigation density */
|
|
.md-nav__item .md-nav__link {
|
|
margin-top: 0.12rem;
|
|
margin-bottom: 0.12rem;
|
|
}
|
|
|
|
.md-sidebar__scrollwrap {
|
|
padding-top: 0.3rem;
|
|
padding-bottom: 0.3rem;
|
|
}
|
|
|
|
/* Slightly narrower content rhythm */
|
|
.md-content__inner {
|
|
margin-top: 0.6rem;
|
|
padding-bottom: 1.2rem;
|
|
}
|
|
|
|
/* Admonitions more compact */
|
|
.md-typeset .admonition,
|
|
.md-typeset details {
|
|
margin: 0.8rem 0;
|
|
}
|
|
|
|
/* Optional: use a bit wider content area on large screens */
|
|
@media screen and (min-width: 76.25em) {
|
|
.md-grid {
|
|
max-width: 68rem;
|
|
}
|
|
}
|