Files
AgentCompany/landing/components/sections/character-select.module.css
T
ZacharyZhang-NYandClaude Opus 5.5 2d7af224dd
CI / Typecheck, lint, tests, e2e (push) Failing after 3m51s
Website: 16-bit pixel-art rebuild with a live Three.js office, downloads from Gitea v1.5.1
- Title screen over a real-time voxel office rendered at low resolution and quantized to a rotating 32-colour palette with Bayer dithering; day part and season re-light the scene and every surface.
- 16-bit UI kit: name-plate dialogs, menu cursor, inventory, XP bar, badges, NPC speech, GAME OVER with CONTINUE, hand-placed 12x12 icons, Fusion Pixel font (Latin subset preloaded).
- Sections as a game: quest log (onboarding), character select (AI CEO / AI Co-Founder), inventory (features), party roster (providers), live download XP, save point (all v1.5.1 builds), FAQ as NPC dialog, credits.
- Downloads and source point to the Gitea release; the download function only redirects to git.zacharyzhang.com.
- Tailwind and the old components removed; unit tests for platform/downloads, rewritten e2e suite.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 23:37:23 -04:00

128 lines
1.7 KiB
CSS

.roster {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
margin-bottom: 36px;
}
.card {
display: grid;
gap: 12px;
transition: transform 240ms steps(3);
}
.card[data-selected="false"] {
opacity: 0.72;
}
.card[data-selected="true"] {
transform: translateY(-12px);
}
.player {
height: 24px;
font-size: var(--fs-1);
line-height: 2;
color: var(--ui-select);
animation: bob 1s steps(2, jump-none) infinite;
}
@keyframes bob {
50% {
transform: translateY(6px);
}
}
.portrait {
display: grid;
place-items: center;
width: 96px;
height: 96px;
margin-bottom: 24px;
color: var(--ink-gold);
background: var(--ink-ink);
box-shadow: inset 0 -12px 0 var(--ink-shadow);
}
.class {
margin: 0 0 12px;
}
.pitch {
margin: 0 0 24px;
font-size: var(--fs-2);
line-height: 1.5;
}
.stats {
display: grid;
gap: 6px;
margin: 0 0 24px;
}
.stat {
display: flex;
justify-content: space-between;
gap: 12px;
padding-bottom: 6px;
font-size: var(--fs-1);
line-height: 2;
border-bottom: 3px dotted currentColor;
}
.stat dt {
text-transform: uppercase;
letter-spacing: 0.08em;
}
.stat dd {
margin: 0;
}
.special {
margin: 0 0 24px;
font-size: var(--fs-1);
line-height: 2;
}
.special span {
text-transform: uppercase;
}
.npc {
max-width: 768px;
}
@media (max-width: 860px) {
.roster {
grid-template-columns: 1fr;
gap: 24px;
}
.card[data-selected="true"] {
transform: none;
}
}
@media (max-width: 720px) {
.pitch {
font-size: var(--fs-1);
line-height: 2;
}
.portrait {
width: 72px;
height: 72px;
}
}
@media (prefers-reduced-motion: reduce) {
.card {
transition: none;
}
.player {
animation: none;
}
}