@font-face { font-family: Geist; font-weight: 400; font-style: normal; src: url(fonts/Geist-400.woff2) format("woff2"); }
@font-face { font-family: Geist; font-weight: 500; font-style: normal; src: url(fonts/Geist-500.woff2) format("woff2"); }
@font-face { font-family: Geist; font-weight: 600; font-style: normal; src: url(fonts/Geist-600.woff2) format("woff2"); }
@font-face { font-family: "Geist Mono"; font-weight: 400; font-style: normal; src: url(fonts/GeistMono-400.woff2) format("woff2"); }
@font-face { font-family: "Geist Mono"; font-weight: 500; font-style: normal; src: url(fonts/GeistMono-500.woff2) format("woff2"); }
@font-face { font-family: Rajdhani; font-weight: 500; font-style: normal; src: url(fonts/Rajdhani-500.woff2) format("woff2"); }
@font-face { font-family: Rajdhani; font-weight: 600; font-style: normal; src: url(fonts/Rajdhani-600.woff2) format("woff2"); }
@font-face { font-family: Rajdhani; font-weight: 700; font-style: normal; src: url(fonts/Rajdhani-700.woff2) format("woff2"); }
.jdoc { --bg: #050b14; --deep: #02060d; --accent: #5cc8ff; --dim: #2e5f8a; --bright: #aee8ff; --text: #c9e4f6; --muted: #5d7f9c; }
.jdoc { print-color-adjust: exact; background: var(--bg); }
.jdoc { margin: 0px; background: var(--bg); color: var(--text); font: 9.4pt / 1.55 Geist, "Segoe UI", sans-serif; }
.jdoc section { break-before: auto; margin-top: 13mm; }
.jdoc .fz0:not(fz-pad), .jdoc .fz1:not(fz-pad) { margin-top: 0px; }
.jdoc .toc { break-before: page; break-after: page; }
.jdoc .partpage { break-before: page; break-after: page; margin-top: 0px; }
.jdoc .fz2:not(fz-pad) { margin-top: 0px; }
.jdoc .fz3:not(fz-pad), .jdoc .fz4:not(fz-pad fz-pad), .jdoc .fz5:not(fz-pad fz-pad) { break-after: avoid; }
.jdoc .fz6:not(.fz-pad.fz-pad.fz-pad.fz-pad fz-pad) { padding-top: 5mm; border-top: 1px solid rgba(92, 200, 255, 0.18); }
.jdoc .cover { page: cover; position: relative; height: 297mm; box-sizing: border-box; padding: 64mm 22mm 0px; overflow: hidden; background: radial-gradient(120% 70% at 50% 0%, rgba(46, 95, 138, 0.34) 0%, transparent 60%), radial-gradient(90% 60% at 50% 115%, rgba(92, 200, 255, 0.1) 0%, transparent 60%), repeating-linear-gradient(rgba(92, 200, 255, 0.03) 0px, rgba(92, 200, 255, 0.03) 1px, transparent 1px, transparent 3px), linear-gradient(rgba(92, 200, 255, 0.055) 1px, transparent 1px) 0px 0px / 12mm 12mm, linear-gradient(90deg, rgba(92, 200, 255, 0.055) 1px, transparent 1px) 0px 0px / 12mm 12mm, rgb(2, 6, 13); }
.jdoc .cover .frame { position: absolute; inset: 12mm; border: 1px solid rgba(92, 200, 255, 0.18); }
.jdoc .cover .frame i { position: absolute; width: 9mm; height: 9mm; border: 0px solid rgb(92, 200, 255); }
.jdoc .fz7:not(.fz-pad.fz-pad fz-pad) { top: -1px; left: -1px; border-top-width: 2px; border-left-width: 2px; }
.jdoc .fz8:not(.fz-pad.fz-pad fz-pad) { top: -1px; right: -1px; border-top-width: 2px; border-right-width: 2px; }
.jdoc .fz9:not(.fz-pad.fz-pad fz-pad) { bottom: -1px; left: -1px; border-bottom-width: 2px; border-left-width: 2px; }
.jdoc .fz10:not(.fz-pad.fz-pad fz-pad) { bottom: -1px; right: -1px; border-bottom-width: 2px; border-right-width: 2px; }
.jdoc .cover .os { position: absolute; top: 19mm; left: 22mm; right: 22mm; display: flex; justify-content: space-between; font: 600 8pt Rajdhani, sans-serif; letter-spacing: 0.28em; color: var(--muted); }
.jdoc .cover .os b { color: var(--accent); font-weight: 700; }
.jdoc .cover .kind { font: 600 10pt Rajdhani, sans-serif; letter-spacing: 0.3em; text-transform: uppercase; color: var(--accent); }
.jdoc .cover .kind::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 3mm; transform: rotate(45deg) translateY(-1px); border: 1.5px solid var(--accent); box-shadow: rgba(92, 200, 255, 0.6) 0px 0px 6px; }
.jdoc .cover h1 { font: 700 38pt / 1.02 Rajdhani, sans-serif; letter-spacing: 0.06em; text-transform: uppercase; margin: 9mm 0px 7mm; color: var(--bright); text-shadow: rgba(92, 200, 255, 0.55) 0px 0px 10px, rgba(92, 200, 255, 0.25) 0px 0px 30px; }
.jdoc .cover .sub { font: 400 11.5pt / 1.6 Geist, sans-serif; max-width: 135mm; color: var(--text); }
.jdoc .cover .sub i { color: inherit; font-style: normal; }
.jdoc .cover .bar { width: 166mm; height: 1px; margin: 14mm 0px 7mm; background: linear-gradient(90deg, rgb(92, 200, 255), rgba(92, 200, 255, 0.15) 60%, transparent); }
.jdoc .cover .readout { display: flex; }
.jdoc .cover .readout div { padding: 3mm 6mm 3mm 0px; margin-right: 6mm; border-right: 1px solid rgba(92, 200, 255, 0.18); }
.jdoc .fz11:not(.fz-pad.fz-pad fz-pad) { border-right: 0px; }
.jdoc .cover .readout span { display: block; font: 600 7pt Rajdhani, sans-serif; letter-spacing: 0.24em; color: var(--muted); }
.jdoc .cover .readout b { display: block; font: 500 17pt / 1.2 "Geist Mono", monospace; color: var(--bright); }
.jdoc .cover .foot { position: absolute; bottom: 20mm; left: 22mm; right: 22mm; display: flex; justify-content: space-between; font: 500 7.5pt "Geist Mono", monospace; letter-spacing: 0.1em; color: var(--muted); }
.jdoc .toc ol { list-style: none; padding: 0px; margin: 4mm 0px 0px; }
.jdoc .toc li { margin: 0px; padding: 1.9mm 0px 0px; break-inside: avoid; font: 600 10.5pt / 1.3 Rajdhani, sans-serif; letter-spacing: 0.03em; }
.jdoc .toc li .id { display: inline-block; width: 11mm; font: 500 8pt "Geist Mono", monospace; color: var(--accent); }
.jdoc .toc li.sub { padding-top: 0.9mm; padding-left: 11mm; font-size: 9.5pt; color: rgb(157, 191, 216); }
.jdoc .toc li.sub .id { width: 10mm; color: var(--dim); }
.jdoc .toc a { display: flex; align-items: baseline; color: inherit; text-decoration: none; }
.jdoc .toc .t { flex: 0 1 auto; }
.jdoc .toc .dots { flex: 1 1 auto; border-bottom: 1px dotted rgba(92, 200, 255, 0.28); margin: 0px 2mm; transform: translateY(-1mm); min-width: 6mm; }
.jdoc .toc .n { flex: 0 0 9mm; text-align: center; font: 500 8.5pt "Geist Mono", monospace; color: var(--bright); }
.jdoc .toc li.part { padding-top: 4.2mm; font-size: 11.5pt; color: var(--accent); letter-spacing: 0.08em; text-transform: uppercase; }
.jdoc .toc li.part .id { color: var(--bright); font: 700 10pt Rajdhani, sans-serif; letter-spacing: 0.1em; }
.jdoc .toc li.in { padding-top: 1.1mm; font-size: 10pt; }
.jdoc .toc li.in .t { color: var(--text); }
.jdoc .partpage { padding-top: 34mm; }
.jdoc .partpage .pnum { font: 700 92pt / 1 Rajdhani, sans-serif; color: transparent; -webkit-text-stroke: 1.2px rgb(92, 200, 255); letter-spacing: 0.04em; margin: 4mm 0px 2mm; text-shadow: rgba(92, 200, 255, 0.25) 0px 0px 18px; }
.jdoc .partpage h2 { font-size: 26pt; margin-bottom: 9mm; }
.jdoc .partpage ol { list-style: none; padding: 0px; margin: 0px; border-top: 1px solid rgba(92, 200, 255, 0.22); }
.jdoc .partpage li { margin: 0px; padding: 2.6mm 0px; border-bottom: 1px solid rgba(92, 200, 255, 0.12); font: 600 11.5pt Rajdhani, sans-serif; letter-spacing: 0.03em; color: var(--text); }
.jdoc .partpage li span { display: inline-block; width: 13mm; font: 500 8.5pt "Geist Mono", monospace; color: var(--accent); }
.jdoc .kicker { display: flex; align-items: center; gap: 3mm; margin: 0px 0px 3mm; font: 600 8pt Rajdhani, sans-serif; letter-spacing: 0.24em; text-transform: uppercase; color: var(--muted); }
.jdoc .kicker b { font: 500 8pt "Geist Mono", monospace; letter-spacing: 0.06em; color: rgb(2, 6, 13); background: rgb(92, 200, 255); padding: 0.6mm 2.4mm 0.6mm 2.6mm; clip-path: polygon(5px 0px, 100% 0px, 100% calc(100% - 5px), calc(100% - 5px) 100%, 0px 100%, 0px 5px); }
.jdoc .kicker::after { content: ""; flex: 1 1 0%; height: 1px; background: linear-gradient(90deg, rgba(92, 200, 255, 0.5), transparent); }
.jdoc h2 { font: 700 22pt / 1.08 Rajdhani, sans-serif; letter-spacing: 0.04em; text-transform: uppercase; color: var(--bright); margin: 0px 0px 3mm; break-after: avoid; text-shadow: rgba(92, 200, 255, 0.35) 0px 0px 8px; }
.jdoc .fz12:not(fz-pad fz-pad fz-pad) { display: block; color: var(--muted); font-style: normal; font-size: 8.8pt; padding-bottom: 3mm; border-bottom: 1px solid rgba(92, 200, 255, 0.14); }
.jdoc h3 { font: 700 12.5pt / 1.25 Rajdhani, sans-serif; letter-spacing: 0.07em; text-transform: uppercase; color: var(--accent); margin: 7mm 0px 2mm; break-after: avoid; }
.jdoc h3::before { content: ""; display: inline-block; width: 5px; height: 5px; margin: 0px 2.4mm 0px 0px; transform: rotate(45deg) translateY(-2px); border: 1.3px solid rgb(92, 200, 255); }
.jdoc h4 { font: 700 10.5pt / 1.3 Rajdhani, sans-serif; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bright); margin: 5mm 0px 2mm; break-after: avoid; }
.jdoc p, .jdoc li { margin: 1.8mm 0px; orphans: 3; widows: 3; }
.jdoc b { color: var(--bright); font-weight: 600; }
.jdoc .fz13:not(fz-pad fz-pad) { font: 700 9.6pt Rajdhani, sans-serif; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); }
.jdoc i { color: rgb(157, 191, 216); }
.jdoc ul { padding-left: 5mm; }
.jdoc li::marker { color: rgb(92, 200, 255); }
.jdoc blockquote { margin: 4mm 0px; padding: 3mm 5mm; border-left: 2px solid rgb(92, 200, 255); background: rgba(13, 27, 46, 0.85); color: var(--bright); font-style: normal; break-inside: avoid; }
.jdoc code { font: 500 8.2pt / 1.4 "Geist Mono", Consolas, monospace; color: var(--bright); background: rgba(92, 200, 255, 0.1); border: 1px solid rgba(92, 200, 255, 0.18); padding: 0px 1mm; border-radius: 2px; }
.jdoc a { color: var(--accent); }
.jdoc table { border-collapse: collapse; margin: 3mm 0px 4.5mm; font: 8.3pt / 1.42 Geist, sans-serif; break-inside: auto; background: rgba(13, 27, 46, 0.72); width: 100% !important; border-top: 1.5px solid rgb(92, 200, 255) !important; }
.jdoc thead { display: table-header-group; }
.jdoc tr, .jdoc td, .jdoc th { break-inside: avoid; }
.jdoc th, .jdoc td { border: 1px solid rgba(92, 200, 255, 0.16); padding: 1.5mm 2.2mm; vertical-align: top; text-align: left; }
.jdoc th { background: rgba(92, 200, 255, 0.09); font: 700 8pt / 1.3 Rajdhani, sans-serif; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); }
.jdoc .fz14:not(fz-pad fz-pad) { font: 700 8.6pt Rajdhani, sans-serif; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); }
.jdoc img { max-width: 100%; max-height: 112mm; display: block; margin: 2mm auto 1.5mm; break-inside: avoid; border: 1px solid rgba(92, 200, 255, 0.35); box-shadow: rgba(92, 200, 255, 0.18) 0px 0px 8px; }
.jdoc .fz15:not(fz-pad fz-pad) { break-inside: avoid; text-align: center; font-size: 8.4pt; }
.jdoc .fz16:not(fz-pad fz-pad fz-pad) { color: var(--muted); }