/*! normalize.css 2012-02-07T12:37 UTC - https://github.com/necolas/normalize.css */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:hover,a:active{outline:0}h1{font-size:2em;margin:0.67em 0}h2{font-size:1.5em;margin:0.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:0.83em;margin:1.67em 0}h6{font-size:0.75em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:1em 40px}dfn{font-style:italic}mark{background:#ff0;color:#000}p,pre{margin:1em 0}pre,code,kbd,samp{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:75%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@font-face{font-family:'OpenSansLight';src:url("../fonts/OpenSans-Light-webfont.eot");src:url("../fonts/OpenSans-Light-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/OpenSans-Light-webfont.woff") format("woff"),url("../fonts/OpenSans-Light-webfont.ttf") format("truetype"),url("../fonts/OpenSans-Light-webfont.svg#OpenSansLight") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:'OpenSansLightItalic';src:url("../fonts/OpenSans-LightItalic-webfont.eot");src:url("../fonts/OpenSans-LightItalic-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/OpenSans-LightItalic-webfont.woff") format("woff"),url("../fonts/OpenSans-LightItalic-webfont.ttf") format("truetype"),url("../fonts/OpenSans-LightItalic-webfont.svg#OpenSansLightItalic") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:'OpenSansRegular';src:url("../fonts/OpenSans-Regular-webfont.eot");src:url("../fonts/OpenSans-Regular-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/OpenSans-Regular-webfont.woff") format("woff"),url("../fonts/OpenSans-Regular-webfont.ttf") format("truetype"),url("../fonts/OpenSans-Regular-webfont.svg#OpenSansRegular") format("svg");font-weight:normal;font-style:normal;-webkit-font-smoothing:antialiased}@font-face{font-family:'OpenSansItalic';src:url("../fonts/OpenSans-Italic-webfont.eot");src:url("../fonts/OpenSans-Italic-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/OpenSans-Italic-webfont.woff") format("woff"),url("../fonts/OpenSans-Italic-webfont.ttf") format("truetype"),url("../fonts/OpenSans-Italic-webfont.svg#OpenSansItalic") format("svg");font-weight:normal;font-style:normal;-webkit-font-smoothing:antialiased}@font-face{font-family:'OpenSansSemibold';src:url("../fonts/OpenSans-Semibold-webfont.eot");src:url("../fonts/OpenSans-Semibold-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/OpenSans-Semibold-webfont.woff") format("woff"),url("../fonts/OpenSans-Semibold-webfont.ttf") format("truetype"),url("../fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold") format("svg");font-weight:normal;font-style:normal;-webkit-font-smoothing:antialiased}@font-face{font-family:'OpenSansSemiboldItalic';src:url("../fonts/OpenSans-SemiboldItalic-webfont.eot");src:url("../fonts/OpenSans-SemiboldItalic-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/OpenSans-SemiboldItalic-webfont.woff") format("woff"),url("../fonts/OpenSans-SemiboldItalic-webfont.ttf") format("truetype"),url("../fonts/OpenSans-SemiboldItalic-webfont.svg#OpenSansSemiboldItalic") format("svg");font-weight:normal;font-style:normal;-webkit-font-smoothing:antialiased}@font-face{font-family:'OpenSansBold';src:url("../fonts/OpenSans-Bold-webfont.eot");src:url("../fonts/OpenSans-Bold-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/OpenSans-Bold-webfont.woff") format("woff"),url("../fonts/OpenSans-Bold-webfont.ttf") format("truetype"),url("../fonts/OpenSans-Bold-webfont.svg#OpenSansBold") format("svg");font-weight:normal;font-style:normal;-webkit-font-smoothing:antialiased}@font-face{font-family:'OpenSansBoldItalic';src:url("../fonts/OpenSans-BoldItalic-webfont.eot");src:url("../fonts/OpenSans-BoldItalic-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/OpenSans-BoldItalic-webfont.woff") format("woff"),url("../fonts/OpenSans-BoldItalic-webfont.ttf") format("truetype"),url("../fonts/OpenSans-BoldItalic-webfont.svg#OpenSansBoldItalic") format("svg");font-weight:normal;font-style:normal;-webkit-font-smoothing:antialiased}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight,.highlight .w{color:#d0d0d0}.highlight .err{color:#151515;background-color:#ac4142}.highlight .c,.highlight .cd,.highlight .cm,.highlight .c1,.highlight .cs{color:#888}.highlight .cp{color:#f4bf75}.highlight .nt{color:#f4bf75}.highlight .o,.highlight .ow{color:#d0d0d0}.highlight .p,.highlight .pi{color:#d0d0d0}.highlight .gi{color:#90a959}.highlight .gd{color:#ac4142}.highlight .gh{color:#6a9fb5;font-weight:bold}.highlight .k,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kv{color:#aa759f}.highlight .kc{color:#d28445}.highlight .kt{color:#d28445}.highlight .kd{color:#d28445}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .sh,.highlight .sx,.highlight .s1{color:#90a959}.highlight .sr{color:#75b5aa}.highlight .si{color:#8f5536}.highlight .se{color:#8f5536}.highlight .nn{color:#f4bf75}.highlight .nc{color:#f4bf75}.highlight .no{color:#f4bf75}.highlight .na{color:#6a9fb5}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo,.highlight .mb,.highlight .mx{color:#90a959}.highlight .ss{color:#90a959}body{padding:0px 0 20px 0px;margin:0px;font:14px/1.5 "OpenSansRegular", "Helvetica Neue", Helvetica, Arial, sans-serif;color:#f0e7d5;font-weight:normal;background:#252525;background-attachment:fixed !important;background:linear-gradient(#2a2a29, #1c1c1c)}h1,h2,h3,h4,h5,h6{color:#e8e8e8;margin:0 0 10px;font-family:'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:normal}p,ul,ol,table,pre,dl{margin:0 0 20px}h1,h2,h3{line-height:1.1}h1{font-size:28px}h2{font-size:24px}h4,h5,h6{color:#e8e8e8}h3{font-size:18px;line-height:24px;font-family:'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif !important;font-weight:normal;color:#b6b6b6}a{color:#ffcc00;font-weight:400;text-decoration:none}a:hover{color:#ffeb9b}a small{font-size:11px;color:#666;margin-top:-0.6em;display:block}ul{list-style-image:url("../images/bullet.png")}strong{font-family:'OpenSansBold', "Helvetica Neue", Helvetica, Arial, sans-serif !important;font-weight:normal}.wrapper{max-width:650px;margin:0 auto;position:relative;padding:0 20px}section img{max-width:100%}blockquote{border-left:3px solid #ffcc00;margin:0;padding:0 0 0 20px;font-style:italic}code{font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, monospace;color:#efefef;font-size:13px;margin:0 4px;padding:4px 6px;border-radius:2px}pre{padding:8px 15px;background:#191919;border-radius:2px;border:1px solid #121212;box-shadow:inset 0 1px 3px rgba(0,0,0,0.3);overflow:auto;overflow-y:hidden}pre code{color:#efefef;text-shadow:0px 1px 0px #000;margin:0;padding:0}table{width:100%;border-collapse:collapse}th{text-align:left;padding:5px 10px;border-bottom:1px solid #434343;color:#b6b6b6;font-family:'OpenSansSemibold', "Helvetica Neue", Helvetica, Arial, sans-serif !important;font-weight:normal}td{text-align:left;padding:5px 10px;border-bottom:1px solid #434343}hr{border:0;outline:none;height:3px;background:transparent url("../images/hr.gif") center center repeat-x;margin:0 0 20px}dt{color:#F0E7D5;font-family:'OpenSansSemibold', "Helvetica Neue", Helvetica, Arial, sans-serif !important;font-weight:normal}#header{z-index:100;left:0;top:0px;height:60px;width:100%;position:fixed;background:url(../images/nav-bg.gif) #353535;border-bottom:4px solid #434343;box-shadow:0px 1px 3px rgba(0,0,0,0.25)}#header nav{max-width:650px;margin:0 auto;padding:0 10px;background:blue;margin:6px auto}#header nav ul{list-style-type:none;margin:0;padding:0}#header nav ul li{font-family:'OpenSansLight', "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:normal;list-style:none;display:inline;color:white;line-height:50px;text-shadow:0px 1px 0px rgba(0,0,0,0.2);font-size:14px}#header nav ul li a{color:white;border:1px solid #5d910b;background:linear-gradient(#93bd20, #659e10);border-radius:2px;box-shadow:inset 0px 1px 0px rgba(255,255,255,0.3),0px 3px 7px rgba(0,0,0,0.7);background-color:#93bd20;padding:10px 12px;margin-top:6px;line-height:14px;font-size:14px;display:inline-block;text-align:center}#header nav ul li a:hover{background:linear-gradient(#749619, #527f0e);background-color:#659e10;border:1px solid #527f0e;box-shadow:inset 0px 1px 1px rgba(0,0,0,0.2),0px 1px 0px transparent}#header nav ul li.fork{float:left;margin-left:0px}#header nav ul li.downloads{float:right;margin-left:6px}#header nav ul li.title{float:right;margin-right:10px;font-size:11px}section{max-width:650px;padding:30px 0px 50px 0px;margin:20px 0;margin-top:70px}section #title{border:0;outline:none;margin:0 0 50px 0;padding:0 0 5px 0}section #title h1{font-family:'OpenSansLight', "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:normal;font-size:40px;text-align:center;line-height:36px}section #title p{color:#d7cfbe;font-family:'OpenSansLight', "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:normal;font-size:18px;text-align:center}section #title .credits{font-size:11px;font-family:'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:normal;color:#696969;margin-top:-10px}section #title .credits.left{float:left}section #title .credits.right{float:right}@media print, screen and (max-width: 720px){#title .credits{display:block;width:100%;line-height:30px;text-align:center}#title .credits .left{float:none;display:block}#title .credits .right{float:none;display:block}}@media print, screen and (max-width: 480px){#header{margin-top:-20px}section{margin-top:40px}nav{display:none}}:root{color-scheme:dark;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: ui-serif, "New York", Georgia, "Times New Roman", serif;--bg-primary: #06080f;--bg-secondary: #0d1220;--bg-sidebar: #090d18;--bg-input: #121a2e;--text-primary: #e6ecf7;--text-body: #d3dbe8;--text-secondary: #a7b4cc;--text-muted: #5e6b82;--accent: #e2c275;--accent-hi: #f0d693;--accent-subtle: #e2c27552;--accent-text: #0a0e18;--border: #1e2a40;--selection-bg: #5b8def33;--syntax-string: #8fb4f2;--syntax-number: #7fc8e8;--syntax-success: #43c97a;--syntax-error: #d2495f;--syntax-raw: #8a95ab;--shadow-inset: inset 0 1px 3px #0000004d}body{color:var(--text-body);background:var(--bg-primary);font-family:var(--font-sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{color:var(--text-primary);background:var(--selection-bg)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:var(--font-sans)}h3{color:var(--text-secondary)}a{color:var(--text-secondary);text-decoration-line:underline;text-decoration-color:var(--text-muted);text-decoration-thickness:1px;text-underline-offset:0.2em;transition:color 150ms ease, text-decoration-color 150ms ease}a:hover{color:var(--text-primary);text-decoration-color:var(--text-secondary)}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a small{color:var(--text-muted)}.principle{color:var(--accent)}ul{list-style-image:none}li::marker{color:var(--accent)}blockquote{color:var(--text-secondary);border-left-color:var(--accent)}code{color:var(--syntax-raw)}pre{background:var(--bg-sidebar);border-color:var(--border);box-shadow:var(--shadow-inset)}pre code{color:var(--text-primary);text-shadow:none}th{color:var(--text-secondary);border-bottom-color:var(--border)}td{border-bottom-color:var(--border)}hr{height:1px;background:var(--border)}dt{color:var(--text-primary)}mark{color:var(--accent-text);background:var(--accent)}section{margin-top:20px}section #title::before{content:"";display:block;width:48px;height:3px;margin:0 auto 28px;border-radius:999px;background:var(--accent)}section #title h1{color:var(--text-primary);font-family:var(--font-display);font-size:clamp(2.5rem, 7vw, 3.5rem);font-weight:400;line-height:1.05;letter-spacing:-0.02em}section #title h1 em{color:var(--accent-hi);font-weight:500}section #title p{color:var(--text-secondary);font-family:var(--font-sans);margin-top:18px}.site-nav{display:flex;justify-content:center;gap:10px;max-width:520px;margin:20px auto 0}.site-nav a{display:flex;flex:1;min-width:0;padding:2px;background:var(--accent);clip-path:polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);color:var(--text-secondary);font-size:1rem;font-weight:600;letter-spacing:0.01em;text-decoration:none;transition:filter 150ms ease}.site-nav a span{display:flex;flex:1;align-items:center;justify-content:center;min-height:42px;padding:0 20px;background:var(--bg-primary);clip-path:polygon(13px 0, 100% 0, 100% calc(100% - 13px), calc(100% - 13px) 100%, 0 100%, 0 13px);transition:background 150ms ease, color 150ms ease}.site-nav a:hover span,.site-nav a[aria-current="page"] span{color:var(--accent-text);background:var(--accent)}.site-nav a:active{filter:brightness(0.9)}.site-nav a.site-nav-home{flex:0 0 48px}.site-nav a.site-nav-home span{padding-inline:0}.site-nav-home svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media (max-width: 420px){.site-nav a span{padding-inline:12px}}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0 32px;border-top:1px solid var(--border);color:var(--text-muted);font-size:0.875rem}.site-footer p{margin:0}.site-footer a{color:var(--text-secondary)}.highlight,.highlight pre{color:var(--text-primary);background:var(--bg-sidebar)}.highlight .c,.highlight .c1,.highlight .cm,.highlight .cp,.highlight .cs,.highlight .ge{color:var(--text-muted)}.highlight .k,.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt,.highlight .nt{color:var(--accent)}.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .se,.highlight .sh,.highlight .si,.highlight .sr,.highlight .ss,.highlight .sx{color:var(--syntax-string)}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo,.highlight .il{color:var(--syntax-number)}.highlight .gd,.highlight .gr,.highlight .gt{color:var(--syntax-error)}.highlight .gi{color:var(--syntax-success)}.highlight .na,.highlight .nb,.highlight .nc,.highlight .nd,.highlight .ne,.highlight .nf,.highlight .nl,.highlight .nn,.highlight .no,.highlight .nv,.highlight .ow,.highlight .p,.highlight .w{color:var(--text-secondary)}
