@font-face{font-family:Lato;src:local("Lato"),local("Lato-Regular"),url("/Lato-Regular.ttf");}
a{color:inherit;background-color:inherit;font:inherit;text-decoration:inherit}
a:hover{text-decoration:underline}
/* http://paletton.com/#uid=33i0X0kz3BrkeHdpSD1C7r1FAlb */
body{font-family:Lato, sans-serif;font-size:12pt;font-weight:normal;max-width:90ch;margin:auto;padding:0 .5em}
body.man{padding:0 .5em 3em .5em}
body #content{padding-top:45px}
body pre{background:#fbfbfb;border:none;font-family:monospace, courier}
body code{font-weight:bold}
body a{color:#008181}
h1{display:block;width:calc(100% - 1em);position:relative;padding:.5em}
h1::before{content:"";position:absolute;z-index:-1;background-color:#ffe35e;left:0em;bottom:0em;width:100%;height:100%;border-radius:10px;transform:skew(10deg)}
#table-of-contents{font-size:80%;padding-left:0.5em;padding-right:0.5em;text-align:right;float:right;border-left:1px solid #ffd300;border-bottom:1px solid #ffd300;background:#ffe35e}
#table-of-contents ul{padding-left:1em}
#table-of-contents h2{font-size:100%;font-weight:normal;padding-left:0.5em;padding-right:0.5em;padding-top:0.05em;padding-bottom:0.05em}
#table-of-contents #text-table-of-contents{text-align:left}
#org-div-home-and-up{text-align:center;font-size:100%}
.outline-2 h2{display:block;width:100%;position:relative}
.outline-2 h2::before{content:"";height:100%;width:calc(100% + 2em);position:absolute;z-index:-1;bottom:0em;left:-1em;background:linear-gradient(45deg,#ffe35e 50%,transparent 75%);transform:skew(10deg);border-radius:5px;}
.outline-3 h3{display:block;width:auto;position:relative}
.outline-3 h3::before{content:"";position:absolute;z-index:-1;width:calc(100% + 2em);height:100%;left:-1em;bottom:0em;background:linear-gradient(45deg,#ffe35e 25%,transparent 50%);transform:skew(10deg);border-radius:3px}
.outline-4 h4{display:block;width:auto;position:relative}
.outline-4 h4::before{content:"";position:absolute;z-index:-1;width:calc(100% + 1em);height:50%;left:-.5em;bottom:0ex;background:linear-gradient(45deg,#ffe35e 25%,transparent 33%);transform:skew(10deg);border-radius:3px}
.outline-2 h2:hover::before,.outline-3 h3:hover::before,.outline-4 h4:hover::before{background-color:#ffe35e}
pre{margin:1.2ex}
pre.src{padding-top:8px;border-left-style:solid;border-color:#00adad;overflow:auto;margin-top:0;margin-bottom:0}
pre.src-hoa{border-color:#d70079}
pre.example{border-left-style:solid;border-color:#d70079;margin-top:0;position:relative;z-index:2}
div.org-src-container+pre.example{border-top-width:1px;border-top-color:#ddd;border-top-style:dashed}
div.org-src-container+div.org-src-container pre.src{border-top-width:1px;border-top-color:#ddd;border-top-style:dashed}
div.org-src-container {margin-top:0;margin-bottom:0;position:relative;z-index:1}
pre.src-text{border-left-style:solid;border-color:#d70079}
pre.src::before{border:none;border-bottom-style:solid;border-color:#00adad;top:0px;}
pre.src-python::before{content:'Python'}
pre.src-C\+\+::before{content:'C++'}
pre.src-hoa::before{content:'HOA';border-color:#d70079}
img{max-width:100%}
svg.org-svg{width:auto;max-width:100%}
table{margin-top:1em}
table.csv-table,table.table-pre{font-family:monospace, courier}
table.csv-table th{vertical-align:bottom}
table.csv-table th div{text-align:center}
table.csv-table th div span{text-align:left;writing-mode:vertical-lr;transform:rotate(180deg);display:inline-block;white-space:nowrap}
@media only screen and (max-width:100ch){
#spotlogo{display:none}
.outline-2 h2::before,.outline-3 h3::before,h1.title::before{transform:none;}
}
@media screen{
#table-of-contents{position:fixed;right:0em;top:0em;max-width:50%;max-height:80%;overflow:auto;z-index:10}
#table-of-contents #text-table-of-contents{display:none}
#table-of-contents:hover #text-table-of-contents{display:block;padding:0.5em;margin-top:-1.5em}
#spotlogo{position:absolute;top:10px;left:10px;z-index:-1}
}
@media print{
#table-of-contents{border:1px solid #ffd300}
#org-div-home-and-up{visibility:hidden}
#spotlogo{width:2cm;position:absolute;top:0px;left:0px;z-index:-1}
pre.src{word-wrap:break-word;white-space:pre-wrap}
pre.example{word-wrap:break-word;white-space:pre-wrap}
}
thead tr{background:#ffe35e}
#content tbody:nth-child(odd) tr:nth-child(even){background:#fff0a6}
#content tbody:nth-child(odd) tr:nth-child(odd){background:#fff7cf}
#content tbody:nth-child(even) tr:nth-child(even){background:#fff3bc}
#content tbody:nth-child(even) tr:nth-child(odd){background:#fffbe0}
.org-svg{max-width:100%;width:auto}
.org-keyword,.org-builtin,.org-preprocessor,.org-py-import-from,.org-py-def-class{font-weight:bold}
.org-string{font-weight:bold;color:#00adad}
.src-hoa .org-string{font-weight:bold;color:#d70079}
.src-makefile .org-variable-name{font-weight:bold;color:#d70079}
.org-makefile-targets{font-weight:bold;color:#00adad}
.org-function-name{font-weight:bold;color:#d70079}
.org-type{font-weight:bold;color:#00adad}
.org-comment-delimiter{font-weight:bold;color:#a13672}
.org-comment{font-style:italic;color:#a13672}
.org-hoa-keyword,.org-hoa-builtin,.org-hoa-acceptance-set{font-weight:bold}
.org-hoa-header-uppercase{font-weight:bold;color:#00adad}
.org-hoa-header-lowercase{color:#00adad}
.org-hoa-ap-number{color:#d70079}
.implem{background:#fff0a6;padding:0.5ex 1ex 0.5ex 1ex;margin:1ex;border-color:#ffe35e;border-style:solid none}
.implem::before{background:#ffe35e;content:"Implementation detail";padding:.5ex;position:relative;top:0;left:0;font-weight:bold}
.note{background:#fff0a6;padding:0.5ex 1ex 0.5ex 1ex;margin:1ex;border-color:#ffe35e;border-style:solid none}
.note::before{background:#ffe35e;content:"Note";padding:.5ex;position:relative;top:0;left:0;font-weight:bold}
.caveat{background:#ef99c9;padding:0.5ex 1ex 0.5ex 1ex;margin:1ex;border-color:#d70079;border-style:solid none}
.caveat::before{background:#d70079;content:"Caveat";padding:.5ex;position:relative;top:0;left:0;font-weight:bold}
.spotlogo{transform-origin:50% 50%;animation-duration:2s;animation-name:animspotlogo}
g.spotlogobg{transform-origin:50% 50%;animation-duration:2s;animation-name:animspotlogobg}
g.spotlogover{transform-origin:50% 50%;animation-duration:3s;animation-name:animspotlogover}
@keyframes animspotlogo{
0%{transform:rotateY(90deg)}
80%{transform:rotateY(0deg)}
100%{transform:rotateY(0deg)}
}
@keyframes animspotlogobg{
0%{transform:rotateY(90deg)}
50%{transform:rotate(0deg)rotateY(0deg)}
100%{transform:rotate(360deg)rotateY(0deg)}
}
@keyframes animspotlogover{
0%{transform:scale(.9)}
50%{transform:scale(.9)}
62%{transform:scale(1.1)}
75%{transform:scale(.9)}
88%{transform:scale(1.1)}
100%{transform:scale(1)}
}
#iddemo #E3 path{animation:flashstroke 1s linear infinite;}
@keyframes flashstroke{50%{stroke:red;stroke-width:1.5;}}
#iddemo #E3 polygon{animation:flashfill 1s linear infinite;}
@keyframes flashfill{50%{stroke:red;stroke-width:1.5;fill:red}}
