railway-edge
tcp/443 tcp/80
Open service 66.33.22.151:80 · kai.llmtech.net
2026-01-11 22:08
HTTP/1.1 301 Moved Permanently Content-Type: text/html; charset=utf-8 Location: https://kai.llmtech.net/ Server: railway-edge X-Railway-Edge: railway/us-east4-eqdc4a X-Railway-Request-Id: CQEHADLEQDKGAYMPCx5-qw Date: Sun, 11 Jan 2026 22:08:15 GMT Content-Length: 59 Connection: close <a href="https://kai.llmtech.net/">Moved Permanently</a>.
Open service 66.33.22.151:443 · kai.llmtech.net
2026-01-11 22:08
HTTP/1.1 200 OK
Content-Length: 15055
Content-Type: text/html; charset=utf-8
Date: Sun, 11 Jan 2026 22:08:07 GMT
Etag: "c721bff7daab43c39e4ab66ca3eda86f"
Last-Modified: Sun, 11 Jan 2026 20:51:27 GMT
Server: railway-edge
X-Railway-Edge: railway/europe-west4-drams3a
X-Railway-Request-Id: nOXyT7qATq-vtjIKjUJq2g
Connection: close
Page title: Kimball Hardwoods Chatbot Demo
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Kimball Hardwoods Chatbot Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Space+Grotesk:wght@400;600;700&display=swap");
:root {
--bg: #efe6da;
--bg-deep: #d8c6b3;
--ink: #1d1914;
--muted: #5e554b;
--accent: #f28f3d;
--accent-2: #28b3a3;
--card: #f8f1e8;
--card-dark: #1f1a16;
--border: #1d1914;
--shadow: #1d1914;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
color: var(--ink);
background: radial-gradient(circle at top, #f7efe6 0%, #e2d2c2 45%, #d0bda9 100%);
min-height: 100vh;
overflow-x: hidden;
}
canvas#pixel-sand {
position: fixed;
inset: 0;
width: 100%;
height: 100%;
z-index: 0;
pointer-events: none;
opacity: 0.6;
}
.ambient-grid {
position: fixed;
inset: 0;
background:
repeating-linear-gradient(
90deg,
rgba(0, 0, 0, 0.04) 0px,
rgba(0, 0, 0, 0.04) 1px,
transparent 1px,
transparent 10px
),
repeating-linear-gradient(
0deg,
rgba(0, 0, 0, 0.035) 0px,
rgba(0, 0, 0, 0.035) 1px,
transparent 1px,
transparent 10px
);
pointer-events: none;
z-index: 1;
opacity: 0.35;
}
.page {
position: relative;
z-index: 2;
max-width: 1100px;
margin: 0 auto;
padding: 32px 20px 70px;
}
.hero {
padding: 26px;
border: 2px solid #f6eadf;
background: var(--card-dark);
color: #f6eadf;
box-shadow: 8px 8px 0 var(--shadow);
display: grid;
gap: 16px;
animation: float-in 0.6s ease-out both;
}
.badge {
font-family: "Press Start 2P", "Courier New", monospace;
font-size: 0.7rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: rgba(246, 234, 223, 0.7);
}
h1 {
margin: 0;
font-size: clamp(2rem, 4vw, 3rem);
line-height: 1.05;
}
.subtitle {
margin: 0;
color: rgba(246, 234, 223, 0.85);
font-size: 1.05rem;
max-width: 720px;
}
.layout {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 24px;
margin-top: 28px;
}
@media (min-width: 900px) {
.layout {
grid-template-columns: 1.15fr 0.85fr;
}
}
.panel {
border: 2px solid var(--border);
background: var(--card);
padding: 22px;
box-shadow: 8px 8px 0 var(--shadow);
animation: float-in 0.6s ease-out both;
animation-delay: 0.1s;
}
textarea {
width: 100%;
min-height: 130px;
border: 2px solid var(--border);
background: #fff;
font-size: 1rem;
padding: 12px;
font-family: "Space Grotesk", "Trebuchet MS", sans-serif;
resize: vertical;
}
.controls {
display: flex;
flex-wrap: wrap;
gap: 12px;
align-items: center;
margin-top: 14px;
}
button {
border: 2px solid var(--border);
background: var(--accent);
color: #1b130a;
padding: 10px 18px;
font-family: "Press Start 2P", "Courier New", monospace;
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.08em;
cursor: pointer;
box-shadow: 4px 4px 0 var(--shadow);
}
button:hover {
background: #f6a963;
}
button:disabled {
opacity: 0.7;
cursor: not-allowed;
}
.st