:root{--ml-ink:#1d1d1b;--ml-gold:#d9ab59;--ml-vermilion:#e84e0f;--ml-teal:#00aa9e;--ml-taupe:#877666;--ml-taupe-soft:#a89a8c;--ml-phoenix-orange:#f19523;--ml-phoenix-green:#60b68a;--ml-gold-text:#8c6a2e;--ml-taupe-text:#786858;--ml-teal-text:#00110f;--ml-paper:#fbf9f6;--ml-paper-2:#f4efe8;--ml-rule:#ded6cc;--ml-rule-strong:#a89a8c;--background:var(--ml-paper);--foreground:var(--ml-ink);--color-background:var(--ml-paper);--color-foreground:var(--ml-ink);--color-surface:var(--ml-paper-2);--color-border:var(--ml-rule);--color-accent:var(--ml-gold);--color-highlight:var(--ml-teal);--color-info:#00aa9e;--color-success:#59c07d;--color-warning:#ffd24d;--color-error:#f26c6c}.theme-dark{--color-background:#121212;--color-foreground:#f5f5f5;--color-surface:#2a2420;--color-border:#c1410d;--color-accent:#a1360a;--color-highlight:#94e59c;--color-info:#067a70;--color-success:#2e8c51;--color-warning:#d9a305;--color-error:#c13d3d}::selection{background-color:var(--ml-gold);color:var(--ml-ink)}.opacity-100{opacity:1}.opacity-80{opacity:.8}.opacity-60{opacity:.6}.opacity-40{opacity:.4}.opacity-20{opacity:.2}.bg-background{background-color:var(--color-background)}.bg-foreground{background-color:var(--color-foreground)}.bg-surface{background-color:var(--color-surface)}.bg-border{background-color:var(--color-border)}.bg-accent{background-color:var(--color-accent)}.bg-info{background-color:var(--color-info)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.bg-error{background-color:var(--color-error)}.text-background{color:var(--color-background)}.text-foreground{color:var(--color-foreground)}.text-surface{color:var(--color-surface)}.text-border{color:var(--color-border)}.text-accent{color:var(--color-accent)}.text-info{color:var(--color-info)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}
@font-face{font-family:Inter;src:url(/fonts/inter-variable.woff2)format("woff2-variations"),url(/fonts/inter-variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-italic-variable.woff2)format("woff2-variations"),url(/fonts/inter-italic-variable.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}.gfs-didot{font-family:GFS Didot,serif;font-style:normal}:root{--font-family-sans:"Inter", sans-serif;--font-family-mono:ui-monospace, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.font-sans{font-family:var(--font-family-sans)}.font-mono{font-family:var(--font-family-mono)}
:root{--ml-font:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ml-font-heading:"GFS Didot", Didot, "Bodoni MT", serif}body{font-family:var(--font-family-sans);color:var(--color-foreground);font-size:16px;font-weight:400;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--ml-font-heading)}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1rem}h4{font-size:.825rem}h5,h6{font-size:.75rem}small{font-size:.715rem}p{margin-top:0}em{font-style:italic}strong{font-weight:700}mark{background-color:var(--color-accent);color:#212529;padding:.2em}blockquote{border-left:4px solid var(--color-border);background-color:var(--color-surface);margin:1rem 0;padding:.5rem 1rem;font-style:italic}blockquote p{margin-bottom:.5rem}blockquote cite{color:var(--color-accent);display:block}abbr{cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}code,kbd,samp,var{font-family:var(--font-family-mono)}kbd{color:var(--color-foreground);background-color:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 1px 0 var(--color-border)}time{color:var(--color-accent)}sup,sub{vertical-align:baseline;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}address{margin-bottom:1rem}dl{margin:1rem 0;padding:0}dt{color:var(--color-foreground);margin-top:.5rem;font-weight:600}dt:first-child{margin-top:0}dd{color:var(--color-accent);margin:.25rem 0 .5rem 1.5rem}pre{font-family:var(--font-family-mono);color:var(--color-foreground);word-break:break-all;word-wrap:break-word;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.25rem;margin:0 0 1rem;padding:1rem;font-size:.7rem;display:block;overflow-x:auto}
:root{--ml-wrap:80rem;--ml-gutter:clamp(1.25rem, 4vw, 3rem);--ml-edge:max(var(--ml-gutter), calc((100vw - var(--ml-wrap)) / 2))}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--foreground);background:var(--background);font-family:var(--ml-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex}*{box-sizing:border-box;margin:0;padding:0}.skip-link{z-index:1000;background:var(--ml-paper);color:var(--ml-ink);border:1px solid var(--ml-rule-strong);border-radius:.25rem;padding:.6rem 1rem;transition:top .15s ease-in-out;position:absolute;top:-3rem;left:.5rem}.skip-link:focus{top:.5rem}main{max-width:900px;margin:0 auto;padding:.5rem 1rem}footer{border-top:1px solid var(--color-border);max-width:1024px;margin:2rem auto 0;padding:.5rem 1rem}section,article{margin:1rem 0}aside{background-color:var(--color-surface);border-left:4px solid var(--color-border);border-radius:.25rem;margin:1rem 0;padding:1rem}figure{margin-bottom:1rem}details{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:.25rem;margin-bottom:1rem;padding:.5rem}summary{cursor:pointer;border-radius:.25rem;margin:-.5rem;padding:.5rem;font-weight:600}summary:hover{background-color:var(--color-background)}details[open] summary{border-bottom:1px solid var(--color-border);margin-bottom:.5rem}
a{color:var(--color-foreground);text-decoration:underline}a:hover{color:inherit;background-color:#0000;text-decoration-thickness:2px}html{scroll-behavior:smooth}[id]{scroll-margin-top:2rem}
.site-nav{padding:1.2rem var(--ml-gutter);border-bottom:1px solid var(--ml-rule);background-color:var(--color-background);flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.nav-logo{flex-shrink:0;align-items:center;display:flex}.nav-logo:hover{background-color:#0000}.nav-logo .logo{width:auto;height:clamp(2.7rem,7vw,3.6rem)}.nav-link{color:var(--color-foreground);border-radius:9999px;padding:.5rem .9rem;font-size:1.05rem;line-height:1;text-decoration:none;transition:color .15s,background-color .15s}.nav-link:hover,.nav-link:focus-visible{color:var(--color-foreground);background-color:var(--color-accent)}.nav-link-active{color:var(--color-foreground);background-color:var(--ml-paper-2);font-weight:600}.nav-link-active:hover,.nav-link-active:focus-visible{color:var(--color-foreground);background-color:var(--color-accent)}.nav-dropdown{display:flex;position:relative}.nav-dropdown-trigger{align-items:center;gap:.35rem;display:inline-flex;position:relative}.nav-dropdown-trigger-link{color:inherit;text-decoration:none}.nav-dropdown-trigger-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.nav-dropdown-caret-btn{appearance:none;width:1.1rem;height:1.1rem;color:inherit;cursor:pointer;z-index:1;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.nav-dropdown-caret-btn:hover{color:inherit;background:0 0}.nav-dropdown-caret{border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0}.nav-dropdown-menu{z-index:20;background-color:var(--color-background);border:1px solid var(--ml-rule);border-radius:.5rem;flex-direction:column;gap:.15rem;min-width:12rem;padding:.4rem;display:none;position:absolute;top:calc(100% + .4rem);left:0;box-shadow:0 4px 16px #1d1d1b1f}.nav-dropdown-menu-open{display:flex}.nav-dropdown-link{color:var(--color-foreground);white-space:nowrap;border-radius:9999px;padding:.5rem .9rem;font-size:.98rem;text-decoration:none;transition:color .15s,background-color .15s}.nav-dropdown-link:hover,.nav-dropdown-link:focus-visible{color:var(--color-foreground);background-color:var(--color-accent)}.lang-switch{border:1px solid var(--ml-gold);color:var(--ml-gold-text);border-radius:9999px;margin-left:auto;padding:.35rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .15s,background-color .15s}.lang-switch:hover,.lang-switch:focus-visible{color:var(--color-foreground);background-color:var(--ml-gold)}.nav-book{background-color:var(--ml-gold);color:var(--ml-ink);white-space:nowrap;border-radius:9999px;margin-left:auto;padding:.4rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .15s,background-color .15s}.nav-book:hover,.nav-book:focus-visible{background-color:var(--ml-gold-text);color:var(--ml-paper)}.nav-book+.lang-switch{margin-left:0}.nav-toggle{cursor:pointer;background:0 0;border:none;margin-left:auto;padding:.5rem;display:none}.nav-toggle-bar{background-color:var(--color-foreground);width:22px;height:2px;margin:4px 0;transition:transform .15s,opacity .15s;display:block}.nav-toggle[aria-expanded=true] .nav-toggle-bar:first-child{transform:translateY(6px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.nav-links{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:clamp(.75rem,2vw,1.5rem);display:flex}@media (max-width:640px){.site-nav{gap:.75rem}.nav-toggle{display:block}.nav-links{border-top:1px solid var(--ml-rule);background-color:var(--color-background);flex-direction:column;flex:1 0 100%;align-items:flex-start;gap:.25rem;width:100%;padding:1rem 0 .5rem;display:none}.nav-links.nav-links-open{display:flex}.nav-link{width:100%;padding:.6rem .5rem}.nav-dropdown{flex-direction:column;width:100%}.nav-dropdown-trigger{border-radius:9999px;justify-content:space-between;width:100%;padding:.6rem .5rem}.nav-dropdown-menu{box-shadow:none;background:0 0;border:none;flex-direction:column;padding:0 0 0 1rem;display:flex;position:static}.nav-dropdown-menu:not(.nav-dropdown-menu-open){display:none}.lang-switch{margin-left:0}}nav ul{flex-flow:wrap;gap:1.5rem;margin:0;padding:.5rem;list-style:none;display:flex}nav ul li{margin:0;padding:0}nav ul li a{color:var(--ml-taupe);border-radius:.25rem;padding:.25rem .5rem;text-decoration:none;transition:all .2s}nav ul li a:hover,nav ul li a.active{color:var(--color-foreground);background-color:var(--color-accent)}
header{background-color:var(--color-background);z-index:1035;border-bottom:1px solid var(--color-border);width:100%;max-width:1024px;margin:2rem auto 0;padding:0 1rem;position:sticky;top:0;left:0;right:0}.header-top{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.theme-switcher{align-items:center;gap:.5rem;display:flex}
ul{margin-top:0;margin-bottom:1rem}ul li{margin-bottom:.5rem}ul ul{margin-top:.5rem;margin-bottom:0}ol{margin-top:0;margin-bottom:1rem}ol li{margin-bottom:.5rem}ol ol{margin-top:.5rem;margin-bottom:0}dl{margin-top:0;margin-bottom:1rem}dt{margin-bottom:.25rem}dd{margin-bottom:.75rem}li>ul,li>ol{margin-bottom:0}ul.no-bullets{padding-left:0;list-style-type:none}ol.roman{list-style-type:upper-roman}ol.alpha{list-style-type:lower-alpha}@media (min-width:768px){dl.horizontal{grid-template-columns:30% 70%;gap:.5rem;display:grid}dl.horizontal dt{text-align:right;grid-column:1;margin-bottom:0}dl.horizontal dd{grid-column:2;margin-left:0}}
table{border-collapse:collapse;border:1px solid var(--ml-rule-strong);width:100%;margin-bottom:1rem}caption{caption-side:top;text-align:left;padding:1rem 0}th,td{vertical-align:top;text-align:left;border-bottom:1px solid var(--ml-rule-strong);padding:.75rem}thead th{vertical-align:bottom;background-color:var(--color-accent)}tbody+tbody{border-top:1px solid var(--ml-rule-strong)}tfoot td{background-color:var(--color-surface);font-style:italic}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}}
form{margin-bottom:1rem}fieldset{border:1px solid var(--color-border);border-radius:.25rem;margin-bottom:1rem;padding:1rem}legend{padding:0 .5rem;font-weight:600}label{margin-bottom:.25rem;font-weight:600;display:block}input,select,textarea,button{border:1px solid var(--ml-rule-strong);background-color:var(--color-background);color:var(--color-foreground);border-radius:.25rem;width:100%;margin-bottom:1rem;padding:.5rem;font-family:inherit;font-size:1rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}textarea{resize:vertical;min-height:6rem}button{cursor:pointer;background-color:var(--color-accent);width:auto;color:var(--color-background);border:none;padding:.5rem 1rem}button:hover{background-color:var(--ml-gold-text);color:var(--ml-paper)}input[type=checkbox],input[type=radio]{width:auto;margin-right:.5rem;display:inline-block}.is-valid{border-color:var(--color-success)}.is-invalid{border-color:var(--color-error)}.form-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:768px){.form-grid{grid-template-columns:1fr 1fr}}
.logo{width:auto;height:5.4rem}img{max-width:100%;height:auto;display:block}figure{margin:0 0 1rem}figcaption{color:var(--color-accent);padding-top:.25rem;font-size:.875em}.responsive-img{width:100%;height:auto}.rounded-img{border-radius:.25rem}.circle-img{border-radius:50%}.thumbnail-img{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:.25rem;padding:.25rem}.img-left{float:left;margin:0 1rem 1rem 0}.img-right{float:right;margin:0 0 1rem 1rem}.img-center{margin-left:auto;margin-right:auto;display:block}picture{display:block}audio,video{max-width:100%}.video-container{height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.video-container iframe,.video-container video{width:100%;height:100%;position:absolute;top:0;left:0}.iframe-container{height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.iframe-container iframe{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.media{align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.media img{flex-shrink:0}.media-body{flex:1}.image-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;display:grid}.hover-zoom{overflow:hidden}.hover-zoom img{transition:transform .3s}.hover-zoom:hover img{transform:scale(1.1)}.hover-opacity{transition:opacity .3s}.hover-opacity:hover{opacity:.8}
.card{background-color:var(--color-background);border:1px solid var(--ml-rule);border-radius:.25rem;padding:1rem}
.tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;margin-bottom:1rem;display:flex}.tabs input[type=radio]{display:none}.tab-label{cursor:pointer;color:var(--color-foreground);border-bottom:2px solid #0000;padding:.5rem 1rem}.tabs input[type=radio]:checked+.tab-label{border-bottom-color:var(--color-accent);color:var(--color-accent)}.tab-content{padding:1rem 0;animation:.3s fadeIn;display:none}.tabs input[type=radio]:checked+.tab-label+.tab-content{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tabs-vertical{flex-direction:row;display:flex}.tabs-vertical .tabs{border-bottom:none;border-right:1px solid var(--color-border);flex-direction:column}.tabs-vertical .tab-label{border-bottom:none;border-right:2px solid #0000}.tabs-vertical input[type=radio]:checked+.tab-label{border-right-color:var(--color-accent);border-bottom-color:#0000}
.demo-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.25rem;margin-bottom:1rem;padding:1rem}.demo-item{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:.25rem;margin-bottom:.5rem;padding:.5rem}.flex{display:flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.flex-1{flex:1}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-grid{display:grid}@media (min-width:576px){.sm\:d-none{display:none}.sm\:d-block{display:block}.sm\:d-flex{display:flex}}@media (min-width:768px){.md\:d-none{display:none}.md\:d-block{display:block}.md\:d-flex{display:flex}}@media (min-width:992px){.lg\:d-none{display:none}.lg\:d-block{display:block}.lg\:d-flex{display:flex}}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.m-0\!{margin:0!important}.p-0\!{padding:0!important}.mt-0\!{margin-top:0!important}.mb-0\!{margin-bottom:0!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.border{border:1px solid var(--color-border)}.border-t{border-top:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-l{border-left:1px solid var(--color-border)}.border-r{border-right:1px solid var(--color-border)}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.w-full{width:100%}.max-w-7xl{max-width:80rem}.cursor-pointer{cursor:pointer}

