summaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
Diffstat (limited to 'static')
-rw-r--r--static/apiopage.pngbin0 -> 8783 bytes
-rw-r--r--static/auth.dot21
-rw-r--r--static/bg.jpegbin0 -> 31989 bytes
-rw-r--r--static/bubble-tail.svg4
-rw-r--r--static/citrine.css363
-rw-r--r--static/gear.pngbin0 -> 1937 bytes
-rw-r--r--static/graph.pngbin0 -> 109407 bytes
-rw-r--r--static/graph.svg206
-rw-r--r--static/headers/default.pngbin0 -> 9610 bytes
-rw-r--r--static/headers/error.pngbin0 -> 8700 bytes
-rw-r--r--static/qmark.pngbin0 -> 5031 bytes
-rw-r--r--static/question.svg13
-rw-r--r--static/shadow.pngbin0 -> 163 bytes
13 files changed, 607 insertions, 0 deletions
diff --git a/static/apiopage.png b/static/apiopage.png
new file mode 100644
index 0000000..686ec4c
--- /dev/null
+++ b/static/apiopage.png
Binary files differ
diff --git a/static/auth.dot b/static/auth.dot
new file mode 100644
index 0000000..9345b99
--- /dev/null
+++ b/static/auth.dot
@@ -0,0 +1,21 @@
+digraph "auth.citrons.xyz" {
+ "auth.citrons.xyz" -> "wiki encyclopedia";
+ "auth.citrons.xyz" -> "citrons.xyz";
+ "auth.citrons.xyz" -> "gollark (GPT-5)" [weight=10];
+ "auth.citrons.xyz" -> "SCP-[REDACTED]";
+ "auth.citrons.xyz" -> "heav unauth service" [weight=0];
+ "citrons.xyz" -> "SCP-[REDACTED]";
+ "gollark (GPT-5)" -> "GTech™";
+ "GPT-5" -> "gollark (GPT-5)";
+ "GTech™" -> "God";
+ "GTech™" -> "RSAPI";
+ "GTech™" -> "world governments";
+ "GTech™" -> "tmpim";
+ "tmpim" -> "world governments";
+ "God" -> "world governments";
+ "SCP-[REDACTED]" -> "world governments";
+ "God" -> "GPT-5";
+ "world governments" -> "GPT-5" [weight=10];
+ "wiki encyclopedia" -> "Leonhard Euler";
+ "Leonhard Euler" -> "God";
+}
diff --git a/static/bg.jpeg b/static/bg.jpeg
new file mode 100644
index 0000000..4bb2fb8
--- /dev/null
+++ b/static/bg.jpeg
Binary files differ
diff --git a/static/bubble-tail.svg b/static/bubble-tail.svg
new file mode 100644
index 0000000..2935e63
--- /dev/null
+++ b/static/bubble-tail.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" standalone="no"?>
+<svg width="38" height="38" version="1.1" xmlns="http://www.w3.org/2000/svg">
+<polygon points="0, 0 20, 0 20, 32" fill="white"/>
+</svg>
diff --git a/static/citrine.css b/static/citrine.css
new file mode 100644
index 0000000..62c70e3
--- /dev/null
+++ b/static/citrine.css
@@ -0,0 +1,363 @@
+/*
+ * citrine.css
+ *
+ * Copyright © 2023 citrons
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the “Software”), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+
+body {
+ background-color: #002681;
+
+ margin-top: 20px;
+ margin-left: auto;
+ margin-right: auto;
+ margin-bottom: 50px;
+ padding-left: 20px;
+ padding-right: 20px;
+ max-width: 80ch;
+
+ overflow-wrap: break-word;
+ min-width: 750px;
+ color: #FEF;
+ font-family: serif;
+}
+
+#page-grid {
+ display: grid;
+ grid-template-areas:
+ "header-left header-right"
+ "content content";
+ grid-template-columns: var(--navbar-width) auto;
+}
+
+@media not all and (min-width: 800px) {
+ body {
+ min-width: 35ch;
+ font-size: large;
+ }
+
+ #page-grid {
+ grid-template-areas:
+ "header-left header-right"
+ "navbar navbar"
+ "content content";
+ }
+
+ .help {
+ width: 45px !important;
+ }
+
+ .header-icons {
+ margin-top: 8px !important;
+ }
+
+ .header {
+ width: 270px;
+ }
+
+ .site-nav {
+ margin-right: 0 !important;
+ padding: 0px !important;
+ margin-top: 10px;
+ display: flex;
+ }
+
+ .site-nav a {
+ border-bottom: none !important;
+ border-top: none !important;
+ padding-top: 10px !important;
+ padding-bottom: 10px !important;
+ padding-left: 2px !important;
+ padding-right: 2px !important;
+ font-size: 12pt !important;
+ flex-basis: 100%;
+ }
+
+ .site-nav a:not(:last-of-type) {
+ border-right: 3px groove #7c67c3;
+ }
+
+ .dyk {
+ float: none !important;
+ margin-left: auto !important;
+ margin-right: auto !important;
+ max-width: 500px !important;
+ }
+}
+
+a {
+ color: lightblue;
+}
+
+a:visited {
+ color: lightgrey;
+}
+
+.site-header {
+ grid-area: header-left;
+ margin-left: -20px;
+ font-size: 30px;
+ white-space: nowrap;
+ font-family: sans-serif;
+ user-select: none;
+}
+
+.header-icons {
+ grid-area: header-right;
+ display: flex;
+ justify-content: flex-end;
+ margin-left: auto;
+}
+
+.help {
+ display: block;
+ margin-right: 5px;
+ margin-top: 8px;
+ width: 62px;
+}
+
+button, input[type="submit"] {
+ padding: 10px;
+ border: 0;
+ color: black;
+ font-size: 12pt;
+ font-weight: normal;
+ border-radius: 10px;
+ background: linear-gradient(to bottom, #cbbeff 0px, #a286ff 30px);
+}
+
+button:hover, input[type="submit"]:hover {
+ background: #cbbeff;
+}
+
+button:active, input[type="submit"]:active {
+ background: #a286ff;
+}
+
+input[type="text"], input[type="email"], input[type="password"], input[type="time"] {
+ border: 1px solid black;
+ padding: 8px;
+ margin-right: 10px;
+ border-radius: 5px;
+ font-size: 12pt;
+}
+
+input[type="text"], input[type="email"], input[type="password"] {
+ width: 300px;
+}
+
+input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="time"]:focus {
+ box-shadow: inset 0 0 3px black;
+}
+
+.content {
+ grid-area: content;
+}
+
+main {
+ min-height: 320px;
+ display: flow-root;
+}
+
+.navbar {
+ grid-area: navbar;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+
+h1.article, h2.article {
+ margin-bottom: -10px;
+ padding-bottom: 20px;
+ background-image: url("/static/shadow.png");
+ background-repeat: repeat-x;
+ background-position: bottom;
+}
+
+.dyk {
+ float: right;
+ background-color: white;
+ color: black;
+ margin-left: 20px;
+ margin-right: 20px;
+ margin-bottom: 30px;
+ max-width: 320px;
+ padding: 10px;
+ box-shadow: 10px 10px 0px #ffdd9b;
+}
+
+.dyk h2 {
+ font-size: medium;
+}
+
+.quote {
+ margin-left: auto;
+ margin-right: auto;
+ max-width: 700px;
+ clear: both;
+}
+
+.quote blockquote {
+ background-color: white;
+ color: black;
+ border-radius: 20px;
+ margin: 0;
+ margin-bottom: 30px;
+ padding-left: 15px;
+ padding-right: 15px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ position: relative;
+ box-shadow: 8px 8px 0px pink;
+ text-align: center;
+}
+
+.quote.attrib blockquote::after {
+ content: "";
+ position: absolute;
+ width: 20px;
+ height: 32px;
+ background-image: url("/static/bubble-tail.svg");
+ bottom: -32px;
+ right: 40px;
+ margin-left: -20px;
+}
+
+.quote.attrib figcaption {
+ font-style: italic;
+ min-width: 100px;
+ margin-left: auto;
+ margin-right: 15px;
+ margin-top: 34px;
+ margin-bottom: 0;
+ width: max-content;
+ text-align: center;
+}
+
+.site-footer {
+ text-align: center;
+ color: grey;
+ font-family: sans-serif;
+ font-size: smaller;
+ min-width: 100%;
+ clear: both;
+ padding-top: 20px;
+}
+
+.code-block {
+ white-space: pre-wrap;
+}
+
+.redaction {
+ background-color: lightgrey;
+}
+
+.redaction > span {
+ visibility: hidden;
+}
+
+.redaction::after {
+ clip-path: inset(100%);
+ clip: rect(1px, 1px, 1px, 1px);
+ height: 1px;
+ overflow: hidden;
+ position: absolute;
+ white-space: nowrap;
+ width: 1px;
+ content: "[REDACTED]";
+}
+
+.error-image {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.box, .login-box {
+ background-color: white;
+ color: black;
+ margin-left: 20px;
+ margin-right: 20px;
+ margin-bottom: 30px;
+ margin-top: 20px;
+ padding: 10px;
+ padding-top: 3px;
+ box-shadow: 10px 10px 0px #9782de;
+}
+
+.box {
+ margin-left: auto;
+ margin-right: auto;
+ width: fit-content;
+ padding-left: 20px;
+ padding-right: 20px;
+}
+
+.login-box {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+}
+
+.login-form, .register-form {
+ flex-basis: 350px;
+}
+
+.field > label {
+ font-family: sans-serif;
+ display: block;
+ font-size: smaller;
+ font-weight: bold;
+}
+
+.field > .checkbox-label {
+ font-weight: normal;
+ font-size: 11pt;
+ display: inline;
+}
+
+.errmsg {
+ background-color: #ffdce2;
+ color: #cb0000;
+ border: 1px solid red;
+ border-radius: 5px;
+ padding: 5px;
+ margin-bottom: 5px;
+ width: 300px;
+ font-size: 10pt;
+}
+
+.errmsg > p {
+ margin: 0;
+}
+
+.connect-form {
+ width: fit-content;
+ margin-left: auto;
+}
+
+.the-graph {
+ width: 100%;
+ object-fit: contain;
+}
diff --git a/static/gear.png b/static/gear.png
new file mode 100644
index 0000000..ca987bc
--- /dev/null
+++ b/static/gear.png
Binary files differ
diff --git a/static/graph.png b/static/graph.png
new file mode 100644
index 0000000..3143d98
--- /dev/null
+++ b/static/graph.png
Binary files differ
diff --git a/static/graph.svg b/static/graph.svg
new file mode 100644
index 0000000..9428554
--- /dev/null
+++ b/static/graph.svg
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.43.0 (0)
+ -->
+<!-- dot auth.dot -Tsvg -G'bgcolor=#00268100' -N'style=filled' -N'fontcolor=black' -N'color=white' -E'color=#ffeeff' -->
+<!-- Title: auth.citrons.xyz Pages: 1 -->
+<svg width="634pt" height="620pt"
+ viewBox="0.00 0.00 633.84 620.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 616)">
+<title>auth.citrons.xyz</title>
+<polygon fill="transparent" stroke="transparent" points="-4,4 -4,-616 629.84,-616 629.84,4 -4,4"/>
+<!-- auth.citrons.xyz -->
+<g id="node1" class="node">
+<title>auth.citrons.xyz</title>
+<ellipse fill="white" stroke="white" cx="114.2" cy="-594" rx="85.29" ry="18"/>
+<text text-anchor="middle" x="114.2" y="-590.3" font-family="Times,serif" font-size="14.00">auth.citrons.xyz</text>
+</g>
+<!-- wiki encyclopedia -->
+<g id="node2" class="node">
+<title>wiki encyclopedia</title>
+<ellipse fill="white" stroke="white" cx="235.2" cy="-522" rx="92.88" ry="18"/>
+<text text-anchor="middle" x="235.2" y="-518.3" font-family="Times,serif" font-size="14.00">wiki encyclopedia</text>
+</g>
+<!-- auth.citrons.xyz&#45;&gt;wiki encyclopedia -->
+<g id="edge1" class="edge">
+<title>auth.citrons.xyz&#45;&gt;wiki encyclopedia</title>
+<path fill="none" stroke="#ffeeff" d="M141.96,-576.94C158.59,-567.32 179.96,-554.96 198.04,-544.5"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="200.24,-547.26 207.15,-539.23 196.74,-541.21 200.24,-547.26"/>
+</g>
+<!-- citrons.xyz -->
+<g id="node3" class="node">
+<title>citrons.xyz</title>
+<ellipse fill="white" stroke="white" cx="408.2" cy="-522" rx="61.99" ry="18"/>
+<text text-anchor="middle" x="408.2" y="-518.3" font-family="Times,serif" font-size="14.00">citrons.xyz</text>
+</g>
+<!-- auth.citrons.xyz&#45;&gt;citrons.xyz -->
+<g id="edge2" class="edge">
+<title>auth.citrons.xyz&#45;&gt;citrons.xyz</title>
+<path fill="none" stroke="#ffeeff" d="M168.73,-580.07C213.89,-569.35 279.72,-553.71 337.2,-540 342.08,-538.84 347.15,-537.62 352.24,-536.41"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="353.08,-539.81 361.99,-534.08 351.45,-533 353.08,-539.81"/>
+</g>
+<!-- gollark (GPT&#45;5) -->
+<g id="node4" class="node">
+<title>gollark (GPT&#45;5)</title>
+<ellipse fill="white" stroke="white" cx="114.2" cy="-234" rx="79.89" ry="18"/>
+<text text-anchor="middle" x="114.2" y="-230.3" font-family="Times,serif" font-size="14.00">gollark (GPT&#45;5)</text>
+</g>
+<!-- auth.citrons.xyz&#45;&gt;gollark (GPT&#45;5) -->
+<g id="edge3" class="edge">
+<title>auth.citrons.xyz&#45;&gt;gollark (GPT&#45;5)</title>
+<path fill="none" stroke="#ffeeff" d="M114.2,-575.95C114.2,-549.29 114.2,-496.11 114.2,-451 114.2,-451 114.2,-451 114.2,-377 114.2,-337 114.2,-290.65 114.2,-262.08"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="117.7,-262.05 114.2,-252.05 110.7,-262.05 117.7,-262.05"/>
+</g>
+<!-- SCP&#45;[REDACTED] -->
+<g id="node5" class="node">
+<title>SCP&#45;[REDACTED]</title>
+<ellipse fill="white" stroke="white" cx="420.2" cy="-450" rx="93.68" ry="18"/>
+<text text-anchor="middle" x="420.2" y="-446.3" font-family="Times,serif" font-size="14.00">SCP&#45;[REDACTED]</text>
+</g>
+<!-- auth.citrons.xyz&#45;&gt;SCP&#45;[REDACTED] -->
+<g id="edge4" class="edge">
+<title>auth.citrons.xyz&#45;&gt;SCP&#45;[REDACTED]</title>
+<path fill="none" stroke="#ffeeff" d="M199.32,-592.98C295.63,-590.94 443.74,-580.98 479.2,-540 497.13,-519.27 474.67,-492.8 452.5,-474.14"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="454.4,-471.18 444.41,-467.64 450.01,-476.63 454.4,-471.18"/>
+</g>
+<!-- heav unauth service -->
+<g id="node6" class="node">
+<title>heav unauth service</title>
+<ellipse fill="white" stroke="white" cx="521.2" cy="-378" rx="104.78" ry="18"/>
+<text text-anchor="middle" x="521.2" y="-374.3" font-family="Times,serif" font-size="14.00">heav unauth service</text>
+</g>
+<!-- auth.citrons.xyz&#45;&gt;heav unauth service -->
+<g id="edge5" class="edge">
+<title>auth.citrons.xyz&#45;&gt;heav unauth service</title>
+<path fill="none" stroke="#ffeeff" d="M198.51,-591.28C297.15,-587.61 452.67,-576.08 497.2,-540 536.17,-508.43 532.64,-443.25 526.81,-406.24"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="530.22,-405.41 525.05,-396.16 523.32,-406.61 530.22,-405.41"/>
+</g>
+<!-- Leonhard Euler -->
+<g id="node13" class="node">
+<title>Leonhard Euler</title>
+<ellipse fill="white" stroke="white" cx="225.2" cy="-450" rx="83.39" ry="18"/>
+<text text-anchor="middle" x="225.2" y="-446.3" font-family="Times,serif" font-size="14.00">Leonhard Euler</text>
+</g>
+<!-- wiki encyclopedia&#45;&gt;Leonhard Euler -->
+<g id="edge18" class="edge">
+<title>wiki encyclopedia&#45;&gt;Leonhard Euler</title>
+<path fill="none" stroke="#ffeeff" d="M232.73,-503.7C231.62,-495.98 230.3,-486.71 229.07,-478.11"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="232.52,-477.51 227.64,-468.1 225.59,-478.5 232.52,-477.51"/>
+</g>
+<!-- citrons.xyz&#45;&gt;SCP&#45;[REDACTED] -->
+<g id="edge6" class="edge">
+<title>citrons.xyz&#45;&gt;SCP&#45;[REDACTED]</title>
+<path fill="none" stroke="#ffeeff" d="M411.16,-503.7C412.49,-495.98 414.08,-486.71 415.55,-478.11"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="419.03,-478.55 417.27,-468.1 412.13,-477.37 419.03,-478.55"/>
+</g>
+<!-- GTech™ -->
+<g id="node7" class="node">
+<title>GTech™</title>
+<ellipse fill="white" stroke="white" cx="56.2" cy="-162" rx="48.99" ry="18"/>
+<text text-anchor="middle" x="56.2" y="-158.3" font-family="Times,serif" font-size="14.00">GTech™</text>
+</g>
+<!-- gollark (GPT&#45;5)&#45;&gt;GTech™ -->
+<g id="edge7" class="edge">
+<title>gollark (GPT&#45;5)&#45;&gt;GTech™</title>
+<path fill="none" stroke="#ffeeff" d="M100.16,-216.05C93,-207.42 84.17,-196.76 76.31,-187.27"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="78.78,-184.77 69.71,-179.31 73.39,-189.24 78.78,-184.77"/>
+</g>
+<!-- world governments -->
+<g id="node11" class="node">
+<title>world governments</title>
+<ellipse fill="white" stroke="white" cx="223.2" cy="-18" rx="100.98" ry="18"/>
+<text text-anchor="middle" x="223.2" y="-14.3" font-family="Times,serif" font-size="14.00">world governments</text>
+</g>
+<!-- SCP&#45;[REDACTED]&#45;&gt;world governments -->
+<g id="edge15" class="edge">
+<title>SCP&#45;[REDACTED]&#45;&gt;world governments</title>
+<path fill="none" stroke="#ffeeff" d="M409.42,-431.81C394.19,-405.83 368.2,-354.52 368.2,-307 368.2,-307 368.2,-307 368.2,-161 368.2,-104.21 310.72,-62.64 268.14,-39.64"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="269.52,-36.41 259.04,-34.88 266.28,-42.62 269.52,-36.41"/>
+</g>
+<!-- God -->
+<g id="node9" class="node">
+<title>God</title>
+<ellipse fill="white" stroke="white" cx="224.2" cy="-378" rx="29.5" ry="18"/>
+<text text-anchor="middle" x="224.2" y="-374.3" font-family="Times,serif" font-size="14.00">God</text>
+</g>
+<!-- GTech™&#45;&gt;God -->
+<g id="edge9" class="edge">
+<title>GTech™&#45;&gt;God</title>
+<path fill="none" stroke="#ffeeff" d="M42.53,-179.45C28.99,-197.86 12.06,-228.23 25.2,-252 60.02,-315 141.38,-350.54 188.58,-366.54"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="187.51,-369.88 198.11,-369.66 189.69,-363.22 187.51,-369.88"/>
+</g>
+<!-- RSAPI -->
+<g id="node10" class="node">
+<title>RSAPI</title>
+<ellipse fill="white" stroke="white" cx="155.2" cy="-90" rx="40.09" ry="18"/>
+<text text-anchor="middle" x="155.2" y="-86.3" font-family="Times,serif" font-size="14.00">RSAPI</text>
+</g>
+<!-- GTech™&#45;&gt;RSAPI -->
+<g id="edge10" class="edge">
+<title>GTech™&#45;&gt;RSAPI</title>
+<path fill="none" stroke="#ffeeff" d="M77.68,-145.81C91.88,-135.77 110.67,-122.48 126.2,-111.5"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="128.29,-114.31 134.44,-105.68 124.25,-108.6 128.29,-114.31"/>
+</g>
+<!-- GTech™&#45;&gt;world governments -->
+<g id="edge11" class="edge">
+<title>GTech™&#45;&gt;world governments</title>
+<path fill="none" stroke="#ffeeff" d="M36.39,-145.31C15.42,-126.8 -12.3,-95.56 6.2,-72 22.03,-51.83 79.4,-38.36 131.18,-30.05"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="131.76,-33.5 141.1,-28.5 130.68,-26.58 131.76,-33.5"/>
+</g>
+<!-- tmpim -->
+<g id="node12" class="node">
+<title>tmpim</title>
+<ellipse fill="white" stroke="white" cx="56.2" cy="-90" rx="40.89" ry="18"/>
+<text text-anchor="middle" x="56.2" y="-86.3" font-family="Times,serif" font-size="14.00">tmpim</text>
+</g>
+<!-- GTech™&#45;&gt;tmpim -->
+<g id="edge12" class="edge">
+<title>GTech™&#45;&gt;tmpim</title>
+<path fill="none" stroke="#ffeeff" d="M56.2,-143.7C56.2,-135.98 56.2,-126.71 56.2,-118.11"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="59.7,-118.1 56.2,-108.1 52.7,-118.1 59.7,-118.1"/>
+</g>
+<!-- GPT&#45;5 -->
+<g id="node8" class="node">
+<title>GPT&#45;5</title>
+<ellipse fill="white" stroke="white" cx="223.2" cy="-306" rx="38.19" ry="18"/>
+<text text-anchor="middle" x="223.2" y="-302.3" font-family="Times,serif" font-size="14.00">GPT&#45;5</text>
+</g>
+<!-- GPT&#45;5&#45;&gt;gollark (GPT&#45;5) -->
+<g id="edge8" class="edge">
+<title>GPT&#45;5&#45;&gt;gollark (GPT&#45;5)</title>
+<path fill="none" stroke="#ffeeff" d="M201.4,-291C186.17,-281.22 165.52,-267.96 148.14,-256.8"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="149.7,-253.64 139.39,-251.18 145.92,-259.53 149.7,-253.64"/>
+</g>
+<!-- God&#45;&gt;GPT&#45;5 -->
+<g id="edge16" class="edge">
+<title>God&#45;&gt;GPT&#45;5</title>
+<path fill="none" stroke="#ffeeff" d="M223.95,-359.7C223.84,-351.98 223.71,-342.71 223.58,-334.11"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="227.08,-334.05 223.44,-324.1 220.09,-334.15 227.08,-334.05"/>
+</g>
+<!-- God&#45;&gt;world governments -->
+<g id="edge14" class="edge">
+<title>God&#45;&gt;world governments</title>
+<path fill="none" stroke="#ffeeff" d="M240.17,-362.76C250.28,-352.86 262.8,-338.83 270.2,-324 288.25,-287.8 289.2,-275.45 289.2,-235 289.2,-235 289.2,-235 289.2,-161 289.2,-116.84 262.63,-71.56 243.21,-44.35"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="245.94,-42.16 237.19,-36.18 240.3,-46.31 245.94,-42.16"/>
+</g>
+<!-- world governments&#45;&gt;GPT&#45;5 -->
+<g id="edge17" class="edge">
+<title>world governments&#45;&gt;GPT&#45;5</title>
+<path fill="none" stroke="#ffeeff" d="M223.2,-36.31C223.2,-84.31 223.2,-219.44 223.2,-277.7"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="219.7,-277.97 223.2,-287.97 226.7,-277.97 219.7,-277.97"/>
+</g>
+<!-- tmpim&#45;&gt;world governments -->
+<g id="edge13" class="edge">
+<title>tmpim&#45;&gt;world governments</title>
+<path fill="none" stroke="#ffeeff" d="M84.91,-76.97C109.98,-66.46 146.86,-51 176.23,-38.69"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="177.61,-41.9 185.48,-34.81 174.9,-35.45 177.61,-41.9"/>
+</g>
+<!-- Leonhard Euler&#45;&gt;God -->
+<g id="edge19" class="edge">
+<title>Leonhard Euler&#45;&gt;God</title>
+<path fill="none" stroke="#ffeeff" d="M224.95,-431.7C224.84,-423.98 224.71,-414.71 224.58,-406.11"/>
+<polygon fill="#ffeeff" stroke="#ffeeff" points="228.08,-406.05 224.44,-396.1 221.09,-406.15 228.08,-406.05"/>
+</g>
+</g>
+</svg>
diff --git a/static/headers/default.png b/static/headers/default.png
new file mode 100644
index 0000000..e92a7ab
--- /dev/null
+++ b/static/headers/default.png
Binary files differ
diff --git a/static/headers/error.png b/static/headers/error.png
new file mode 100644
index 0000000..90b93b9
--- /dev/null
+++ b/static/headers/error.png
Binary files differ
diff --git a/static/qmark.png b/static/qmark.png
new file mode 100644
index 0000000..a28679d
--- /dev/null
+++ b/static/qmark.png
Binary files differ
diff --git a/static/question.svg b/static/question.svg
new file mode 100644
index 0000000..6c6d462
--- /dev/null
+++ b/static/question.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" standalone="no"?>
+<svg width="175" height="175" version="1.1" xmlns="http://www.w3.org/2000/svg">
+ <path
+ stroke="#6061a9"
+ stroke-width="8"
+ fill="none"
+ d="M 60,75
+ S 87.5,25 115,75
+ L 87.5,120
+ L 87.5,150
+ M 87.5,160
+ L 87.5,168" />
+</svg>
diff --git a/static/shadow.png b/static/shadow.png
new file mode 100644
index 0000000..9aa7619
--- /dev/null
+++ b/static/shadow.png
Binary files differ