/* Article body and callouts: the public site, the console editor's preview. © 2026 iFynx Integrated Solutions P.S.C. */
.prose,.callout{--ink:#0B1F2A;--ink-2:#2A3C45;--muted:#5B6B73;--paper:#F4F1EB;--card:#fff;--line:rgba(11,31,42,.09);--line-2:rgba(11,31,42,.14);--teal:#0B7A75;--teal-d:#075E59;--teal-l:#E3F1EF;--ember:#F2994A;--ember-d:#D9772A;--ember-l:#FDEBDB;--shadow:0 1px 2px rgba(11,31,42,.04),0 8px 24px -8px rgba(11,31,42,.10),0 30px 60px -30px rgba(11,31,42,.18)}
/* ── callouts (guide and articles) ─────────────── */
.callout{--bar:var(--teal);position:relative;overflow:hidden;margin:18px 0 0;border-radius:18px;padding:14px 20px;background:var(--teal-l)}
.callout::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:var(--bar)}
.callout>:last-child{margin-bottom:0!important}
.callout p{margin:0;font-size:15.5px;color:var(--ink-2)}
.callout p + p{margin-top:6px}
.callout-title{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--teal-d)!important;margin-bottom:4px!important}
.callout-title .ic{width:18px;height:18px}
.callout-warn{background:var(--ember-l);--bar:var(--ember)}
.callout-warn .callout-title{color:var(--ember-d)!important}
.callout-danger{background:#FCE3E3;--bar:#C2383D}
.callout-danger .callout-title{color:#A12A2F!important}
.callout-note,.callout-info{background:#E7EEF7;--bar:#3A6EA5}
.callout-note .callout-title,.callout-info .callout-title{color:#2B5684!important}
.callout-quote{background:var(--card);--bar:var(--ember);font-size:19px;box-shadow:var(--shadow)}

/* the article body */
.prose{font-size:clamp(17.5px,1.6vw,19px);line-height:2;color:var(--ink-2);min-width:0}
.prose > *:first-child{margin-top:0}
.prose p,.prose ul,.prose ol,.prose dl,.prose .code,.prose table,.prose figure,.prose blockquote,.prose .callout{margin:0 0 1.35em}
.prose h2,.prose h3,.prose h4{color:var(--ink);line-height:1.35;scroll-margin-top:100px;position:relative}
.prose h2{font-size:1.75em;margin:2em 0 .7em;letter-spacing:-.3px}
.prose h3{font-size:1.32em;margin:1.7em 0 .5em}
.prose h4{font-size:1.1em;margin:1.4em 0 .4em}
.prose .anchor{position:absolute;inset-inline-end:100%;margin-inline-end:10px;color:var(--teal);opacity:0;font-weight:400;transition:opacity .2s;text-decoration:none}
.prose h2:hover .anchor,.prose h3:hover .anchor{opacity:.6}
.prose a{color:var(--teal);text-decoration:underline;text-decoration-color:rgba(11,122,117,.35);text-underline-offset:4px;text-decoration-thickness:1.5px}
.prose a:hover{text-decoration-color:var(--teal)}
.prose strong{color:var(--ink);font-weight:700}
.prose mark{background:linear-gradient(transparent 55%,rgba(242,153,74,.35) 55%);color:inherit}
.prose ul,.prose ol{padding-inline-start:1.4em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--teal);font-weight:700}
.prose ul.contains-task-list{list-style:none;padding-inline-start:.2em}
.prose .task-list-item input{accent-color:var(--teal);margin-inline-end:8px;width:17px;height:17px;vertical-align:-3px}
.prose blockquote{position:relative;padding:22px 30px 22px 22px;padding-inline-start:30px;border-radius:24px;background:var(--card);box-shadow:var(--shadow);font-size:1.12em;color:var(--ink);font-weight:500}
.prose blockquote::before{content:"”";position:absolute;top:-14px;inset-inline-start:18px;font-size:80px;line-height:1;color:var(--ember);font-family:Georgia,serif}
.prose blockquote p:last-child{margin-bottom:0}
.prose :not(pre) > code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:rgba(11,31,42,.06);border-radius:7px;padding:.12em .42em;direction:ltr;unicode-bidi:isolate}
.prose .code{position:relative;border-radius:20px;background:#0D1B22;box-shadow:var(--shadow);overflow:hidden}
.prose .code pre{margin:0;padding:44px 22px 20px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14.5px;line-height:1.7;color:#E6EDF3;text-align:left}
.prose .code::before{content:"";position:absolute;inset:0 0 auto;height:34px;background:rgba(255,255,255,.035);border-bottom:1px solid rgba(255,255,255,.06)}
.prose .code-lang{position:absolute;top:10px;right:16px;font-size:11.5px;color:#7FA3AE;letter-spacing:1px;text-transform:uppercase}
.prose .code button{position:absolute;top:8px;left:10px;font:inherit;font-size:12px;color:#B5CBD1;background:rgba(255,255,255,.08);border:0;border-radius:8px;padding:3px 10px;cursor:pointer}
.prose .tablewrap{overflow-x:auto;margin:0 0 1.35em;border-radius:20px;box-shadow:var(--shadow);background:var(--card)}
.prose table{width:100%;border-collapse:collapse;font-size:.92em;margin:0}
.prose th,.prose td{padding:12px 16px;text-align:start;border-bottom:1px solid var(--line)}
.prose th{background:var(--paper);color:var(--ink);font-weight:700}
.prose tr:last-child td{border-bottom:0}
.prose tbody tr:hover{background:rgba(11,122,117,.04)}
.prose img{max-width:100%;height:auto;border-radius:22px;box-shadow:var(--shadow);margin:0 auto}
.prose figure{margin-inline:0}
.prose figcaption{text-align:center;color:var(--muted);font-size:.85em;margin-top:10px}
.prose hr{border:0;height:24px;margin:2.4em 0;background:radial-gradient(circle,var(--ember) 3px,transparent 4px) center/28px 24px repeat-x;width:84px;margin-inline:auto}
.prose dl dt{font-weight:700;color:var(--ink)}
.prose dl dd{margin:0 0 .8em;padding-inline-start:1em;border-inline-start:3px solid var(--teal-l)}
.prose .footnotes-sep{display:none}
.prose .footnotes{margin-top:3em;padding:1.2em 0 0;border-top:1px solid var(--line-2);font-size:.85em;color:var(--muted)}
.prose .footnote-ref a{text-decoration:none;font-weight:700;font-size:.8em}
.prose .callout{margin-top:0}
.prose .callout p{font-size:.95em}

/* code colours (Pygments github-dark) */
td.linenos .normal { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
.hl .hll { background-color: #6e7681 }
.hl { background: #0d1117; color: #E6EDF3 }
.hl .c { color: #8B949E; font-style: italic } /* Comment */
.hl .err { color: #F85149 } /* Error */
.hl .esc { color: #E6EDF3 } /* Escape */
.hl .g { color: #E6EDF3 } /* Generic */
.hl .k { color: #FF7B72 } /* Keyword */
.hl .l { color: #A5D6FF } /* Literal */
.hl .n { color: #E6EDF3 } /* Name */
.hl .o { color: #FF7B72; font-weight: bold } /* Operator */
.hl .x { color: #E6EDF3 } /* Other */
.hl .p { color: #E6EDF3 } /* Punctuation */
.hl .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */
.hl .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */
.hl .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */
.hl .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */
.hl .c1 { color: #8B949E; font-style: italic } /* Comment.Single */
.hl .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */
.hl .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */
.hl .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */
.hl .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.hl .gr { color: #FFA198 } /* Generic.Error */
.hl .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */
.hl .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */
.hl .go { color: #8B949E } /* Generic.Output */
.hl .gp { color: #8B949E } /* Generic.Prompt */
.hl .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */
.hl .gu { color: #79C0FF } /* Generic.Subheading */
.hl .gt { color: #FF7B72 } /* Generic.Traceback */
.hl .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */
.hl .kc { color: #79C0FF } /* Keyword.Constant */
.hl .kd { color: #FF7B72 } /* Keyword.Declaration */
.hl .kn { color: #FF7B72 } /* Keyword.Namespace */
.hl .kp { color: #79C0FF } /* Keyword.Pseudo */
.hl .kr { color: #FF7B72 } /* Keyword.Reserved */
.hl .kt { color: #FF7B72 } /* Keyword.Type */
.hl .ld { color: #79C0FF } /* Literal.Date */
.hl .m { color: #A5D6FF } /* Literal.Number */
.hl .s { color: #A5D6FF } /* Literal.String */
.hl .na { color: #E6EDF3 } /* Name.Attribute */
.hl .nb { color: #E6EDF3 } /* Name.Builtin */
.hl .nc { color: #F0883E; font-weight: bold } /* Name.Class */
.hl .no { color: #79C0FF; font-weight: bold } /* Name.Constant */
.hl .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */
.hl .ni { color: #FFA657 } /* Name.Entity */
.hl .ne { color: #F0883E; font-weight: bold } /* Name.Exception */
.hl .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */
.hl .nl { color: #79C0FF; font-weight: bold } /* Name.Label */
.hl .nn { color: #FF7B72 } /* Name.Namespace */
.hl .nx { color: #E6EDF3 } /* Name.Other */
.hl .py { color: #79C0FF } /* Name.Property */
.hl .nt { color: #7EE787 } /* Name.Tag */
.hl .nv { color: #79C0FF } /* Name.Variable */
.hl .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */
.hl .pm { color: #E6EDF3 } /* Punctuation.Marker */
.hl .w { color: #6E7681 } /* Text.Whitespace */
.hl .mb { color: #A5D6FF } /* Literal.Number.Bin */
.hl .mf { color: #A5D6FF } /* Literal.Number.Float */
.hl .mh { color: #A5D6FF } /* Literal.Number.Hex */
.hl .mi { color: #A5D6FF } /* Literal.Number.Integer */
.hl .mo { color: #A5D6FF } /* Literal.Number.Oct */
.hl .sa { color: #79C0FF } /* Literal.String.Affix */
.hl .sb { color: #A5D6FF } /* Literal.String.Backtick */
.hl .sc { color: #A5D6FF } /* Literal.String.Char */
.hl .dl { color: #79C0FF } /* Literal.String.Delimiter */
.hl .sd { color: #A5D6FF } /* Literal.String.Doc */
.hl .s2 { color: #A5D6FF } /* Literal.String.Double */
.hl .se { color: #79C0FF } /* Literal.String.Escape */
.hl .sh { color: #79C0FF } /* Literal.String.Heredoc */
.hl .si { color: #A5D6FF } /* Literal.String.Interpol */
.hl .sx { color: #A5D6FF } /* Literal.String.Other */
.hl .sr { color: #79C0FF } /* Literal.String.Regex */
.hl .s1 { color: #A5D6FF } /* Literal.String.Single */
.hl .ss { color: #A5D6FF } /* Literal.String.Symbol */
.hl .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */
.hl .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */
.hl .vc { color: #79C0FF } /* Name.Variable.Class */
.hl .vg { color: #79C0FF } /* Name.Variable.Global */
.hl .vi { color: #79C0FF } /* Name.Variable.Instance */
.hl .vm { color: #79C0FF } /* Name.Variable.Magic */
.hl .il { color: #A5D6FF } /* Literal.Number.Integer.Long */
.hl{background:transparent!important}
