Compare commits

..

2 commits

Author SHA1 Message Date
Patrick Mulligan
660736b027 feat(deck): use transparent SolLunar logo + emblem
Swap in the transparent-background logo (full lockup for the title hero,
cropped eclipse emblem for the top-bar mark + favicons). Drop the dark-card
framing since the logos now float on the deck canvas — hero keeps the
gold+blue glow and a drop-shadow; top-bar mark is object-contain. Favicons
regenerated with alpha.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 01:26:06 +02:00
Patrick Mulligan
27622f791d feat(deck): SolLunar logo as cover brand + derived favicon
Add the SolLunar eclipse logo (sol/gold + lunar/circuit-blue). Title slide
hero shows the full lockup (webp) with a gold+blue solarpunk glow; the top
bar shows the cropped eclipse emblem + "SolLunar". Derive favicon.png/.ico
+ apple-touch-icon and the top-bar mark from the emblem. Page title → SolLunar.
Lab 484 remains the named tech-backbone entity in the content.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 01:20:31 +02:00
8 changed files with 27 additions and 8 deletions

View file

@ -2,9 +2,12 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" /> <link rel="icon" type="image/png" href="/favicon.png" />
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Lab 484 — Investment Prospectus</title> <meta name="theme-color" content="#0b1512" />
<title>SolLunar — Investment Prospectus</title>
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>

BIN
public/apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
public/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

View file

@ -3,6 +3,7 @@ import { computed, ref, watch } from 'vue'
import { ChevronLeft, ChevronRight, Sun, Moon } from '@lucide/vue' import { ChevronLeft, ChevronRight, Sun, Moon } from '@lucide/vue'
import { useDeck } from './useDeck' import { useDeck } from './useDeck'
import { brand } from './data' import { brand } from './data'
import markUrl from '@/deck/assets/mark.png'
// theme: dark by default, persisted; a single `.dark` class flips every token // theme: dark by default, persisted; a single `.dark` class flips every token
function readTheme() { function readTheme() {
@ -73,8 +74,9 @@ function onTouchEnd(e: TouchEvent) {
<header <header
class="pointer-events-none absolute inset-x-0 top-0 z-20 flex items-center justify-between px-6 py-5 text-fg-muted" class="pointer-events-none absolute inset-x-0 top-0 z-20 flex items-center justify-between px-6 py-5 text-fg-muted"
> >
<span class="font-display text-sm font-semibold tracking-wide text-fg"> <span class="flex items-center gap-2">
{{ brand.short }} <img :src="markUrl" alt="SolLunar" class="size-8 object-contain" />
<span class="font-display text-sm font-semibold tracking-wide text-fg">SolLunar</span>
</span> </span>
<div class="flex items-center gap-3"> <div class="flex items-center gap-3">
<span class="text-xs uppercase tracking-[0.2em]">{{ current.label }}</span> <span class="text-xs uppercase tracking-[0.2em]">{{ current.label }}</span>

BIN
src/deck/assets/logo.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

BIN
src/deck/assets/mark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View file

@ -4,6 +4,7 @@ import SlideFrame from '../components/SlideFrame.vue'
import PlaceholderBadge from '../components/PlaceholderBadge.vue' import PlaceholderBadge from '../components/PlaceholderBadge.vue'
import { Alert, AlertTitle, AlertDescription } from '@/components/ui/alert' import { Alert, AlertTitle, AlertDescription } from '@/components/ui/alert'
import { brand, surfaceEntities, accentText } from '../data' import { brand, surfaceEntities, accentText } from '../data'
import logoUrl from '@/deck/assets/logo.webp'
</script> </script>
<template> <template>
@ -14,11 +15,24 @@ import { brand, surfaceEntities, accentText } from '../data'
<PlaceholderBadge label="draft" /> <PlaceholderBadge label="draft" />
</span> </span>
<h1 class="font-display text-5xl font-bold tracking-tight text-fg sm:text-6xl lg:text-7xl"> <!-- logo hero with a gold(sol) + blue(lunar) solarpunk glow -->
{{ brand.name }} <div class="relative">
</h1> <div
class="pointer-events-none absolute -inset-10 -z-10 rounded-full opacity-70 blur-2xl motion-safe:animate-pulse"
style="
background:
radial-gradient(38% 55% at 30% 45%, hsl(42 95% 55% / 0.5), transparent 70%),
radial-gradient(38% 55% at 70% 55%, hsl(215 90% 58% / 0.5), transparent 70%);
"
/>
<img
:src="logoUrl"
alt="SolLunar — Energy · Intelligence · Harmony"
class="w-64 drop-shadow-2xl sm:w-72 lg:w-80"
/>
</div>
<p class="mt-6 max-w-2xl text-balance text-xl text-fg sm:text-2xl"> <p class="mt-7 max-w-2xl text-balance text-xl text-fg sm:text-2xl">
{{ brand.tagline }} {{ brand.tagline }}
</p> </p>