diff --git a/assets/css/style.css b/assets/css/style.css
new file mode 100644
index 0000000..6d20424
--- /dev/null
+++ b/assets/css/style.css
@@ -0,0 +1,224 @@
+body {
+ display: flex;
+ align-items: center;
+ font-family: "JetBrains Mono", sans-serif;
+ cursor: crosshair;
+ color: #ffffe6;
+ background-color: #10100e;
+ margin: 0;
+ padding: 0;
+ word-break: break-word;
+ text-wrap: balance;
+ line-height: 1.8;
+ min-height: 100dvh;
+ font-size: 20px;
+}
+
+a {
+ text-decoration: underline;
+ color: #ffffe6;
+}
+
+.overlay {
+ position: fixed;
+ inset: 0;
+ pointer-events: none;
+}
+
+.overlay:before {
+ content: "";
+ position: absolute;
+ inset: 0;
+ display: block;
+ pointer-events: none;
+ background-image: linear-gradient(rgba(16, 16, 16, 0.25) 50%, rgba(16, 16, 16, 0.1) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.015), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.015));
+ background-size: 100% 0.1875rem, 0.375rem 100%;
+ z-index: 2;
+}
+
+.overlay:after {
+ content: "";
+ position: absolute;
+ inset: 0;
+ display: block;
+ pointer-events: none;
+ background-color: rgba(16, 16, 16, 0.2);
+ animation: flicker 0.3s infinite;
+ z-index: 2;
+}
+
+@keyframes flicker {
+ 0% {
+ opacity: 0.15795;
+ }
+ 5% {
+ opacity: 0.31511;
+ }
+ 10% {
+ opacity: 0.94554;
+ }
+ 15% {
+ opacity: 0.2469;
+ }
+ 20% {
+ opacity: 0.62031;
+ }
+ 25% {
+ opacity: 0.0293;
+ }
+ 30% {
+ opacity: 0.00899;
+ }
+ 35% {
+ opacity: 0.5344;
+ }
+ 40% {
+ opacity: 0.12778;
+ }
+ 45% {
+ opacity: 0.52042;
+ }
+ 50% {
+ opacity: 0.3823;
+ }
+ 55% {
+ opacity: 0.2198;
+ }
+ 60% {
+ opacity: 0.9383;
+ }
+ 65% {
+ opacity: 0.86615;
+ }
+ 70% {
+ opacity: 0.68695;
+ }
+ 75% {
+ opacity: 0.55749;
+ }
+ 80% {
+ opacity: 0.96984;
+ }
+ 85% {
+ opacity: 0.0361;
+ }
+ 90% {
+ opacity: 0.24467;
+ }
+ 95% {
+ opacity: 0.08351;
+ }
+ 100% {
+ opacity: 0.54813;
+ }
+}
+
+@keyframes blink-animation {
+ 50% {
+ opacity: 0;
+ }
+}
+
+.cursor-blink {
+ animation: blink-animation 1s step-end infinite;
+}
+
+p,
+
+.algo-container-algorithm {
+ margin: 0 auto;
+}
+
+.algo-row {
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ gap: var(--lx-gap);
+}
+
+@media screen and (max-width: 80rem) {
+ img {
+ display: none;
+ }
+}
+
+@media screen and (max-width: 480px) {
+ body {
+ font-size: 0.7rem;
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+}
+
+.form-switch {
+ position: fixed;
+ top: 30px;
+ right: 30px;
+ display: inline-block;
+ cursor: pointer;
+ -webkit-tap-highlight-color: transparent;
+}
+
+.form-switch i {
+ position: relative;
+ display: inline-block;
+ margin-right: .5rem;
+ width: 46px;
+ height: 26px;
+ background-color: #ffffe6;
+ border-radius: 23px;
+ vertical-align: text-bottom;
+ transition: all 0.3s linear;
+}
+
+.form-switch i::before {
+ content: "";
+ position: absolute;
+ left: 0;
+ width: 42px;
+ height: 22px;
+ background-color: #10100e;
+ border-radius: 11px;
+ transform: translate3d(2px, 2px, 0) scale3d(1, 1, 1);
+ transition: all 0.25s linear;
+}
+
+.form-switch i::after {
+ content: "";
+ position: absolute;
+ left: 0;
+ width: 22px;
+ height: 22px;
+ background-color: #ffffe6;
+ border-radius: 11px;
+ box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24);
+ transform: translate3d(2px, 2px, 0);
+ transition: all 0.2s ease-in-out;
+}
+
+.form-switch:active i::after {
+ width: 28px;
+ transform: translate3d(2px, 2px, 0);
+}
+
+.form-switch:active input:checked + i::after {
+ transform: translate3d(16px, 2px, 0);
+}
+
+.form-switch input {
+ display: none;
+}
+
+.form-switch input:checked + i {
+ background-color: #4BD763;
+}
+
+.form-switch input:checked + i::before {
+ transform: translate3d(18px, 2px, 0) scale3d(0, 0, 0);
+}
+
+.form-switch input:checked + i::after {
+ transform: translate3d(22px, 2px, 0);
+}
\ No newline at end of file
diff --git a/assets/favicon/android-chrome-192x192.png b/assets/favicon/android-chrome-192x192.png
new file mode 100644
index 0000000..222fa02
Binary files /dev/null and b/assets/favicon/android-chrome-192x192.png differ
diff --git a/assets/favicon/android-chrome-256x256.png b/assets/favicon/android-chrome-256x256.png
new file mode 100644
index 0000000..73ed3c2
Binary files /dev/null and b/assets/favicon/android-chrome-256x256.png differ
diff --git a/assets/favicon/apple-touch-icon.png b/assets/favicon/apple-touch-icon.png
new file mode 100644
index 0000000..cd667ec
Binary files /dev/null and b/assets/favicon/apple-touch-icon.png differ
diff --git a/assets/favicon/browserconfig.xml b/assets/favicon/browserconfig.xml
new file mode 100644
index 0000000..b3930d0
--- /dev/null
+++ b/assets/favicon/browserconfig.xml
@@ -0,0 +1,9 @@
+
+