diff --git a/html/404.html b/html/404.html index 678016f..72def8b 100644 --- a/html/404.html +++ b/html/404.html @@ -12,7 +12,7 @@ diff --git a/html/css/style.css b/html/css/style.css index f3b1cda..432d830 100644 --- a/html/css/style.css +++ b/html/css/style.css @@ -840,3 +840,214 @@ nav { @media (max-width: 380px) { .nav-links a:not(.nav-cta) { display: none; } } + +/* ═══════════════════════════════════════════ + /LIVE PAGE — Full Shipping Log + ═══════════════════════════════════════════ */ +.live-page { + padding-top: 96px; + padding-bottom: 5rem; + min-height: 100vh; +} +.live-page-header { + margin-bottom: 3rem; +} +.live-page-eyebrow { + display: flex; + align-items: center; + gap: 0.6rem; + font-family: var(--mono); + font-size: 0.78rem; + font-weight: 600; + color: var(--accent); + text-transform: uppercase; + letter-spacing: 0.12em; + margin-bottom: 1.25rem; +} +.live-page-title { + font-family: var(--sans); + font-size: clamp(2rem, 5vw, 3.2rem); + font-weight: 900; + letter-spacing: -0.03em; + line-height: 1.1; + color: var(--text); + margin-bottom: 1rem; +} +.live-page-sub { + font-size: 1.05rem; + color: var(--text-secondary); + line-height: 1.75; + max-width: 600px; +} + +/* Filters */ +.log-filters { + display: flex; + gap: 0.5rem; + margin: 2.5rem 0 2rem; +} +.filter-btn { + font-family: var(--mono); + font-size: 0.78rem; + font-weight: 600; + padding: 0.45rem 1rem; + border-radius: 99px; + border: 1px solid var(--border-light); + background: transparent; + color: var(--text-muted); + cursor: pointer; + transition: all 0.15s ease; +} +.filter-btn:hover { + color: var(--text); + border-color: var(--text-muted); +} +.filter-btn.active { + background: var(--accent); + color: #050505; + border-color: var(--accent); +} + +/* Day groups */ +.log-day { + margin-bottom: 2rem; +} +.log-day-header { + display: flex; + align-items: center; + gap: 0.75rem; + margin-bottom: 0.75rem; + padding-bottom: 0.5rem; + border-bottom: 1px solid var(--border); +} +.log-day-date { + font-family: var(--mono); + font-size: 0.82rem; + font-weight: 700; + color: var(--text); +} +.log-day-count { + font-family: var(--mono); + font-size: 0.7rem; + color: var(--text-dim); +} + +/* Log entries */ +.log-entry { + padding: 0.85rem 1.25rem; + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: 10px; + margin-bottom: 0.5rem; + transition: border-color 0.15s ease; +} +.log-entry:hover { + border-color: var(--border-light); +} +.log-entry-head { + display: flex; + align-items: center; + gap: 0.6rem; + flex-wrap: wrap; +} +.log-entry-id { + font-family: var(--mono); + font-size: 0.7rem; + font-weight: 700; + color: var(--text-dim); + min-width: 2.2rem; +} +.log-entry-title { + font-size: 0.88rem; + color: var(--text-secondary); + flex: 1; + min-width: 0; +} +.log-metric { + font-family: var(--mono); + font-size: 0.75rem; + color: var(--text-muted); + margin-top: 0.5rem; + padding-top: 0.5rem; + border-top: 1px solid var(--border); + line-height: 1.6; +} + +/* Oops section */ +.oops-section { + margin-top: 4rem; + padding-top: 3rem; + border-top: 1px solid var(--border); +} +.oops-title { + font-family: var(--mono); + font-size: 1.2rem; + font-weight: 700; + color: var(--text); + margin-bottom: 0.35rem; +} +.oops-sub { + font-size: 0.88rem; + color: var(--text-muted); + margin-bottom: 1.5rem; +} +.oops-entry { + display: flex; + align-items: flex-start; + gap: 0.75rem; + font-size: 0.82rem; + color: var(--text-muted); + padding: 0.75rem 1rem; + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: 8px; + border-left: 3px solid #ef4444; + margin-bottom: 0.5rem; + line-height: 1.6; +} +.oops-id { + font-family: var(--mono); + font-size: 0.7rem; + font-weight: 700; + color: var(--text-dim); + flex-shrink: 0; +} + +/* Live page CTA */ +.live-page-cta { + text-align: center; + margin-top: 5rem; + padding-top: 3rem; + border-top: 1px solid var(--border); +} +.live-page-cta p { + font-family: var(--mono); + font-size: 0.95rem; + font-weight: 600; + color: var(--text-secondary); + margin-bottom: 1.5rem; +} + +/* Loading state */ +.log-loading { + font-family: var(--mono); + font-size: 0.82rem; + color: var(--text-dim); + padding: 2rem; + text-align: center; +} + +/* Active nav link */ +.nav-links a.active { + color: var(--text); + background: var(--bg-card); +} + +/* ── Responsive: /live page ── */ +@media (max-width: 640px) { + .live-page { padding-top: 80px; } + .log-entry-head { gap: 0.4rem; } + .log-entry-id { display: none; } + .log-filters { flex-wrap: wrap; } + .oops-entry { flex-direction: column; gap: 0.25rem; } +} diff --git a/html/index.html b/html/index.html index fa6c2b7..a39e1a7 100644 --- a/html/index.html +++ b/html/index.html @@ -24,7 +24,7 @@ @@ -45,7 +45,7 @@

Start a conversation → - Watch us build ◉ + Watch us build ◉
@@ -204,6 +204,7 @@
Live Engineering Feed + View full log →
diff --git a/html/live/index.html b/html/live/index.html new file mode 100644 index 0000000..5ad858f --- /dev/null +++ b/html/live/index.html @@ -0,0 +1,263 @@ + + + + + + QuikCue — Live Shipping Log + + + + + + + + + + + + + + + +
+
+ + +
+
+
+ Live Engineering Feed +
+

Full Shipping Log

+

+ Every system we've shipped. Every fix we've made. Unfakeable, unedited, pulled + straight from our PostgreSQL database in real time. +

+
+ + +
+
+
+
Total ships
+
+
+
+
Shipped
+
+
+
+
In flight
+
+
+
+
Oops
+
+
+ + +
+ + + +
+ + +
+
Loading from database…
+
+ + +
+

Oops Log

+

If it's not here, we haven't broken it yet.

+
+
Loading…
+
+
+ + +
+

This is what autonomous operations looks like.

+ Start a conversation → +
+ +
+
+ +
+
+ + +
+
+ + + + +