blob: b5e27dfd11f9af08035ebe9e8c34b2c92426e193 [file]
---
---
// ----------------------------------------------------------------------------
// Apache StormCrawler — versioned documentation stylesheet ("Il Crawl").
// Mirror of the design-system Asciidoctor theme (site/asciidoc-theme/
// stormcrawler.css); shared by every docs/<version>/ page in place of the
// embedded default stylesheet, so one file restyles all releases at once.
// Extra rules bridge the icons=font markup of the generated pages
// (admonition labels render from the icon title attribute).
// ----------------------------------------------------------------------------
@font-face {
font-family: "Archivo";
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url("/css/resources/archivo-latin-variable.woff2") format("woff2");
}
@font-face {
font-family: "JetBrains Mono";
font-style: normal;
font-weight: 100 800;
font-display: swap;
src: url("/css/resources/jetbrains-mono-latin-variable.woff2") format("woff2");
}
:root {
--bg: #F7F7F3;
--ink: #191A16;
--copy: #474C42;
--muted: #71766A;
--line: #DBDDD2;
--panel: #EFEFE8;
--code-bg: #1A1918;
--code-fg: #D8D6D0;
--acc: #A32830;
--acc-soft: #FBE9EA;
--red: #C33540;
}
[data-theme="dark"] {
--bg: #141312;
--ink: #F5F3EF;
--copy: #B8B4AD;
--muted: #8D8983;
--line: #2E2B28;
--panel: #1A1917;
--code-bg: #0E0D0B;
--code-fg: #D8D6D0;
--acc: #E07078;
--acc-soft: #3B1518;
--red: #E07078;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html { scroll-padding-top: 76px; }
body {
font-family: "Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
background: var(--bg);
color: var(--copy);
font-size: 16px;
line-height: 1.7;
}
a {
color: var(--acc);
text-decoration: none;
}
a:hover {
text-decoration: underline;
text-underline-offset: 3px;
}
// --- Layout: TOC a sinistra (:toc: left → body.toc2) ------------------------
body.toc2 { padding-left: 280px; }
#toc.toc2 {
position: fixed;
top: 60px;
left: 0;
bottom: 0;
width: 280px;
overflow-y: auto;
padding: 28px 18px 40px 24px;
border-right: 1px solid var(--line);
background: var(--bg);
font-size: 13.5px;
}
#toc #toctitle {
font-weight: 700;
font-size: 11px;
letter-spacing: .1em;
text-transform: uppercase;
color: var(--muted);
margin-bottom: 12px;
}
#toc ul { list-style: none; }
#toc a {
display: block;
color: var(--muted);
padding: 5px 10px;
border-radius: 7px;
border-left: 2px solid transparent;
}
#toc a:hover {
color: var(--ink);
background: var(--panel);
text-decoration: none;
}
#toc a.active {
color: var(--ink);
font-weight: 600;
background: var(--acc-soft);
border-left: 2px solid var(--acc);
border-radius: 0 7px 7px 0;
}
#toc ul ul { margin: 2px 0 6px 12px; }
#toc ul ul a {
font-size: 12.5px;
padding: 3.5px 10px;
}
@media (max-width: 900px) {
body.toc2 { padding-left: 0; }
#toc.toc2 {
position: static;
width: auto;
border-right: 0;
border-bottom: 1px solid var(--line);
padding: 20px;
}
}
// --- Header & content -------------------------------------------------------
#header,#content {
max-width: none;
padding: 0 32px 0 52px;
}
@media (max-width: 900px) {
#header,#content { padding: 0 20px; }
}
#header { padding-top: 44px; }
#header h1 {
font-weight: 800;
font-size: 36px;
letter-spacing: -.02em;
color: var(--ink);
line-height: 1.15;
margin-bottom: 10px;
}
#header .details {
font-size: 13px;
color: var(--muted);
border-bottom: 1px solid var(--line);
padding-bottom: 18px;
margin-bottom: 8px;
}
#content {
padding-top: 20px;
padding-bottom: 90px;
}
h2,h3,h4 {
color: var(--ink);
line-height: 1.25;
margin: 2.2em 0 .6em;
letter-spacing: -.01em;
}
h2 {
font-size: 26px;
font-weight: 800;
border-bottom: 1px solid var(--line);
padding-bottom: 10px;
}
h3 {
font-size: 20px;
font-weight: 700;
}
h4 {
font-size: 16.5px;
font-weight: 700;
}
.sect1+.sect1 { margin-top: 2.5em; }
p,ul,ol,dl { margin-bottom: 1.1em; }
#content ul,#content ol { margin-left: 1.3em; }
#content li { margin-bottom: .4em; }
b,strong { color: var(--ink); }
// --- Code -------------------------------------------------------------------
code {
font-family: "JetBrains Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
font-size: .875em;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 5px;
padding: .1em .35em;
color: var(--ink);
}
.listingblock {
position: relative;
margin: 0 0 1.3em;
}
// copy button on code listings, same style as the home page copy chip
.sc-copy {
position: absolute;
top: 8px;
right: 8px;
font-family: "JetBrains Mono",SFMono-Regular,Menlo,monospace;
font-size: 11px;
font-weight: 600;
color: #fff;
border: 0;
border-radius: 100px;
padding: 5px 12px;
background: var(--red);
cursor: pointer;
}
.sc-copy:hover { background: var(--acc); }
[data-theme="dark"] .sc-copy { color: #191A16; }
.listingblock .title {
font-family: "JetBrains Mono",SFMono-Regular,Menlo,monospace;
font-size: 11px;
font-weight: 600;
letter-spacing: .08em;
text-transform: uppercase;
color: var(--muted);
margin-bottom: 6px;
}
.listingblock pre {
background: var(--code-bg);
color: var(--code-fg);
border-radius: 12px;
padding: 16px 18px;
overflow-x: auto;
font-family: "JetBrains Mono",SFMono-Regular,Menlo,monospace;
font-size: 13px;
line-height: 1.75;
}
.listingblock pre code {
background: none;
border: 0;
padding: 0;
color: inherit;
font-size: 1em;
}
// --- Admonitions (NOTE/TIP/IMPORTANT/WARNING/CAUTION) -----------------------
.admonitionblock { margin: 0 0 1.3em; }
.admonitionblock>table {
border-collapse: collapse;
width: 100%;
border: 1px solid var(--line);
border-radius: 10px;
overflow: hidden;
background: var(--bg);
}
.admonitionblock td.icon {
vertical-align: top;
padding: 14px 0 14px 16px;
width: 1%;
}
.admonitionblock td.icon .title {
font-family: "JetBrains Mono",SFMono-Regular,Menlo,monospace;
font-size: 10.5px;
font-weight: 600;
letter-spacing: .08em;
border-radius: 100px;
padding: 4px 10px;
background: var(--panel);
color: var(--muted);
white-space: nowrap;
}
.admonitionblock.tip td.icon .title {
background: var(--acc-soft);
color: var(--acc);
}
.admonitionblock.important td.icon .title,.admonitionblock.warning td.icon .title,.admonitionblock.caution td.icon .title {
background: var(--acc-soft);
color: var(--red);
}
.admonitionblock td.content {
padding: 12px 16px;
font-size: 15px;
}
// --- Le pagine generate con icons=font emettono <i class="fa" title="..."> al posto del div.title: stessa pillola, etichetta da attr(title) ---
.admonitionblock td.icon i {
font-style: normal;
font-family: "JetBrains Mono",SFMono-Regular,Menlo,monospace;
font-size: 10.5px;
font-weight: 600;
letter-spacing: .08em;
border-radius: 100px;
padding: 4px 10px;
background: var(--panel);
color: var(--muted);
white-space: nowrap;
}
.admonitionblock td.icon i::after { content: attr(title); }
.admonitionblock.tip td.icon i {
background: var(--acc-soft);
color: var(--acc);
}
.admonitionblock.important td.icon i,.admonitionblock.warning td.icon i,.admonitionblock.caution td.icon i {
background: var(--acc-soft);
color: var(--red);
}
// --- Tables -----------------------------------------------------------------
table.tableblock {
border-collapse: collapse;
width: 100%;
margin: 0 0 1.3em;
font-size: 15px;
}
table.tableblock th,table.tableblock td {
text-align: left;
padding: 10px 12px;
border-bottom: 1px solid var(--line);
}
table.tableblock thead th {
background: var(--panel);
color: var(--ink);
font-weight: 700;
}
// --- Misc -------------------------------------------------------------------
.quoteblock {
border-left: 3px solid var(--acc);
background: var(--panel);
border-radius: 0 10px 10px 0;
padding: 14px 18px;
margin: 0 0 1.3em;
}
hr {
border: 0;
border-top: 1px solid var(--line);
margin: 2em 0;
}
#footer {
max-width: none;
padding: 22px 32px 60px 52px;
border-top: 1px solid var(--line);
margin-top: 40px;
}
#footer-text {
font-size: 12.5px;
color: var(--muted);
}
@media print {
#toc.toc2 { display: none; }
body.toc2 { padding-left: 0; }
}