/* Shared typography for public articles and the visual editor. */
.article-content { font-size: 16px; line-height: 1.85; color: #c8c5ce; }
.article-content > :first-child { margin-top: 0; }.article-content p { margin: 0 0 1.25em; color: inherit; }
.article-content h2,.article-content h3,.article-content h4 { line-height: 1.35; color: #f1eff5; letter-spacing: -.025em; scroll-margin-top: 100px; }
.article-content h2 { font-size: 1.7em; margin: 2em 0 .8em; padding-top: .4em; border-top: 1px solid #ffffff10; }.article-content h3 { font-size: 1.3em; margin: 1.7em 0 .7em; }.article-content h4 { font-size: 1.1em; margin: 1.4em 0 .6em; }
.article-content a { color: #ff777f; text-decoration: underline; text-underline-offset: 3px; }.article-content a:hover { color: #ffadb2; }
.article-content ul,.article-content ol { padding-left: 1.6em; margin: 0 0 1.5em; }.article-content li { margin: .45em 0; }.article-content li::marker { color: #ec777e; }
.article-content dl { margin: 1.5em 0; display: grid; grid-template-columns: minmax(110px,160px) minmax(0,1fr); border: 1px solid #ffffff12; border-radius: 6px; overflow: hidden; }.article-content dt,.article-content dd { margin: 0; padding: 12px 15px; border-bottom: 1px solid #ffffff10; }.article-content dt { color: #f1eff5; background: #ffffff05; }.article-content dd { color: #c8c5ce; }.article-content dt:last-of-type,.article-content dd:last-of-type { border-bottom: 0; }
.article-content blockquote { margin: 1.7em 0; border-left: 3px solid #ff3b44; padding: 18px 24px; background: #ffffff04; }.article-content blockquote p:last-child { margin-bottom: 0; }
.article-content pre { white-space: pre; overflow-x: auto; padding: 22px; margin: 1.7em 0; background: #101014; border: 1px solid #ffffff12; border-radius: 6px; color: #ded7e7; font: 13px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap: normal; }
.article-content code,.article-content kbd { font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .86em; background: #ffffff09; color: #f1b26c; padding: .15em .4em; border-radius: 3px; }.article-content pre code { background: transparent; color: inherit; padding: 0; font-size: inherit; }
.article-content table { display: table; width: 100%; table-layout: fixed; border-collapse: collapse; margin: 1.8em 0; font-size: .85em; }.article-content th,.article-content td { padding: 13px 15px; border: 1px solid #ffffff18; vertical-align: top; overflow-wrap: anywhere; }.article-content th { font-weight: 600; color: #efedf2; background: #ffffff06; }.article-content caption { caption-side: top; color: #a8a0b2; font-size: .9em; padding-bottom: 10px; text-align: left; }
.article-content img { max-width: 100%; height: auto; border-radius: 5px; }.article-content figure { margin: 1.8em 0; }.article-content figure img { display: block; margin: 0 auto; }.article-content figcaption { margin-top: 10px; font-size: .8em; color: #a39aac; text-align: center; }.article-content hr { margin: 2.2em 0; border: 0; border-top: 1px solid #ffffff18; }
.article-content details { margin: 1.6em 0; border: 1px solid #ffffff14; border-radius: 6px; background: #ffffff03; }.article-content summary { padding: 14px 18px; color: #f0edf3; font-weight: 600; cursor: pointer; }.article-content details[open] summary { border-bottom: 1px solid #ffffff10; }.article-content details > :not(summary) { margin-left: 18px; margin-right: 18px; }.article-content details > :last-child { margin-bottom: 18px; }.article-content abbr[title] { text-decoration: underline dotted; text-underline-offset: 3px; cursor: help; }.article-content cite { color: #c4bacb; font-style: normal; }.article-content mark { padding: .1em .3em; border-radius: 2px; background: #f4b45533; color: #ffe2aa; }.article-content .article-timeline { list-style: none; padding-left: 20px; border-left: 2px solid #ff596455; }.article-content .article-timeline li { position: relative; padding: 0 0 1.2em 16px; }.article-content .article-timeline li::before { content: ''; position: absolute; left: -25px; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: #ff5964; box-shadow: 0 0 0 4px #ff596422; }.article-content .article-timeline time { display: block; color: #f4b455; font-size: .82em; font-weight: 600; }.article-content .article-timeline p { margin: .35em 0 0; }
.article-content .article-lead { font-size: 1.2em; color: #e0dbe7; line-height: 1.7; }.article-content .article-callout { border-left: 3px solid #ff3b44; padding: 18px 22px; margin: 1.8em 0; border-radius: 0 5px 5px 0; background: #ff3b4409; }.article-content .article-callout p:last-child { margin-bottom: 0; }.article-content .article-callout-warning { border-color: #f4b455; background: #f4b45509; }.article-content .article-callout-note { border-color: #b5a3c4; background: #b5a3c409; }.article-content .article-checklist { padding: 18px 22px 18px 42px; background: #ffffff03; border: 1px solid #ffffff10; border-radius: 5px; }
.article-code-block { position: relative; }.article-code-block pre { padding-top: 45px; }.article-copy-code { position: absolute; right: 10px; top: 9px; border: 1px solid #ffffff15; background: #24212a; color: #c2b8d1; border-radius: 3px; font-size: 10px; padding: 4px 8px; cursor: pointer; }.article-copy-code:hover { color: white; }
.article-toc ol { margin: 0; padding: 0; list-style: none; }.article-toc li { margin-top: 12px; font-size: 13px; line-height: 1.6; }.article-toc a { color: #beb5c8; }.article-toc a:hover { color: #ff777f; }.article-toc .toc-subsection { padding-left: 14px; font-size: 12px; }
@media(max-width:575px) { .article-content { font-size: 15px; }.article-content h2 { font-size: 1.45em; }.article-content pre { padding: 18px; }.article-content th,.article-content td { padding: 8px; font-size: 12px; }.article-content .article-callout { padding: 15px; }.article-content dl { grid-template-columns: 1fr; }.article-content dt { border-bottom: 0; padding-bottom: 4px; }.article-content dd { padding-top: 4px; } }

.article-body,.article-code-block { min-width: 0; }.article-content pre { max-width: 100%; }

.article-content .article-code-block pre { padding-top: 45px; }.article-content pre { color-scheme: dark; scrollbar-color: #574d63 #17151d; }
.article-credits { margin-top: 40px; padding: 26px; border: 1px solid #ffffff12; border-radius: 8px; background: #ffffff03; display: grid; gap: 22px; }.article-credits h2 { margin: 4px 0 8px; font-size: 1.15rem; }.article-credits p { margin: 0; color: #aaa2b4; }.article-credits > a { align-self: end; }
/* Interactive SysAdmin study tasks; scoring remains entirely client-side. */
.study-task { margin-top: 48px; padding-top: 35px; border-top: 1px solid #ffffff14; }.study-task > header { padding: 28px; border-left: 3px solid #6096ff; background: #6096ff0b; }.study-task > header h2 { margin: 5px 0 12px; }.study-task > header p { margin: 0; }.study-lab { margin: 18px 0; padding: 22px; background: #17171b; border: 1px solid #ffffff0d; }.study-lab h3 { font-size: 1rem; }.study-quiz { margin-top: 28px; }.study-quiz-heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 18px; }.study-quiz-heading h2 { margin: 0; }.study-quiz-heading output { padding: 10px 13px; color: #87acff; border: 1px solid #6096ff55; font: 700 .8rem 'JetBrains Mono',monospace; }.study-question { display: grid; gap: 9px; margin: 0 0 17px; padding: 22px; border: 1px solid #ffffff10; background: #151519; }.study-question legend { float: none; width: 100%; margin-bottom: 13px; color: #eee; font-size: .9rem; line-height: 1.55; }.study-question legend span { display: block; margin-bottom: 6px; color: #87acff; font-size: .65rem; letter-spacing: .08em; }.study-question label { display: flex; cursor: pointer; }.study-question label > input { flex: 0 0 auto; margin: 12px 10px 0 0; }.study-question label > span { display: flex; gap: 9px; width: 100%; padding: 10px 12px; border: 1px solid #ffffff0d; color: #bbb; font-size: .78rem; }.study-question label:hover > span { border-color: #6096ff55; }.study-question label strong { color: #87acff; }.study-question .btn { justify-self: start; margin-top: 7px; }.study-feedback { margin: 5px 0 0; color: #f4b455; font-weight: 600; }.study-explanation { margin: 0; padding: 13px; color: #aaa; background: #ffffff05; font-size: .78rem; }.study-quiz-result { margin: 20px 0; padding: 18px; border: 1px solid #35d6a455; color: #9aebd2; background: #35d6a408; }
