Files
fabula-ultima-html/html/174.html
Drew Malzahn c75cd188c1 feat: Add book viewer at /book with shared design system
- Add html/index.html: book viewer with auto-discovering sidebar,
  prev/next navigation, keyboard shortcuts, and URL hash persistence
- Add html/book-page.css: shared stylesheet for all book pages derived
  from fabula-ultima-sheet.css (dark theme, CSS variables, Cinzel/
  Crimson Text fonts, common class styles)
- Add book.js entry point so webpack injects the shared CSS into the
  book viewer; update webpack.config.js for two entry points, split
  CSS chunk, CopyWebpackPlugin for book pages, and /book dev server
  rewrite rule
- Add scripts/strip_watermark.py: removes "Guest Customer (Order
  #52072168)" watermark artifacts from all 210 book pages
- Add scripts/restyle_book.py: strips per-page <style> blocks and
  injects <link rel="stylesheet" href="book-page.css"> into all pages
- Update Justfile deploy to scp -r dist/* for the new /book subtree

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 03:36:35 +00:00

61 lines
2.8 KiB
HTML

<html>
<head>
<link rel="stylesheet" href="book-page.css">
</head>
<body>
<header>
<h1>ANTAGONISTS</h1>
<h2>CHAPTER: THE FOUR ARCHETYPES</h2>
<p>In natural fantasy, Villains often fit into one of four recurring types, with some very distinctive characteristics.</p>
</header>
<section class="archetype-list">
<div class="archetype-detail">
<h3>THE ARROGANT</h3>
<p>This Villain is driven by ego: craving power, money and/or knowledge, they never stop to consider the destructive consequences of their actions and see the world as something to examine, dissect, exploit, and optimize.</p>
<strong>Examples:</strong>
<ul>
<li>an adventurer willing to commit any kind of atrocity to collect valuable trophies;</li>
<li>a pioneer ready to destroy the ecosystem to build roads and railways.</li>
</ul>
</div>
<div class="archetype-detail">
<h3>THE PROTECTOR</h3>
<p>This Villain wants to protect one community at the detriment of another. They believe they are doing what is necessary and, if defeated, might even become an ally.</p>
<strong>Examples:</strong>
<ul>
<li>a warrior looking for an ancient weapon that will let him impose a truce between clans;</li>
<li>a huntress who wants to exterminate every predator in the continent.</li>
</ul>
</div>
<div class="archetype-detail">
<h3>THE OUTSIDER</h3>
<p>Either supernatural or artificial, this antagonist follows a personal and unfathomable logic. They rarely speak, and when they do it muddies the waters even more, or they quote events, rules or information completely unknown to the characters.</p>
<strong>Examples:</strong>
<ul>
<li>a demon or ghost coming to reclaim a tribute in accordance with a forgotten tradition;</li>
<li>an artificial intelligence reawakened in the wrong age.</li>
</ul>
</div>
<div class="archetype-detail">
<h3>THE CATASTROPHE</h3>
<p>This Villain could be a monster, a beast, an elemental phenomenon, a disease, or even an expanding ecosystem (see next page). They are the incarnation of a looming disaster and there is no chance for parlay.</p>
<strong>Examples:</strong>
<ul>
<li>a scourge created by a cyclical curse;</li>
<li>an infection that corrupts animals and plants, turning them into abominations;</li>
<li>a wandering volcano close to erupting.</li>
</ul>
</div>
</section>
<div class="metadata">
</div>
</body>
</html>