-/* $Id: mandoc.css,v 1.9 2017/01/20 21:37:56 schwarze Exp $ */
+/* $Id: mandoc.css,v 1.48 2021/03/30 19:26:20 schwarze Exp $ */
/*
* Standard style sheet for mandoc(1) -Thtml and man.cgi(8).
+ *
+ * Written by Ingo Schwarze <schwarze@openbsd.org>.
+ * I place this file into the public domain.
+ * Permission to use, copy, modify, and distribute it for any purpose
+ * with or without fee is hereby granted, without any conditions.
*/
/* Global defaults. */
-html { max-width: 100ex; }
-body { font-family: Helvetica,Arial,sans-serif; }
-table { width: 100%;
- margin-top: 0ex;
- margin-bottom: 0ex; }
-td { vertical-align: top; }
+html { max-width: 65em;
+ --bg: #FFFFFF;
+ --fg: #000000; }
+body { background: var(--bg);
+ color: var(--fg);
+ font-family: Helvetica,Arial,sans-serif; }
+h1 { font-size: 110%; }
+table { margin-top: 0em;
+ margin-bottom: 0em;
+ border-collapse: collapse; }
+/* Some browsers set border-color in a browser style for tbody,
+ * but not for table, resulting in inconsistent border styling. */
+tbody { border-color: inherit; }
+tr { border-color: inherit; }
+td { vertical-align: top;
+ padding-left: 0.2em;
+ padding-right: 0.2em;
+ border-color: inherit; }
+ul, ol, dl { margin-top: 0em;
+ margin-bottom: 0em; }
+li, dt { margin-top: 1em; }
+pre { font-family: inherit; }
+
+.permalink { border-bottom: thin dotted;
+ color: inherit;
+ font: inherit;
+ text-decoration: inherit; }
+* { clear: both }
/* Search form and search results. */
input[name=expr] {
width: 25%; }
-div.results { margin-top: 1em;
+table.results { margin-top: 1em;
margin-left: 2em;
font-size: smaller; }
/* Header and footer lines. */
-table.head { border-bottom: 1px dotted #808080;
+table.head { width: 100%;
+ border-bottom: 1px dotted #808080;
margin-bottom: 1em;
font-size: smaller; }
td.head-vol { text-align: center; }
td.head-rtitle {
text-align: right; }
-table.foot { border-top: 1px dotted #808080;
+table.foot { width: 100%;
+ border-top: 1px dotted #808080;
margin-top: 1em;
font-size: smaller; }
-td.foot-date { width: 50%; }
-td.foot-os { width: 50%;
- text-align: right; }
+td.foot-os { text-align: right; }
/* Sections and paragraphs. */
-div.manual-text {
- margin-left: 5ex; }
-h1.Sh { margin-top: 2ex;
- margin-bottom: 1ex;
- margin-left: -4ex;
- font-size: 110%; }
-h2.Ss { margin-top: 2ex;
- margin-bottom: 1ex;
- margin-left: -2ex;
+.manual-text {
+ margin-left: 3.8em; }
+.Nd { }
+section.Sh { }
+h1.Sh { margin-top: 1.2em;
+ margin-bottom: 0.6em;
+ margin-left: -3.2em; }
+section.Ss { }
+h2.Ss { margin-top: 1.2em;
+ margin-bottom: 0.6em;
+ margin-left: -1.2em;
font-size: 105%; }
-div.Pp { margin: 1ex 0ex; }
-a.Sx { }
-a.Xr { }
+.Pp { margin: 0.6em 0em; }
+.Sx { }
+.Xr { }
/* Displays and lists. */
-div.Bd { }
-div.D1 { margin-left: 5ex; }
+.Bd { }
+.Bd-indent { margin-left: 3.8em; }
-ul.Bl-bullet { list-style-type: disc;
+.Bl-bullet { list-style-type: disc;
padding-left: 1em; }
-li.It-bullet { }
-ul.Bl-dash { list-style-type: none;
+.Bl-bullet > li { }
+.Bl-dash { list-style-type: none;
padding-left: 0em; }
-li.It-dash:before {
+.Bl-dash > li:before {
content: "\2014 "; }
-ul.Bl-item { list-style-type: none;
+.Bl-item { list-style-type: none;
padding-left: 0em; }
-li.It-item { }
-
-ol.Bl-enum { padding-left: 2em; }
-li.It-enum { }
-
-dl.Bl-diag { }
-dt.It-diag { }
-dd.It-diag { }
-b.It-diag { font-style: normal; }
-dl.Bl-hang { }
-dt.It-hang { }
-dd.It-hang { }
-dl.Bl-inset { }
-dt.It-inset { }
-dd.It-inset { }
-dl.Bl-ohang { }
-dt.It-ohang { }
-dd.It-ohang { margin-left: 0ex; }
-dl.Bl-tag { }
-dt.It-tag { }
-dd.It-tag { }
-
-table.Bl-column { }
-tr.It-column { }
-td.It-column { }
-
-span.Rs { }
-span.RsA { }
-i.RsB { font-weight: normal; }
-span.RsC { }
-span.RsD { }
-i.RsI { font-weight: normal; }
-i.RsJ { font-weight: normal; }
-span.RsN { }
-span.RsO { }
-span.RsP { }
-span.RsQ { }
-span.RsR { }
-span.RsT { text-decoration: underline; }
-a.RsU { }
-span.RsV { }
-
-/* Fonts. */
+.Bl-item > li { }
+.Bl-compact > li {
+ margin-top: 0em; }
+
+.Bl-enum { padding-left: 2em; }
+.Bl-enum > li { }
+.Bl-compact > li {
+ margin-top: 0em; }
+
+.Bl-diag { }
+.Bl-diag > dt {
+ font-style: normal;
+ font-weight: bold; }
+.Bl-diag > dd {
+ margin-left: 0em; }
+.Bl-hang { }
+.Bl-hang > dt { }
+.Bl-hang > dd {
+ margin-left: 5.5em; }
+.Bl-inset { }
+.Bl-inset > dt { }
+.Bl-inset > dd {
+ margin-left: 0em; }
+.Bl-ohang { }
+.Bl-ohang > dt { }
+.Bl-ohang > dd {
+ margin-left: 0em; }
+.Bl-tag { margin-top: 0.6em;
+ margin-left: 5.5em; }
+.Bl-tag > dt {
+ float: left;
+ margin-top: 0em;
+ margin-left: -5.5em;
+ padding-right: 0.5em;
+ vertical-align: top; }
+.Bl-tag > dd {
+ clear: right;
+ column-count: 1; /* Force block formatting context. */
+ width: 100%;
+ margin-top: 0em;
+ margin-left: 0em;
+ margin-bottom: 0.6em;
+ vertical-align: top; }
+.Bl-compact { margin-top: 0em; }
+.Bl-compact > dd {
+ margin-bottom: 0em; }
+.Bl-compact > dt {
+ margin-top: 0em; }
+
+.Bl-column { }
+.Bl-column > tbody > tr { }
+.Bl-column > tbody > tr > td {
+ margin-top: 1em; }
+.Bl-compact > tbody > tr > td {
+ margin-top: 0em; }
+
+.Rs { font-style: normal;
+ font-weight: normal; }
+.RsA { }
+.RsB { font-style: italic;
+ font-weight: normal; }
+.RsC { }
+.RsD { }
+.RsI { font-style: italic;
+ font-weight: normal; }
+.RsJ { font-style: italic;
+ font-weight: normal; }
+.RsN { }
+.RsO { }
+.RsP { }
+.RsQ { }
+.RsR { }
+.RsT { text-decoration: underline; }
+.RsU { }
+.RsV { }
+
+.eqn { }
+.tbl td { vertical-align: middle; }
+.HP { margin-left: 3.8em;
+ text-indent: -3.8em; }
+
+/* Semantic markup for command line utilities. */
+
+table.Nm { }
+code.Nm { font-style: normal;
+ font-weight: bold;
+ font-family: inherit; }
+.Fl { font-style: normal;
+ font-weight: bold;
+ font-family: inherit; }
+.Cm { font-style: normal;
+ font-weight: bold;
+ font-family: inherit; }
+.Ar { font-style: italic;
+ font-weight: normal; }
+.Op { display: inline; }
+.Ic { font-style: normal;
+ font-weight: bold;
+ font-family: inherit; }
+.Ev { font-style: normal;
+ font-weight: normal;
+ font-family: monospace; }
+.Pa { font-style: italic;
+ font-weight: normal; }
+
+/* Semantic markup for function libraries. */
+
+.Lb { }
+code.In { font-style: normal;
+ font-weight: bold;
+ font-family: inherit; }
+a.In { }
+.Fd { font-style: normal;
+ font-weight: bold;
+ font-family: inherit; }
+.Ft { font-style: italic;
+ font-weight: normal; }
+.Fn { font-style: normal;
+ font-weight: bold;
+ font-family: inherit; }
+.Fa { font-style: italic;
+ font-weight: normal; }
+.Vt { font-style: italic;
+ font-weight: normal; }
+.Va { font-style: italic;
+ font-weight: normal; }
+.Dv { font-style: normal;
+ font-weight: normal;
+ font-family: monospace; }
+.Er { font-style: normal;
+ font-weight: normal;
+ font-family: monospace; }
+
+/* Various semantic markup. */
+
+.An { }
+.Lk { }
+.Mt { }
+.Cd { font-style: normal;
+ font-weight: bold;
+ font-family: inherit; }
+.Ad { font-style: italic;
+ font-weight: normal; }
+.Ms { font-style: normal;
+ font-weight: bold; }
+.St { }
+.Ux { }
+
+/* Physical markup. */
+
+.Bf { display: inline; }
+.No { font-style: normal;
+ font-weight: normal; }
+.Em { font-style: italic;
+ font-weight: normal; }
+.Sy { font-style: normal;
+ font-weight: bold; }
.Li { font-style: normal;
font-weight: normal;
font-family: monospace; }
+/* Tooltip support. */
+
+h1.Sh, h2.Ss { position: relative; }
+.An, .Ar, .Cd, .Cm, .Dv, .Em, .Er, .Ev, .Fa, .Fd, .Fl, .Fn, .Ft,
+.Ic, code.In, .Lb, .Lk, .Ms, .Mt, .Nd, code.Nm, .Pa, .Rs,
+.St, .Sx, .Sy, .Va, .Vt, .Xr {
+ display: inline-block;
+ position: relative; }
+
+.An::before { content: "An"; }
+.Ar::before { content: "Ar"; }
+.Cd::before { content: "Cd"; }
+.Cm::before { content: "Cm"; }
+.Dv::before { content: "Dv"; }
+.Em::before { content: "Em"; }
+.Er::before { content: "Er"; }
+.Ev::before { content: "Ev"; }
+.Fa::before { content: "Fa"; }
+.Fd::before { content: "Fd"; }
+.Fl::before { content: "Fl"; }
+.Fn::before { content: "Fn"; }
+.Ft::before { content: "Ft"; }
+.Ic::before { content: "Ic"; }
+code.In::before { content: "In"; }
+.Lb::before { content: "Lb"; }
+.Lk::before { content: "Lk"; }
+.Ms::before { content: "Ms"; }
+.Mt::before { content: "Mt"; }
+.Nd::before { content: "Nd"; }
+code.Nm::before { content: "Nm"; }
+.Pa::before { content: "Pa"; }
+.Rs::before { content: "Rs"; }
+h1.Sh::before { content: "Sh"; }
+h2.Ss::before { content: "Ss"; }
+.St::before { content: "St"; }
+.Sx::before { content: "Sx"; }
+.Sy::before { content: "Sy"; }
+.Va::before { content: "Va"; }
+.Vt::before { content: "Vt"; }
+.Xr::before { content: "Xr"; }
+
+.An::before, .Ar::before, .Cd::before, .Cm::before,
+.Dv::before, .Em::before, .Er::before, .Ev::before,
+.Fa::before, .Fd::before, .Fl::before, .Fn::before, .Ft::before,
+.Ic::before, code.In::before, .Lb::before, .Lk::before,
+.Ms::before, .Mt::before, .Nd::before, code.Nm::before,
+.Pa::before, .Rs::before,
+h1.Sh::before, h2.Ss::before, .St::before, .Sx::before, .Sy::before,
+.Va::before, .Vt::before, .Xr::before {
+ opacity: 0;
+ transition: .15s ease opacity;
+ pointer-events: none;
+ position: absolute;
+ bottom: 100%;
+ box-shadow: 0 0 .35em var(--fg);
+ padding: .15em .25em;
+ white-space: nowrap;
+ font-family: Helvetica,Arial,sans-serif;
+ font-style: normal;
+ font-weight: bold;
+ background: var(--bg);
+ color: var(--fg); }
+.An:hover::before, .Ar:hover::before, .Cd:hover::before, .Cm:hover::before,
+.Dv:hover::before, .Em:hover::before, .Er:hover::before, .Ev:hover::before,
+.Fa:hover::before, .Fd:hover::before, .Fl:hover::before, .Fn:hover::before,
+.Ft:hover::before, .Ic:hover::before, code.In:hover::before,
+.Lb:hover::before, .Lk:hover::before, .Ms:hover::before, .Mt:hover::before,
+.Nd:hover::before, code.Nm:hover::before, .Pa:hover::before,
+.Rs:hover::before, h1.Sh:hover::before, h2.Ss:hover::before, .St:hover::before,
+.Sx:hover::before, .Sy:hover::before, .Va:hover::before, .Vt:hover::before,
+.Xr:hover::before {
+ opacity: 1;
+ pointer-events: inherit; }
+
+/* Overrides to avoid excessive margins on small devices. */
+
+@media (max-width: 37.5em) {
+.manual-text {
+ margin-left: 0.5em; }
+h1.Sh, h2.Ss { margin-left: 0em; }
+.Bd-indent { margin-left: 2em; }
+.Bl-hang > dd {
+ margin-left: 2em; }
+.Bl-tag { margin-left: 2em; }
+.Bl-tag > dt {
+ margin-left: -2em; }
+.HP { margin-left: 2em;
+ text-indent: -2em; }
+}
+
+/* Overrides for a dark color scheme for accessibility. */
-table.synopsis { } /* SYNOPSIS section table. */
-
-/* General font modes. */
-
-i { } /* Italic: BI, IB, I, (implicit). */
-.emph { font-style: italic; font-weight: normal; } /* Emphasis: Em, Bl -emphasis. */
-b { } /* Bold: SB, BI, IB, BR, RB, B, (implicit). */
-.symb { font-style: normal; font-weight: bold; } /* Symbolic: Sy, Ms, Bf -symbolic. */
-small { } /* Small: SB, SM. */
-
-/* Context-specific modes. */
-
-i.addr { font-weight: normal; } /* Address (Ad). */
-i.arg { font-weight: normal; } /* Command argument (Ar). */
-span.author { } /* Author name (An). */
-b.cmd { font-style: normal; } /* Command (Cm). */
-b.config { font-style: normal; } /* Config statement (Cd). */
-span.define { } /* Defines (Dv). */
-span.desc { } /* Nd. After em-dash. */
-span.env { } /* Environment variables (Ev). */
-span.errno { } /* Error string (Er). */
-i.farg { font-weight: normal; } /* Function argument (Fa, Fn). */
-i.file { font-weight: normal; } /* File (Pa). */
-b.flag { font-style: normal; } /* Flag (Fl, Cm). */
-b.fname { font-style: normal; } /* Function name (Fa, Fn, Rv). */
-i.ftype { font-weight: normal; } /* Function types (Ft, Fn). */
-b.includes { font-style: normal; } /* Header includes (In). */
-span.lib { } /* Library (Lb). */
-b.macro { font-style: normal; } /* Macro-ish thing (Fd). */
-b.name { font-style: normal; } /* Name of utility (Nm). */
-span.opt { } /* Options (Op, Oo/Oc). */
-span.type { font-style: italic; font-weight: normal; } /* Variable types (Vt). */
-span.unix { } /* Unices (Ux, Ox, Nx, Fx, Bx, Bsx, Dx). */
-b.utility { font-style: normal; } /* Name of utility (Ex). */
-b.var { font-style: normal; } /* Variables (Rv). */
-
-a.link-ext { } /* Off-site link (Lk). */
-a.link-includes { } /* Include-file link (In). */
-a.link-mail { } /* Mailto links (Mt). */
-
-/* Equation modes. See eqn(7). */
-
-span.eqn { }
-
-/* Table modes. See tbl(7). */
-
-table.tbl { }
+@media (prefers-color-scheme: dark) {
+html { --bg: #1E1F21;
+ --fg: #EEEFF1; }
+:link { color: #BAD7FF; }
+:visited { color: #F6BAFF; }
+}