@font-face{font-family:newsreader;font-style:normal;font-weight:200 800;font-display:block;src:url(/fonts/Newsreader.woff2)format('woff2')}@font-face{font-family:newsreader;font-style:italic;font-weight:200 800;font-display:block;src:url(/fonts/Newsreader-italic.woff2)format('woff2')}@font-face{font-family:almahdi;src:url(/fonts/Almahdi.otf)format('truetype');font-weight:400;font-style:normal}@font-face{font-family:ibmplex;font-style:normal;font-weight:200 800;font-display:block;src:url(/fonts/IBMPlexMono.ttf)format('ttf')}:root{--radius:8px;--highlight-color:rgba(137, 137, 222, 0.3);--font-family-arabic:'almahdi', sans-serif;--font-family-english:'Newsreader', sans-serif;--font-family-code:'IBMPlex', monospace;--font-family-base:'almahdi', 'Newsreader', sans-serif;--font-size-base:20px;--main-width:780px;--main-padding:1.4em;--main-padding-bottom:3rem;--content-max-width:720px;--content-min-width:540px;--content-padding:0 0px;--focus-color:#0066cc;--hx-margin-bottom:1rem;--h1-margin-top:2rem;--h1-font-size:2.2rem;--h1-margin-bottom:1.5rem;--p-margin-bottom:1rem;--p-line-height:1.5rem;--p-font-size:1em;--p-margin-top:1rem;--table-cell-padding:0.5rem;--table-margin-top:1.5rem;--table-margin-bottom:1.5rem;--table-header-background:#cccac4;--code-background:rgb(30, 30, 30);--code-border-color:rgb(50, 50, 50);--code-margin-top:2rem;--li-indent:1.5rem;--code-margin-bottom:2rem;--code-font-color:#f0efea}.dark-mode-on:root{--bg-color:#141413;--text-color:#f0efea;--filter:invert(98%) sepia(3%) saturate(230%) hue-rotate(17deg)
        brightness(101%) contrast(91%);--border-color:#444;--footnote-bg-color:rgba(255, 255, 255, 0.15);--footnote-hover-bg-color:rgba(255, 255, 255, 0.4);--tooltip-bg-color:#2a2a2a;--tooltip-text-color:#f0f0f0;--tooltip-shadow-color:rgba(255, 255, 255, 0.15);--subscribe-form-bg:transparent;--subscribe-form-text:#f0efea;--subscribe-button-bg:#f0efea;--subscribe-button-text:#141413;--table-header-background:rgb(30, 30, 30);--invert-percentage:100%;--code-bg:rgb(30, 30, 30);--hljs-bg:rgb(46, 46, 51)}.dark-mode-off:root{--bg-color:#f0efea;--text-color:#141413;--border-color:#e6e4dd;--footnote-bg-color:rgba(0, 0, 0, 0.08);--footnote-hover-bg-color:rgba(0, 0, 0, 0.15);--tooltip-bg-color:#f9f9f9;--tooltip-text-color:#333;--tooltip-shadow-color:rgba(0, 0, 0, 0.15);--subscribe-form-bg:transparent;--subscribe-form-text:#141413;--subscribe-button-bg:#141413;--subscribe-button-text:#f0efea;--invert-percentage:0%;--code-bg:rgb(223, 223, 223);--hljs-bg:rgb(28, 29, 33)}@media(prefers-color-scheme:dark){:root{--bg-color:#141413;--text-color:rgb(218, 218, 218);--border-color:#444;--footnote-bg-color:rgba(255, 255, 255, 0.15);--footnote-hover-bg-color:rgba(255, 255, 255, 0.4);--tooltip-bg-color:#2a2a2a;--tooltip-text-color:#f0f0f0;--tooltip-shadow-color:rgba(255, 255, 255, 0.15);--subscribe-form-bg:transparent;--subscribe-form-text:#f0efea;--subscribe-button-bg:#f0efea;--subscribe-button-text:#141413;--invert-percentage:100%;--code-bg:rgb(55, 56, 62);--hljs-bg:rgb(46, 46, 51)}}@media(prefers-color-scheme:light){:root{--bg-color:#f0efea;--text-color:#141413;--border-color:#e6e4dd;--footnote-bg-color:rgba(0, 0, 0, 0.08);--footnote-hover-bg-color:rgba(0, 0, 0, 0.15);--tooltip-bg-color:#f9f9f9;--tooltip-text-color:#333;--tooltip-shadow-color:rgba(0, 0, 0, 0.15);--subscribe-form-bg:transparent;--subscribe-form-text:#141413;--subscribe-button-bg:#141413;--subscribe-button-text:#f0efea;--invert-percentage:0%;--code-bg:rgb(223, 223, 223);--hljs-bg:rgb(28, 29, 33)}}:lang(en){font-family:var(--font-family-english)}:lang(ar){font-family:var(--font-family-arabic)!important;word-spacing:.2em;line-height:2}:lang(ar) code{font-family:var(--font-family-code)!important}:lang(en) code{font-family:var(--font-family-code)}body,.toc-container{transition:background-color .2s,color .2s}html[dir=rtl],body[dir=rtl]{font-family:hacen newspaper,serif}header h1 a{display:block;width:140px;font-family:var(--font-family-base),serif}p{font-family:var(--font-family-base),serif;margin:0;line-height:var(--p-line-height);margin-bottom:var(--p-margin-bottom);margin-top:var(--p-margin-top);font-size:var(--p-font-size)}table{width:100%;border-collapse:collapse;margin-top:var(--table-margin-top);margin-bottom:var(--table-margin-bottom);border:1px solid var(--code-border-color);color:var(--text-color);text-align:center}th,td{border:1px solid var(--code-border-color);padding:var(--table-cell-padding);text-align:center}th{background-color:var(--table-header-background)}.dark-mode-on:root .toggle-input:checked+.toggle-label{background-color:var(--text-color)}.dark-mode-on:root .toggle-input:checked+.toggle-label .toggle-slider{transform:translateX(20px);background-color:var(--bg-color)}.dark-mode-init *{transition:none!important}html,body{overflow-x:hidden}body{font-family:var(--font-family-base),serif;font-size:var(--font-size-base);font-weight:400;line-height:1.6;color:var(--text-color);background-color:var(--bg-color);margin:0;padding:0;display:flex;flex-direction:column;transition:background-color .2s ease,color .2s ease;min-height:100vh}pre{display:block;overflow-x:auto;white-space:pre;background:var(--code-background)!important;border:1px solid var(--code-border-color)!important;border-radius:16px;padding:1.2em 1.4em;font-size:80%;font-family:var(--font-family-code)!important;line-height:1.5;direction:ltr;margin-top:var(--code-margin-top,1.5em);margin-bottom:var(--code-margin-bottom,1.5em)}pre code{display:block;font-family:inherit!important;color:var(--code-font-color);background:0 0;padding:0;border:none}code[class*=language-],pre[class*=language-]{font-family:var(--font-family-code)!important;background:var(--code-background)!important;direction:ltr}code[class*=language-] span,pre[class*=language-] span{font-family:var(--font-family-code)!important;background:0 0!important}pre[class*=language-]{margin:var(--code-margin-top,1.5em)0 var(--code-margin-bottom,1.5em)}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,h5:hover .anchor,h6:hover .anchor{display:inline-flex;color:var(--text-color);margin-inline-start:8px;font-weight:500;user-select:none;opacity:.5}a{position:relative;color:inherit;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}p a{color:#e87f66;text-decoration:none}p:dir(rtl) a:not(#icon-link)::after{content:'';position:absolute;left:0;bottom:0;width:0%;height:2px;background-color:currentColor;transition:width .3s ease}p:dir(ltr) a:hover::after{width:100%}p:dir(rtl) a:not(#icon-link)::after{content:'';position:absolute;right:0;bottom:10px;width:0%;height:2px;background-color:currentColor;transition:width .3s ease}p:dir(rtl) a:hover::after{width:100%}a:hover{opacity:.95}.center{display:flex;align-items:center;flex-direction:column}p a:hover{-webkit-transition:all .3s ease;transition:all .3s ease}a code{margin:auto 0}a:hover code{text-decoration:underline}li{}strong{font-weight:600}p.intro{margin-top:.5em}.content-wrapper,header>div{width:var(--main-width);margin-left:auto;margin-right:auto;padding:var(--content-padding);box-sizing:border-box;flex:1}@media(min-width:1076px){body.has-toc .content-wrapper,body.has-toc header>div{max-width:var(--content-max-width);padding-left:20px;padding-right:20px;margin-left:auto;margin-right:auto}.toc-container{left:calc(50% - (var(--content-max-width)/2) - 270px)}}header{background-color:var(--bg-color);padding-bottom:10px;margin-top:30px;margin-bottom:20px;transition:background-color .2s}header>div{display:flex;justify-content:space-between;align-items:center;position:relative;min-height:44px}header h1,header h1 a{font-family:var(--font-family-base),serif;font-weight:600;font-size:1.2em;line-height:44px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:250px;padding-top:2px}header h1 a{text-decoration:none;color:inherit}header h1 a:hover{text-decoration:none}#site-title{font-size:2.5rem;padding:10px 0}.header-controls{display:flex;align-items:center;gap:12px;opacity:1;pointer-events:auto;transition:opacity .2s ease}.arabic{direction:rtl;font-family:var(--font-family-arabic)}.error404{font-family:var(--font-family-arabic);opacity:.7}.navbar{padding:.5rem}.nav-container{max-width:var(--content-max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-menu{list-style:none;display:flex;gap:.8rem;padding:0 5px;margin:0}.nav-menu li a{text-decoration:underline;color:var(--text-color);font-size:14px}.lang-switcher{margin-left:auto;padding:0 10px}[dir=rtl] .lang-switcher{margin-left:0;margin-right:auto;padding:0 10px}.toggle-switch{visibility:hidden;position:relative;width:40px;height:20px;flex-shrink:0;margin-left:0}.toggle-switch.visible{visibility:visible}.toggle-input{opacity:0;width:0;height:0}.toggle-label{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-color);transition:background-color .2s ease,border-color .2s ease;border-radius:34px;border:1px solid var(--text-color)}.toggle-slider{position:absolute;content:'';height:14px;width:14px;left:2px;bottom:2px;background-color:var(--text-color);transition:transform .2s ease,background-color .2s ease;border-radius:50%}.toggle-input:checked+.toggle-label{background-color:var(--text-color)}.toggle-input:checked+.toggle-label .toggle-slider{transform:translateX(20px);background-color:var(--bg-color)}h1,h2,h3,.author-date,.mobile-toc-link,.toc-container h2{font-family:var(--font-family-base),serif;font-weight:400;line-height:1.2}h1{font-size:var(--h1-font-size);margin-top:var(--h1-margin-top);margin-bottom:var(--h1-margin-bottom);font-weight:600;line-height:1.1}h2{font-size:2rem;margin-top:2rem;margin-bottom:1.5rem;font-weight:600}h3{font-size:1.5rem;margin-top:1.5rem;margin-bottom:1rem;margin-bottom:var(--hx-margin-bottom);font-weight:600}h4{font-size:1.3rem;margin-top:.5em;margin-bottom:var(--hx-margin-bottom);font-weight:400;font-style:italic}h5{font-size:1.1rem;margin-top:.5em;margin-bottom:.5em}h6{font-size:.9em;margin-top:.5em;font-weight:400;margin-bottom:var(--hx-margin-bottom)}center{margin-top:.5em}.author-date{font-weight:400;font-size:.9em;color:#767676;margin-top:.5em;margin-bottom:0;line-height:1.4}.mobile-toc-link,.toc-container h2{font-size:1.2em;padding:130px 20px 30px;font-weight:600}hr{margin:2rem auto}@media(min-width:1400px){.content-wrapper,header>div{max-width:var(--content-max-width)}}.footnotes{margin-top:25px}.footnotes-list{list-style-type:none;padding-left:0;counter-reset:footnote}.footnote-item{margin-bottom:10px;position:relative;padding-left:0;display:block}.footnote-item p sup[id^=fnref]{vertical-align:super;font-size:.75em;line-height:0}.footnote-item sup{margin-right:4px;flex-shrink:0;font-size:14px;font-weight:500}sup[id^=fnref] a{text-decoration:none;font-size:12px;font-weight:500;color:inherit;padding:3px 3px 1px;margin:0 2px;border-radius:4px;background-color:var(--footnote-bg-color);position:relative;z-index:1}sup[id^=fnref] a:hover,sup[id^=fnref] a:focus{background-color:var(--footnote-hover-bg-color)}.footnote-backref{text-decoration:none;color:inherit;font-size:.75em;vertical-align:middle;line-height:0;margin-left:2px}.footnote-backref:hover{text-decoration:underline}.footnote-tooltip{position:absolute;background-color:var(--tooltip-bg-color);color:var(--tooltip-text-color);padding:20px;border-radius:4px;box-shadow:0 2px 8px var(--tooltip-shadow-color);max-width:400px;z-index:1000;font-size:17px;line-height:1.5;pointer-events:auto}.footnote-tooltip p{margin:0 0 8px;display:block;align-items:flex-start}.footnote-tooltip p:last-child{margin-bottom:0}.footnote-tooltip sup{margin-right:4px;flex-shrink:0;font-weight:500}.footnote-tooltip a{color:inherit;text-decoration:underline}footer{margin-bottom:20px;padding:20px 0;margin-top:auto;background-color:var(--bg-color);transition:background-color .2s ease}.back-to-top{text-align:center;cursor:pointer;font-weight:400;color:var(--text-color);text-decoration:underline}.footer-content{font-size:.8em;text-align:center;color:var(--text-color);opacity:.7}.privacy-policy-link{text-align:center;margin-top:10px;font-size:.8em}.privacy-policy-link a{color:var(--text-color);text-decoration:none;opacity:.7;transition:opacity .2s ease}.privacy-policy-link a:hover{text-decoration:underline;opacity:1}.subscribe-form-container{margin-top:20px;max-width:400px;box-sizing:border-box;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:center}.subscribe-form{display:flex;flex-direction:column;width:100%;margin-bottom:10px}.subscribe-form .email-input{width:100%;padding:10px;margin-bottom:10px;border:2px solid var(--border-color);border-radius:4px;font-size:var(--font-size-base);background-color:var(--bg-color);color:var(--subscribe-form-text);box-sizing:border-box;font-family:inherit}.subscribe-form .submit-button{width:100%;padding:10px;background-color:var(--subscribe-button-bg);color:var(--subscribe-button-text);border:none;border-radius:4px;font-size:var(--font-size-base);font-weight:400;cursor:pointer;transition:opacity .2s ease;font-family:inherit}.subscribe-form .submit-button:hover{opacity:.85}#formMessage{text-align:center;margin-top:10px;font-weight:400;font-style:italic;width:100%}.content-wrapper img{max-width:100%;height:auto;margin:.5rem auto}#icon-link{color:var(--text-color);fill:var(--text-color);display:inline-block;filter:var(--filter);margin:0;padding:0;object-fit:contain;max-width:100%;height:auto;background-color:transparent;text-decoration:none}#icon{color:var(--text-color);fill:var(--text-color);display:inline-block;filter:var(--filter);margin:0;padding:0;object-fit:contain;max-width:100%;height:auto;object-position:center;display:inline-block;background-color:transparent;text-decoration:none}code{background-color:#f5f5f5;padding:1.2em 1.4em;border-radius:50px;font-size:.95em;font-family:fira code,courier new,monospace;white-space:nowrap}.title-date{display:flex;justify-content:space-between;align-items:center;gap:1rem}.title-date a{}.list-date{font-size:.9rem;opacity:.7;text-align:end}.title-date ul{margin:0;padding:0}.list-table td{border:none;vertical-align:top;min-width:50px;padding:20px}.list-table{border:none}.info-cell{}.date-cell{white-space:nowrap;width:15%;text-align:end}.content-cell{text-align:left}list-table tr td{min-width:40px}.summary{font-size:.75rem;margin-top:.7rem;opacity:.6;text-align:start}pre{position:relative;padding:1.5rem}