Index: docs/api.css
===================================================================
--- docs/api.css	(revision 0)
+++ docs/api.css	(revision 0)
@@ -0,0 +1,191 @@
+
+table { border:0px solid white; }
+
+/* Tables */ 
+table.help         { margin-left: auto; margin-right: auto; background: #92cc47;}
+th.summary, th.details, th.index
+                   { font-family:"Trebuchet MS",sans-serif; font-weight:normal;
+text-align: left; font-size:150%; margin-top:1em; margin-bottom:.2em; line-height:1.2em; margin-top:-.5em !important; margin-bottom:.6em; color:#487858;  }
+
+
+h1,h2,h3 { margin-top:.8em; font-family:"Trebuchet MS",sans-serif; font-weight:normal; }
+h1 { font-size:218%; margin-top:.6em; margin-bottom:.6em; color:#092e20; line-height:1.1em; }
+h2 { font-size:150%; margin-top:1em; margin-bottom:.2em; line-height:1.2em; color:#092e20; }
+#homepage h2 { font-size:140%; }
+h3 { font-size:125%; font-weight:bold; margin-bottom:.2em; color:#487858; }
+h4 { font-size:100%; font-weight:bold; margin-bottom:-3px; margin-top:1.2em; text-transform:uppercase; letter-spacing:1px; }
+h5 { font-size:1em; font-weight:bold; margin-top:1.5em; margin-bottom:3px; }
+
+/* Table of contents */
+p.toc              { margin:0; margin-left: 10px; padding: 0; }
+h1.tocheading  { text-align: center; margin-left: 0px;}
+h2.tocheading  {margin-left: 5px;}
+
+/* Base tree */
+pre.base-tree      { font-size: 80%; margin: 0; }
+
+/* Summary Sections */
+p.varlist          { padding: 0 0 0 0; text-indent: 0em;
+                     margin: 0;}
+.varlist-header    { font-weight: bold; }
+p.imports          { padding: 0 0 0 3em; text-indent: -2.5em; }
+.imports-header    { font-weight: bold; }
+
+/* Details Sections */
+table.func-details { background: #e0ffb8;
+                     padding: 0 1em 0 2em; margin: 0.4em 0 0 0; 
+border:1px solid #94da3a;}
+h3.func-detail     { margin: 0 0 1em 0; }
+table.var-details  { border-width: 0px; border-style: none;
+                     padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
+h3.var-details     { margin: 0 0 1em 0; }
+
+/* Function signatures */
+.sig               { font-weight: bold; }  
+
+/* Doctest blocks */
+.py-prompt         { font-weight: bold;}
+pre.doctestblock   { padding: .5em; margin: 1em;
+                     border-width: 1px; border-style: solid; }
+table pre.doctestblock
+                   { padding: .5em; margin: 1em;
+                     border-width: 1px; border-style: solid; }
+
+/* Variable values */
+pre.variable       { padding: .5em; margin: 0;
+                     border-width: 1px; border-style: solid; }
+
+/* Navigation bar */ 
+.nomargin          { margin: 0; }
+
+/* This is used in <div> sections containing tables of private
+values, to make them flow more seamlessly with the table that
+comes before them. */
+.continue          { border-top: 0; }
+
+
+/* Source Code Listings */
+div.py-src         { border:1px solid #94da3a; }
+div.highlight-hdr  { border-top: 2px solid #94da3a; border-bottom: 1px solid #94da3a; }
+div.highlight      { border-bottom: 1px solid #94da3a; }
+.lineno            { border-right: 2px solid;
+                     padding-right: .2em;
+                     font-style: italic; }
+
+/* Lists */
+ul { margin-top: 0; }
+
+.header            { font-size: 85%; }
+.breadcrumbs       { font-size: 85%; font-weight: bold; }
+.options           { font-size: 70%; }
+.rtype, .ptype, .vtype 
+                   { font-size: 85%; width: 2em;}
+dt                 { font-weight: bold; }
+.small             { font-size: 85%; }
+
+h2 span.codelink { font-size: 58%; font-weight: normal; }
+span.codelink { font-size: 85%; font-weight: normal; }
+
+/* Body color */ 
+
+body { margin:0; padding:0px; background:#FFFFFF; color:#000000; }
+body, th, td { font:12px/1.4em Verdana,sans-serif; }
+
+/* Tables */ 
+table.summary, table.details, table.index
+                   { background: white; color: #000000; border:5px solid white;} 
+table.summary tr.summary, tr.details, tr.index, th.summery
+                   { background: white; color: #FFFFFF;  border:0px solid white; } 
+th.group           { background: white; color: #234f32;  text-align: left; font-style: normal; font-weight:bold; padding-left: 8px;} 
+table.summery tr td,  table.details tr td {
+padding-left: .4em;
+}
+/* Details Sections */
+/* table.func-details { background: #e8f0f8; color: #000000; */
+/*                      border-color: #c0d0d0; } */ 
+/* h3.func-detail     { background: transparent; color: #000000; } */
+table.var-details  { background: #E0FFB8; color: #000000;
+                     border-color: #c0d0d0; border:1px solid #94da3a; }
+h3.var-details     { background: transparent; color: #000000; }
+
+/* Function signatures */
+.sig               { background: transparent; color: #000000; }
+.sig-name          { background: transparent; color: #006080; }  
+.sig-arg, .sig-kwarg, .sig-vararg
+                   { background: transparent; color: #008060; }  
+.sig-default       { background: transparent; color: #602000; }  
+.summary-sig       { background: transparent; color: #000000; }  
+.summary-sig-name  { background: transparent; color: #204080; }
+.summary-sig-arg, .summary-sig-kwarg, .summary-sig-vararg
+                   { background: transparent; color: #008060; }  
+
+/* Souce code listings & doctest blocks */
+.py-src            { background: transparent; color: #000000; }
+.py-prompt         { background: transparent; color: #005050; }
+.py-string         { background: transparent; color: #006030; }
+.py-comment        { background: transparent; color: #003060; }
+.py-keyword        { background: transparent; color: #600000; }
+.py-output         { background: transparent; color: #404040; }
+.py-name           { background: transparent; color: #000000; }
+.py-number         { background: transparent; color: #005000; }
+.py-def-name       { background: transparent; color: #000060;
+                     font-weight: bold; }
+.py-base-class     { background: transparent; color: #000060; }
+.py-param          { background: transparent; color: #000060; }
+.py-docstring      { background: transparent; color: #006030; }
+.py-decorator      { background: transparent; color: #804020; }
+
+pre.doctestblock   { background: #f4faff; color: #000000; 
+                     border-color: #708890; }
+table pre.doctestblock
+                   { background: #dce4ec; color: #000000; 
+                     border-color: #708890; }
+div.py-src         { background: #E0FFB8; }
+div.highlight-hdr  { background: #c3ff76; }
+div.highlight      { background: #d0ff93; }
+
+
+/* Variable values */
+pre.variable       { background: #E0FFB8; color: #000000;
+                     border:1px solid #94da3a;}
+.variable-linewrap { background: transparent; color: #604000; }
+.variable-ellipsis { background: transparent; color: #604000; }
+.variable-quote    { background: transparent; color: #604000; }
+.re                { background: transparent; color: #000000; }
+.re-char           { background: transparent; color: #006030; }
+.re-op             { background: transparent; color: #600000; }
+.re-group          { background: transparent; color: #003060; }
+.re-ref            { background: transparent; color: #404040; }
+
+/* Navigation bar */ 
+table.navbar  { padding:0px 0px 0px 0px; margin:0; bottom:0; right:0; font-family:"Trebuchet MS",sans-serif; white-space:nowrap; }
+th.navbar { padding:5px 5px 5px 0px; background:#092e20; }
+th.navselect {  padding:5px 5px 5px 0px; color:white; background:#234f32; }
+/*th.navselect a:hover {  padding:5px 5px 5px 0px; color:white; background:#234f32; } */
+table.navbar a { color: #ffc757; }
+th.navbar:hover, th.navbar a:hover { color: white; background:#092e20; }
+
+a {text-decoration: none;}
+a img {border: none;}
+a:link, a:visited { color:#AB5603; }
+a:hover { background-color:#E0FFB8; color:#234f32; text-decoration:none;  }
+
+/* remove ugly borders */
+.summary, tr.summary, th.summary { border:0px solid white; } 
+table.details, table.details th, table.details td { border:0px solid white; } 
+table.summary tr, table.summary th, table.summary td{ border:0px solid white;}
+
+table.summary td { padding-left: 2em; }
+table.summary tr.summary td { padding-left: 0px; }
+
+table.index, table.index td, table.index th { border:0px none white;}
+table.index tr td  { border-bottom:1px solid #CCCCCC;} 
+
+/* table.summary tr td { padding-left: 10px } */
+
+hr { color: #94da3a; border:1px solid #94da3a; }
+
+/* Misc. */
+.footer            { font-size: 85%; background: #092e20; color: #234f32; min-height: 100%;}
+td.footer a { color: #ffc757; }
+td.footer a:hover { color: white; background:#092e20; }
