Files
fabula-ultima-html/html/104.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

50 lines
3.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Character Dossier: Melissa Holtz</title>
<link rel="stylesheet" href="book-page.css">
</head>
<body>
<div class="container">
<!-- Header/Contextual Info -->
<header style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;">
<h1 style="font-size: 1.8em; border: none; padding-bottom: 0; border-left: 3px solid #C9D6E8; padding-left: 15px;">MELISSA HOLTZ</h1>
<div style="text-align: right; font-size: 0.9em; color: #777;">
<span>Chapter 103 | 33 PROTAGONISTS</span>
</div>
</header>
<!-- Basic Information Section -->
<section>
<h2>BASIC INFORMATION</h2>
<div class="metadata-grid">
<div class="metadata-item"><strong>Identity:</strong> <em>Exuberant Alchemist</em></div>
<div class="metadata-item"><strong>Theme:</strong> <em>Ambition</em></div>
<div class="metadata-item"><strong>Origin:</strong> <em>Eiche</em></div>
<div class="metadata-item"><strong>Quirk:</strong> <em>Traveling Workshop</em></div>
<div class="metadata-item" style="grid-column: span 2;">
<strong>Signature Weapons:</strong> Alchemical scepters
</div>
</div>
</section>
<!-- Detailed Lore Section -->
<section>
<h2>MELISSA IN DETAIL</h2>
<ul class="detail-lore">
<li>In spite of her parents doubts, young Melissa worked hard and traveled far to discover the secret of alchemy, with the Ambition of attaining an official license and, upon her eventual return, bringing prosperity to the mountain hamlet of Eiche.</li>
<li>Melissa saved her money to buy a cart, pulled by a mighty and loving auroch. This traveling workshop is full of mementos, notes and unusual ingredients.</li>
<li>Melissa combines Gourmet, Spiritist and Sharpshooter: together with the rest of the group she adapted the Gourmets rules to represent alchemy, using five seasonal essences instead of tastes. Her alchemical scepters are custom arcane ranged weapons that she uses to fire her compounds, creating expanding clouds using Barrage.</li>
<li>Taking inspiration from the wu xings Late Summer, Melissas Player and the rest of the group decided to add a fifth season to their setting, the Calm, which has its own seasonal essence and is a time of transition for the entire world when the elements coexist and combine in ways that are, so far, poorly understood.</li>
<li>Melissas personal goals are rather simple, but the mystery of the Calm should have a deep influence on the story: of course, one or more Villains have plans for it.</li>
</ul>
</section>
<div class="sidebar">
</div>
</div>
</body>
</html>